基于Cortex-M0智能水溫監(jiān)控系統(tǒng)的優(yōu)化
0 引言
水溫控制在工業(yè)生產(chǎn)和日常生活中都有著廣泛的應(yīng)用,如恒溫飲水機、淋浴系統(tǒng)都要用到溫度控制。工業(yè)生產(chǎn)中水溫控制系統(tǒng)應(yīng)用更為廣泛,如鍋爐以及為一些化學反應(yīng)提供恒溫的水浴環(huán)境等,都要求系統(tǒng)能提供穩(wěn)定精確的溫度控制。
然而,在實際生活和工業(yè)生產(chǎn)中,很多水溫控制系統(tǒng)并不能滿足人們的要求。從國內(nèi)來看,雖然溫控系統(tǒng)在各行各業(yè)的應(yīng)用已經(jīng)很廣泛,但總體水平卻不是很高。使用者也不能根據(jù)需要設(shè)定任意的溫度,人機交互不夠友好。安全方面,現(xiàn)在主流的溫度控制系統(tǒng)都是現(xiàn)場進行控制,一旦設(shè)備出現(xiàn)故障,操作人員的安全就可能受到威脅。
系統(tǒng)是模型論證性實驗,通過MCU 控制小型加熱杯的加熱功率來精確控制水溫,從而驗證該水溫監(jiān)控系統(tǒng)方案的可行性。在設(shè)計該控制系統(tǒng)時,從安全方面考慮,采用了控制現(xiàn)場和監(jiān)控中心分離的設(shè)計思想,即在需要對水溫進行控制的地方設(shè)計一個控制中心,在遠離控制現(xiàn)場設(shè)計一個可移動、便攜式監(jiān)控中心。這樣即使設(shè)備發(fā)生故障也不會對操作人員造成人身傷害。
1 系統(tǒng)總方案
系統(tǒng)采用溫度傳感器測量水溫,將數(shù)據(jù)傳送給處理器,經(jīng)處理后在顯示屏上實時顯示。當實時水溫與用戶設(shè)定的溫度不相等時,系統(tǒng)將自動進行調(diào)節(jié)(加熱或散熱)。測得的數(shù)據(jù)可長久保存,掉電不丟失,且可以將數(shù)據(jù)打印出來。通過控制算法控制加熱電路,使控制精度更高。系統(tǒng)如圖1 所示。
圖1 系統(tǒng)設(shè)計總框架
1.1 硬件電路設(shè)計
系統(tǒng)中采用溫度傳感器測量水溫,將數(shù)據(jù)傳送給處理器,經(jīng)過處理后在顯示屏上實時顯示。當實時水溫與用戶設(shè)定的溫度不相等時系統(tǒng)將自動進行調(diào)節(jié)(加熱或散熱)。測得的數(shù)據(jù)可長久保存,掉電不丟失,且可以將數(shù)據(jù)打印出來。通過控制算法控制加熱電路,使控制精度更高。系統(tǒng)硬件設(shè)計如圖2 所示。
● MCU。選擇Cortex-M0 的LPC1114 作為主控制器。
● 人機接口電路。采用串口屏作為顯示屏,型號為ZTM480272S43-0WT。集成了4.3 寸觸摸真彩屏、簡易串口指令控制功能于一身,內(nèi)置中英文字庫,支持大容量存儲圖片數(shù)據(jù),為用戶提供更為多樣性、實用性的顯示終端平臺。
● 數(shù)據(jù)打印電路。使用MTP58-FT4B-T1 微型熱敏打印機模塊。
● 數(shù)據(jù)存取電路。選用MX25L1606E 作為存儲介質(zhì)。MX25L1606D 與MCU 通過SPI 協(xié)議進行通信。
● 實時時鐘電路。選擇NXP 公司的PCF8563,其沒有內(nèi)置晶振,因此硬件設(shè)計時需要提供32.768 kHz的時鐘。
● 無線通信電路。采用nRF24L01 無線通信模塊通過SPI 與MCU 通信。
● 溫度采集電路。采用溫度傳感器DS18B20,可以通過VDD 引腳接入一個外部電源供電,或者工作于寄生電源模式,DS18B20 通過單總線與MCU 連接。
● 加熱控制電路。采用電磁繼電器控制大功率加熱電路,控制電路(弱電流)接1、2 腳,被控制電路(強電流)接5 腳。當控制電路斷開時,銜鐵受彈簧的彈力作用與4 接通,輸出電路斷開;當控制電路導通時,鐵芯在周圍產(chǎn)生磁場,將銜鐵下吸至5,輸出電路導通,從而達到小信號控制大功率電路的目地。
圖3 加熱控制電路
1.2 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件采用模塊化編程思路,每個功能模塊的驅(qū)動程序和應(yīng)用程序分開設(shè)計。驅(qū)動程序包括:串口屏底層驅(qū)動、I2C 總線協(xié)議驅(qū)動、單總線驅(qū)動、SPI 驅(qū)動等。應(yīng)用程序包括:人機界面、實時時鐘和無線通信等。后臺監(jiān)控系統(tǒng)和現(xiàn)場控制系統(tǒng)的總軟件流程分別如圖4、圖5 所示。
圖4 后臺系統(tǒng)軟件流程圖
圖5 現(xiàn)場控制軟件流程圖
在本設(shè)計中,根據(jù)測得的溫度信號通過控制算法算出所需的控制信號量,再根據(jù)該信號量來控制加熱裝置,從而達到精確控制溫度的目的,系統(tǒng)中用的是增量式PID 控制。
PID 控制算法中的難點和重點是參數(shù)的整定。在實際應(yīng)用中,工程師們很少使用復(fù)雜的數(shù)學公式、算法來計算PID 參數(shù),更多的是利用經(jīng)驗來對PID 的參數(shù)進行整定。傳統(tǒng)的PID 經(jīng)驗調(diào)節(jié)大體分為以下幾步:
● 關(guān)閉控制器的I 和D 元件,加大P 元件,使系統(tǒng)產(chǎn)生振蕩;
● 減小P,使系統(tǒng)找到臨界振蕩點;
● 加大I,使系統(tǒng)達到設(shè)定值;
● 重新上電,觀察超調(diào)、振蕩和穩(wěn)定時間是否符合
系統(tǒng)要求;
● 針對超調(diào)和振蕩的情況適當增加微分項。
在實際應(yīng)用中尋找I 和D 的值并非易事,如果能根據(jù)經(jīng)典的齊格勒- 尼古拉斯公式(Ziegler-Nichols,簡稱ZN 法)來初步確定I 和D 元件的參數(shù),會對調(diào)試起很大的幫助作用。
經(jīng)過多年的發(fā)展,Ziegler-Nichols 方法已經(jīng)發(fā)展成為一種在參數(shù)設(shè)定中,處于經(jīng)驗和計算法之間的中間方法。這種方法可以為控制器確定非常精確的參數(shù),在此之后也可進行微調(diào)。Ziegler-Nichols 方法分為以下兩步:
● 構(gòu)建閉環(huán)控制回路,確定穩(wěn)定極限;
● 根據(jù)公式計算控制器參數(shù)。
實踐表明,在調(diào)試PID 控制器時,使用Ziegler-Nichols 法可以快速、精確地算出各參數(shù),之后再配以微調(diào)便可以得到理想的效果。
2 系統(tǒng)調(diào)試
在系統(tǒng)整體調(diào)試中,繼電器輸出口外接一個300 W的小型加熱棒,通過加熱1 L 清水來檢測系統(tǒng)的準確性、穩(wěn)定性和可靠性。人機接口主界面如圖6 所示。經(jīng)調(diào)試,界面上的各個按鍵功能都正常,時間可讀可改,溫度設(shè)置完成后通過無線模塊自動發(fā)往控制現(xiàn)場,控制現(xiàn)場開始工作并返回實時水溫。nRF24L01 無線模塊通信距離最遠能達到100 m,操作人員可遠離控制現(xiàn)場,提高了安全性。
圖6 主界面
通過系統(tǒng)調(diào)試,水溫控制效果如表1 所示。其中最小溫度和最大溫度是在實時水溫第1 次到達設(shè)置的水溫時起,實時水溫的最小值和最大值。
通過表1 可以看出,在40 ~ 80 ℃區(qū)間水溫能精確到±0.5 ℃以內(nèi),高于80 ℃時精度會有所降低,誤差在±1.1 ℃左右,精度能夠滿足要求。
3 結(jié)束語
系統(tǒng)通過實際操作驗證取得成功,從安全方面考慮,采用了控制現(xiàn)場和監(jiān)控中心分離的設(shè)計思想,這樣即使設(shè)備發(fā)生故障也不會對操作人員造成人身傷害,優(yōu)化了整個水溫監(jiān)控過程。
參考文獻:
[1] 曾鳳.基于STM32及PID-PWM的智能水溫監(jiān)控系統(tǒng)設(shè)計[J].成都工業(yè)學院學報.2019(6):24-28.
[2] 甄麗靖.基于選擇PID算法的供熱系統(tǒng)水溫智能控制方法[J].自動化應(yīng)用.2020(11):13-14.
[3] 肖軍.基于無線通信技術(shù)的魚缸遠程實時監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2020(8):2024-2027.
[4] 李寧.基于MDK的LPC1100處理器開發(fā)應(yīng)用[M].1版.北京:北京航空航天大學出版社,2010.
[5] 周立功.C程序設(shè)計高級教程[M].北京:北京航空航天大學出版社,2012,17-28.
(本文來源于《電子產(chǎn)品世界》雜志2021年11月期)
評論