Ứ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 t
Trang 1Ứ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ở
Trang 2rộ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
Trang 3Hì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
Trang 4truyề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
Trang 5C6 105 TxD
+12V
C14 104
C17 100uF
L2 10mH
C11 33 RST
2.2V_Ref _AVR
R6 20K
U3
L7805/TO220
1
3 VIN
VOUT
0.6V
Enable_LCD
D2 1N4148
C3
1uF
5.1V
Main Cercuit
A
Sunday , January 08, 2006
Title
+5V
RW_LCD
D5
U2 MAX232 1
3
5
2
6
12
9
11
13 8
14 7
C1+
C1-C2+
V+
V-R1OUT
T1IN
R1IN T1OUT
Nguon
RW_LCD D1
1N4148 L1
R9 10k
C18 104
J1
THDB 1
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
3 VIN
VOUT
D3 5.1V
5.7V
R1
4.7K thdk
C13
10uF
D4 BRIDGE
1
4
D4
C16 103
SW1
U1
AT908535
1 3 5 7 9 10 12 14 16 18
23 25 27 29 31 33 35 37 39 (T0) PB0
(AIN0) PB2 (SS) PB4 (MOSI) PB5 (SCK) PB7 RESET VCC GND_POWER XTAL2 (RxD) PD0 (TxD) PD1 (INT0) PD2 (OC1B) PD4 (ICP) PD6 PD7 (OC2)
PC0 PC2 PC4 (TOSC1) PC6 AVCC AGND AREF (ADC7) PA7 (ADC5) PA5 (ADC3) PA3 (ADC1) PA1
D6
V0
Enable_LCD D4
C20 104
P2
Cong giao tiep PC
5 4 3 2 1
VCC
R2 630
D5
6.3V
D7
0.5182mA RXD
2.732V
C1
104
D7
J7
3
1
J4 CON1 1
C8 33
+5V
+5V
RST
Key _B
+5V TXD
<Doc> <Rev Code>
A
Sunday , January 08, 2006
Title
+12V
J5 CON1 1
+5V
R7 10K
C7 33
Y 1 8MHz
P1
Cong Lap Trinh 5 4 3 2 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
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
Trang 6Trong 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:
Trang 7w(s) = 1
1
1 S.
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) = Kc1 S.Ti
S.Ti +
Sơ đồ cấu trỳc chỉ ra trờn hỡnh 5
sTi
sTi
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 Ti= T1, 1
4
T
π
τ ≥ K = Kc K1
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 ?
Trang 8Ngoà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 230C, nhiệt độ đặt để sấy là
500C, kết quả đạt được trên hình 7
Thụng số Kết quả Đơn vị Nhiệt độ ban đầu 23 0 C Nhiệt độ đặt 50 0 C Thời gian đỏp ứng 56 s Thời gian quỏ độ 73 s
Độ quỏ điều chỉnh 1 0 C
Hỡnh 7 Đồ thị đỏp ứng nhiệt độ theo thời gian
0 10 20 30 40 50 60
n (s)
Thời gia
Nhiệt độ (0C)
Trang 95 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 http://www.atmel.com
Tài liệu về các linh kiện trên thị trường www.Alldatasheet.com