劉偉
(貴州電子科技職業(yè)學(xué)院,貴州貴陽,550025)
水溫控制產(chǎn)品已廣泛應(yīng)用于人們?nèi)粘5纳a(chǎn)生活中,從熱水器、電飯煲、飲水機(jī)等家電產(chǎn)品到工業(yè)生產(chǎn)中的水溫控制器,人們對精確的水溫監(jiān)測控制和智能化交互的需求越來越迫切。隨著智能家居和工業(yè)云控制技術(shù)的迅猛發(fā)展,物聯(lián)網(wǎng)云平臺技術(shù)也迅速融入了我們的生活之中,各種智能家居、智能家電產(chǎn)品不斷出現(xiàn),針對水溫控制系統(tǒng)的控制精度和智能化交互水平較低的問題,本文提出基于物聯(lián)網(wǎng)云平臺和ZigBee 模塊的水溫控制系統(tǒng)設(shè)計。主要利用ZigBee 模塊、DS18B20 溫度傳感器和云平臺,實現(xiàn)基于IOT 云平臺遠(yuǎn)程實時監(jiān)測水溫,利用PID 算法對水溫進(jìn)行控制,經(jīng)實驗分析表明,所設(shè)計的系統(tǒng)在20℃~90℃范圍內(nèi),水溫控制精度達(dá)到±0.1℃,并利用云服務(wù)器和手機(jī)終端實現(xiàn)交互的智能化。
如圖1 所示為所設(shè)計系統(tǒng)的組成框圖,包括系統(tǒng)主控CC2530F256 模塊、溫度傳感器、無線傳輸模塊、加熱控制電路、上位機(jī)、手機(jī)端APP 和云平臺組成,通過上位機(jī)設(shè)定所需加熱溫度,控制器與傳感器實時數(shù)據(jù)做PID加熱控制,最后達(dá)到所需溫度并提示溫度達(dá)到。
圖1 水溫監(jiān)測控制系統(tǒng)組成框圖
系統(tǒng)控制利用PID 閉環(huán)控制算法,通過上位機(jī)軟件設(shè)定一個所需溫度,主控芯片采集溫度的傳感器數(shù)據(jù)并將結(jié)果反饋到PID 控制路線上控制加熱器,實現(xiàn)溫度的PID 閉環(huán)控制,達(dá)到穩(wěn)定后將溫度發(fā)給云平臺或手機(jī)APP。如圖2所示為系統(tǒng)PID 閉環(huán)控制原理框圖[1~2]。
圖2 系統(tǒng)PID 閉環(huán)控制原理框圖
系統(tǒng)PID 控制其輸出信號u(t) 為:
其中:Er(t) 為溫度變化量;u(t) 為控制溫度量。
對(2)式進(jìn)行拉普拉斯變換,得到系統(tǒng)PID 調(diào)節(jié)器的傳遞函數(shù)G(s) 為:
其中:Kp為比例系數(shù),Ki為積分系數(shù),Kd為微分系數(shù)。
PID 溫度控制算法在C 語言程序中實現(xiàn),首先假設(shè)系統(tǒng)采樣時間為T,則在第t 時刻溫度偏差為Er(t),積分控制環(huán)節(jié)用偏差累加用表示,微分控制環(huán)節(jié)用[Er(t)-Er(t-1)]/T斜率的形式表示,從而可以得到PID 離散表示形式。
然后,將(2)式離散化得到(4)式:
最后,再將(1)式代入(4)式,得到:
其中:JF 為積分前項值。
所設(shè)計系統(tǒng)通過PWM 來控制加熱控制器工作,需要確定PID 控制的三個參數(shù)Kp、Ki、Kd。
設(shè)定系統(tǒng)的溫度傳感器的采樣時間T=1s,在開環(huán)狀態(tài)之下,上位機(jī)記錄溫度隨時間變化的數(shù)據(jù),采用在不同溫度下重復(fù)試驗的方法,記錄溫度數(shù)據(jù)并得到實驗曲線,圖3為開環(huán)控制時溫度曲線。
圖3 開環(huán)控制時溫度曲線
圖中可知,上位機(jī)設(shè)定溫度為30℃,初始溫度為20℃,穩(wěn)定后的溫度與設(shè)置溫度存在1.3℃的誤差。通過Matlab 軟件輸入溫度控制模型并建立PID 溫度控制模塊,從而得到仿真溫控曲線,來確定溫控系統(tǒng)的PID參數(shù)。
系統(tǒng)設(shè)計分為硬件系統(tǒng)設(shè)計和軟件設(shè)計,首先系統(tǒng)硬件部分是主控芯片選用TI 公司的CC2530F256,該芯片內(nèi)部集成了低功耗、高性能的8051 內(nèi)核,支持8KB 的SRAM、256 KB 的Flash,12 位ADC、2個USART串口、DMA 和ZigBee 協(xié)議棧等功能,本系統(tǒng)主控硬件設(shè)計原理圖,如圖4 所示。
圖4 系統(tǒng)主控電路原理圖
溫度傳感器采用數(shù)字式溫度傳感器BS18B20、溫度傳感器與CC2530F256 芯片的P0_7 相連接,加熱控制器與主控P0_1、P0_2 I/O 口相連接。系統(tǒng)的無線傳輸模塊ESP8266,它內(nèi)置超低功耗32位RISC 處理器,時鐘速度最快為160MHz,支持實時操作系統(tǒng)和TCP/IP 協(xié)議,通過WiFi 網(wǎng)絡(luò)來連接云平臺和手機(jī)端APP,實現(xiàn)多平臺交互功能。本系統(tǒng)主控?zé)o線模塊連接原理圖[3~6],如圖5 所示。
圖5 無線傳輸模塊原理圖
如圖5所示,無 線傳輸模塊ESP8266 與主控CC2530F256的I/O 口P0_2、P0_3、VCC 和GND相連接,通過串口AT 指令主控向無線模塊發(fā)送命令,系統(tǒng)上電后設(shè)置工作模式、WiFi 名稱和密碼、云平臺地址和服務(wù)器端口等。
系統(tǒng)軟件由主控程序設(shè)計和上位機(jī)、云平臺和手機(jī)端APP 設(shè)計三個部分組成。
本系統(tǒng)主控程序設(shè)計由IAR 平臺開發(fā),首先系統(tǒng)開始進(jìn)行系統(tǒng)初始化,包括CC2530I/O 口、定時器、中斷和串口的初始化、ESP8266WiFi 網(wǎng)絡(luò)的初始化、溫度傳感器的初始化操作,具體的流程框圖如圖6 所示。
圖6 系統(tǒng)軟件流程框圖
主控的CC2530 實時讀取溫度傳感器的信息,并通過RS232 串口與PC 端上位機(jī)通信設(shè)置所需溫度值,得到傳感器實時值和設(shè)定值之后進(jìn)行PID 控制加熱器工作,直到得到所需溫度值,CC2530 單片機(jī)再將所得到溫度數(shù)據(jù),通過WIFI 無線網(wǎng)絡(luò)利用HTTP 的POST 協(xié)議送入云平臺實現(xiàn)云端實時顯示[7]。
上位機(jī)軟件采用Visual Studio 軟件利用C#語言進(jìn)行開發(fā),主要是由串口通信、溫度數(shù)據(jù)顯示、實時曲線顯示、溫度數(shù)據(jù)設(shè)置和溫度數(shù)據(jù)保存等功能模塊構(gòu)成。上位機(jī)軟件界面如圖7 所示。
圖7 系統(tǒng)上位機(jī)界面
系統(tǒng)云平臺部分,選用中國移動的PaaS 物聯(lián)網(wǎng)開放平臺—OneNET 云平臺,它可以利用MQTT 協(xié)議、HTTP、EDP、MODBUS 或多協(xié)議方式實現(xiàn)智能設(shè)備接入與開發(fā)部署,為智能家居產(chǎn)品及遠(yuǎn)程控制提供完善的物聯(lián)網(wǎng)解決方案。
本系統(tǒng)通過無線與OneNET 云平臺連接,從云端對溫度進(jìn)行遠(yuǎn)程監(jiān)測顯示、溫度數(shù)據(jù)存儲和遠(yuǎn)程控制功能,實現(xiàn)所設(shè)計系統(tǒng)的智能化交互控制[8]。系統(tǒng)云平臺操作界面如圖8 所示。
圖8 云平臺操作界面
為了驗證所設(shè)計系統(tǒng)控制溫度的精度,通過系統(tǒng)水溫加熱控制的溫度輸出與標(biāo)準(zhǔn)溫度計作對比試驗。實驗分別選取20℃~30℃、20℃~40℃、20℃~60℃、20℃~70℃、20℃~80℃、20℃~90℃的六組數(shù)據(jù)進(jìn)行對比實驗,當(dāng)標(biāo)準(zhǔn)溫度計在達(dá)到系統(tǒng)所設(shè)定溫度值時,記錄PID 控制輸出的溫度值,重復(fù)對比實驗三次記錄溫度穩(wěn)定后平均誤差,具體實驗數(shù)據(jù)如表1 所示。
表1 系統(tǒng)對比實驗數(shù)據(jù)
同時,在上述條件之下,將使用PID 控制和未使用PID控制的輸出溫度進(jìn)行對比,具體實驗數(shù)據(jù)如表2 所示。
表2 PID控制對比實驗數(shù)據(jù)
由表2 可知,在使用和未使用PID 控制的情況下的輸出溫度的誤差值對比,如圖9 所示。
圖9 PID 控制對比實驗誤差
本文針對現(xiàn)有水溫控制系統(tǒng)的控制精度和智能化交互水平較低的問題,提出了基于物聯(lián)網(wǎng)OneNET 云平臺的水溫控制系統(tǒng)設(shè)計方法,通過系統(tǒng)硬軟件的設(shè)計和實驗驗證,實現(xiàn)在水溫控制系統(tǒng)的智能化交互控制,并在溫度控制上加入PID 閉環(huán)控制,使得在20°C~90°C 的溫度范圍內(nèi),水溫的控制精度能達(dá)到±0.1℃,具有一定的實際應(yīng)用價值。