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

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

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

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

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

關鍵詞:恒溫控制;STM32F103;DS18B20;PWM;PID算法;智能控制

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

1智能水恒溫控制監測裝置的整體設計

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

2硬件模塊的設計與選型

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

2.1硬件設計

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

2.2硬件選型

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

3核心控制算法的選擇

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

4實施過程

4.1核心板上電、關鍵元器件初始化和檢查

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

4.2點亮OLED

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

4.3DS18B20傳感器多點測溫

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

4.4PWM控制

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

4.5PID算法程序控制

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

5實驗數據采集與分析

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

6結語

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

作者:李康 周薇 王想實 單位:無錫職業技術學院