基于模糊PID算法的溫度控制系統(tǒng)的設(shè)計(jì)*
摘 要:針對(duì)傳統(tǒng)的溫度控制系統(tǒng)精確度不足、穩(wěn)定性較低、耗電嚴(yán)重、智能化程度低的問題,提出了一種基于模糊PID算法的溫度控制系統(tǒng)。以STM32單片機(jī)為核心,使用數(shù)字式傳感器DS18B20進(jìn)行溫度采集,并將溫度實(shí)時(shí)顯示到LCD屏上。用戶可以通過按鍵模塊直接對(duì)溫度進(jìn)行設(shè)定。當(dāng)采集的溫度過高時(shí),控制器啟動(dòng)加熱器工作;當(dāng)采集的溫度過低時(shí),控制器啟動(dòng)風(fēng)扇工作,以起到降溫的作用,這樣就可以將溫度穩(wěn)定在一定的范圍內(nèi)。根據(jù)給定值和實(shí)際值的偏差,加入模糊PID算法,使其滿足控制要求。對(duì)實(shí)驗(yàn)數(shù)據(jù)結(jié)果進(jìn)行分析可知:實(shí)驗(yàn)過程中,設(shè)定值和實(shí)際值的最大誤差僅為0.03℃,控制精度達(dá)到98%以上。表明控制系統(tǒng)可以很好地實(shí)現(xiàn)對(duì)室內(nèi)溫度控制并具有較高的控制精度。
本文引用地址:http://www.ex-cimer.com/article/202305/446962.htm關(guān)鍵詞:溫度控制;STM32;DS18B20;LCD1602;模糊PID
*基金項(xiàng)目:甘肅省教育廳2021 年度高等學(xué)校創(chuàng)新基金項(xiàng)目(2021B-511);酒泉職業(yè)技術(shù)學(xué)院校級(jí)科研項(xiàng)目(2022XJZXM02)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展, 溫度控制在人們生產(chǎn)和生活的方方面面變得越來越普及和重要, 溫度控制系統(tǒng)是保障工業(yè)生產(chǎn)順利進(jìn)行、提高產(chǎn)品質(zhì)量和安全生產(chǎn)的重要手段。目前我國(guó)的工業(yè)企業(yè)數(shù)量眾多,并且大多數(shù)都分布于城市中,因此對(duì)于環(huán)境控制要求較高[1]。隨著我國(guó)科學(xué)技術(shù)的不斷進(jìn)步以及人民對(duì)生活品質(zhì)的日益提升,智能溫控系統(tǒng)逐漸成為了一種主流趨勢(shì)[2]。
圖1 系統(tǒng)硬件框圖
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)硬件總體設(shè)計(jì)
本設(shè)計(jì)以單片機(jī)為核心,采用了模塊化結(jié)構(gòu),通過溫度采集模塊與單片機(jī)進(jìn)行數(shù)據(jù)的傳輸,可實(shí)現(xiàn)對(duì)溫度信號(hào)進(jìn)行采集、處理和分析,從而實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)溫度情況的檢測(cè)和控制,同時(shí)還可以設(shè)置報(bào)警信息以及顯示相關(guān)參數(shù)等。溫度采集模塊用于實(shí)時(shí)測(cè)量被測(cè)環(huán)境溫度;同時(shí)還可以根據(jù)按鍵模塊完成對(duì)溫度的設(shè)定與更新功能[3]。當(dāng)溫度超過設(shè)定的最高溫度值時(shí),控制系統(tǒng)啟動(dòng)風(fēng)扇工作,當(dāng)溫度低于設(shè)定最高溫度值后,風(fēng)扇停止工作。當(dāng)溫度低于設(shè)定最低溫度值后,控制系統(tǒng)啟動(dòng)加熱器工作,當(dāng)溫度高于設(shè)定最低溫度值后,加熱器停止工作。當(dāng)所測(cè)溫低于最低和最高的極限值時(shí),蜂鳴器報(bào)警提示用戶采取相應(yīng)的保護(hù)措施。該系統(tǒng)具有較高的可靠性、穩(wěn)定性及良好的可擴(kuò)展性,可滿足現(xiàn)場(chǎng)環(huán)境下各種應(yīng)用要求[4]。系統(tǒng)硬件設(shè)計(jì)框圖如圖1 所示。
1.2 主控制器模塊
溫度控制系統(tǒng)的主控制器采用STM32F103C8T 單片機(jī),通過對(duì)傳感器信號(hào)進(jìn)行采集、處理和顯示,實(shí)現(xiàn)了智能溫控系統(tǒng)的功能。STM32F103C8T 是基于Cortex系列的微處理器,該產(chǎn)品具有良好的性價(jià)比,可以支持低功耗、高性能和高靈活性等要求,并具有強(qiáng)大的數(shù)字信號(hào)處理功能,可用于各種應(yīng)用場(chǎng)合,如工業(yè)控制、醫(yī)療診斷、消費(fèi)電子、汽車電子系統(tǒng)、航空航天和軍事設(shè)備等領(lǐng)域[5]。
1.3 溫度采集模塊
溫度采集模塊選用DS18B20 數(shù)字溫度傳感器,通過與單片機(jī)進(jìn)行通信,實(shí)現(xiàn)對(duì)溫度的測(cè)量。該傳感器具有體積小、精度高、工作穩(wěn)定等特點(diǎn),可在溫度為-55 ℃ ~ +125 ℃ 范圍內(nèi)任意測(cè)量,能滿足對(duì)各種不同溫區(qū)及工況進(jìn)行精確檢測(cè)的需要[6]。能自動(dòng)完成溫度數(shù)據(jù)的采集、存儲(chǔ),主要用于室內(nèi)或室外環(huán)境中環(huán)境溫度的實(shí)時(shí)監(jiān)測(cè)。電路原理圖如圖2 所示。
圖2 溫度傳感器原理圖
1.4 按鍵模塊
按鍵模塊設(shè)置3 個(gè)功能鍵,分別為s1、s2、s3。s1是功能切換鍵,通過切換可以設(shè)置溫度最高極限值和最低極限值,即控制系統(tǒng)的報(bào)警值。加、減時(shí)可以按s2鍵或s3 鍵進(jìn)行操作[7]。
1.5 LCD顯示模塊
在LCD 液晶面板中,每個(gè)像素都有一個(gè)對(duì)應(yīng)于它所處位置的發(fā)光二極管陣列,該LED 陣列將從屏幕上顯示出來的光轉(zhuǎn)換成電信號(hào)后通過信號(hào)傳輸線傳輸?shù)絾纹瑱C(jī),從而實(shí)現(xiàn)了對(duì)液晶顯示屏信息存儲(chǔ)、控制和處理的功能。本模塊采用LCD1602,其包括LCD 面板和驅(qū)動(dòng)電路、控制電路以及電源系統(tǒng)等部分組成[8]。由于LCD1602 液晶屏采用了全數(shù)字化控制,所以它可以實(shí)現(xiàn)任意亮度下的對(duì)比度調(diào)節(jié);而普通LCD 只能根據(jù)使用者的要求進(jìn)行手動(dòng)調(diào)整。其顯示內(nèi)容可根據(jù)需要進(jìn)行設(shè)置,同時(shí)還可對(duì)文字等信息進(jìn)行編輯、修改。顯示模塊主要實(shí)現(xiàn)的功能是顯示環(huán)境實(shí)時(shí)溫度、最高和最低極限溫度值和報(bào)警信息等。
1.6 蜂鳴器報(bào)警模塊
蜂鳴器具有體積小,質(zhì)量輕等特點(diǎn)。由于蜂鳴器的頻率較高,所以需要將其與續(xù)流二極管一起使用時(shí),才能正常地進(jìn)行工作,否則會(huì)損壞或引起其他故障。對(duì)于有高頻噪聲的場(chǎng)合,要盡量選用雙極型晶體管來替代。當(dāng)溫度采集模塊采集到的環(huán)境溫度高于最高極限值或者低于最低極限值時(shí),單片機(jī)對(duì)溫度信號(hào)進(jìn)行處理,并對(duì)蜂鳴器發(fā)出控制信號(hào),蜂鳴器開始工作并發(fā)出報(bào)警信號(hào)提醒用戶[9]。
2 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)采用C 語(yǔ)言進(jìn)行編寫。C 語(yǔ)言是一種通用的編程語(yǔ)言,具有靈活、方便等特點(diǎn)。C 程序具有強(qiáng)大的編程能力和良好的擴(kuò)展性,因而被廣泛地應(yīng)用于各種軟件開發(fā)領(lǐng)域中。
軟件編程在keil 軟件中進(jìn)行,Keil 軟件采用模塊化設(shè)計(jì)思想和先進(jìn)的編程技術(shù),實(shí)現(xiàn)了對(duì)程序進(jìn)行靈活擴(kuò)展并提供強(qiáng)大的運(yùn)行環(huán)境;具有良好的界面友好性,可根據(jù)用戶需要配置各種功能模塊或模塊之間相互連接方式;支持多種編程語(yǔ)言及接口標(biāo)準(zhǔn)等。該軟件已被廣泛應(yīng)用于電子儀器、儀器儀表和計(jì)算機(jī)應(yīng)用等領(lǐng)域??梢酝ㄟ^Windows 平臺(tái)運(yùn)行,并具有豐富的擴(kuò)展能力和強(qiáng)大的圖形界面支持,使用戶能夠方便地管理自己的軟件資源。
單片機(jī)上電后,系統(tǒng)進(jìn)行初始化。用戶根據(jù)需要對(duì)系統(tǒng)設(shè)置相應(yīng)參數(shù),包括溫度的最高和最低的極限值。當(dāng)設(shè)定好了溫度閾值后,就可以開始正常工作了。如果溫度設(shè)得太低或太高都會(huì)影響到系統(tǒng)的運(yùn)行。初始化完成后,系統(tǒng)開始采集環(huán)境溫度,通過對(duì)采集到的數(shù)據(jù)進(jìn)行分析和處理。當(dāng)溫度過高,超過用戶設(shè)置的最高極限值時(shí),啟動(dòng)報(bào)警模塊,蜂鳴器報(bào)警,同時(shí)風(fēng)扇工作,達(dá)到降溫的目的。當(dāng)溫度過低,超過用戶設(shè)置的最低極限值時(shí),啟動(dòng)報(bào)警模塊,蜂鳴器報(bào)警,同時(shí)加熱器工作,達(dá)到升溫的目的。系統(tǒng)采集到的數(shù)據(jù)通過顯示模塊實(shí)時(shí)顯示。溫度的上下限值利用按鍵模塊來設(shè)置。主程序流程圖如圖3 所示。
3 模糊PID算法設(shè)計(jì)
針對(duì)系統(tǒng)中存在著非線性、時(shí)變等不確定性因素以及外界干擾所引起的參數(shù)變化而使系統(tǒng)性能下降的問題,加入了模糊PID 算法,將模糊控制和傳統(tǒng)的PID 控制相結(jié)合,采用一種簡(jiǎn)單的隸屬函數(shù)形式,通過對(duì)輸入變量和輸出變量進(jìn)行模糊化處理來實(shí)現(xiàn)PID 控制器參數(shù)在線整定。模糊PID 控制結(jié)構(gòu)如圖4 所示。
圖4 模糊PID控制結(jié)構(gòu)圖
其中,r(t) 為給定溫度值,y(t) 為系統(tǒng)輸出的溫度值,e為誤差值,ec 為誤差變化率,KP、KI、KD為PID 的參數(shù),u(t) 為輸出信號(hào)。
4 實(shí)驗(yàn)測(cè)試與分析
測(cè)試環(huán)境如下:系統(tǒng)設(shè)定的控制溫度分別為6 ℃ 和28 ℃,實(shí)驗(yàn)室環(huán)境溫度為24 ℃。系統(tǒng)開始工作后,通過不同時(shí)刻的測(cè)量得到了不同的溫度控制曲線如圖5、6 所示。
圖5 溫度控制曲線(設(shè)定溫度6℃)
圖6 溫度控制曲線(設(shè)定溫度30℃)
從圖5 和圖6 的不同設(shè)定溫度的實(shí)驗(yàn)中表明,例如設(shè)定溫度為6 ℃,沒有加入模糊PID 控制和加入模糊PID控制均達(dá)到了預(yù)設(shè)的溫度值,沒有加入模糊PID 控制溫度控制系統(tǒng)的響應(yīng)時(shí)間為426 s,加入模糊PID 控制溫度控制系統(tǒng)的響應(yīng)時(shí)間為391 s;沒有加入模糊PID控制溫度控制系統(tǒng)的超調(diào)量為12%,控制誤差為0.1 ℃。加入模糊PID 控制溫度控制系統(tǒng)的超調(diào)量為0,控制誤差為0.03 ℃。因此,加入模糊PID 控制的溫度控制系統(tǒng)可以在一定程度上提高整個(gè)系統(tǒng)的性能,具有響應(yīng)速度快、超調(diào)量小、穩(wěn)態(tài)誤差小及魯棒性強(qiáng)等特點(diǎn)。
5 結(jié)束語(yǔ)
本文提出了一種基于模糊PID控制的溫度控制系統(tǒng)。并給出其硬件設(shè)計(jì)和軟件設(shè)計(jì)。采用模塊化設(shè)計(jì)思想,將硬件電路中各單元分開實(shí)現(xiàn)功能。軟件通過程序編寫完成各個(gè)子系統(tǒng)間相互通訊與協(xié)調(diào)。該系統(tǒng)硬件電路簡(jiǎn)單實(shí)用、性能穩(wěn)定可靠;軟件部分設(shè)計(jì)合理、操作方便,可滿足不同場(chǎng)合的使用要求。系統(tǒng)設(shè)計(jì)合理,操作簡(jiǎn)單方便,具有良好的人機(jī)交互性。
溫度控制系統(tǒng)使用STM32 單片機(jī)作為控制核心,通過單片機(jī)對(duì)采集到的信號(hào)進(jìn)行處理,實(shí)現(xiàn)了溫度采集、溫度控制、溫度顯示和設(shè)置等功能。溫度采集通過DS18B20 數(shù)字傳感器實(shí)現(xiàn);溫度控制由單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行處理,通過控制加熱器和風(fēng)扇來實(shí)現(xiàn);溫度顯示由LCD1602 液晶屏實(shí)現(xiàn);溫度設(shè)置通過按鍵模塊來實(shí)現(xiàn)。該系統(tǒng)具有體積小、功耗低、可靠性高和抗干擾能力強(qiáng)等優(yōu)點(diǎn)。同時(shí)還可以用于自動(dòng)報(bào)警和自動(dòng)控制,使自動(dòng)化程度更高,達(dá)到節(jié)能環(huán)保目的。本系統(tǒng)簡(jiǎn)單合理,使用方便,具有良好的實(shí)用性和經(jīng)濟(jì)性。在保證恒定溫度范圍的前提下可滿足不同溫度環(huán)境下的需求。
加入模糊PID控制方法優(yōu)化了傳統(tǒng)PID控制器參數(shù),提高了溫度控制系統(tǒng)的穩(wěn)定性和抗干擾性能。仿真結(jié)果表明:與傳統(tǒng)溫度控制相比,模糊PID 控制策略在保證控制精度的同時(shí)可以有效地抑制系統(tǒng)中存在的超調(diào)和振蕩現(xiàn)象。該研究為進(jìn)一步提高溫度控制系統(tǒng)性能提供參考依據(jù)。
參考文獻(xiàn):
[1] 劉小濱,劉寅,沈文浩.基于STM32單片機(jī)的環(huán)境溫/度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].中國(guó)造紙學(xué)報(bào),2022,37(3):8.
[2] 賀佩.基于STM32單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2022(8):18.
[3] 聶宵,徐廣平,房孝俊.基于STM32的高精度溫度控制系統(tǒng)設(shè)計(jì)[J].激光與紅外,2020,50(1):4.
[4] 呂愛華.基于單片機(jī)技術(shù)的大棚遠(yuǎn)程溫控系統(tǒng)應(yīng)用[J]. 農(nóng)機(jī)化研究,2023,45(6):5.
[5] 鄧云積,劉堯,吳遙遠(yuǎn),等.基于單片機(jī)的智能家居溫度控制系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與生產(chǎn)力,2022(7):3.
[6] 楊宇.基于單片機(jī)和DS18B20的溫度監(jiān)控系統(tǒng)設(shè)計(jì)[J].有色金屬設(shè)計(jì),2022(2):49.
[7] 白曉藝,吳德廣.居民樓煙霧溫度監(jiān)測(cè)報(bào)警系統(tǒng)研究[J]. 福建電腦,2022,38(11):5.
[8] 崔星華.基于單片機(jī)的船艙溫度臨界報(bào)警系統(tǒng)[J]. 艦船科學(xué)技術(shù),2019(20):3.
[9] 劉江虹,吳俊鋒,梁藝珍,等.基于單片機(jī)的配電箱溫度監(jiān)測(cè)和火災(zāi)報(bào)警系統(tǒng)設(shè)計(jì)[J].消防科學(xué)與技術(shù),2020,39(11):1542-1545.
(本文來源于《電子產(chǎn)品世界》雜志2023年5月期)
評(píng)論