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