基于機(jī)智云的STC單片機(jī)水溫智能控制系統(tǒng)的設(shè)計與實(shí)現(xiàn)
作者簡介:張吉圭(1987—),男,侗族,貴州貴陽,講師,工程師,研究方向:嵌入式技術(shù),物聯(lián)網(wǎng)技術(shù)。
本文引用地址:http://2s4d.com/article/202111/429916.htm摘要:在實(shí)際的應(yīng)用案例中,抗干擾性和穩(wěn)定性好,控制精度達(dá)到0.1度,產(chǎn)生了工程意義。
隨著控制技術(shù)、測量儀器、物聯(lián)網(wǎng)技術(shù)的發(fā)展,在石油、能源、電力及化工生產(chǎn)過程中,應(yīng)用了越來越多先進(jìn)的方法、設(shè)備和控制測量技術(shù)。在眾多的先進(jìn)測量控制技術(shù)中,如何高精度控制水溫成為焦點(diǎn)課題之一,為越來越多的機(jī)構(gòu)所重視。在環(huán)境惡劣或溫度較高等場景,為了保證生產(chǎn)過程正常安全進(jìn)行,提高產(chǎn)品的質(zhì)量和數(shù)量,同時減輕工人的勞動強(qiáng)度和節(jié)約能源,及時準(zhǔn)確地得到溫度信息并對其進(jìn)行適時的控制,是許多工業(yè)場合重要的環(huán)節(jié)。一種典型的STC 單片機(jī)控制系統(tǒng)結(jié)合物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)溫度的遠(yuǎn)程監(jiān)測和控制,為實(shí)現(xiàn)水溫的智能化控制提供了可能。
1 系統(tǒng)總體設(shè)計
系統(tǒng)硬件包括STC 單片機(jī)控制電路、通信電路、液晶顯示電路、加熱驅(qū)動電路、溫度均勻攪拌裝置和無線WiFi 模塊組成的系統(tǒng)硬件裝置。系統(tǒng)硬件模塊連接如圖1 所示。系統(tǒng)軟件主要采用C 語言編寫,通過C語言和Keil 搭建軟件編程環(huán)境,機(jī)智云物聯(lián)網(wǎng)平臺和硬件電路開發(fā)板作為調(diào)試工具來完成系統(tǒng)設(shè)計。
2 關(guān)鍵電路設(shè)計
2.1系統(tǒng)主控模塊和通信模塊
在智能化控制方案中,系統(tǒng)采用兩個STC 單片機(jī)搭建方案,一個STC 單片機(jī)作為主控制器,負(fù)責(zé)信號的處理、顯示、輸出控制等。另一個STC 單片機(jī)作為通信控制器和ESP8266 無線WiFi 連接,解決通信中通信協(xié)議數(shù)據(jù)量大和控制器RAM 小的問題。其中ESP8266 無線WiFi 器件為核心的數(shù)據(jù)傳輸模塊,連接機(jī)智云物聯(lián)網(wǎng)平臺,數(shù)據(jù)通過通信鏈路實(shí)現(xiàn)傳輸,在機(jī)智云物聯(lián)網(wǎng)平臺上或終端進(jìn)行數(shù)據(jù)監(jiān)測。其硬件原理圖如圖2所示。
圖2 主控模塊和通信模塊硬件原理圖
2.2 系統(tǒng)工作電源及最小系統(tǒng)工作原理圖
系統(tǒng)工作電源采用直流穩(wěn)壓電源,利用變壓器把220 V 交流變直流,通過橋式鎮(zhèn)流、濾波、穩(wěn)壓器件LM7805 和LM1117RS-3.3 分別得到5 V 和3.3 V 的工作電源。直流加熱電源采用集成24 V/200 W 的開關(guān)電源供電。5 V 和3.3 V 的電源分別為STC 單片機(jī)最小系統(tǒng)和ESP8266 無線WiFi 模塊供電,其中STC 單片機(jī)最小系統(tǒng)包括電源電路、復(fù)位電路、時鐘電路及下載電路。硬件原理圖如圖3 所示。
圖3 系統(tǒng)工作電源及最小系統(tǒng)工作原理圖
2.3 信號采集及電機(jī)攪拌原理圖
溫度采集采用DS18B20 傳感器對水溫進(jìn)行采集,加熱系統(tǒng)采用直流加熱棒進(jìn)行加熱。在整個加熱和水溫采集環(huán)節(jié),發(fā)現(xiàn)采集的溫度點(diǎn)不一樣,得出溫度控制參數(shù)不一致,經(jīng)過不斷實(shí)驗和發(fā)現(xiàn),溫度在加熱過程中存在不均勻現(xiàn)象,會有不同溫區(qū)存在。為解決水溫不均勻的現(xiàn)象,設(shè)計一種攪拌裝置,在水溫加熱過程中周期性對加熱區(qū)的水進(jìn)行攪拌,使得DS18B20 能夠采集到較準(zhǔn)確的水溫值,在整定PID 過程中能夠得到更為準(zhǔn)確的PID 參數(shù),進(jìn)而提高系統(tǒng)穩(wěn)定性和可靠性。硬件原理圖如圖4 所示。
圖4 信號采集及電機(jī)攪拌硬件原理圖
2.4 信號輸出驅(qū)動及液晶顯示電路原理圖
系統(tǒng)采用24 V/200 W 直流電對加熱棒進(jìn)行加熱,加熱棒的溫度直接影響水的溫度,因此控制加熱棒溫度就能控制水的溫度。設(shè)計一種PWM(脈寬調(diào)制)信號對直流加熱棒的驅(qū)動電壓加熱時間進(jìn)行控制,進(jìn)而控制加熱的熱能,PWM 信號是實(shí)際溫度與設(shè)定溫度的差值通過PID 計算得到的一個控制值,能夠精確控制溫度信號。為使控制器的PWM 輸出能夠控制24 V/200 W 的驅(qū)動信號,用SSR 單項固態(tài)繼電器設(shè)計了輸出驅(qū)動電路,經(jīng)反復(fù)實(shí)驗表明,該驅(qū)動電路能夠滿足系統(tǒng)的要求。其顯示部分用帶中文字庫的字符液晶ST7920 控制的12864 顯示溫度數(shù)據(jù)和溫度設(shè)定,并實(shí)現(xiàn)溫度曲線的實(shí)時繪制和溫度控制時間的顯示。其硬件原理圖如圖5所示。
圖5 信號輸出驅(qū)動及液晶顯示電路原理圖
3 軟件流程架構(gòu)及算法
隨著通信技術(shù)的發(fā)展,STC單片機(jī)的功能越來越強(qiáng)大,有代表性的編譯軟件有Keil、IAR、CodeWarrior 等。代碼語言有匯編語言、C 語言、Java 語言等。C 語言具有良好的邏輯及功能性,本次設(shè)計選擇STC單片機(jī)作為主控制器,編程語言選用C 語言,編譯軟件選用軟件Keil。
3.1 系統(tǒng)軟件設(shè)計總體流程圖
整體系統(tǒng)軟件設(shè)計是由系統(tǒng)中不同功能模塊整合在一起實(shí)現(xiàn)系統(tǒng)功能。系統(tǒng)中包括PWM 輸出程序設(shè)計、PID 溫度控制程序、按鍵掃描程序、液晶顯示驅(qū)動程序、WiFi 模塊通信程序、報警電路、DS18B20 溫度傳感驅(qū)動程序及電機(jī)驅(qū)動攪拌裝置。根據(jù)軟件框架圖,設(shè)計程序流程圖,為程序的功能實(shí)現(xiàn)、算法編碼、軟硬件調(diào)試、后期維護(hù)提供條件。程序總體流程圖如圖6 所示。
圖6 程序總體流程圖
3.2 系統(tǒng)核心控制和通信算法理論
PID 溫度控制是一種成熟技術(shù),具有結(jié)構(gòu)簡單、易于理解和實(shí)現(xiàn)的特點(diǎn)。在工業(yè)控制中90% 以上的控制系統(tǒng)回路都具有PID 結(jié)構(gòu)。PID 調(diào)節(jié)將設(shè)定值W 與實(shí)際值y 進(jìn)行比較構(gòu)成偏差,并將其比例、積分、微分通過線性組合構(gòu)成控制量。采用PID 控制效果的好壞很大程度上取決于PID 三個控制參數(shù)的確定。PID 控制主要構(gòu)成如圖7 所示。
圖7 模擬PID控制
PID控制的動態(tài)方程為:
其中,Kp 為調(diào)節(jié)器的比例放大系數(shù);Ki 為積分時間常數(shù);Kd 為微分時間常數(shù)。
水溫系統(tǒng)的智能控制采用PID 增量式算法,根據(jù)實(shí)驗結(jié)果和數(shù)據(jù),采用先比例再積分,最后微分的實(shí)驗湊試法進(jìn)行PID 參數(shù)整定。比例系數(shù)的整定取消積分和微分的作用,采用純比例控制,將比例系數(shù)從小到大調(diào)節(jié),觀察系統(tǒng)的響應(yīng),直到響應(yīng)速度快且有一定范圍的超調(diào),得出比例系數(shù)。積分部分的整定,如果系統(tǒng)的靜態(tài)差達(dá)不到系統(tǒng)要求,這時需加入積分,整定時積分系數(shù)由大到小逐漸遞減,觀察輸出,直至系統(tǒng)靜態(tài)誤差減小或消除,得出積分系數(shù)。微分系數(shù)的整定,如系統(tǒng)通過比例和積分調(diào)節(jié)都不能達(dá)到要求,需加入微分系數(shù),同樣,整定時使微分系數(shù)從小到大逐漸增加,觀察超調(diào)量和穩(wěn)定性,同時微調(diào)比例系數(shù)和微分系數(shù),觀察系統(tǒng)的輸出響應(yīng)、超調(diào)量和穩(wěn)定性。通過不斷實(shí)驗和整定,電源為200 W 直流加熱系統(tǒng),加熱0.5 升的純凈水,在溫度變化為20 ℃時,超調(diào)量不超過0.1 ℃,得出PID 的比例系數(shù)為19,積分系數(shù)為0.036,微分系數(shù)為0.8,能夠使PWM 輸出達(dá)到系統(tǒng)控制要求。
智能水溫控制系統(tǒng),通信部分主要是STC 單片機(jī)之間的通信、STC 單片機(jī)和ESP8266 WiFi 的通信,以及ESP8266 WiFi 和機(jī)智云之間的通信。由于STC 單片機(jī)模擬了PWM 的定時輸出,如果利用串口進(jìn)行通信,會出現(xiàn)不穩(wěn)定現(xiàn)象,為避免這種現(xiàn)象,STC 單片機(jī)之間的通信采用并行口,結(jié)合P15、P16 實(shí)現(xiàn)并口通信協(xié)議,協(xié)議內(nèi)容如表1 所示。STC 單片機(jī)通信控制從P0 端口接收到溫度控制器傳輸?shù)臄?shù)據(jù)后,用串口連接ESP8266WiFi 模塊,ESP8266 WiFi 模塊連接當(dāng)前環(huán)境的路由器熱點(diǎn),與機(jī)智云服務(wù)器建立TCP 連接,進(jìn)行數(shù)據(jù)傳輸。同時,手機(jī)終端或WEB 終端發(fā)送控制命令,通過命令數(shù)據(jù)→機(jī)智云服務(wù)器→ ESP8266 WiFi → STC 單片機(jī)通信控制→ STC 單片機(jī)控制系統(tǒng)的通信流程,對溫度進(jìn)行遠(yuǎn)程監(jiān)控。
4 實(shí)驗數(shù)據(jù)結(jié)果
根據(jù)軟硬件測試,系統(tǒng)自檢正常,溫度顯示正常,通信正常。設(shè)定STC 單片機(jī)控制水溫在一定范圍內(nèi),對整體水溫控制系統(tǒng)進(jìn)行測試,在20 ~ 60 ℃范圍內(nèi)實(shí)現(xiàn)多組設(shè)定,溫度控制實(shí)驗效果如圖8 所示。
圖8 溫度控制實(shí)驗效果
通過實(shí)驗結(jié)果分析,每個測試的目標(biāo)溫度反映實(shí)際和誤差,在相同測試環(huán)境下,將溫度計和溫度采集模塊所測得溫度進(jìn)行比對,將數(shù)值記錄得到表2,從而得到標(biāo)度誤差。
5 結(jié)束語
設(shè)計以STC 單片機(jī)結(jié)合增量式PID、PWM 脈寬輸出、機(jī)智云物聯(lián)網(wǎng)平臺,完成了系統(tǒng)軟硬件設(shè)計,經(jīng)過綜合調(diào)試和測試,驗證了該遠(yuǎn)程控制系統(tǒng)軟硬件設(shè)計結(jié)構(gòu)合理,性能可靠,操作方便。由于時間和實(shí)驗條件限制,該系統(tǒng)設(shè)計仍有一些缺點(diǎn)和不足,沒有采用更高性能的處理器來完成硬件和軟件設(shè)計,未來有待進(jìn)一步完善。
參考文獻(xiàn):
[1] 劉紅梅,譚傳武.基于AVR單片機(jī)的監(jiān)測系統(tǒng)設(shè)計[J].電子設(shè)計程,2021,13(29):66-71.
[2] 郝結(jié)來 ,王子權(quán).基于STM32的多通道溫濕度測量儀設(shè)計[J].電子設(shè)計工程,2021,11(29):74-79.
[3] 李杉,庹先國,張貴宇,等.基于STM32的多路溫度采集系統(tǒng)設(shè)計[J].四川理工學(xué)院學(xué)報(自然科學(xué)版),2018,31(3):49-53.
[4] 田二林,朱付保,張永霞,等.基于DSP的農(nóng)田土壤信息采集器的改進(jìn)設(shè)計[J].農(nóng)機(jī)化研究,2020(6): 216-219.
[5]張軍,李亞民.基于無人機(jī)的空氣質(zhì)量監(jiān)測系統(tǒng)設(shè)計[J].電子設(shè)計工程,2019,27(21):85-88.
[6] 張興超.智能灌溉遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計[J].中國科技信息,2019(24):58-59.
[7] 張鑫,許曉平.基于STM32的花園遠(yuǎn)程智能灌溉監(jiān)控系統(tǒng)[J].信息技術(shù),2020,44(8):89-92,97.
[8] 劉悅婷,李曉斌,孫偉剛,等.基于單片機(jī)多功能抽水灌溉系統(tǒng)的設(shè)計[J].軟件,2020,41(12):42-44.
[9] 王立剛.一種基于STC89C52和AD590的溫度測控系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2019,9(6):20-21.
(本文來源于《電子產(chǎn)品世界》雜志2021年10月期)
評論