
Ứ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ơn1, Nguyễn Văn Hồng2
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 1000C 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 độ 250C: Đ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/0C. Giải hoạt
động của nhiệt độ: - 40 ÷ + 1000C. 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
23
45
67
89
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

