吉林大學電子科學與工程學院 王小雨
吉林大學計算機科學與技術學院 61251部隊 鄭 偉
吉林大學電子科學與工程學院 王一丁
基于AT89S52單片機的水溫控制系統建模與實現
吉林大學電子科學與工程學院 王小雨
吉林大學計算機科學與技術學院 61251部隊 鄭 偉
吉林大學電子科學與工程學院 王一丁
用基于AT89S52單片機的最小系統進行溫度實時采集與控制是該設計的主要內容。溫度信號由DS1820溫度傳感器采集,控制器采用數字增量式PID算法,控制信號經繼電器實現對水溫的控制。功率控制部分采用光電耦合器件和雙向可控硅組成開關電路控制功率電阻加熱,實現強電和弱電完全隔離。
AT89S52單片機;PID;水溫控制
隨著控制理論和電子技術的發展,工業控制器的高精度性要求越來越高。其中以單片機為核心實現的數字控制器因其體積小、成本低、功能強、簡便易行而得到廣泛應用。[1]而電加熱控制由于其具有升溫單向性、時滯性、時變性等特點,很難用傳統的模擬電路實現最優控制。本文介紹了一種以AT89S52單片機為核心的最小控制系統實現對電阻爐溫度進行智能控制。該系統通過數字增量式PID算法得出控制量,經脈沖調制輸送給功率控制器,實現水溫控制。
本系統以AT89S52作為控制核心,用溫度傳感器DS18B20作為測量反饋裝置,把實際水溫的數字量測量出來,再用單片機讀進,在程序中與溫度設定值比較,差值經過數字PID算法,算出相應的加熱功率,通過控制加熱功率達到控制溫度的目的。系統的功能模塊如圖1所示。
其中,AT89S52單片機作為控制核心,根據溫度傳感器從熱水杯中讀取的溫度數據,以及人機交互界面得到的水溫設定值,結合一定的控制算法產生相應的控制信號,傳送給繼電器電路以控制電阻電爐的工作狀態,使水溫不斷逼近設定溫度。

圖1 系統結構框圖
系統的執行器電阻電爐,可由一個電阻R和一個純電感L來等效。電阻的發熱功率P的計算公式為:2Pi (t) R=。
其中 i(t)與電源電壓 u(t)的關系可表示為:

對上式進行Laplace變換,可得:

則加熱線圈的傳遞函數為:

標準化后得:

其中, Kv為執行器增益, Tv為執行器慣性時間常數。
由于加熱過程中,水溫與室溫有一定的差異,必然由此產生散熱,當溫差較大時,為了保證控制精度,這個熱量散失必須考慮進去。
根據溫度耗散的物理學模型,可得散失熱量的表達式:Qs( t) = Ks·S( Tw( t) - Th( t ))。
其中,S為被加熱水的上表面積, Tw( t)為水溫, Th( t)為室溫, Ks為比例常數。由于室溫變化相當緩慢,可將室溫視為常數,由此可以得到水的溫度耗散功率:

對于被控對象水而言,加熱所得熱量可表示為: Qc= C · m · ΔT 。
其中,C為水的比熱,m為水的質量,Δ T 為水溫變化量,同耗散的分析相似,執行器的功率可表示為: Pc( s) = Kd·STc( s),其中,Kd=C· m。
相對控制器而言,被控對象與干擾可合并為一個被控整體,它的傳遞函數可表示為:

系統采用PID控制器,是因為它具有較強的魯棒性,能夠在較大范圍內適應不同的工作條件,同時又簡單易用,因此得到了廣泛的應用,其傳遞函數為:

從上式可以看出,為了實現PID控制器,必須結合給定的受控對象,精心確定控制器的3個參數:比例增益Kp、積分增益 Ki和微分增益 Kd。
根據系統結構以及模型建立過程可以看出該系統的硬件模塊主要包括水溫信號采集模塊、繼電器驅動模塊、數據顯示模塊、人機交互的串口通信模塊。數據顯示模塊采用三位動態數碼管顯示,可以顯示3位十進制數字水溫信號,數碼管與單片機的P00-P07和P20-P22相連。其中P20-P22為數碼管的位選控制信號,P0-P7為數碼管段驅動信號;人機交互則使用MAX232芯片實現。通過單片機的P13、P14的IO口與單片機相連,完成串口通信的電平轉換工作,實現單片機與上位機的串口通信。[2]因此系統主要模塊為溫度采集模塊和繼電器控制模塊。

圖2 驅動控制電路
溫度采集由主控電路AT89S52單片機和Dallas公司的數字式溫度傳感器DS18B20組成的電路實現。DS18B20為3引腳封裝器件,分別為接地、電源和數據線,具有結構簡單、體積小、功耗小,可自行設定預警上下限溫度等優點,它可將-55~125℃范圍內的溫度值按9位分辨率進行量化,其中包括一個符號位,工作電壓范圍為3.3~5.5 V。本系統采用單總線方式傳輸溫度信號可以大大節省單片機有限的端口資源,也簡化了測溫網絡的網絡結構,同時也增強了系統的擴展能力。因為單總線通信具有獨特的電源和信號復合功能,僅使用一條口線、每個芯片唯一編碼并支持聯網尋址等特點。[3]
AT89S52是一個弱電器件,一般工作在5V[4],接用來驅動熱電爐,因此采用繼電器作為單片機與熱電爐之間的負載接入。驅動控制電路如圖2所示
在圖2中,Moc3041是光藕,用它來驅動雙向可控硅BTA16,控制雙向可控硅的通斷。BTA16是通用電子器件,工作電流為16A,耐壓400V、600V不等。由于加熱執行器是電阻線圈,屬于感性負載,所以在開關器件上并上RC電路,作為保護電路并起加速導通關斷作用。R2、R3用于補償雙向可控硅,用R4限流保護MOC3041。JP1接控制端,VCC為+5VDC;JP2接220VAC,負載(LOAD)接在火線端(HEATPower)或零線端(NEUTRAL)均可。當單片機的P1.6引腳置1時,MOC3061內部發光管截止,其內部雙向晶閘管關斷,外部大功率晶閘管控制極G沒有觸發電流,T1不導通,加熱器RL斷電。反之,當P1.6引腳置0時,MOC3061內部發光管導通,加熱器開始加熱。[5]
水溫控制系統的設計方法比較傳統,但如果要實現其無超調控制,可以在確定系統各參數的前提下,預先估計需求功率,快速而準確地控制加熱功率的變化,實現無超調控制。此外,可以在軟件上實現系統的自學習控制,根據系統自身對水溫的實際上升規律,來確定控制系統在各工作階段的控制參數。
實驗證明,采用增量式PID算法實現的水溫控制系統具有運行可靠、簡單直觀、測溫、控溫精度高、等優點,并且能夠獲得較好的控制效果,在實際生活以及工業生產中都具有較好的運用價值。
[1]鄭成霞.基于單片機的軟件實現PID溫度控制系統[J].寧波職業技術學院學報,2010.14(5):16-19.
[2]曾崢,吳新淮.基于AT89S52單片機的水溫控制系統設計[J].科技廣場,2011(3):157-159.
[3]劉永春,張鋒,王秀碧.基于單片機的水溫控制系統設計[J].儀器儀表學報,2008(8):331-333.
[4]李亞杰,何群.基于GSM的遠程溫度監控系統設計與實現[J].制造業自動化,2009,17(6):1077-1079.
[5]于雷.基于單片機的水溫控制系統設計[J].長春大學學報,2011(8),28-30.
王小雨(1986—),女,黑龍江齊齊哈爾人,吉林大學電子科學與工程學院碩士研究生在讀,主要研究方向:利用單片機和FPGA進行電路的設計與開發。
王一丁(1956—),男,吉林長春人,博士,吉林大學電子科學與工程學院教授,博士生導師,研究方向:紅外氣體傳感器的研究與開發。