基于機(jī)智云的STC單片機(jī)水溫智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
本文設(shè)計(jì)了一種物聯(lián)網(wǎng)的水溫控制系統(tǒng),包括機(jī)智云物聯(lián)網(wǎng)平臺,DS18B20水溫傳感器、水溫主控制器和通信模塊STC單片機(jī)、ESP8266無線模塊等。系統(tǒng)通過采集當(dāng)前水溫的狀態(tài)和按鍵的控制狀態(tài),采用PID算法得到控制值,輸出信息給加熱驅(qū)動和直流電機(jī)模塊,實(shí)現(xiàn)水溫的加熱,同時通過并口和通信模塊連接,通信模塊通過串口和ESP8266連接,ESP8266通過WiFi連接物聯(lián)網(wǎng)平臺,實(shí)現(xiàn)溫度的遠(yuǎn)程監(jiān)測和控制。
關(guān)鍵詞:水溫控制,ESP8266,機(jī)智云,STC單片機(jī)
作者:張吉圭,貴州城市職業(yè)學(xué)院
1 系統(tǒng)總設(shè)計(jì)
系統(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è)計(jì)。
圖1 系統(tǒng)硬件模塊框圖
2 關(guān)鍵電路設(shè)計(jì)
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)壓電源,利用變壓器把220V交流變直流,通過橋式鎮(zhèn)流、濾波、穩(wěn)壓器件LM7805和LM1117RS-3.3分別得到5V和3.3V的工作電源。直流加熱電源采用集成24V/200W的開關(guān)電源供電。5V和3.3V的電源分別為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í)驗(yàn)和發(fā)現(xiàn),溫度在加熱過程中存在不均勻現(xiàn)象,會有不同溫區(qū)存在。為解決水溫不均勻的現(xiàn)象,設(shè)計(jì)一種攪拌裝置,在水溫加熱過程中周期性對加熱區(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)采用24V/200W直流電對加熱棒進(jìn)行加熱,加熱棒的溫度直接影響水的溫度,因此控制加熱棒溫度就能控制水的溫度。設(shè)計(jì)一種PWM(脈寬調(diào)制)信號對直流加熱棒的驅(qū)動電壓加熱時間進(jìn)行控制,進(jìn)而控制加熱的熱能,PWM信號是實(shí)際溫度與設(shè)定溫度的差值通過PID計(jì)算得到的一個控制值,能夠精確控制溫度信號。為使控制器的PWM輸出能夠控制24V/200W的驅(qū)動信號,用SSR單項(xiàng)固態(tài)繼電器設(shè)計(jì)了輸出驅(qū)動電路,經(jīng)反復(fù)實(shí)驗(yàn)表明,該驅(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è)計(jì)選擇STC單片機(jī)作為主控制器,編程語言選用C語言,編譯軟件選用軟件Keil。
3.1 系統(tǒng)軟件設(shè)計(jì)總體流程圖
整體系統(tǒng)軟件設(shè)計(jì)是由系統(tǒng)中不同功能模塊整合在一起實(shí)現(xiàn)系統(tǒng)功能。系統(tǒng)中包括PWM輸出程序設(shè)計(jì)、PID溫度控制程序、按鍵掃描程序、液晶顯示驅(qū)動程序、WiFi模塊通信程序、報(bào)警電路、DS18B20溫度傳感驅(qū)動程序及電機(jī)驅(qū)動攪拌裝置。根據(jù)軟件框架圖,設(shè)計(jì)程序流程圖,為程序的功能實(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í)驗(yàn)結(jié)果和數(shù)據(jù),采用先比例再積分,最后微分的實(shí)驗(yàn)湊試法進(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í)驗(yàn)和整定,電源為200W直流加熱系統(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ù)后,用串口連接ESP8266 WiFi模塊,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í)驗(yàn)數(shù)據(jù)結(jié)果
根據(jù)軟硬件測試,系統(tǒng)自檢正常,溫度顯示正常,通信正常。設(shè)定STC單片機(jī)控制水溫在一定范圍內(nèi),對整體水溫控制系統(tǒng)進(jìn)行測試,在20~60℃范圍內(nèi)實(shí)現(xiàn)多組設(shè)定,溫度控制實(shí)驗(yàn)效果如圖8所示。
圖8 溫度控制實(shí)驗(yàn)效果
通過實(shí)驗(yàn)結(jié)果分析,每個測試的目標(biāo)溫度反映實(shí)際和誤差,在相同測試環(huán)境下,將溫度計(jì)和溫度采集模塊所測得溫度進(jìn)行比對,將數(shù)值記錄得到表2,從而得到標(biāo)度誤差。
5 結(jié)束語
設(shè)計(jì)以STC單片機(jī)結(jié)合增量式PID、PWM脈寬輸出、機(jī)智云物聯(lián)網(wǎng)平臺,完成了系統(tǒng)軟硬件設(shè)計(jì),經(jīng)過綜合調(diào)試和測試,驗(yàn)證了該遠(yuǎn)程控制系統(tǒng)軟硬件設(shè)計(jì)結(jié)構(gòu)合理,性能可靠,操作方便。由于時間和實(shí)驗(yàn)條件限制,該系統(tǒng)設(shè)計(jì)仍有一些缺點(diǎn)和不足,沒有采用更高性能的處理器來完成硬件和軟件設(shè)計(jì),未來有待進(jìn)一步完善。
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















