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