1 引言 隨著科學技術的進步,檢測行業發展快速,除了檢測項目和內容不斷擴大,更重要的是檢測愈來愈科學化、職能化,主要表現在檢測過程及檢測結果由計算機監控和顯示。多點溫度的采集控制近年來在檢測行業應用較為廣泛,其中以微機為核心的監控技術價格低廉,使用方便,應用也最普遍。 本文主要介紹基于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”可啟動單次轉換。在轉換過程中此位保持為高電平,直到轉換結束觸發中斷。然后被硬件清零。 (4)增量式PID處理程序 該溫度控制系統具有滯后性、時變性和非線性,不可能建立該系統的精確數學模型,因此如果使用常規的線性控制理論,要達到滿意的控制效果非常困難。采用 增量式數字PID控制器,可解決這個難題。 增量式PID是指數字控制器的輸出只是控制量的增量,由于計算機輸出的是增量,所以誤動作時對輸出的影響較小。控制增量的確定僅與最近的k、k-1、k- 2次的采樣有關,所以能夠較容易地通過加權處理而獲得較好的控制效果。另外,對于數字控制系統,由于A/D轉換器位數的限制,其輸出控制量受最小和最大值的限制,系統加入抗積分飽和法對其優化。圖5為增量式PID控制算法程序流程。 以下是增量式PID控制的程序代碼: (5)串行通信程序 系統與上位計算機之間采用RS-488的串行數據傳輸方式。單片機采用中斷方式接收數據,而發送數據則采用查詢方式。 (6)顯示處理程序 LCD-TC1602A LCD接口設計采用4位控制方式,使用4位數據線D4~D7控制時序分兩次傳送,先傳送高4位數據,再傳送低4位數據。 (7)數據讀寫處理程序 ATmega16單片機內部集成有512 B的EEPROM,它是作為一個獨立的數據空間而存在的。ATmesa16單片機通過對相關寄存器的操作實現對EEPROM按字節讀寫。 (8)看門狗處理程序 ATmega16單片機內部集成有硬件看門狗,看門狗由片內獨立的振蕩器驅動,設置看門狗的步驟為:先初始化并打開看門狗,然后把喂狗指令放在循環程序中。 4 系統測試分析 各個模塊測試完成后,將下位機由測試端的硬件通過串口與PC機連接,構成完整的溫度測試系統。在上位機中運行Visual Basic編寫的監控程序,通過下位機的鍵盤設置加熱爐溫度為80℃.單擊“打開通信端口”,選擇所要通信的端口后,單擊“開始測溫”,這時下位機就會向上位機發送實時溫度值,并實時繪出溫度趨勢曲線。 當單擊“結束”時,整個系統停止工作。上位機顯示的溫度趨勢曲線如圖6所示,測試結果顯示,該系統對加熱爐溫度的采集和控制比較準確。 5 結束語 充分利用AVR ATmega16單片機的內部資源,系統集成 度高,系統利用增量式PID算法改變PWM的輸出值,然后控制可控硅的開關,最終使被控對象的溫度值趨向于給定的溫度值。該系統操作容易、可靠性好,具有較高的實用價值。就其采樣頻率和分辨率來說屬于中速類型,適合于對數據采樣頻率要求不是特別高的應用場合。 參考文獻 1. 陳勝勇,張凱翔.多點溫度采集控制系統的分析與研究[J].寧夏機械,2007(1):19-22. 2. 夏益民,杜敏.AT89C2051在加熱爐溫度采集系統中的應用[J].電子世界,2005(10):35-37. 3. 李震,洪添勝.基于AVR單片機和PID算法的水溫控制器[J].國外電子測量技術,2006,25(6):47-50. 4. 程德福,林君.智能儀器[M].北京:機械工業出版社,2005. 5. 劉金琨.先進PID控制及其MATLAB仿真[M].北京:電子工業出版社,2003. 6. 楊錦.數字PID控制中的積分飽和問題[J].華電技術,2008,30(6):64-67. 作者:夏益民 (廣東工業大學自動化學院,廣東,廣州,510006) 周卓斌 (華鼎半導體科技有限公司廣州開發部,廣東,廣州,510630) 刊 名:來源: 電子設計工程 2009(12) |