《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ATmega16L單片機(jī)的溫度控制系統(tǒng)設(shè)計
基于ATmega16L單片機(jī)的溫度控制系統(tǒng)設(shè)計
摘要: 設(shè)計一種基于ATMEGA16L單片機(jī)的溫度控制系統(tǒng),闡述該系統(tǒng)的軟硬件設(shè)計方案,。采用模塊化設(shè)計方法,利用增量式PID算法使被控對象的溫度值趨于給定值,。實驗結(jié)果表明該系統(tǒng)具有良好的檢測和控制功能。
Abstract:
Key words :

 摘要:設(shè)計一種基于ATMEGA16L單片機(jī)的溫度控制系統(tǒng),,闡述該系統(tǒng)的軟硬件設(shè)計方案,。采用模塊化設(shè)計方法,利用增量式PID算法使被控對象的溫度值趨于給定值,。實驗結(jié)果表明該系統(tǒng)具有良好的檢測和控制功能,。

        1 引言
  隨著科學(xué)技術(shù)的進(jìn)步,檢測行業(yè)發(fā)展快速,,除了檢測項目和內(nèi)容不斷擴(kuò)大,,更重要的是檢測愈來愈科學(xué)化、職能化,,主要表現(xiàn)在檢測過程及檢測結(jié)果由計算機(jī)監(jiān)控和顯示,。多點溫度的采集控制近年來在檢測行業(yè)應(yīng)用較為廣泛,其中以微機(jī)為核心的監(jiān)控技術(shù)價格低廉,,使用方便,應(yīng)用也最普遍,。
  本文主要介紹基于ATMEGA16L單片機(jī)的溫度控制系統(tǒng)的設(shè)計,,具體包括爐溫的采集和控制、LCD顯示以及PC機(jī)繪制溫度變化的曲線圖等,。硬件和軟件設(shè)計采用模塊化的思想,,系統(tǒng)集成度較高。
  2 系統(tǒng)的硬件設(shè)計
  圖1為系統(tǒng)硬件的總體結(jié)構(gòu)圖,。系統(tǒng)由主控制器,、溫度傳感器,、運算放大電路、液晶顯示電路,、鍵盤電路,、串口通信電路等構(gòu)成。由結(jié)構(gòu)圖1可看出,,系統(tǒng)模塊較多,,所以應(yīng)合理分配I/O 口資源,各模塊以ATMEGA16L單片機(jī)為核心相連接,。
  2.1 主控制器
  系統(tǒng)主控制器采用ATMEGA16L,,該單片機(jī)是一款高性能、低功耗的8位AVR微處理器,,具有先進(jìn)的RISC結(jié)構(gòu),,內(nèi)部有大容量的ROM、RAM,、Flash和EEPROM,,集成4通道PWM,SPI串行外設(shè)接口,,同時具有8路10位A/D轉(zhuǎn)換器,,對于數(shù)據(jù)采集系統(tǒng)而言,外部無需單獨的A/D轉(zhuǎn)換器,,從而可節(jié)省成本,。另外,該單片機(jī)提供JTAG調(diào)試接口,,可采用自制的簡易JTAG仿真器進(jìn)行程序調(diào)試,。
  2.2 溫度采集電路
  圖2為溫度采集電路。該電路主要由溫度傳感器AD590和差分運算放大器AD524組成,,其中溫度傳感器AD590是一種新型的兩端式恒流器件,。激勵電壓范圍是4~30 V,測溫范圍為-55~+150℃,。當(dāng)AD590的電流流過一個5 kΩ的電阻時,,溫度升高1 K,該電阻上的電壓增加5 mV,,即轉(zhuǎn)換成5 mV/K,。因此,溫度在0~100℃間變化時,,電阻電壓在1.365~1.865 V間變化,。運算放大器AD524用于把絕對溫度轉(zhuǎn)換成攝氏溫度。
 
  2.3 溫度控制電路
  該電路主要由光電耦合器和可控硅組成,如圖3所示,。單片機(jī)發(fā)出的控制信號(PWM)經(jīng)驅(qū)動器后控制光電耦合器的工作狀態(tài),。當(dāng)光電耦合器工作后,使雙向可控硅的觸發(fā)極處于高電平,,可控硅處于導(dǎo)通狀態(tài),,進(jìn)而控制加熱棒的工作。
 
  2.4 其他電路
  (1)顯示電路系統(tǒng)的模塊較多,,I/0接口緊張,,顯示器選用液晶顯示器TCl602A,接口采用高4位數(shù)據(jù)傳輸方式,。
  (2)鍵盤電路系統(tǒng)采用非矩陣式鍵盤,,該鍵盤結(jié)構(gòu)簡單,使用方便,,不會占用較多I/O,,適用于按鍵個數(shù)較少的場合。
  (3)串口電平轉(zhuǎn)換 電路電平轉(zhuǎn)換由MAX488器件完成,,MAX488為RS-488收發(fā)器,,速度高于MAX232,簡單易用,,單+5 V供電,,外接少量器件即可完成從TTL電平到RS-488電平的轉(zhuǎn)換。
  3 系統(tǒng)軟件設(shè)計
  系統(tǒng)采用分層控制方式保證溫度控制系統(tǒng)穩(wěn)定,。下位機(jī)采用ATMEGA16L單片機(jī)作為硬件開發(fā)核心,,采用C語言編程。上位機(jī)采用工控機(jī)作為監(jiān)控系統(tǒng),,采用Visual Basic6.0編程,,兩層之間采用RS-488通訊實現(xiàn)數(shù)據(jù)交換。在單片機(jī)部分,,軟件設(shè)計采用模塊化設(shè)計方法,,整個軟件可分為主程序、按鍵處理程序,、A/D轉(zhuǎn)換程序,、增量式PID處理程序、串行通信程序和顯示處理程序,、數(shù)據(jù)保存處理程序,、看門狗處理程序。
  (1)主程序 系統(tǒng)主程序主要完成系統(tǒng)各部件初始化操作,,此外,在系統(tǒng)開始運行后等待按鍵處理。圖4為其流程,。
  (2)按鍵處理程序 鍵盤處理程序通常采用查詢方法實現(xiàn)按鍵的識別,,CPU只要一有空閑就調(diào)用鍵盤掃描程序,查詢鍵盤,,識別鍵值,,并予以處理。
  (3)A/D轉(zhuǎn)換程序 ATMEGA16有一個10位包括采樣保持電路的逐次逼近型A/D轉(zhuǎn)換器,,該轉(zhuǎn)換器與一個8通道模擬多路復(fù)用器連接,,能對來自端口A的8路單端輸入電壓進(jìn)行采樣。通過設(shè)置ADCSRA寄存器的ADEN即可啟動A/D轉(zhuǎn)換器,,只有當(dāng)ADEN置位時,,參考電壓及輸入通道選擇才生效。向A/D轉(zhuǎn)換器啟動轉(zhuǎn)換位ADSC位寫“1”可啟動單次轉(zhuǎn)換,。在轉(zhuǎn)換過程中此位保持為高電平,,直到轉(zhuǎn)換結(jié)束觸發(fā)中斷。然后被硬件清零,。
  (4)增量式PID處理程序 該溫度控制系統(tǒng)具有滯后性,、時變性和非線性,不可能建立該系統(tǒng)的精確數(shù)學(xué)模型,,因此如果使用常規(guī)的線性控制理論,,要達(dá)到滿意的控制效果非常困難。采用  增量式數(shù)字PID控制器,,可解決這個難題,。
  增量式PID是指數(shù)字控制器的輸出只是控制量的增量,由于計算機(jī)輸出的是增量,,所以誤動作時對輸出的影響較小,。控制增量的確定僅與最近的k,、k-1,、k-2次的采樣有關(guān),所以能夠較容易地通過加權(quán)處理而獲得較好的控制效果,。另外,,對于數(shù)字控制系統(tǒng),由于A/D轉(zhuǎn)換器位數(shù)的限制,,其輸出控制量受最小和最大值的限制,,系統(tǒng)加入抗積分飽和法對其優(yōu)化。圖5為增量式PID控制算法程序流程,。
  以下是增量式PID控制的程序代碼:
 
  (5)串行通信程序 系統(tǒng)與上位計算機(jī)之間采用RS-488的串行數(shù)據(jù)傳輸方式,。單片機(jī)采用中斷方式接收數(shù)據(jù),而發(fā)送數(shù)據(jù)則采用查詢方式。
  (6)顯示處理程序 LCD-TC1602A LCD接口設(shè)計采用4位控制方式,,使用4位數(shù)據(jù)線D4~D7控制時序分兩次傳送,,先傳送高4位數(shù)據(jù),再傳送低4位數(shù)據(jù),。
  (7)數(shù)據(jù)讀寫處理程序 ATMEGA16單片機(jī)內(nèi)部集成有512 B的EEPROM,,它是作為一個獨立的數(shù)據(jù)空間而存在的。ATmesa16單片機(jī)通過對相關(guān)寄存器的操作實現(xiàn)對EEPROM按字節(jié)讀寫,。
  (8)看門狗處理程序 ATMEGA16單片機(jī)內(nèi)部集成有硬件看門狗,,看門狗由片內(nèi)獨立的振蕩器驅(qū)動,設(shè)置看門狗的步驟為:先初始化并打開看門狗,,然后把喂狗指令放在循環(huán)程序中,。

  4 系統(tǒng)測試分析
  各個模塊測試完成后,將下位機(jī)由測試端的硬件通過串口與PC機(jī)連接,,構(gòu)成完整的溫度測試系統(tǒng),。在上位機(jī)中運行Visual Basic編寫的監(jiān)控程序,通過下位機(jī)的鍵盤設(shè)置加熱爐溫度為80℃.單擊“打開通信端口”,,選擇所要通信的端口后,,單擊“開始測溫”,這時下位機(jī)就會向上位機(jī)發(fā)送實時溫度值,,并實時繪出溫度趨勢曲線,。
  當(dāng)單擊“結(jié)束”時,整個系統(tǒng)停止工作,。上位機(jī)顯示的溫度趨勢曲線如圖6所示,,測試結(jié)果顯示,該系統(tǒng)對加熱爐溫度的采集和控制比較準(zhǔn)確,。
  5 結(jié)束語
  充分利用AVR ATMEGA16單片機(jī)的內(nèi)部資源,,系統(tǒng)集成 度高,系統(tǒng)利用增量式PID算法改變PWM的輸出值,,然后控制可控硅的開關(guān),,最終使被控對象的溫度值趨向于給定的溫度值。該系統(tǒng)操作容易,、可靠性好,,具有較高的實用價值。就其采樣頻率和分辨率來說屬于中速類型,,適合于對數(shù)據(jù)采樣頻率要求不是特別高的應(yīng)用場合,。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。