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