intTypePromotion=1

Ứng dụng vi điều khiển Atmega 8535 họ AVR trọng tự động điều khiển độ khí sấy nông sản và hiển thị kết quả trên máy tính

Chia sẻ: Lê Na | Ngày: | Loại File: PDF | Số trang:9

0
62
lượt xem
6
download

Ứng dụng vi điều khiển Atmega 8535 họ AVR trọng tự động điều khiển độ khí sấy nông sản và hiển thị kết quả trên máy tính

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Ứng dụng vi điều khiển Atmega 8535 họ AVR trọng tự động điều khiển độ khí sấy nông sản và hiển thị kết quả trên máy tính

Ứ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 />
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2