1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt

79 895 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề Tài Nghiên Cứu Ba Chế Độ Điều Khiển Onoff, Pid, Fuzzy Và Ứng Dụng Trong Điều Khiển Mô Hình Lò Nhiệt
Trường học Trường Đại Học Kỹ Thuật
Chuyên ngành Kỹ Thuật Điện
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 79
Dung lượng 2,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Điều khiển nhiệt độ chỉ là một lĩnh vực nhỏ trong điều khiển tự động, và cũng đã có nhiều công trình có hiệu quả cao như các lò nung trong công nghiệp, các lò nướng dân dụng, … đòi hỏi

Trang 1

PHẦN 1: TỔNG QUAN VỀ ĐỀ TÀI ĐIỀU KHIỂN NHIỆT ĐỘ

Chương I: GIỚI THIỆU ĐỀ TÀI

1.3 Phương hướng và phương pháp nghiên cứu 5

1.4 Khó khăn trong quá trình nghiên cứu và biện pháp khắc phục 5

PHẦN 2: CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU

Chương 1: PHƯƠNG PHÁP ĐO NHIỆT ĐỘ

Chương 2: KHỐI GIAO TIẾP MÁY TÍNH

Chương 3: KHẢO SÁT VI ĐIỀU KHIỂN ATMEGA32

Chương 4: KHỐI CÔNG SUẤT

4.1 Giới Thiệu Tổng Quát Về Solid State Relay (SSR) 41

4.2 Các loại SSR của hang OMRON 42

Chương II: CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN NHIỆT ĐỘ

5.2 Điều khiển kiểu PID

5.2.1 Điều khiển Tỉ Lệ (P) 45

Trang 2

5.2.2 Điều khiển Tích Phân (I) 46 5.2.3 Điều khiển Vi Phân (D) 46 5.2.4 Điều khiển Tích Phân - Tỉ Lệ (PI) 47 5.2.5 Điều khiển Vi Phân – Tỉ Lệ (PD) 47 5.2.6 Điều khiển Vi Phân – Tích Phân – Tỉ Lệ (PID) 48 5.3 Điều khiển kiểu FUZZY

5.3.1 Khái niệm cơ bản 51 5.3.2 Định nghĩa tập mờ 51 5.3.3 Bộ điều khiển mờ 52 5.3.4 Thiết Kế Bộ Điều Khiển Mờ 53 5.3.5 Thiết kế PID mờ 54

PHẦN 3: KẾT QUẢ THỰC HIỆN ĐỀ TÀI

Chương 1: ĐÁNH GIÁ

Danh mục tài liệu tham khảo 67

Phụ lục 68

Trang 3

LỜI MỞ ĐẦU

- Trong thời đại công nghiệp hóa hiện đại hóa ngày nay, cùng với sự phát triễn như vũ bão của kỹ thuật điện tử trong những năm gần đây mà đặc thù là công nghệ bán dẫn và vi điện tử, đã cho ra đời nhiều sản phẩm vi xử lý ngày một hoàn thiện hơn Từ

họ vi điều khiển 8051 kinh điển đã xuất hiện các dòng khác với những tính năng ưu việt và hoàn thiện hơn như PIC, AVR, LPC… Nhờ vào sự phát triển mạnh mẽ của Vi

xử lý thì điều khiển tự động đã trở thành một nhu cầu rất cần thiết trong đời sống sinh hoạt cũng như sản xuất Dưới sự xuất hiện của các học thuyết và các ứng dụng cụ thể trong đời sống hàng ngày, có thể nói điều khiển tự động đang chi phối dần cuộc sống của chúng ta, mang lại sự tiện nghi và thoải mái cho chúng ta Trong phạm vi đề tài này nhóm sẽ ứng dụng Vi điều khiển AVR của họ ATMEL để thực hiện việc đo và điều khiển nhiệt độ

- Điều khiển nhiệt độ chỉ là một lĩnh vực nhỏ trong điều khiển tự động, và cũng

đã có nhiều công trình có hiệu quả cao như các lò nung trong công nghiệp, các lò nướng dân dụng, … đòi hỏi phải điều khiển sao cho nhiệt độ bằng hoặc xấp xỉ nhiệt độ đặt để đáp ứng các điều kiện mà nhu cầu sản xuất đặt ra Đề tài này ra đời chỉ nhằm mục đích tìm hiểu và đưa ra giải pháp mà có thể dễ dàng ứng dụng được với giá thành

rẻ, dễ thi công, và hiệu quả tạm chấp nhận được

- Mặc dù nhóm đã dành hết tâm huyết để nghiên cứu thực hiện đề tài được đúng thời hạn Tuy nhiên, đây là đề tài thực tế về điều khiển nhiệt độ đầu tiên mà nhóm tham gia thực hiện nên có thể không tránh khỏi sai sót trong quá trình thiết kế và thi công Rất mong nhận được sự đóng góp ý kiến để đề tài có thể hoàn thiện hơn

- Thi công bộ điều khiển lò sấy để có thể nghiên cứu tại trường, chủ động trong quá trình gối đầu bước tiếp theo có định hướng với công ty Nectokin Nghiên cứu một

số công nghệ mới như : điều khiển dùng AVR, PID, kỹ thuật điều khiển mờ (Fuzzy)… Nhằm nâng cao rõ rệt trình độ chuyên sâu của giáo viên Đề tài thực hiện thành công

sẽ làm mô hình cho sinh viên thực tập điều khiển quá trình, điều khiển hệ thống tự động

- Kết thúc giai đoạn 1 thực hiện đề tài, nhóm đã hoàn thành đúng tiến độ đề ra như: thi công hoàn chỉnh lò nhiệt, thiết kế mạch điều khiển, mạch công suất, lâp trình chế độ điều khiển ON/OFF, PID, thiết kế giao diện giao tiếp máy tính, nghiên cứu và viết chương trình thuật giải Fuzzy logic

- Trong giai đoạn 2 sẽ đưa thuật giải Fuzzy vào điều khiển lò nhiệt và hoàn chỉnh

mô hình để đề xuất đưa vào giảng dạy

Trang 4

Phần 1: TỔNG QUAN VỀ ĐỀ TÀI ĐIỀU KHIỂN

NHIỆT ĐỘ

1.1 Mục đích đối tượng và phạm vi nghiên cứu:

- Nghiên cứu một số công nghệ mới như : điều khiển dùng AVR, PID, kỹ thuật điều khiển mờ (Fuzzy)… Nhằm nâng cao trình độ chuyên sâu

- Đề tài thực hiện thành công sẽ làm mô hình cho sinh viên thực tập điều khiển quá trình, điều khiển hệ thống tự động

- Đối tượng điều khiển là mô hình lò sấy

- Phạm vi và mục đích nghiên cứu là ứng dụng những kiến thức đã học vào thực tiễn nhằm củng cố và nâng cao trình độ

Mô hình lò sấy cần điều khiển

Bộ Điều Khiển Thông Dụng Trên Thị Trường

Trang 5

1.2 Tình hình nghiên cứu trong và ngoài nước:

- Trong lĩnh vực khoa học kỹ thuật đề tài đo lường và điều khiển nhiệt độ không phải là một đề tài mới, và trên thực tế đã có rất nhiều công trình nghiên cứu về vấn đề trên Tuy nhiên để thực hiện được và đưa vào ứng dụng trong thực tiễn sản xuất thì hầu như rất ít và trên thực tế thì hầu hết các bộ đo lường và điều khiển nhiệt độ là được nhập từ các hãng sản xuất lớn

1.3 Phương hướng và phương pháp nghiên cứu:

- Thiết kế và thi công mạch đo nhiệt độ sử dụng Thermocouple loại K

- Thiết kế và thi công mạch khuếch đại sử dụng IC AD595 chuyên dụng cho thermocouple loại K

- Tìm hiểu về vi điều khiển AVR và phương pháp chuyển đổi ADC (Analog to Digital Convert)

- Tìm hiểu về các phương pháp điều khiển nhiệt độ ON/OFF, PID VÀ FUZZY

- Thiết kế chương trình giao diện của bộ hiển thị trên LCD 20x4 và phím nhấn giao tiếp người dùng

- Tiến hành điều khiển lò nhiệt thực tế để cân chỉnh các thông số điều khiển

- Thiết kế mạch giao tiếp máy tính để gửi các thông số điều khiển và đáp ứng ngõ

xử lý chống nhiễu bằng phần mềm

- Để thực hiện thuật toán chuyển đổi từ điện áp trả về tại đầu dò ra nhiệt độ đòi hỏi thực hiện nhiều phép toán nâng cao như hàm mũ, logaric… mà dùng vi điều khiển để thực hiện thì thời gian đáp ứng là rất chậm Sau một thời gian tối ưu hóa thuật toán vẫn không thành công biện pháp được nhóm đề xuất là lập bảng tra giá trị quy đổi từ tín hiệu đầu vào tương ứng với nhiệt độ thực tế, kết quả là tốc độ xử

lý rất nhanh gần như tức thời

- Vi điều khiển AVR là họ vi điều khiển tương đối mới của hãng ATMEL, lý do nhóm chọn VĐK này vì nó được tích hợp sẵn bộ biến đổi ADC (Analog to Digital) rất cần cho việc đo nhiệt độ và một lý do quan trọng hơn nữa là nhóm muốn tìm hiểu nghiên cứu những cái mới không trùng lắp với các đề tài đi trước (thường dùng họ 8051 kết hợp với IC chuyển đổi ADC) Để tiếp cận cách sử dụng nó và ứng dụng vào đề tài trong khoảng thời gian ngắn là một cố gắng nỗ lực hết mình của nhóm (thiết kế mạch nạp, mạch điều khiển, kiến trúc VĐK AVR, phần mềm lập trình, phần mềm nạp, ngôn ngữ lập trình…)

Trang 6

1.5 Sơ đồ khối tổng thể của hệ thống:

Khối Cảm Biến

(dùng thermocouple

loại K its_90)

Khối Khuếch Đại (IC AD595)

Khối chuyển đổi ADC

Và Xử Lý Trung Tâm (AVR ATMEGA32)

Khối bàn phím (nhập thông số điều khiển)

Khối Công Suất Điều

Trang 7

Phần 2: CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP

Sơ đồ khối của một hệ thống đo lường tổng quát:

- Khối chuyển đổi: làm nhiệm vụ nhận trực tiếp các đại lượng vật lý đặc trưng cho đối tượng cần đo biến đổi các đại lượng thành các đại lượng vật lý thống nhất(dòng điện hay điện áp) để thuận lợi cho việc tính toán

- Mạch đo: có nhiệm vụ tính toán biến đổi tín hiệu nhận được từ bộ chuyển đổi

sao cho phù hợp với yêu cầu thể hiện kết quả đo của bộ chỉ thị

- Khối hiển thị: làm nhiệm vụ biến đổi tín hiệu điện nhận được từ mạch đo để thể hiện kết quả đo

1.2 Sơ Đồ Khối Chi Tiết Của Hệ Thống Đo:

Khối Cảm

Biến

Khuếch Đại tín hiệu đo Dồn Kênh

tương tự

Khối ADC Khối xử lý trung tâm

Khối bàn phím

Khối Giao Tiếp Máy Tính

Khối Hiển Thị

Khối Công Suất

Trang 8

Nguyên lý hoạt động:

Để cho mạch nhỏ gọn hơn nhóm đã lựa chọn sử dụng vi điều khiển AVR

ATMEGA 32 của hãng ATMEL tích hợp sẵn bộ ADC 8 kênh

Đối tượng cần đo là đại lượng vật lý,dựa vào các đặc tính của đối tượng cần đo

mà ta chọn một loại cảm biến phù hợp để biến đổi thông số đại lượng vật lý cần đo thành đại lượng điện ,đưa vào mạch chế biến tín hiệu(gồm:bộ cảm biến,hệ thống khuếch đại,xử lý tín hiệu)

Bộ chuyển đổi tín hiệu sang số ADC(Analog Digital Converter) làm nhiệm vụ chuyển đổi tín hiệu tương tự sang tín hiệu số và kết nối với khối xử lý trung tâm

Bộ vi xử lý có nhiệm vụ thực hiện những phép tính và xuất ra những lệnh trên

cơ sở trình tự những lệnh chấp hành đã thực hiện trước đó

Bộ dồn kênh tương tự (multiplexers) và bộ chuyển ADC được dùng chung tất

cả các kênh Dữ liệu nhập vào vi xử lý sẽ có tín hiệu chọn đúng kênh cần xử lý đê đưa vào bộ chuyển đổi ADC và đọc đúng giá trị đặc trưng của nó qua tính toán để có kết quả của đại lượng cần đo

Khối bàn phím là những nút nhấn để người dùng nhập thông số điều khiển Khối giao tiếp máy tính dùng IC Max232 để truyền và nhận dữ liệu từ máy tính Khối công suất dùng SSR (Solid State Relay) để cung cấp năng lượng nung điện trở nhiệt đốt lò

Khối hiển thị dùng LCD 20x4 để thông báo nhiệt độ đặt, nhiệt độ đio và chế độ điều khiển

Phương Pháp Đo Nhiệt Độ:

Đo nhiệt độ là một phương thức đo lường không điện, đo nhiệt độ được chia thành nhiều dãy:

+ Đo nhiệt độ thấp

+ Đo nhiệt độ trung bình

+ Đo nhiệt độ cao

Việc đo nhiệt độ được tiến hành nhờ các dụng cụ hổ trợ chuyên biệt như:

+ Cặp nhiệt điện

+ Nhiệt kế điện kế kim loại

+ Nhiệt điện trở kim loại

+ Nhiệt điện trở bán dẫn

+ Cảm biến thạch anh

Để đo lường các đại lượng có nhiệt độ lớn như ứng dụng cho các lò sấy nhóm

đề xuất sử dụng cặp nhiệt điện thermocouple loại K, có dãy đo rộng (-2700C đến

13720C), chịu nhiệt tốt

Trang 9

Hình dạng thực tế của Thermocouple loại K

1.3 Cấu Tạo Thermocouple:

- Tầm đo: từ -2700C đến 13720C

- Gồm 2 thanh kim loại A và B được nối chung 1 đầu, khi có sự thay đổi nhiệt độ

ở đầu nối chung thì ở 2 đầu còn lại sẽ sinh ra suất điện động eAB

Sơ đồ cấu tạo Thermocouple

- Giá trị của suất điện động eAB được cho bởi công thức sau:

ΔeAB = αΔT

Với: α là hệ số tỉ lệ của Thermocouple ứng với mỗi khoảng nhiệt độ sẽ có một

hệ số (nếu là loại K : α ≈ 0,04mV trong dãy nhiệt từ 0-2000C)

ΔT là độ thay đổi của nhiệt độ

ΔeAB là độ thay đổi của suất điện động ứng với khoảng nhiệt thay đổi

- Như vậy ta thấy đối với Thermocouple loại K thì sự thay đổi điện áp ứng với nhiệt

độ gần như là tuyến tính và ta có đặc tuyến sau:

Trang 10

Đồ thị tương quan giữa nhiệt độ và suất điện động

Đồ thị tương quan giữa hệ số α và nhiệt độ

Trang 12

1.4 Sơ Đồ Mạch IC Đo và Khuếch Đại Tín Hiệu

Nguyên lý hoạt động của mạch:

- Tín hiệu nhiệt độ được đo qua đầu dò nhiệt (Thermocouple loại K) là tín hiệu suất điện động rất nhỏ khoảng 0,04mV/0C sau đó được đưa vào ngõ vào IC AD595 là dạng IC khuếch đại chuyên dụng cho Thermocouple loại K, tín hiệu này sẽ được khuếch đại lên 250 lần và ngõ ra từ bộ khuếch đại sẽ có giá trị khoảng 10mV/0C sau đó được đưa vào ngõ vào bộ chuyển đổi ADC

- Bộ ADC bên trong VĐK Atmega32 sẽ biến đổi tín hiệu điện áp thu được (dạng analog) thành giá trị số (digital) chứa trong thanh ghi ADCW và VĐK sẽ được lập trình để chuyển đổi giá trị này thành giá trị nhiệt độ tương ứng

- Từ giá trị nhiệt độ đọc được, VĐK sẽ so sánh với giá trị nhiệt độ cần điều khiển (có thể cài đặt) và lựa chọn phương thức điều khiển ON/OFF, PID, FUZZY

- Bộ hiển thị là màn hình LCD20x4 sẽ được lập trình để thông báo nhiệt độ hiện tại, nhiệt độ cần điều khiển và phuơng thức điều khiển

VCC(12v) ad3

12

9

33 35 37 39 1

3 5 7

29 27 25 23

14 16 18 20

AREF AVCC

a X1

X2

RST

PA7/ADC7 PA5/ADC5 PA3/ADC3 PA1/ADC1 PAO/AD0 PB0

PB2 PB4 PB6

PC7 PC5 PC4 PC2

PD0 PD2 PD4 PD6

ad2

Y1 CRYSTAL

ISO5 OPTO ISOLATOR-A

VCC

R6

R

Trang 13

Chương 2: KHỐI GIAO TIẾP MÁY TÍNH

Đa số các thiết bị ngày nay đều có thể giao tiếp với máy tính vì các tính năng tuyệt vời của máy tính Do đó, board mạch điều khiển ở đây cũng được trang bị để có khả năng đó Mặc dù nó cũng có yêu cầu bắt buộc là nạp chương trình điều khiển từ máy tính, nhưng xa hơn nữa nó có thể trao đổi với máy tính về các thông số của quá trình điều khiển, trạng thái của mạch và có thể được điều khiển bởi máy tính …

2.1 Sơ lược về chuẩn RS-232 :

Trong kỹ thuật truyền dữ liệu giữa các hệ thống với nhau, người ta có thể phân loại 2 cách truyền : song song hay nối tiếp Nhưng do cách truyền song song rất dễ bị nhiễu tác động nên không thể truyền đi xa được, do đó cũng ít được sử dụng Truyền nối tiếp cũng có 2 loại : đồng bộ hay không đồng bộ Trong cách truyền đồng bộ, dãy

ký tự được truyền sẽ kèm theo ký tự đồng bộ là SYN (mã ASCII là 22) Phương thức này cho tốc độ truyền khá cao nhưng do mạch xử lý truyền và nhận (bao gồm mạch thêm ký tự đồng bộ, phát hiện và báo sai…) khá phức tạp nên chỉ dùng trong các ứng dụng có yêu cầu cao về tốc độ truyền Còn trong các ứng dụng thông thường, nhất là các ứng dụng trong lĩnh vực điều khiển tự động, thì không có yêu cầu về tốc độ mà yêu cầu về độ tin cậy nhưng mạch thực hiện đơn giản, rẻ tiền Khi đó, cách truyền không đồng bộ rất phù hợp Theo cách truyền này thì các ký tự được truyền riêng rẽ, phân làm từng frame có bit bắt đầu, các bit dữ liệu của ký tự cần truyền, bit chẵn lẻ (để kiểm tra lỗi đường truyền, và các bit kết thúc

Chuẩn RS-232-C (do EIA đưa ra) là một trong những phương thức truyền nối tiếp không đồng bộ Theo chuẩn này thì việc truyền thông được thực hiện ngay tại chỗ bằng cách truyền và nhận một chuỗi các xung điện áp liên tục tương ứng với các bit

Dữ liệu ở mức TTL được biến đổi sang các mức điện áp như sau : mức 1 là từ -3V đến -15V (tiêu chuẩn là -12V), và mức 0 là từ +3V đến +15V (tiêu chuẩn là +12V)

Ta thấy rằng việc truyền và nhận các mức điện áp như vậy được thực hiện rất đơn

giản Chính vì vậy mà chuẩn RS-232-C đã trở thành giao diện phổ biến rộng rãi nhất, được trang bị hầu hết trên các máy tính như là một trong những thành phần cấu thành nên hệ thống

Các thuật ngữ có liên quan đến giao thức truyền thông RS-232-C :

· Chu kỳ truyền dữ liệu : tốc độ truyền dữ liệu được tính bằng bit/giây, nhưng

để phân biệt với cách truyền đồng bộ, người ta sử dụng đơn vị baud (tương ứng với bit/giây trong thời gian có dữ liệu truyền) để tưởng nhớ đến nhà khoa học Pháp thế kỷ 19 là J M E Baudot

· Trạng thái đánh dấu : là khoảng thời gian không có dữ liệu truyền Trong suốt thời gian này, thiết bị phát sẽ giữ đường truyền ở mức cao

· Bit bắt đầu : một bit thấp cho biết việc truyền dữ liệu sẽ bắt đầu

· Các bit ký tự : là dòng dữ liệu gồm 5, 6, 7, hay 8 bit mã hóa ký tự được truyền

Bit có trọng số thấp nhất (LSB) là bit đầu tiên được truyền

· Bit chẵn lẻ : là một bit tùy chọn (có thể có hay không), được phát đi sau các bit ký tự dùng để kiểm tra các lỗi truyền dữ liệu Trong chế độ kiểm tra tính chẵn, thiết bị phát sẽ bật 1 hay xóa về 0 bit chẵn lẻ để tính tổng các bit 1 của ký

Trang 14

tự được

truyền và bit chẵn lẻ là một số chẵn Còn trong chế độ kiểm tra tính lẻ, bit chẵn

lẻ

thực hiện tính tổng các bit 1 phải là một số lẻ

· Các bit kết thúc : một hay nhiều bit cao được chèn trong dòng truyền để báo

việc

kết thúc truyền một ký tự, cũng như cho thiết bị nhận có đủ thời gian chuẩn bị

để

sẵn sàng cho việc nhận ký tự kế tiếp

Một khung truyền trong chuẩn RS232

Trong giao thức RS-232-C, các tham số truyền và nhận được chọn từ một miền

các giá trị chuẩn Sau đây là các thông số phổ biến nhất trong các máy vi tính IBM :

· Tốc độ truyền : 50, 110, 300, 600, 1200, 2400, 4800, 9600, 19200

· Bit dữ liệu : 5, 6, 7, hay 8

· Bit chẵn lẻ : chẵn, lẻ, không kiểm tra

· Bit kết thúc : 1,5 hay 2

Các đầu nối :

Theo chuẩn RS-232-C, đầu nối phần cứng xác định với 25 chân, gọi là chân

cắm D-Shell hay DB-25 Nhưng không phải tất cả cổng nối tiếp đều sử dụng đầu nối

DB-25 Một số máy tính như PCJr dùng chân cắm BERG 16 chân, máy PC AT thì sử

dụng chân cắm D-Shell 9 chân

Trang 15

Bảng chức năng các chân cổng RS 232

2.2 MAXIM 232 và họ IC dùng cho biến đổi TTLRS-232-C :

Họ IC từ MAX220-MAX249 được sản xuất cho truyền thông EIA/TIA-232E và

V.28/V.24, cụ thể là cho những ứng dụng mà không có sẵn điện áp ±12V Họ IC này

đặc biệt thích hợp cho những hệ thống dùng pin có công suất thấp, do chúng có chế độ

hạ nguồn làm giảm công suất tiêu tán xuống dưới 5µW MAX225, MAX233,

MAX235, MAX245-MAX247 không cần các linh kiện phụ bên ngoài, được dùng cho

những nơi tiết kiệm không gian

Các đặc điểm chính :

· Nguồn cung cấp +5V (MAX231/MAX239 dùng nguồn +5V và +12V) · Hạ nguồn

công suất thấp nhưng vẫn có thể nhận (MAX223/MAX242e · Hỗ trợ chuẫn

EIA/TIA-232E và V.28

· Nhiều bộ nhận và phát

· Phát hiện đứt mạch đường truyền (MAX243)

1.Cấu tạo chân :

Trang 16

Sơ Đồ Kết Nối RS232

Ta thấy rằng MAX232 cần có 4 tụ mắc ngoài để biến đổi điện áp từ 0V đến 5V

thành -12V đến 12V phù hợp cho truyền thông theo chuẩn RS-232 ngoài ra có 4 bộ

khuếch đại đảo nhằm chuyển từ mức TTL ra chuẩn RS-232

Trong phép giao tiếp thông thường, chỉ cần 3 dây nối : TXD, RXD, GND là đã đảm

bảo cho giao tiếp

Trang 17

Chương 3: KHẢO SÁT VI ĐIỀU KHIỂN ATMEGA32 3.1 Đặc Điểm Chung Của VĐK ATMEGA32:

Vi điều khiển ATmega32 là một loại vi điều khiển tương đối mới của hãng ATMEL với kiến trúc rất phức tạp ATmega32 sử dụng kiến trúc RISC (Reduced Instruction Set Computer) AVR

ATmega32 với kiến trúc RISC có chỉ tiêu chất lượng cao và tiêu thụ năng lượng ít:

− 131 lệnh hầu hết được thực hiện trong một chu kỳ xung nhịp

− 32 thanh ghi làm việc đa năng

− Cung cấp đầy đủ các trạng thái hoạt động

− Tốc độ xử lý lệnh lên đến 16 triệu lệnh/giây ở tần số 16MHz

Bộ nhớ dữ liệu và bộ nhớ chương trình không tự mất dữ liệu:

− 32K byte bộ nhớ Flash lập trình được ngay trên hệ thống, có thể nạp xoá

10000 lần

− 1K byte bộ nhớ EEFROM lập trình được ngay trên hệ thống, có thể ghi xóa

100000 lần

− 2K byte bộ nhớ SRAM

− Có thể giao tiếp với 64K byte bộ nhớ ngoài

− Khóa bảo mật phần mềm lập trình được

− Giao diện nối tiếp SPI để lập trình ngay trên hệ thống

Các tính năng ngoại vi:

− Hai bộ đếm/ bộ định thời 8 bit với chế độ so sánh và chia tần số tách biệt

− Hai bộ đếm/ bộ định thời 16 bit với chế độ so sánh, chia tần số tách biệt và chế độ bắt mẫu (Capture Mode)

− Bộ đếm thời gian thực (RTC) với bộ dao động tách biệt

− Bốn bộ điều chế độ rộng xung PWM 8 bit

− Bộ biến đổi ADC bên trong 8 kênh 10 bit

− 2 bộ USART nối tiếp lập trình được

− Có giao thức truyền SPI chủ và tớ

− Bộ định thời Watchdog lập trình được với bộ dao động trên chip

− Một bộ so sánh Analog

Các tính năng vi điều khiển đặc biệt:

− Có mạch power - on reset và có thể reset bằng phần mềm

− Có nguồn dao động nội tích hợp sẵn bên trong

− Có 2 nguyên nhân gây ngắt là bên trong và bên ngoài

− Có 6 chế độ ngủ: nghỉ (Idle) Tiết kiệm năng lượng (power save) và power down, ADC Noise Reduction, Standby and Extended Standby

Vào ra và các cách đóng vỏ

Trang 18

− 32 đường vào ra lập trình được

− 40 chân dán kiểu vỏ chữ nhật (PDIP), 44 chân dán kiểu vỏ vuông (TQFP) Điện thế làm việc:

− VCC = 2,7V đến 5,5V đối với ATmega32L

− VCC = 4,5V đến 5,5V đối với ATmega32

Vùng tốc độ làm việc:

− 0 đến 8 MHz đối với ATmega32L

− 0 đến 16 MHz đối với ATmega32

Năng lượng tiêu thụ tại tần số 1MHz, 3V, 25oC đối với ATmega32L:

Trang 19

Hình dạng phân bố chân vào ra của ATmega32 dạng TQFP/MLF

ATmega32 là bộ vi điều khiển RISC 8 bit tiêu thụ năng lượng nhưng đạt hiệu suất rất cao, dựa trên kiến trúc RISC AVR Bằng việc thực hiện các lệnh trong một chu

kỳ xung nhịp, ATmega32 đạt được tốc độ xử lý dữ liệu lên đến 1 triệu lệnh/giây ở tần

số 1MHz ATmega32 còn cho phép người thiết kế hệ thống tối ưu hoá mức độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lý

3.2 Sơ Đồ Khối Của VĐK ATMEGA32:

Trang 21

Kiến trúc đặc biệt của ATmega32 kết hợp tập lệnh phong phú về số lượng với 32 thanh ghi làm việc đa năng cho phép người lập trình khai thác nó một cách hiệu quả tối ưu Toàn bộ 32 thanh ghi đều được nối với ALU cho phép truy cập hai thanh ghi độc lập bằng 1 lệnh đơn trong một chu kỳ xung nhịp Kiến trúc RISC giúp ATmega32 đạt tốc độ xử lý nhanh gấp 10 lần với vi điều khiển kiến trúc CISC thông thường ATmega cung cấp 64K bytes bộ nhớ Flash lập trình được trong hệ thống và có khả năng đọc/xóa/viết, 1K bytes bộ nhớ EFPROM, 2K bytes SRAM, 53 đường vào ra đa năng, 32 thanh ghi làm việc đa năng, bộ đếm thời gian thực (RTC), 4 bộ định thời/đếm linh hoạt với chế độ so sánh và điều chế độ rộng xung, 2 bộ USART, bộ ADC 8 kênh 10bit với sự lựa chọn ngõ vào có thể lập trình được độ lợi, bộ định thời watchdog lập trình được với bộ dao động bên trong, một cổng nối tiếp SPI, 6 chế độ tiết kiệm năng lượng lựa chọn được bằng phần mềm

Đặc biệt chế độ Idle làm ngưng hoạt động của CPU trong khi bộ nhớ SRAM, các bộ định thời/đếm, cổng SPI và hệ thống ngắt vẫn tiếp tục hoạt động

Chế độ Power Down lưu trữ nội dung thanh ghi nhưng giải phóng bộ dao động, cấm tất cả các chức năng khác trên chíp cho đến khi xuất hiện một ngắt kế tiếp hay tín hiệu Reset cứng

Chế độ Power Save cho phép bộ dao động định thời tiếp tục chạy để cho phép người dùng tiếp tục trong khoảng thời gian nào đấy (đặt trước) trong khi những thiết bị khác

ở trong chế độ ngủ

Chế độ ADC Noise Reduction tất cả các đường I/0 và CPU đều ngưng hoạt động ngoại trừ timer và ADC vẫn hoạt động, giảm mức tối thiểu nhiễu trong chuyển đổi ADC Chế độ dự phòng Standby bộ dao động vẫn chạy trong khi những thiết bị ở trong chế

độ ngủ

ATmega32 được công ty ATMEL chế tạo với công nghệ bộ nhớ không tự mất dữ liệu

Bộ nhớ Flash ISP trên chip cho phép bộ nhớ chương trình có thể được lập trình lại ngay trên hệ thống, thông qua một giao diện nối tiếp SPI hoặc một bộ nạp chương trình vào bộ nhớ không tự mất dữ liệu

Bằng cách kết hợp một CPU 8 bit có kiến trúc RISC với bộ nhớ Flash lập trình được trong hệ thống trên một chíp đơn lẻ, ATmega32 là loại vi điều khiển rất mạnh với tính linh hoạt cao trong sử dụng và chi phí hợp lý đối với nhiều ứng dụng điều khiển chúng trong thực tế

ATmega32 được hỗ trợ bằng tất cả các công cụ lập trình và phát triển hệ thống hiện có: trình biên dịch C, trình biên dịch Macro Assembler, trình gỡ rối/mô phỏng và các kits thí nghiệm

3.3 Chức Năng Các Chân Của VĐK ATMEGA32:

VCC: Điện áp nguồn nuôi

GND: Đất

Port A (PA7…PA0)

- Các chân của Port A là ngõ vào của analog của bộ chuyển đổi ADC

- Port A cũng dùng làm 8 bit xuất nhập dữ liệu được định địa chỉ nếu bộ chuyển đổi ADC không được sử dụng Những chân của Port này đã được cung

Trang 22

cấp điện trở nội kéo lên bên trong Bộ đệm ngõ ra của Port A thì đã được thiết kế

tầng lái đối xứng để có thể họat động được ở chế độ sink và source Khi các

chân từ PA0 đến PA7 là các ngõ vào được đặt xuống mức thấp từ bên ngoài,

chúng sẽ là nguồn dòng nếu như các điện trở nối lên nguồn dương được kích

hoạt Các chân này sẽ ở trạng thái tổng trở cao khi tín hiệu Reset ở mức tích cực

hoặc ngay cả khi không có dao động

Port B (PB7…PB0)

- Port B dùng làm 8 bit xuất nhập dữ liệu được định địa chỉ Những chân

của Port này đã được cung cấp điện trở nội kéo lên bên trong Bộ đệm ngõ ra của

Port B thì đã được thiết kế tầng lái đối xứng để có thể họat động được ở chế độ

sink và source Khi các chân từ PB0 đến PB7 là các ngõ vào được đặt xuống

mức thấp từ bên ngoài, chúng sẽ là nguồn dòng nếu như các điện trở nối lên

nguồn dương được kích hoạt Các chân này sẽ ở trạng thái tổng trở cao khi tín

hiệu Reset ở mức tích cực hoặc ngay cả khi không có dao động

- Các chân của Port B còn có các chức năng đặc biệt khác như sau:

Port C (PC7…PC0)

- Port C dùng làm 8 bit xuất nhập dữ liệu được định địa chỉ Những chân

của Port này đã được cung cấp điện trở nội kéo lên bên trong Bộ đệm ngõ ra của

Port C thì đã được thiết kế tầng lái đối xứng để có thể họat động được ở chế độ

sink và source Khi các chân từ PC0 đến PC7 là các ngõ vào được đặt xuống

mức thấp từ bên ngoài, chúng sẽ là nguồn dòng nếu như các điện trở nối lên

nguồn dương được kích hoạt Các chân này sẽ ở trạng thái tổng trở cao khi tín

hiệu Reset ở mức tích cực hoặc ngay cả khi không có dao động

- Các chân của Port C còn có các chức năng đặc biệt khác như sau:

Trang 23

Port D (PD7…PD0)

- Port D dùng làm 8 bit xuất nhập dữ liệu được định địa chỉ Những chân của Port này đã được cung cấp điện trở nội kéo lên bên trong Bộ đệm ngõ ra của Port D thì đã được thiết kế tầng lái đối xứng để có thể họat động được ở chế độ sink và source Khi các chân từ PD0 đến PD7 là các ngõ vào được đặt xuống mức thấp từ bên ngoài, chúng sẽ là nguồn dòng nếu như các điện trở nối lên nguồn dương được kích hoạt Các chân này sẽ ở trạng thái tổng trở cao khi tín hiệu Reset ở mức tích cực hoặc ngay cả khi không có dao động

- Các chân của Port D còn có các chức năng đặc biệt khác như sau:

Reset: Ngõ vào được đặt lại ATmega32 sẽ được đặt lại khi chân này ở mức thấp trong hơn 50ns hoặc ngay cả khi không có tín hiệu xung clock Các xung ngắn hơn không tạo ra tín hiệu đặt lại

AVCC: Cung cấp nguồn cho Port A và bộ chuyển đổi ADC hoạt động Ngay khi không sử dụng bộ chuyển đổi ADC thì chân AVCC vẫn phải đươc kết nối tới nguồn VCC

AREF: Đây là chân điều chỉnh điện áp tham chiếu cho bộ chuyển đổi A/D

XTAL1: Ngõ vào bộ khuếch đại đảo và ngõ vào mạch tạo xung nhịp bên trong XTAL2: Ngõ ra bộ khuếch đại đảo

Bộ tạo dao động thạch anh :

Trang 24

− XTAL1 và XTAL2 lần lượt là lối vào và lối ra của một bộ khuếch đại đảo,

bộ khuếch đại này được bố trí để làm bộ tạo dao động trên chip như trên hình 3

− Để điều khiển được bộ Vi Điều Khiển từ một nguồn xung nhịp bên ngoài, chân XTAL2 để không, chân XTAL1 được nối với tín hiệu dao động bên ngoài

Trang 25

Sơ đồ khối kiến trúc của ATMEGA32 AVR sử dụng kiến trúc Harvard với bộ nhớ và bus riêng biệt cho chương chình

và dữ liệu, bộ nhớ chương trình được thực thi với một đường ống hai tầng Trong khi một lệnh đang được thực thi thì lệnh tiếp theo được nhập vào bộ nhớ chương trình Giải pháp này cho phép các lệnh được thực thi trong mọi chu kỳ xung nhịp Bộ nhớ chương trình là bộ nhớ flash lập trình được

Các thanh ghi đa năng truy cập nhanh gồm 32 thanh ghi 8 bit được truy cập trong một chu kỳ xung nhịp Điều này có nghĩa là ALU thực hiện được một phép toán: hai toán hạng được xuất từ tệp các thanh ghi đa năng, phép toán được thực hiện và kết quả được lưu trở lại vào tập các thanh ghi trong một chu kỳ xung nhịp

6 trong số 32 thanh ghi này có thể dùng làm 3 con trỏ địa chỉ gián tiếp 16 bit để định địa chỉ không gian dữ liệu và cho phép tính địa chỉ hiệu dụng Một trong ba con trỏ địa chỉ cũng được dùng làm con trỏ địa chỉ cho chức năng tìm kiếm bảng hằng số trong bộ nhớ Flash Các thanh ghi có chức năng bổ sung này là các thanh ghi 16 bit X,

Y, Z

ALU: hỗ trợ các chức năng số học và logic giữa các thanh ghi hoặc giữa một hằng số và các thanh ghi Các phép toán trong một thanh ghi cũng được thực hiện

Trang 26

trong ALU Sau phép toán số học, thanh ghi trạng thái sẽ cập nhật và phản hồi lại kết quả tính toán

Toàn bộ không gian địa chỉ được truy nhập trực tiếp nhờ các lệnh nhảy và lệnh gọi Hầu hết các lệnh AVR có định dạng từ đơn 16 bit Mỗi địa chỉ của bộ nhớ chương trình chứa một lệnh 16 hoặc 32 bit

Khối ngắt mềm dẻo có các thanh ghi điều khiển trong không gian vào ra và một bit cho phép ngắt toàn cục trong thanh ghi trạng thái Mỗi ngắt đều có một vectơ ngắt riêng Các ngắt có thứ tự ưu tiên tương ướng với vị trí vectơ ngắt của chúng địa chỉ của vectơ ngắt càng thấp thì thứ tự ưu tiên càng cao

Không gian bộ nhớ vào ra chứa 64 địa chỉ cho các chức năng ngoại vi của CPU như các thanh ghi điều khiển, bộ đếm/ định thời, các bộ biến đổi tương tự/số và các chức năng vào/ra khác Bộ nhớ vào/ra có thể truy cập trực tiếp hoặc như các vị trí trong không gian dữ liệu ngay sau các vị trí của tập các thanh ghi đa năng từ địa chỉ

$20 đến $5F ATmega32 mở rộng thêm không gian từ $60 đến $FF trên SRAM chỉ có các lệnh ST/STS/STD và LD/LDS/LDD được sử dụng

Trong quá trình gọi ngắt và chương trình con, địa chỉ trở về của bộ đếm chương trình PC được lưu vào ngăn xếp Ngăn xếp được cấp phát trong bộ nhớ dữ liệu SRAM nên kích thước chỉ bị giới hạn bởi dung lượng và không gian đã sử dụng của bộ nhớ SRAM Tất cả chương trình của người dùng phải khởi tạo con trỏ ngăn xếp SP (stack pointer) khi bắt đầu chương trình (trước khi chương trình con và ngắt được thực thi) Con trỏ ngăn xếp 16 bit SP được truy cập để đọc/viết trong không gian vào/ra Bộ nhớ SRAM 2kB có thể được truy cập dễ dàng thông qua năm chế độ định địa chỉ được cung cấp trong kiến trúc AVR

Trang 28

Bộ nhớ SRAM có trong hầu hết các bộ xử lý của Vi Điều Khiển AVR Dung lượng của bộ nhớ SRAM 2K byte, bộ nhớ SRAM được truy nhập bằng cách sử dụng nhiều lệnh truy nhập dữ liệu trực tiếp hoặc gián tiếp, bộ nhớ SRAM cũng được sử dụng cho ngăn xếp, thời gian truy nhập vào bộ nhớ SRAM bằng 2 chu kỳ đồng hồ

32 địa chỉ đầu tiên trong SRAM là dành cho 32 thanh ghi đa năng (R0 đến R31) Tệp thanh ghi được tách thành 2 phần, mỗi phần có 16 thanh ghi đánh số từ R0 đến R15 và R16 đến R31 Tất cả các lệnh thao tác trên các thanh ghi đều có thể truy cập trực tiếp hoặc gián tiếp đến tất cả các thanh ghi Nhưng có một ngoại lệ là có một số các lệnh (SBCI, SUBI, CPI, ANDI và ORI …) chỉ tác động đến thanh ghi từ R16 đến R31

Các thanh ghi R0 và R26 đến R31 có các chức năng bổ sung Thanh ghi R0 được sử dụng trong các lệnh nạp bộ nhớ chương trình LPM (load program memory), trong khi các thanh ghi R26 đến R31 được sử dụng làm các thanh ghi con trỏ Các thanh ghi con

trỏ này được sử dụng trong nhiều lệnh gián tiếp dùng trong thanh ghi

Các Thanh Ghi Con Trỏ X, Y, Z

64 địa chỉ tiếp theo ($00 đến $5F) được dùng cho các thanh ghi I/O, ta có thể truy xuất các thanh ghi I/O này bằng các lệnh IN, OUT, SBI, CBI

ATmega32 mở rộng không gian I/O từ $60 đến $FF trên SRAM chỉ có các lệnh ST/STS/STD và LD/LDS/LDD mới được sử dụng

Trang 29

1 Giao tiếp với bộ nhớ SRAM ngoài:

ATmega32 cho phép người lập trình có thể kết nối bộ nhớ SRAM ngoài lên tới 32K byte

Khi giao tiếp với bộ nhớ SRAM ngoài:

− Port A đóng vai trò là 8 đường địa chỉ thấp và 8 đường dữ liệu từ AD0 đến AD7 hoạt động theo kiểu đa hợp

− Port C cũng đóng vai trò như 8 đường địa chỉ cao từ A8 đến A15

− ALE là chân cho phép chốt địa chỉ

− Sử dụng chân RD và WR của ATmega32 kết nối đến chân RD và WR của SRAM ngoài

Để giao tiếp được với bộ nhớ SRAM ngoài bit SRE (bit7) trong thanh ghi MCUCR phải được thiết lập lên 1 và sử dụng các thanh ghi MCUCR, XMCRA, XMCRB để điều khiển

Thời gian truy nhập mặc định đối với SRAM ngoài là bằng 3 chu kỳ đồng hồ Thời gian này có thể làm tăng lên 4 chu kỳ đồng hồ bằng cách thiết lập bit SRW10 (bit 6) trong thanh ghi MCUCR

ATmega32 không có tập lệnh riêng để truy xuất SRAM ngoài tuy nhiên ATmega32 cho phép truy cập bộ nhớ SRAM ngoài bằng các lênh như bộ nhớ SRAM nội Điều đó

có nghĩa là khi bit SRE trong thanh ghi MCUCR được đặt lên 1 thì SRAM ngoài lúc này được xem như là một SRAM nội được xếp chồng tiếp theo lên 2K byte SRAM nội của ATmega32 Khi đó ta truy xuất dữ liệu bằng tập lệnh một cách dễ dàng

Trang 30

Kết nối SRAM ngoài với ATmega32

Trang 31

Giới thiệu các thanh ghi truy xuất EEFROM:

™ EEPROM Address Register - EEARH and EEARL

™ EEPROM Control Register - EECR

Thanh ghi EECR có các bit điều khiển đọc/ghi vào bộ nhớ EEFPROM

Trang 32

− Khi bit I trong thanh ghi SREG và bit EERIE được đặt lên 1 thì EEPROM sẵn sàng xảy ra ngắt

− Khi bit EERIE được xóa về 0 thì EEPROM cấm ngắt

Bit2 - EEMWE

− Đây là bit lựa chọn EEPROM có được ghi dữ liệu vào hay không

− Khi bit EEMWE được thiết đặt lên 1 và bit EEWE được đặt lên 1 trong 4 chu kỳ xung clock thì dữ liệu sẽ được viết vào bộ nhớ EEPROM tại địa chỉ

− Bit EEWE cho phép ghi dữ liệu vào bộ nhớ EEPROM

− Khi địa chỉ và dữ liệu đã được lựa chọn hợp lý thì ghi bit EEWE lên 1, dữ liệu sẽ được viết vào bộ nhớ EEPROM

− Bit EEMWE bắt buộc phải được ghi lên 1 trước khi đặt bit EEWE lên 1 thì mới ghi được dữ liệu vào EEPROM

− EEPROM không thể lập trình trong khi CPU đang truy cập bộ nhớ Flash Bit 0 - EERE

− Bit EERE cho phép đọc dữ liệu từ bộ nhớ EEPROM

− Khi địa chỉ được lập chính xác trong thanh ghi EEAR thì khi ghi bit EERE lên 1 sẽ cho phép đọc dữ liệu từ EEPROM

− Khi EEPROM được đọc thì CPU sẽ tạm dừng trong 4 chu kỳ xung clock trước khi lệnh kế tiếp được thực thi

Các bước ghi dữ liệu vào bộ nhớ EEPROM:

¾ Đợi cho đến khi nào bit EEWE được xóa về 0

¾ Đợi cho đến khi nào bit SPMEN trong thanh ghi SPMCSR được xóa về 0

¾ Viết địa chỉ cần nạp cho EEPROM vào thanh ghi EEAR

¾ Viết dữ liệu cần nạp cho EEPROM vào thanh ghi EEAR

¾ Thiết lập bit EEMWE lên 1 trong khi bit EEWE được xóa về 0

¾ Khi bit EEMWE được ghi lên 1, sau 4 chu kỳ xung clock mới ghi bit EEWE lên

Trang 33

3.8 Bộ chuyển đổi A/D bên trong ATmega32

Đặc điểm:

− ATmega32 có bộ biến đổi tương tự sang số với độ phân giải 10bit

− Thời gian biến đổi từ 65 – 256 μ s

− Một bộ dồn kênh đa hợp 8 lối vào, mỗi kênh được dẫn riêng lẽ tới bộ hiển thị ADC

− Có thể lựa chọn chuyển đổi 1 kênh hay nhiều kênh

− Điện áp ngõ vào của ADC rộng từ 0 – VCC

− Có thể lựa chọn được điện áp tham chiếu 2,56V

− ADC có thể bắt đầu chuyển đổi bởi chế độ tự động Trigger bằng cạnh lên dựa trên lựa chọn nguồn

− Xuất hiện ngắt trong ADC khi chuyển đổi hoàn thành

Sự sắp xếp các chân lối vào của bộ biến đổi A/D

Trang 34

Sơ đồ khối chuyển đổi A/D

1 Giới thiệu các thanh ghi chuyển đổi ADC

™ ADC Multiplexer Selection Register – ADMUX

REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0

Bit 7:6 – REFS1:0:

− Bit lựa chọn điện áp tham chiếu cho ADC

Trang 35

chuyển đổi này được hoàn thành ( Bit ADIF trong thanh ghi ADCSRA được đặt lên 1)

− Điện áp tham chiếu nội không được sử dụng nếu điện áp tham chiếu ngoài được sử dụng tại chân AREF

Bảng lựa chọn điện áp tham chiếu cho ADC:

REFS1 REFS0 Điện áp tham chiếu ADC

0 0 AREF ( Vref nội đã được tắt)

0 1 AVCC với tụ nối bên ngoài tại chân AREF

1 1 Điện áp tham chiếu nội là 2,56V với tụ nối bên ngoài

tại chân AREF

Trang 36

Bảng Lựa chọn kênh ngõ vào và độ lợi:

™ ADC Control and Status Register A – ADCSRA

ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0

Bit 7 – ADEN

− Khi bit này được đặt lên 1 cho phép ADC hoạt động, ngược lại sẽ cấm ADC Trong lúc quá trình chuyển đổi đang tiến hành ta xóa bit này về 0 thì quá trình chuyển đổi sẽ kết thúc

Bit 6 – ADSC

− Khi bit này được đặt lên 1 cho phép bắt đầu chuyển đổi A/D

Trang 37

Đây là bit xác định hệ số chia giữa tần số thạch anh và thời gian chuyển đổi ADC:

Bảng Xác định hệ số chia giữa tần số thạch anh và thời gian chuyển đổi A/D ADPS2 ADPS1 ADPS0 Hệ số chia

ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADCL

ADLAR = 1

ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADCH

− Khi quá trình chuyển đổi ADC hoàn thành, kết quả được tìm thấy trong 2 thanh ghi ADCH và ADCL

− Khi ADCL được đọc thì thanh ghi dữ liệu không được cập nhật cho đến khi ADCH được đọc Vì vậy, nếu kết quả là điều chỉnh trái và không hơn 8 bit thì chỉ cần đọc ở thanh ghi ADCH, còn trường hợp khác thì ADCL được đọc đầu tiên rồi mới tới ADCH

− Bit ADLAR trong thanh ghi ADMUX và bit MUXn trong thanh ghi ADMUX ảnh hưởng đến hướng đọc kết quả từ thanh ghi dữ liệu

− ADLAR được đặt lên 1 thì kết quả được điều chỉnh trái

− ADLAR xóa về 0 (mặc định) thì kết quả được điều chỉnh phải

Trang 38

ADC9:0

− Đây là bit mô tả kết quả của quá trình chuyển đổi

™ ADC Control and Status Register B – ADCSRB

Lựa chọn nguồn Trigger

ADTS2 ADTS1 ADTS0 Trigger Source

4 Bắt đầu một quá trình chuyển đổi

ATmega32 cho phép ta lựa chọn 1 trong 2 cách sau để chuyển đổi 1 tín hiệu tương tự thành tín hiệu số:

− Khi bit ADSC được đặt lên 1 thì ADC bắt đầu chuyển đổi Bit này luôn giữ

ở mức cao khi quá trình chuyển đổi đang còn tiếp diễn và được xóa về 0 bằng phần cứng khi chuyển đổi đã hoàn thành Nếu có 1 kênh khác được lựa chọn trong khi quá trình chuyển đổi còn đang tiếp diễn thì ADC vẫn tiếp tục

và hoàn thành chuyển đổi đang thực hiện trước khi lựa chọn chuyển đổi kênh tiếp theo

− Sự biến đổi có thể lựa chọn bằng chế độ tự động trigger bằng cạnh lên dựa trên sự lựa chọn các nguồn trigger khác nhau Chế độ tự động trigger được cho phép khi thiết lập bit ADATE trong thanh ghi ADCSRA lên 1 Nguồn trigger được lựa chọn bởi sự thiết lập và xóa các bit ADTS trong thanh ghi ADCSRB Khi cạnh dương của tín hiệu trigger xuất hiện thì tần số chuyển đổi ADC (CLK ) được thiết lập và ADC bắt đầu chuyển đổi Nếu tín hiệu

Trang 39

ADC tự động trigger

Việc kết thúc quá trình biến đổi, nghĩa là thời điểm mà một tín hiệu analog đã được số hoá và sẵn sàng chờ xử lý tiếp tục, sẽ được báo hiệu qua cờ ngắt ADIF trong thanh ghi điều khiển và trạng thái ADC (ADCSRA)

Khi 1 chuyển đổi hoàn thành và thanh ghi dữ liệu đã cập nhật kết quả thì bit này được đặt lên 1 Kết quả của quá trình biến đổi A/D được đặt ở các thanh ghi dữ liệu ADCH và ADCL

Người dùng còn có thể lựa chọn một trong hai chế độ hiển thị kết quả chuyển đổi:

− Nếu bit ADLAR trong thanh ghi ADMUX được xóa về 0: ADCL (bit 0 đến bit 7) và ADCH (bit 8 và bit 9)

− Nếu bit ADLAR trong thanh ghi ADMUX được thiết lập lên 1: ADCL (bit 6

và bit 7) và ADCH (bit 8 đến bit 15)

Kết quả của chuyển đổi A/D:

Ngày đăng: 10/12/2013, 15:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thị Phương Hà,” Điều khiển tự động” (1,2), NXB KHKT, 2002 Sách, tạp chí
Tiêu đề: ” Điều khiển tự động
Nhà XB: NXB KHKT
[2] Nguyễn Trọng Thuần, “Điều khiển Logic và ứng dụng”, NXB KHKT Hà Nội, 2002 Sách, tạp chí
Tiêu đề: “Điều khiển Logic và ứng dụng”
Nhà XB: NXB KHKT Hà Nội
[3] Nguyễn Hoàng Phương, Bùi Công Cường, “Hệ mờ và ứng dụng”, NXB KHKT, 2004 Sách, tạp chí
Tiêu đề: “Hệ mờ và ứng dụng”
Nhà XB: NXB KHKT
[4] Nguyễn Vinh Quang,” Matlab7”, NXB KHKT Hà Nội, 2008 Sách, tạp chí
Tiêu đề: ” Matlab7”
Nhà XB: NXB KHKT Hà Nội
[5] Nguyễn Đức Thành,” Matlab và ứng dụng trong điều khiển”, NXB KHKT, 2007 Sách, tạp chí
Tiêu đề: ” Matlab và ứng dụng trong điều khiển”
Nhà XB: NXB KHKT
[6] Phan Xuân Minh, Nguyễn Doãn Phước, “Lý thuyết điều khiển mờ”, NXBKT, 2006 Sách, tạp chí
Tiêu đề: 6]" Phan Xuân Minh, Nguyễn Doãn Phước," “Lý thuyết điều khiển mờ
Nhà XB: NXBKT
[7] Võ Hiếu Nghĩa, “Các chương trình mẫu Visuabasic 6.0”, NXB KHKT, 2000. Tiếng Anh Sách, tạp chí
Tiêu đề: “Các chương trình mẫu Visuabasic 6.0”
Nhà XB: NXB KHKT

HÌNH ẢNH LIÊN QUAN

1.5  Sơ đồ khối tổng thể của hệ thống  6 - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
1.5 Sơ đồ khối tổng thể của hệ thống 6 (Trang 1)
1.5  Sơ đồ khối tổng thể của hệ thống: - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
1.5 Sơ đồ khối tổng thể của hệ thống: (Trang 6)
Hình dạng thực tế của Thermocouple loại K - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Hình d ạng thực tế của Thermocouple loại K (Trang 9)
Sơ đồ cấu tạo Thermocouple - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Sơ đồ c ấu tạo Thermocouple (Trang 9)
Đồ thị tương quan giữa hệ số α và nhiệt độ - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
th ị tương quan giữa hệ số α và nhiệt độ (Trang 10)
Đồ thị tương quan giữa nhiệt độ và suất điện động - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
th ị tương quan giữa nhiệt độ và suất điện động (Trang 10)
Bảng Tương Quan Giữa Nhiệt độ và điện áp đầu dò từ 0 0 -200 0 - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
ng Tương Quan Giữa Nhiệt độ và điện áp đầu dò từ 0 0 -200 0 (Trang 11)
1.4  Sơ Đồ Mạch IC Đo và Khuếch Đại Tín Hiệu - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
1.4 Sơ Đồ Mạch IC Đo và Khuếch Đại Tín Hiệu (Trang 12)
Bảng chức năng các chân cổng  RS 232 - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Bảng ch ức năng các chân cổng RS 232 (Trang 15)
Sơ Đồ Kết Nối RS232 - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
t Nối RS232 (Trang 16)
Hình dạng phân bố chân vào ra của ATmega32 dạng TQFP/MLF - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Hình d ạng phân bố chân vào ra của ATmega32 dạng TQFP/MLF (Trang 19)
Hình 2.1: Cách bố trí để điều khiển bộ vi điều khiển từ một nguồn xung bên ngoài. - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Hình 2.1 Cách bố trí để điều khiển bộ vi điều khiển từ một nguồn xung bên ngoài (Trang 24)
Sơ đồ khối kiến trúc của ATMEGA32 - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Sơ đồ kh ối kiến trúc của ATMEGA32 (Trang 25)
Sơ Đồ Tổ Chức Bộ Nhớ Các Thanh Ghi Chức Năng Đặc Biệt - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
h ức Bộ Nhớ Các Thanh Ghi Chức Năng Đặc Biệt (Trang 27)
Sơ đồ khối chuyển đổi A/D - Đề tài nghiên cứu ba chế độ điều khiển onoff, pid, fuzzy và ứng dụng trong điều khiển mô hình lò nhiệt
Sơ đồ kh ối chuyển đổi A/D (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w