Ứ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

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

pdf9 trang | Chia sẻ: maiphuongtt | Lượt xem: 2037 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Ứ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, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Ứ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 105TxD +12V C14 104 C17 100uF L2 10mH C11 33 RST 2.2V_Ref _AVR R6 20K U3 L7805/TO220 1 2 3VIN G N D VOUT 0.6V Enable_LCD D2 1N4148 C3 1uF 5.1V The world so wide 1 Main Cercuit A 1 1Sunday , January 08, 2006 Title Size Document Number Rev Date: Sheet of +5V RW_LCD D5 U2 MAX232 1 3 4 5 1 6 1 5 2 6 12 9 11 10 13 8 14 7 C1+ C1- C2+ C2- V C C G N D 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 12 34 56 78 910 1112 1314 1516 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 3VIN G N D 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 +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 R ST 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 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: wc(s) = 1 S.Ti Kc S.Ti + Sơ đồ cấu trúc chỉ ra trên hình 5 sTi sTiKc +1 1 . 1 sT eKc 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 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 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 0C Nhiệt độ đặt 50 0C Thời gian đáp ứng 56 s Thời gian quá độ 73 s Độ quá điều chỉnh 1 0C Hình 7. Đồ thị đáp ứng nhiệt độ theo thời gian 0 10 20 30 40 50 60 0 20 120 n (s) 40 60 80 100 Thêi gia Nhiệt độ (0C) 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
Tài liệu liên quan