小范圍水溫差恒定控制研究

時間:2022-09-21 14:50:54

導(dǎo)語:小范圍水溫差恒定控制研究一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

小范圍水溫差恒定控制研究

摘要:日常生活中使用的恒溫水控制裝置在加熱和保溫方面具有單向性、時滯性的特征,在需要恒溫?zé)崴畷r要手動反復(fù)調(diào)節(jié)溫度,缺少智能恒溫的設(shè)計。為實現(xiàn)水溫的快速、準(zhǔn)確、恒定控制,設(shè)計了一款基于單片機(jī)的智能恒溫監(jiān)測控制裝置。以STM32F103系列的MCU作為上位機(jī)主控模塊的核心芯片,智能控制下位機(jī)的直流泵、繼電器在不同條件下的啟動與關(guān)閉;利用DS18B20傳感器進(jìn)行多點(diǎn)測溫以及加熱棒、半導(dǎo)體降溫片進(jìn)行大溫差模糊控制,在主控芯片中引入PID算法程序,每500ms調(diào)用一次,配合PWM輸出,實現(xiàn)小范圍溫差控制。裝置各部分統(tǒng)籌協(xié)調(diào)工作,從而實現(xiàn)恒溫出水。實驗結(jié)果顯示,最終裝置將小范圍溫差的誤差控制在±0.1℃。

關(guān)鍵詞:恒溫控制;STM32F103;DS18B20;PWM;PID算法;智能控制

日常生活中,對于恒溫水的需求必不可少,但大多傳統(tǒng)產(chǎn)品僅為簡易的加熱與保溫裝置,在需要使用的時候由人工開啟加熱,加熱完成后產(chǎn)品自動結(jié)束加熱操作,水溫也會在隨后開始下降到室溫[1-5]。隨著人們對生活質(zhì)量的要求越來越高,對控制水溫恒定產(chǎn)品的需求逐漸增加。為了使控制水溫恒定產(chǎn)品的功能更加完善,考慮如何高精度地將水溫控制在恒定范圍內(nèi)具有重要意義[6-8]。由此可以在提高生活質(zhì)量和舒適度的同時,節(jié)約水資源與電能、燃?xì)獾荣Y源。國內(nèi)外對于水恒溫控制積聚了較多的解決方案,但都存在控制精度不足的問題。這樣的情況下使得用戶使用起來總是需要反復(fù)加熱,會導(dǎo)致裝置的溫控不精確,反復(fù)大功率地加熱還會造成能量浪費(fèi)與元器件壽命損害等[9-10]。為實現(xiàn)水溫的快速、準(zhǔn)確、恒定控制,設(shè)計了一款基于單片機(jī)的智能恒溫監(jiān)測控制裝置。

1智能水恒溫控制監(jiān)測裝置的整體設(shè)計

本文設(shè)計了一套基于STM32的水恒溫智能監(jiān)測控制裝置,實現(xiàn)裝置開啟狀態(tài)下的恒溫出水與內(nèi)部恒溫協(xié)調(diào)控制功能。硬件利用STM32F103系列的MCU作為系統(tǒng)上位機(jī)主控模塊的核心,溫度提示采用按鍵、蜂鳴器、OLED顯示模塊實現(xiàn);下位機(jī)的溫度監(jiān)測控制采用溫度、繼電器、加熱、降溫、供水等模塊實現(xiàn)。軟件設(shè)計是在Keil5中利用C/C++編寫各模塊核心控制程序,引入PID算法,配合PWM輸出,協(xié)調(diào)各模塊工作,實現(xiàn)邏輯上與功能上的恒溫控制。在裝置整體功能上追求高性能、高靈敏度、高穩(wěn)定性、高精確的目標(biāo)。其中統(tǒng)籌實現(xiàn)水恒溫控制與大小溫差的智能調(diào)節(jié)控制是本次設(shè)計的兩個關(guān)鍵點(diǎn)。本次設(shè)計的具體內(nèi)容包括:(1)利用STM32F103系列的MCU作為系統(tǒng)上位機(jī)主控模塊的核心;(2)對基本功能的鍵入與提示的設(shè)計(按鍵及蜂鳴器、OLED顯示模塊);(3)下位機(jī)監(jiān)測控制模塊的設(shè)計(溫度、繼電器、加熱、降溫、供水模塊);(4)編寫核心控制代碼(開發(fā)工具為Keil5,編程語言為C/C++);(5)實現(xiàn)邏輯上與功能上的恒溫控制(采用PID算法協(xié)調(diào)各模塊);(6)實現(xiàn)數(shù)據(jù)的精確與系統(tǒng)的安全設(shè)計。

2硬件模塊的設(shè)計與選型

水恒溫智能控制監(jiān)測裝置在實際生活中的應(yīng)用場景呈現(xiàn)多元化,主要功能是實現(xiàn)控制容器內(nèi)或者管道內(nèi)的水溫恒定,以此方便生活使用或者工業(yè)使用。在主要功能之外,該系統(tǒng)還需要配備的功能如下:開關(guān)功能,能夠主動管理通電喚醒設(shè)備;參數(shù)設(shè)定、功能選擇鍵入的功能,能夠匹配程序內(nèi)的設(shè)定和設(shè)計;系統(tǒng)信息顯示功能,能夠顯示系統(tǒng)當(dāng)前狀態(tài)和關(guān)鍵信息;系統(tǒng)狀態(tài)提示功能,當(dāng)有新的操作錄入或反饋時返回提示;傳感器信息捕獲、恒溫自校準(zhǔn)、過熱保護(hù)、預(yù)加熱等功能。以下是根據(jù)系統(tǒng)功能需求分析之后,為硬件架構(gòu)搭配的設(shè)計方案與選型結(jié)果。

2.1硬件設(shè)計

硬件架構(gòu)設(shè)計是以STM32F103C8T6處理器為MCU,搭配OLED顯示屏,集成按鍵輸入、繼電器控制、DS18B20多點(diǎn)溫度采集[2]、PID控制[4]I/O口PWM輸出等功能綜合實現(xiàn)水恒溫智能監(jiān)測控制[3]。硬件整體設(shè)計結(jié)構(gòu)如圖1所示。對于圖1所示的硬件整體設(shè)計結(jié)構(gòu),還分為系統(tǒng)上行監(jiān)測布局與下行控制布局,分別如圖2、圖3所示。

2.2硬件選型

各硬件模塊型號或參數(shù)的具體情況為:(1)一塊STM32F103C8T6主控芯片;(2)一塊用于圖像輸出的0.96寸128×64分辨率OLED顯示屏;(3)一組用于用戶輸入的微動按鍵按鈕;(4)一個用于聲音提示的無源蜂鳴器;(5)一個DS18B20溫度傳感器;(6)控制模塊采用的是繼電器、PWM調(diào)節(jié)電子開關(guān);(7)執(zhí)行模塊采用的是PTC加熱片、直流泵、半導(dǎo)體制冷片;(8)供電部分采用3~12V/10A可調(diào)直流電源、升壓模塊。

3核心控制算法的選擇

PID控制算法[5]是工業(yè)控制領(lǐng)域使用最廣泛的算法之一,共有兩類:模擬PID控制和數(shù)字PID控制。數(shù)字PID再次細(xì)分為增量式數(shù)字PID和位置式數(shù)字PID。本次設(shè)計采用增量式PID控制算法,表達(dá)式為:式中:Kp為比例增益;Ti和Td分別為積分和微分時間常數(shù);e為給定值與測量值之差。由式(1)可以看出,一旦確定了Kp、Ti、Td,輸出的?u(k)值只與最近三次的采樣值有關(guān),對微分部分進(jìn)行加權(quán)處理后可使得輸出值平滑穩(wěn)定,此改動會在產(chǎn)生大偏差時使系統(tǒng)誤動作較小,不會嚴(yán)重影響系統(tǒng)的工作,適用于執(zhí)行機(jī)構(gòu)帶積分部件的對象,如步進(jìn)電機(jī)等。影響裝置穩(wěn)定性與恒溫精確性的關(guān)鍵因素?zé)o非是模糊控制策略與PID算法控制PWM輸出,在主程序中初始化PID后,系統(tǒng)在開機(jī)狀態(tài)下自動根據(jù)溫度偏差每500ms調(diào)用一次PID算法,更改核心板I/O口,輸出隨占空比相應(yīng)變化的PWM,從而實現(xiàn)動態(tài)改變用電器功率的目的。

4實施過程

4.1核心板上電、關(guān)鍵元器件初始化和檢查

以STM32F103C8T6作為核心處理器[6]的開發(fā)板通電后,在未進(jìn)入主系統(tǒng)前會優(yōu)先對關(guān)鍵元器件進(jìn)行初始化和檢查,如OLED、DS18B20、按鍵、蜂鳴器;元器件初始化后,通過OLED顯示屏反饋初始化情況,初始化不成功則顯示錯誤;之后進(jìn)入ESP無線配網(wǎng),連接程序內(nèi)指定名稱和IP的TCPServer端;最后,進(jìn)入系統(tǒng)待機(jī),等待測試人員設(shè)定目標(biāo)溫度ST并開啟系統(tǒng)。

4.2點(diǎn)亮OLED

在燒錄STM32芯片的代碼中配置開啟OLED屏幕I/O口時鐘,同時根據(jù)SPI通信協(xié)議配置引腳,一次復(fù)位后開啟配置,寫入一系列寫命令配置OLED分頁模式等初始化操作完成OLED初始化。

4.3DS18B20傳感器多點(diǎn)測溫

多點(diǎn)測溫是通過單一I/O口連接多傳感器,實施例的關(guān)鍵點(diǎn)是通過芯片向傳感器發(fā)送讀時序,記錄傳感器反饋的內(nèi)部光刻ROM信息,并更新DS18B20_ID數(shù)組綁定每個傳感器;通過定時拉低復(fù)位總線的方式,使得芯片向傳感器發(fā)送讀數(shù)據(jù)時序,記錄每個傳感器寫入的字節(jié)溫度數(shù)據(jù),并根據(jù)DS18B20_ID區(qū)分不同數(shù)據(jù);最后通過使用公式轉(zhuǎn)換獲得高精度的溫度數(shù)據(jù),轉(zhuǎn)換后的溫度精度可達(dá)0.06。

4.4PWM控制

PWM脈寬調(diào)制可結(jié)合微型處理器的數(shù)字輸出口或引腳控制模擬電路,系統(tǒng)使用PWM開關(guān)模塊,可根據(jù)輸入波形的占空比正比調(diào)節(jié)DC的輸出比例;初始芯片中通過通用定時器配置周期為12.5ms的PWM方波;銜接開關(guān)模塊后,通過更改PWM輸出通道的占空比,即更改一個周期內(nèi)的高電平比例,實現(xiàn)用電器輸出功率的控制[7]。

4.5PID算法程序控制

本設(shè)計中選擇增量式數(shù)字PID控制算法[8]。在主程序中初始化PID后,系統(tǒng)的溫度采集實時刷新;在恒溫系統(tǒng)開啟狀態(tài)下,通用定時器每隔500ms自動根據(jù)當(dāng)前溫度與設(shè)定溫度偏差,調(diào)用一次PID算法程序計算輸出量的變化。結(jié)合上述過程實時更新PWM的輸出占空比,即可實現(xiàn)用電器功率的動態(tài)改變,從而控制加熱片、制冷片工作,實現(xiàn)水恒溫的調(diào)節(jié)與控制。

5實驗數(shù)據(jù)采集與分析

對于系統(tǒng)恒溫測定,采用控制變量法,在室溫22℃下控制加熱水量為1L,開啟設(shè)備后,在恒溫池中溫度即將達(dá)到設(shè)定溫度時開始計數(shù),每分鐘記錄一次溫度讀數(shù),設(shè)定恒溫溫度值下半小時內(nèi)記錄多組溫度變化,并根據(jù)數(shù)據(jù)進(jìn)行繪圖,如圖4所示。從溫度變化曲線上可以看出,曲線基本趨向于直線,穩(wěn)態(tài)溫度上下浮動范圍在±0.1℃之間,即穩(wěn)態(tài)誤差約為±0.1℃,溫度波動趨于穩(wěn)定。在水恒溫控制過程中,環(huán)境溫度、元器件功率等因素的影響難以避免,這就會影響到恒溫范圍的測定,考慮到安全性和系統(tǒng)不足,僅在17~35℃范圍內(nèi)測定了溫度調(diào)節(jié),故本研究中重點(diǎn)測定系統(tǒng)穩(wěn)態(tài)。不過類比實驗搭建,采用工業(yè)化或電器化配置則會有更明顯的反饋,并且可測定更大的恒溫范圍。

6結(jié)語

本文設(shè)計以STM32F103C8T6的MCU為主控,結(jié)合相關(guān)功能電路及模塊,協(xié)調(diào)完成監(jiān)測與控制,以便實現(xiàn)水溫恒定。具體總結(jié)為:(1)搭建系統(tǒng)基本模型,完成各模塊初始化配置與信息反饋顯示;(2)解決恒溫的監(jiān)測準(zhǔn)備,實現(xiàn)基于DS18B20的多點(diǎn)測溫;(3)配置并輸出周期為10ms的PWM;(4)成功為系統(tǒng)加入PID,調(diào)節(jié)PWM實時控制調(diào)整用電元器件的輸出功率;(5)限于加熱、降溫器件功率,實現(xiàn)了小范圍內(nèi)的恒溫,但是恒溫穩(wěn)態(tài)誤差控制為±0.1℃。后期對該恒溫系統(tǒng)功能可以補(bǔ)充系統(tǒng)數(shù)據(jù)及狀態(tài)上發(fā)功能,結(jié)合物聯(lián)網(wǎng)技術(shù)使得設(shè)備更加智能化。思路是將系統(tǒng)內(nèi)部信息通過串口,結(jié)合ESP8266無線傳輸模塊實時上發(fā)給上位機(jī),當(dāng)前上位機(jī)為TCPSERVER,即后期開發(fā)移植可將設(shè)備聯(lián)網(wǎng)優(yōu)化,實現(xiàn)物聯(lián)網(wǎng)智能化控制。除了方便后期開發(fā)移植,也在很大程度上使設(shè)備設(shè)計更加具有智能化特點(diǎn)。

作者:李康 周薇 王想實 單位:無錫職業(yè)技術(shù)學(xué)院