宋祥弟
摘要本文以模糊控制為主要方法的恒溫水浴智能溫度控制系統(tǒng),主要以STC89C52單片機(jī)為控制核心。闡述了模糊控制系統(tǒng)設(shè)計(jì),選取水浴實(shí)際溫度與目標(biāo)溫度之間的偏差與偏差變化率作為輸入變量實(shí)現(xiàn)二維模糊控制的Matlab仿真,選取溫度偏差實(shí)現(xiàn)一維模糊控制,通過(guò)不斷進(jìn)行實(shí)驗(yàn),總結(jié)出一套合適的模糊控制規(guī)則,能夠?qū)?shí)際溫度、目標(biāo)溫度、加熱方式顯示在1602液晶上,并且將溫度控制在設(shè)定溫度的±0.1℃~0.2℃。
關(guān)鍵詞恒溫水??;溫度;模糊控制;單片機(jī)
1恒溫水浴工作原理
圖1為恒溫水浴的原理框圖,系統(tǒng)以STC89C52單片機(jī)為控制和信息處理核心,主要完成水浴溫度采集、加熱與制冷工作方式判決、LCD顯示、目標(biāo)溫度輸入、水浴溫度控制等功能。STC89C52根據(jù)設(shè)定的水浴目標(biāo)溫度和水浴溫度的差值進(jìn)行加熱與制冷工作方式判決,當(dāng)目標(biāo)溫度高于水浴溫度時(shí),單片機(jī)通過(guò)固態(tài)繼電器SSR控制加熱裝置工作;當(dāng)水浴目標(biāo)溫度低于水浴溫度時(shí),單片機(jī)通過(guò)繼電器控制加熱裝置工作,制冷裝置由于條件限制,采用發(fā)光二極管代替。
2恒溫水浴模糊控制
通過(guò)Simulink建立水浴加熱模型,如圖2所示。
通過(guò)Simulink仿真,以E(溫度差值),EC(溫差變化率)為輸入量,U為控制量,得到了較好的控制效果。但是如果將二維模糊控制算法用單片機(jī)實(shí)現(xiàn),算法復(fù)雜。
本系統(tǒng)采用一維模糊控制實(shí)現(xiàn),目標(biāo)溫度與水浴實(shí)際溫度之間的誤差e作為輸入變量,控制量u作為輸出變量。系統(tǒng)中溫度誤差e、控制量u的基本論域分別為[0℃,+3℃]和[0,1]。E為溫度誤差的模糊輸入變量,E=INT[Round(e/k)]。
3系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)主要由單片機(jī)控制電路、水浴溫度采集電路、鍵盤(pán)控制電路、lcd顯示電路組成。
溫度控制電路主要由可控硅固態(tài)繼電器構(gòu)成,紅、綠色LED燈分別代表加熱和制冷,本設(shè)計(jì)中使用5401PNP型三極管,由單片機(jī)發(fā)出信號(hào)通過(guò)P2.6口控制繼電器通斷,從而使熱得快通電加熱。
溫度采集電路使用DS18820智能溫度傳感器,無(wú)需外接限流電阻,可以直接從傳感器中讀取溫度,如圖3所示,18820-1用來(lái)測(cè)外部環(huán)境溫度,數(shù)據(jù)口與單片機(jī)P2.5口相連,ds18b20用來(lái)測(cè)水浴溫度,數(shù)據(jù)口與單片機(jī)P2.4口相連。
4基于C語(yǔ)言的恒溫水浴的實(shí)現(xiàn)
4.1主函數(shù)的設(shè)計(jì)
單片機(jī)主程序主要用來(lái)實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)工作的控制、目標(biāo)溫度的設(shè)置,顯示功能,以及與DS18b20溫度采集,具體工作流程如圖4所示。
圖4中,e為溫度誤差,即設(shè)置的目標(biāo)溫度與水浴實(shí)際溫度的差值,Td為目標(biāo)溫度,T為水浴實(shí)際溫度。4.2模糊控制程序設(shè)計(jì)及實(shí)現(xiàn)
溫度控制主要通過(guò)STC89C52的P1.3和P1.4口控制,P1.3口外接綠色的發(fā)光二極管,通過(guò)發(fā)光二極管來(lái)模擬壓縮機(jī)制冷,P1.4口控制固態(tài)繼電器驅(qū)動(dòng)電路工作,通過(guò)固態(tài)繼電器來(lái)控制熱得快的加熱。
4.3 DS18820溫度采集
數(shù)字傳感器DS18b20的初始化。DS18820對(duì)時(shí)序有著非常高的要求,單總線上的所有通信都是以初始化序列開(kāi)始,包括主機(jī)發(fā)出的復(fù)位脈沖及從機(jī)的應(yīng)答脈沖。當(dāng)從機(jī)發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時(shí),即向主機(jī)表明它處于總線上,且工作準(zhǔn)備就緒。在主機(jī)初始化過(guò)程,主機(jī)通過(guò)拉低單總線至少480μs,以產(chǎn)生(Tx)復(fù)位脈沖。接著,主機(jī)釋放總線,并進(jìn)入接收模式(Rx)。在單總線器件檢測(cè)到上升沿后,延時(shí)15μs~60μs,接著通過(guò)拉低總線60μs~240μs,以產(chǎn)生應(yīng)答脈沖。
5測(cè)試方案與測(cè)試結(jié)果
5.1測(cè)試方案
用繼電器模塊來(lái)控制200W“熱得快”來(lái)對(duì)長(zhǎng)方形玻璃水缸中的5L水進(jìn)行加熱,用鍵盤(pán)設(shè)定需要加熱的目標(biāo)溫度值,觀察1602液晶顯示穩(wěn)定時(shí)的水溫值,多次調(diào)試并設(shè)定模糊控制規(guī)則參數(shù)來(lái)完善該系統(tǒng)。
5.2測(cè)試結(jié)果
經(jīng)過(guò)多次測(cè)試,得到如表1數(shù)據(jù)。