概述:一種基於ATmega16L單片機的溫度控制系統,闡述該系統的軟硬體設計方案。採用模塊化設計方法,利用增量式PID算法使被控對象的溫度值趨於給定值。實驗結果表明該系統具有良好的檢測和控制功能。
本文引用地址:http://www.eepw.com.cn/article/173365.htm1 引言
隨著科學技術的進步,檢測行業發展快速,除了檢測項目和內容不斷擴大,更重要的是檢測愈來愈科學化、職能化,主要表現在檢測過程及檢測結果由計算機監控和顯示。多點溫度的採集控制近年來在檢測行業應用較為廣泛,其中以微機為核心的監控技術價格低廉,使用方便,應用也最普遍。
本文主要介紹基於ATmega16L單片機的溫度控制系統的設計,具體包括爐溫的採集和控制、LCD顯示以及PC機繪製溫度變化的曲線圖等。硬體和軟體設計採用模塊化的思想,系統集成度較高。
2 系統的硬體設計
圖1為系統硬體的總體結構圖。系統由主控制器、溫度傳感器、運算放大電路、液晶顯示電路、鍵盤電路、串口通信電路等構成。由結構圖1可看出,系統模塊較多,所以應合理分配I/O 口資源,各模塊以ATmega16L單片機為核心相連接。
2.1 主控制器
系統主控制器採用ATmega16L,該單片機是一款高性能、低功耗的8位AVR微處理器,具有先進的RISC結構,內部有大容量的ROM、RAM、FLASH和EEPROM,集成4通道PWM,SPI串行外設接口,同時具有8路10位A/D轉換器,對於數據採集系統而言,外部無需單獨的A/D轉換器,從而可節省成本。另外,該單片機提供JTAG調試接口,可採用自製的簡易JTAG仿真器進行程序調試。
2.2 溫度採集電路
圖2為溫度採集電路。該電路主要由溫度傳感器AD590和差分運算放大器AD524組成,其中溫度傳感器AD590是一種新型的兩端式恆流器件。激勵電壓範圍是4~30 V,測溫範圍為-55~+150℃。當AD590的電流流過一個5 kΩ的電阻時,溫度升高1 K,該電阻上的電壓增加5 mV,即轉換成5 mV/K。因此,溫度在0~100℃間變化時,電阻電壓在1.365~1.865 V間變化。運算放大器AD524用於把絕對溫度轉換成攝氏溫度。
2.3 溫度控制電路
該電路主要由光電耦合器和可控矽組成,如圖3所示。單片機發出的控制信號(PWM)經驅動器後控制光電耦合器的工作狀態。當光電耦合器工作後,使雙向可控矽的觸發極處於高電平,可控矽處於導通狀態,進而控制加熱棒的工作。
2.4 其他電路
(1)顯示電路系統的模塊較多,I/0接口緊張,顯示器選用液晶顯示器TCl602A,接口採用高4位數據傳輸方式。
(2)鍵盤電路系統採用非矩陣式鍵盤,該鍵盤結構簡單,使用方便,不會佔用較多I/O,適用於按鍵個數較少的場合。
(3)串口電平轉換 電路電平轉換由MAX488器件完成,MAX488為RS-488收發器,速度高於MAX232,簡單易用,單+5 V供電,外接少量器件即可完成從TTL電平到RS-488電平的轉換。
3 系統軟體設計
系統採用分層控制方式保證溫度控制系統穩定。下位機採用ATmega16L單片機作為硬體開發核心,採用C語言編程。上位機採用工控機作為監控系統,採用Visual Basic6.0編程,兩層之間採用RS-488通訊實現數據交換。在單片機部分,軟體設計採用模塊化設計方法,整個軟體可分為主程序、按鍵處理程序、A/D轉換程序、增量式PID處理程序、串行通信程序和顯示處理程序、數據保存處理程序、看門狗處理程序。
(1)主程序 系統主程序主要完成系統各部件初始化操作,此外,在系統開始運行後等待按鍵處理。圖4為其流程。
(2)按鍵處理程序 鍵盤處理程序通常採用查詢方法實現按鍵的識別,CPU只要一有空閒就調用鍵盤掃描程序,查詢鍵盤,識別鍵值,並予以處理。
(3)A/D轉換程序 ATmega16有一個10位包括採樣保持電路的逐次逼近型A/D轉換器,該轉換器與一個8通道模擬多路復用器連接,能對來自埠A的8路單端輸入電壓進行採樣。通過設置ADCSRA寄存器的ADEN即可啟動A/D轉換器,只有當ADEN置位時,參考電壓及輸入通道選擇才生效。向A/D轉換器啟動轉換位ADSC位寫「1」可啟動單次轉換。在轉換過程中此位保持為高電平,直到轉換結束觸發中斷。然後被硬體清零。