ỨNG DỤNG VI ĐIỀU KHIỂN ATMEGA 8535 HỌ AVR TRONG TỰ ĐỘNG<br />
ĐIỀU KHIỂN NHIỆT ĐỘ KHÍ SẤY NÔNG SẢN VÀ HIỂN THỊ KẾT QUẢ<br />
TRÊN MÁY TÍNH<br />
<br />
Using microcontroller ATmega 8535 in automatic control of the air-temperature and<br />
displaying results on computer for drying agricultural products<br />
<br />
Nguyễn Thị Hoài Sơn1, Nguyễn Văn Hồng2<br />
<br />
SUMMARY<br />
<br />
This article introduces the structure and characteristics of microcontroller ATmega 8535<br />
(generation AVR) and its application in automatic control circuit for drying agricultural products and<br />
displaying results on computer. A dryer prototype with the automatic control circuit using “ATmega<br />
8535” has been designed, manufatured and tested. The testing results have satisfied requirements of both<br />
drying technology and automatic control technique.<br />
Key words: Microcontroller, drying, air-temperature, display<br />
<br />
<br />
1- ĐẶT VẤN ĐỀ vi điều khiển khác trong cùng họ.<br />
Ngày nay cùng sự phát triển không ngừng ATmega8535 là một vi điều khiển<br />
của khoa học kỹ thuật, thì kỹ thuật số đã đem CMOS 8bit công suất thấp trên nền kiến<br />
lại cho con người những thành tựu to lớn, giúp trúc AVR kiểu RISC. Vào/ra: Analog -<br />
cho con người dễ dàng đạt được mục đích của digital và có thể ngược lại. Bằng việc<br />
mình trong mọi thiết kế. Hoà nhập cùng xu thực hiện câu lệnh trong một chu kỳ xung<br />
hướng đó, vi điều khiển đã khẳng định được nhịp đơn, ATmega8535 đạt được một<br />
vị thế vững chắc của mình trong mọi ứng<br />
dụng. Điển hình trong công nghệ bảo quản<br />
triệu phép tính trong 1 giây với tần số<br />
chế biến nông sản, vấn đề tự động ổn định 1MHZ với tốc độ xử lý cao. Cấu trúc của<br />
nhiệt độ là yếu tố quan trọng hàng đầu để ATmega8535 trong hình 1 gồm 512 Byte<br />
nâng cao chất lượng sản phẩm. Vì vậy, việc EEPROM với 100.000 lần viết/xoá. 512<br />
ứng dụng vi điều khiển trong tự động điều Byte SRAM nội, hai bộ định thời 8bit và<br />
khiển nhiệt độ khí sấy nông sản dạng hạt và các chế độ chọn tần số xung nhịp riêng,<br />
hiển thị kết quả trên máy tính đã được nghiên một bộ định thời 16 bit và các chế độ<br />
cứu và ứng dụng.<br />
chọn tần số xung nhịp riêng, 4 kênh<br />
2- CẤU TRÚC, ĐẶC ĐIỂM VÀ CÔNG CỤ PWM, 8 kênh ADC 10 bit, giao diện<br />
PHÁT TRIỂN VI ĐIỀU KHIỂN BUS hai dây truyền thông nối tiếp<br />
ATMEGA8535 USART, giao diện nối tiếp SPI (Serial<br />
Một trong những vi điều khiển họ AVR Peripheral Interface), bộ so sánh tương tự<br />
là vi điều khiển ATmega8535 (Data sheet trên chip, bộ định thời watchog có thể lập<br />
ATmega8535). Đây là một con vi điều trình được với mạch dao động riêng trên<br />
khiển có cấu trúc khá phức tạp, có đầy đủ chíp. ATmega8535 khởi động khi bật<br />
chức năng của họ AVR, nếu lập trình nguồn, mạch dao động RC nội, các nguồn<br />
thành thạo cho ATmega8535 chúng ta ngắt ngoại và nội, có 6 chế độ ngủ:<br />
hoàn toàn có thể sử dụng thành thạo các IDLE, giảm nhiễu ADC, tiết kiệm năng<br />
lượng, Standby và Standby mở<br />
rộng(mạch dao động tiếp tục chạy khi nối trực tiếp với ALU đồng thời cho phép<br />
ngoại vi duy trì standby cho phép khởi hai thanh ghi độc lập truy cập đồng thời<br />
động nhanh công suất tiêu thụ thấp). trong một chu kỳ xung nhịp khi thực thi<br />
Điện áp hoạt động 4,5V - 5,5V, tần số một lệnh. Kiểu mã kết quả trả về hiệu quả<br />
hoạt động từ 0 - 16 MHZ. Đặc biệt với vi hơn trong khi thời gian nhanh gấp 10 lần<br />
điều khiển ATmega8535 là nhóm các so với vi điều khiển kiểu CISC thông<br />
lệnh làm việc với 32 thanh ghi đa năng thường.<br />
Hình 1. Sơ đồ khối của vi điều khiển Atmega 8535<br />
Khi sử dụng vi điều khiển ATmega8535, được nhiều người dụng và đánh giá tương đối<br />
có rất nhiều phần mềm được dùng để lập trình mạnh, dễ tiếp cận đối với những người bắt<br />
bằng nhiều ngôn ngữ khác nhau đó là: Trình đầu tìm hiểu AVR, đó là trình dịch<br />
dịch Assembly như AVR studio của CodeVisionAVR C. Phần mềm này hỗ trợ<br />
Atmel,Trình dịch C như win AVR, nhiều ứng dụng, khiến khi lập trình đơn giản<br />
CodeVisionAVR C, ICCAVR. C - hơn nhiều. Phầm mềm này có thể tìm thấy<br />
CMPPILER của GNU… Trình dịch C đã trên trang web: http//www.hpin fotech.com<br />
3. SỬ DỤNG VI ĐIỀU KHIỂN ATMEGA8535 TỰ ĐỘNG ĐIỀU KHIỂN NHIỆT ĐỘ KHÍ<br />
SẤY NÔNG SẢN DẠNG HẠT VÀ HIỂN THỊ KẾT QUẢ TRÊN MÁY TÍNH<br />
<br />
Cảm biến nhiệt Mạch khuyếch đại tín Mạch điều khiển<br />
hiệu Vi điều Triac<br />
khiển<br />
Bàn phím để ATmega<br />
đặt nhiệt độ 8535<br />
LCD hiển thị<br />
nhiệt độ<br />
Đồng bộ tín hiệu<br />
<br />
<br />
<br />
MAX 232 Máy tính<br />
<br />
Hình 2. Sơ đồ khối mạch điều khiển<br />
<br />
Sơ đồ khối mạch tự động điều khiển và được thực hiện thông qua vi mạch giải mã địa<br />
hiển thị nhiệt độ lên máy tính được chỉ ra trên chỉ IC74148. Khi một phím được ấn thì<br />
hình 2 IC74148 sẽ cho tín hiệu đầu ra đưa vào vi điều<br />
khiển để xử lý.<br />
Để điều chỉnh được nhiệt độ, trước hết phải<br />
đo được nhiệt độ. Nhiệt độ khí sấy nông Hiển thị nhiệt độ của lò sấy có thể dùng<br />
sản thường dưới 1000C nên ta có thể dùng LCD đọc trực tiếp hoặc truyền tín hiệu từ<br />
cảm biến nhiệt LM335 phổ biến trên thị vi điều khiển ATmega8535 cho hiển thị<br />
trường, giá cả phù hợp, các thông số ở lên máy tính tạo thuận lợi cho việc điều<br />
nhiệt độ 250C: Điện áp hoạt động Umin = khiển từ xa. Máy tính truyền dữ liệu theo<br />
2,92V, Umax = 3,04V với dòng I = 1 mA, hai phương pháp: nối tiếp và song song.<br />
sự thay đổi điện áp 10mV/0C. Giải hoạt Truyền dữ liệu song song thường dùng 8<br />
động của nhiệt độ: - 40 ÷ + 1000C. LM335 hoặc nhiều đường dây dẫn để truyền dữ<br />
được đóng gói theo kiểu TO-92 (có thể liệu: tốc độ truyền cao nhưng khoảng<br />
tham khảo kỹ ở Tài liệu về các linh kiện cách bị hạn chế. Để truyền tin đi xa<br />
trên thị trường. www.Alldatasheet. com) người ta thường dùng phương pháp<br />
Tín hiệu điện áp ở đầu ra của LM335 qua truyền tin nối tiếp, truyền tin nối tiếp có<br />
bộ khuếch đại và đưa vào vi điều khiển hai phương pháp: đồng bộ và không đồng<br />
ATmega8535. bộ (Ngô Diên Tập, 2000). Phương pháp<br />
Để thay đổi giá trị nhiệt độ cần sấy đối với truyền đồng bộ sử dụng một tín hiệu<br />
từng loại nông sản thì dùng bàn phím 4 nút ấn clock (có thể do thiết bị phát hoặc thu<br />
để lựa chọn điều khiển theo hình thức bảng lựa phát ra) làm chuẩn, truyền dữ liệu thành<br />
chọn (Menu) là phương pháp hiệu quả, chính các chuỗi bit trên đường truyền. Căn cứ<br />
xác, dễ dàng nhất. Mạch điều khiển bàn phím vào tín hiệu clock đồng bộ mà các đối tác<br />
truyền thông đồng bộ nhịp khôi phục các ngầm về tốc độ truyền không có tín hiệu<br />
byte dữ liệu. Phương pháp truyền không clock cho việc đồng bộ. Các byte dữ liệu<br />
đồng bộ dựa trên tốc độ truyền được định được xác định thông qua các bit START,<br />
nghĩa sẵn trên các đối tác truyền thông STOP trong chuỗi bít truyền đi.<br />
giữa các đối tác truyền thông có sự hiểu<br />
P1<br />
1<br />
104 6 RST +5V<br />
2<br />
C1 C2 J1 U1 Temperature<br />
+5V 1uF 7<br />
3 2 1 40 Temperature<br />
Q0 (T0) PB0 (ADC0) PA0<br />
8 1 2 39<br />
Q1 (T1) PB1 (ADC1) PA1<br />
U2 4 3 38<br />
<br />
<br />
<br />
<br />
16<br />
MAX232 9 4 (AIN0) PB2 (ADC2) PA2 37<br />
1 5 THDB 5 (AIN1) PB3 (ADC3) PA3 36<br />
<br />
<br />
<br />
<br />
VCC<br />
C1+ 2 6 (SS) PB4 (ADC4) PA4 35<br />
C3 V+ 7 (MOSI) PB5(ADC5) PA5 34<br />
1uF 3 Cong Lap Trinh 8 (MISO) PB6(ADC6) PA6 33<br />
4 C1- 6 L1RST 9 (SCK) PB7 (ADC7) PA7 32<br />
C2+ V- RESET AREF 2.2V_Ref _AVR<br />
10 31<br />
C4 C5 +5V 11 VCC AGND 30<br />
1uF 5 12 GND_POWER AVCC 29 D7<br />
C2- 1uF Y1 13 XTAL2 (TOSC2) PC7 28 D6 L2<br />
C6 C7 8MHz 14 XTAL1 (TOSC1) PC6 27 D5<br />
TxD (RxD) PD0 PC5 D4 +5V<br />
11 14 105 33 15 26<br />
10 T1IN T1OUT 7 16 (TxD) PD1 PC4 25 10mH<br />
T2IN T2OUT C8 C9 17 (INT0) PD2 PC3 24 Enable_LCD C10 C11<br />
RxD 12 13 33 33 18 (INT1) PD3 PC2 23 RW_LCD 105 33<br />
9 R1OUT R1IN 8 19 (OC1B) PD4 PC1 22 RS_LCD<br />
GND<br />
<br />
<br />
<br />
<br />
R2OUT R2IN 20 (OC1A) PD5 PC0 21<br />
(ICP) PD6 PD7 (OC2)<br />
P2 RXD AT908535<br />
15<br />
<br />
<br />
<br />
<br />
5 TXD J2<br />
9 SW1 R1 VCC 2 1 GND<br />
Key _B RS_LCD 4 V0<br />
4 3<br />
thdk Enable_LCD6 RW_LCD<br />
8 5<br />
3 8 7<br />
+12V 10mA C13 D1 +5V<br />
Nguon 7 C12 4.7K 10 9<br />
2 104 D4 12 11 D5<br />
U3 +5V 6 6.3V R2 D6 14 13 D7<br />
L7805/TO220 1 630 16 15<br />
<br />
<br />
<br />
<br />
RST<br />
1 3 5.7V 10uF 1N4148<br />
VIN VOUT 0.5182mA CON16A<br />
Cong giao tiep PC +5V +5V<br />
GND<br />
<br />
<br />
<br />
<br />
0.6V D2 R3 R6<br />
C15 C14 1N4148 R4 12K<br />
100uF 104 J3 12K 20K<br />
1 R5<br />
2<br />
<br />
<br />
<br />
<br />
Nguon CON1 C16 5.1V<br />
103 2.2V 20K<br />
D3 J4 CON1<br />
+5V<br />
+12V 5.1V 1<br />
U4 R7 R8<br />
L7812/TO220 J5 10K 10K<br />
1 3 1<br />
Test Point<br />
VIN VOUT CON1<br />
2.2V_Ref _AVR<br />
C17<br />
GND<br />
<br />
<br />
<br />
<br />
100uF C18<br />
+12V<br />
2.732V<br />
104 J6 CON1<br />
D4 1<br />
BRIDGE<br />
2<br />
<br />
<br />
<br />
<br />
3<br />
<br />
<br />
<br />
<br />
R9 Ref _Bridge<br />
Nguon D-1<br />
+<br />
<br />
<br />
<br />
<br />
1 4 10k LED<br />
C20 Title<br />
J7 C19 104 Main Cercuit<br />
3 1000uF<br />
-<br />
<br />
<br />
<br />
<br />
2 Size Document Number Rev<br />
1 A The world so wide 1<br />
<br />
2<br />
<br />
<br />
<br />
<br />
Date: Sunday , January 08, 2006 Sheet 1 of 1<br />
<br />
<br />
<br />
<br />
Hình 3. Sơ đồ nguyên lý mạch tự động điều khiển nhiệt độ và hiển thị kết quả trên máy tính<br />
Trong vi điều khiển ATmega8535 tích hợp bộ người điều khiển sẽ nhận biết được<br />
sẵn giao diện thu phát đồng bộ - không đồng thời điểm nào có chu kỳ điện áp lên xuống<br />
bộ tổng hợp. Để đảm bảo sự tương thích giữa từ đó phát ra xung điều khiển hợp lý mở<br />
các thiết bị truyền dữ liệu nối tiếp do các hãng Triac. Với loại vi điều khiển cũ, người<br />
khác nhau sản xuất người ta đã xây dựng các<br />
thiết kế phải sử dụng tới các bộ đồng bộ<br />
giao diện chuẩn I/O trong đó giao diện truyền<br />
thông nối tiếp không đồng bộ RS 232/V24 cho<br />
ngoài. Riêng Atmega8535 có bộ so sánh<br />
máy tính. Để truyền thông với máy tính, sử analog được tích hợp trong chíp nên việc<br />
dụng vi mạch giao diện MAX232, đảm bảo đồng bộ hoá rất đơn giản. Lưới điện sau<br />
tương thích về điện, khoảng cách truyền thông khi được cách li bằng máy biến áp và hạ<br />
(chuyển TTL sang tín hiệu của chuẩn xuống điện áp an toàn phù hợp với vi điều<br />
RS232).(Ngô Diên Tập, 2000) khiển để đưa vào hai chân AINTO và<br />
Điều khiển nhiệt độ khí sấy thực chất là AINT1. Sự hoạt động của bộ so sánh được<br />
điều khiển điện áp trung bình trên sợi đốt điều khiển bằng phần mềm lập trình.<br />
dùng Triac đóng cắt mạch động lực khi nhiệt Sơ đồ nguyển lý mạch điều khiển nhiệt độ<br />
độ khí sấy thay đổi. Triác BT137 do hãng khí sấy và hiển thị kết quả trên máy tính<br />
Philip Semiconductor chế tạo (Tài liệu về các dùng vi điều khiển ATmega8535 trên hình<br />
linh kiện trên thị trường. www.Alldatasheet. 3.<br />
com) có khả năng đóng cắt mạch tốc độ cao,<br />
dòng cho phép 8A ở điện áp 800V khi trạng 4. XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN<br />
thái không lặp lại cho phép tới 65A, công suất NHIỆT ĐỘ KHÍ SẤY VÀ KHẢO NGHIỆM<br />
tải 2,4Kw, điện áp điều khiển đỉnh cực cửa<br />
5V, công suất trung bình trên cực cửa 0,5w. Hệ thống điều khiển nhiệt độ khí sấy chỉ<br />
ra trên hình 4<br />
Trong điều khiển điện áp xoay chiều,<br />
đồng bộ là một khâu quan trọng. Khi đồng<br />
<br />
<br />
<br />
<br />
Hình 4. Hệ thống điều chỉnh nhiệt độ sấy<br />
<br />
Để khảo sát và điều khiển được nhiệt độ từ đó khảo sát hệ thống. Đối tượng điều chỉnh<br />
khí sấy là phải xác đinh được đặc tính động là nhiệt độ sấy, như các nghiên cứu trước đây<br />
học của đối tượng điều khiển, chọn bộ điều thì nó là khâu quán tính bậc nhất có trễ với<br />
chỉnh, xác định thông số của bộ điều khiển và hàm truyền đạt:<br />
w(s) = K .e- τ .s 1 + S.Ti<br />
1<br />
wc(s) = Kc<br />
1 + S.T 1 S.Ti<br />
Chọn bộ điều chỉnh tỉ lệ tích phân PI với Sơ đồ cấu trúc chỉ ra trên hình 5<br />
hàm truyền:<br />
<br />
x e<br />
1 + sTi e −τ . S<br />
Kc Kc<br />
sTi 1 + sT1<br />
<br />
<br />
<br />
<br />
H×nh 5. S¬ ®å cÊu tróc bé ®iÒu chØnh PI<br />
<br />
Với các thông số điều chỉnh Ti= T1, π T1<br />
. ≥ K = Kc. K1<br />
4 τ<br />
Bắt đầu Bắt đầu<br />
<br />
<br />
<br />
- Khởi tạo cổng nối tiếp (Serial)<br />
- Nhận nhiệt độ đặt từ máy tính (Rec) Khai báo các thư viện cần sử dụng<br />
<br />
<br />
<br />
Chọn cổng vào cho ADC Khai báo các biến toàn cục<br />
<br />
<br />
<br />
Đọc ADC và gửi nhiệt độ + Khởi tạo chuyển đổi A/D<br />
vừa đọc lên máy tính + Khợi tạo so sánh tương tự<br />
+ Khởi tạo các bộ định thời<br />
+ Khởi tạo LCD<br />
+ Khởi tạo ngắt ngoài<br />
Tạo trễ giữa hai lần gửi<br />
+ Cho phép các ngắt<br />
<br />
<br />
Đặt để cho phép đọc lần sau<br />
<br />
Vòng lặp vô tận (không làm gì cả)<br />
Sai<br />
Reset ?<br />
<br />
Đúng<br />
<br />
<br />
<br />
<br />
Hình 6a. Lưu đồ thuật toán cho chương trình Hình 6b. Lưu đồ thuật toán cho chương trình<br />
chính hiển thị nhiệt độ lên máy tính chính điều khiển nhiệt độ khí sấy<br />
Ngoµi ch−¬ng tr×nh chÝnh, ta ph¶i lËp tr×nh thÝ nghiÖm 230C, nhiÖt ®é ®Æt ®Ó sÊy lµ<br />
c¸c ch−¬ng tr×nh con cho vi ®iÒu khiÓn 500C, kÕt qu¶ ®¹t ®−îc trªn h×nh 7.<br />
ho¹t ®éng. Thông số Kết quả Đơn vị<br />
0<br />
Sau khi l¾p r¸p m¹ch, kÕt nèi víi hÖ thèng Nhiệt độ ban đầu 23 C<br />
0<br />
Nhiệt độ đặt 50 C<br />
sÊy trong phßng thÝ nghiÖm, n¹p ch−¬ng<br />
Thời gian đáp ứng 56 s<br />
tr×nh cho vi ®iÒu khiÓn vµ tiÕn hµnh kh¶o Thời gian quá độ 73 s<br />
nghiÖm víi nhiÖt ®é ban ®Çu trong phßng Độ quá điều chỉnh 1 0<br />
C<br />
<br />
<br />
<br />
<br />
Nhiệt độ<br />
0<br />
60( C)<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
0 20 40 60 80 100 120<br />
Thêi gian (s)<br />
<br />
<br />
<br />
Hình 7. Đồ thị đáp ứng nhiệt độ theo thời gian<br />
5. KẾT LUẬN<br />
Kết quả đáp ứng được yều cầu ổn định nhiệt độ sấy nông sản dạng hạt, nhiệt độ ổn định<br />
nhanh khi có sự thay đổi đột ngột của hệ thống. Kết quả hiển thị trên LCD đúng với kết<br />
quả hiển thị trên màn hình máy tính.<br />
<br />
TÀI LIỆU THAM KHẢO<br />
Trần Như Khuyên, Trần Minh Vượng, Nguyễn Thị Minh Thuận (1997). Thiết bị bảo quản và chế biến nông<br />
sản. Nxb Giáo dục, Hà Nội.<br />
Ngô Diên Tập (2003). Kỹ thuật vi điều khiển với AVR. NXB Khoa học và kỹ thuật 2003, 470 trang.<br />
Ngô Diên Tập (2000). Kỹ thuật ghép nối máy tính. NXB Khoa học và kỹ thuật, Hà Nội, trang 80-97.<br />
Bit AVR Microcontroller with 8K bytes - in- system Programmable Flash.<br />
Atmel corporation Atmega8535 manual for user. http://www.atmel.com<br />
Tài liệu về các linh kiện trên thị trường. www.Alldatasheet.com<br />