朱少華 梁鑒如
關(guān)鍵詞:物聯(lián)網(wǎng);烤箱;STM32;遠程管理
隨著科技水平的不斷提高,智能化的遠程設(shè)備需求越來越高,物聯(lián)網(wǎng)作為當(dāng)下重要的科學(xué)技術(shù),正在進入我們的生活,智能化的烘烤設(shè)備也不例外。
傳統(tǒng)的烤箱通常采用機械式的控溫方式,需要烘烤人員依據(jù)多年的烘烤經(jīng)驗來設(shè)置相應(yīng)的烘烤時間和溫度,同時需要烘烤人員人工監(jiān)控烤箱,導(dǎo)致商家的運營成本較高。近幾年才出現(xiàn)的低功耗廣域網(wǎng)(LPWA)和NB-IoT技術(shù)能夠提供百倍于4G的連接規(guī)模、長達10年的設(shè)備壽命,逐漸成為我國物聯(lián)網(wǎng)技術(shù)發(fā)展的主流。因此設(shè)計一種采用NB-IoT技術(shù)、以STM32為控制器的智能烤箱,實現(xiàn)對烤箱烘烤運行狀態(tài)的遠程監(jiān)控,并且可以在Web界面上遠程下載相應(yīng)的烘烤菜單,使烤箱管理更加便捷,大大減少了商家的運營成本。
1系統(tǒng)總體框架設(shè)計
智能烤箱遠程管理系統(tǒng)總體框架如圖1所示,由四層結(jié)構(gòu)組成。第一層為數(shù)據(jù)采集層,STM32控制器通過溫度傳感器將采集到的烤箱溫度儲存在控制器中,并在烤箱操作面板上進行顯示。STM32控制器將每次通過面板設(shè)置的烘烤面包的個數(shù)及烤箱運行狀態(tài)和各種警報數(shù)據(jù)儲存起來,并利用NB-IoT模塊將數(shù)據(jù)發(fā)送到移動NBIoT基站;第二層為通信層,烤箱烘烤數(shù)據(jù)通過NB
IoT模塊上傳到Web服務(wù)器端;第三層為應(yīng)用服務(wù)層,負責(zé)匯聚烤箱各種運行數(shù)據(jù),并將數(shù)據(jù)存儲在服務(wù)器上;第四層是用戶層,管理人員可以通過操作界面下發(fā)烤箱的烘烤菜單,觀察每臺烤箱的運行狀況,對故障烤箱進行定位。
2系統(tǒng)硬件設(shè)計
2.1烤箱控制硬件電路設(shè)計
烤箱控制硬件系統(tǒng)如圖2所示,由MCU、電源模塊、NB-IoT通信模塊、顯示模塊、電源模塊、輸出控制模塊、溫度檢測模塊組成。圖2中MCU選用STM32F103VCT6為控制器,該型號為32位Cortex_M3,具有100引腳,F(xiàn)LASH容量為256KB,封裝為LQFP,工作溫度為-40-105℃,可以滿足在保溫層與烤箱機殼之間正常工作。
2.1.1烤箱溫度檢測電路設(shè)計
烤箱工作溫度為0-300℃,選用PTlOO鉑熱電阻,它的測量范圍為-200℃~+850℃,阻值會隨著溫度的變化而改變。在100℃時PTlOO的阻值約為138.5,隨著溫度上升它的阻值是成勻速增長的。
溫度檢測模塊如圖3所示。TL431的作用是提供一個非常準(zhǔn)確穩(wěn)定的電壓4. 096 V,R52、R53、R54和PTlOO組成橋式電路,LM358對橋式電路轉(zhuǎn)化的電壓進行放大,方便MCU采樣。
當(dāng)烤箱內(nèi)溫度改變時,PTlOO的電阻改變。通過電橋?qū)㈦娮璧淖兓D(zhuǎn)化為電壓變化,再通過運放電路將電壓信號放大,MCU痛過A/D轉(zhuǎn)換采集電壓信號,經(jīng)過運算得到烤箱內(nèi)部的溫度。MCU通過串口UART向NB-IoT通信模塊與Web服務(wù)器進行數(shù)據(jù)交換。電源模塊采用AC/DC開關(guān)電源將220V交流電轉(zhuǎn)換成24 V直流,再轉(zhuǎn)換成5V、3.8 V、3.3 V電壓,分別給運放、NBIoT通信模塊、MCU供電。
2.1.2加熱控制電路設(shè)計
烤箱的加熱管的工作電壓為220V交流電,內(nèi)阻為18。由于傳統(tǒng)的電磁繼電器高頻率工作時噪聲大,而且電壓切換時接觸點會產(chǎn)生電火花,因此采用無觸點開關(guān)的器件——固態(tài)繼電器來控制加熱管電壓的通斷,可達到無觸點無火花地接通和斷開電路的目的。如圖4所示,為加熱控制電路圖。由于繼電器的線圈工作電壓為24V,單片機不能直接控制,因此使用兩級控制。由單片機控制三極管,再由三極管控制MOS管來控制繼電器的線圈通電。
單片機控制電路與繼電器控制電路分離設(shè)計。將單片機控制系統(tǒng)以及通信系統(tǒng)集成在顯示屏背后。該區(qū)域工作溫度低,烤箱工作時不會對單片機系統(tǒng)以及通信系統(tǒng)造成影響。繼電器控制系統(tǒng)以及溫度采集電路離加熱管較近。利用烤箱內(nèi)的石英棉隔溫,保證其正常工作。
2.2NB-IoT模塊電路設(shè)計
通信電路選用NB71模組,根據(jù)芯片手冊推薦3.8V為最佳工作電壓,由電源模塊產(chǎn)生3.8V供電。本模塊將烤箱的運行狀況的數(shù)據(jù)發(fā)給服務(wù)器,服務(wù)器通過NB71模組將烘烤菜單下發(fā)至烤箱。NB-IoT無線通信模塊設(shè)計電路如圖5、圖6所示。
3系統(tǒng)軟件設(shè)計
3.1控制器軟件設(shè)計
如圖7所示為烤箱上電初始化,包括I/O初始化、計時器初始化、LCD與觸摸屏初始化、NB-IoT初始化以及ADC采樣初始化。本系統(tǒng)使用了3個定時器分別用于PWM信號的產(chǎn)生、溫度電壓的掃描和輸入捕獲,對烤箱的加熱管進行實時控制,然后烤箱的溫度檢測經(jīng)過反饋調(diào)節(jié)來提高加熱管控制的精度。
如圖8所示是系統(tǒng)內(nèi)部自檢流程圖。系統(tǒng)初始化的計時器用以觸發(fā)定時中斷。系統(tǒng)每5S檢測一次系統(tǒng)性能。檢測NB-IoT信號是否能夠順利收發(fā),SD卡是否插好、溫度傳感器是否存在脫落情況以及烤箱內(nèi)部溫度是否超過合理范圍,推算出繼電器的健康情況。
根據(jù)烤箱實際的加熱過程,設(shè)計分段式加熱的控制算法。在實際的面包烤制的過程中,烤箱需要空載加熱至預(yù)熱的目標(biāo)溫度再放人待烤面團。此后的溫度控制更加精細,根據(jù)不同的面包,控制其溫度達到加熱的目標(biāo)溫度。根據(jù)面包烤制過程的這一特性,將加熱管工作分為全速加熱預(yù)熱工作模式以及由PID精確控制烘烤加熱模式兩種。其控制流程圖如圖9所示。
當(dāng)控制參數(shù)或菜單需要整體更新時,上位機向各個烤箱的NB-IoT通信模塊發(fā)送指令以及更改內(nèi)容,這使得智能烤箱便于統(tǒng)一地管理。其控制流程圖如圖10所示。
串口接收中斷服務(wù)程序負責(zé)的是按協(xié)議接收服務(wù)器通過NB-IoT模塊的烤箱烘焙方案進行解析,在烤箱界面進行顯示。
3.2服務(wù)器平臺設(shè)計
軟件設(shè)計為服務(wù)器端軟件設(shè)計,負責(zé)建立通訊及數(shù)據(jù)交互。將服務(wù)器搭建好后,程序會創(chuàng)建一個Worker啟動4個進程來對外提供服務(wù),負責(zé)監(jiān)聽固定端口。當(dāng)端口收到消息后,程序?qū)⑾⒎指顬榭鞠涮?、操作符、狀態(tài)三部分,根據(jù)消息種類進行存儲、更新等相關(guān)操作。處理完成后,對將要返回的消息進行處理,加入幀頭幀尾,最后通過send命令返回數(shù)據(jù)。程序流程圖如圖11所示。
在通訊部分,使用Apache搭建Web服務(wù)器,用PHP語言創(chuàng)建Worker建立TCP通訊。系統(tǒng)通訊方式有定時通訊和上電通訊兩種方式,定時通訊使用152操作符,上電通訊使用151操作符。在數(shù)據(jù)傳輸部分,數(shù)據(jù)分為圖片數(shù)據(jù)和普通字符串?dāng)?shù)據(jù),發(fā)送方式有所不同,字符串加入幀頭幀尾完成預(yù)處理后可直接發(fā)送給烤箱,圖片格式要轉(zhuǎn)化為二進制字符串分段發(fā)送。管理員可在網(wǎng)頁設(shè)置烤箱和烘焙方案,若有烤箱信息變更,可在烤箱上電時對烤箱信息進行傳輸、變更。
3.3數(shù)據(jù)通信協(xié)議設(shè)計
控制器與服務(wù)器之間利用NB-IoT模塊作為無線通信,利用私有的通信協(xié)議進行數(shù)據(jù)收發(fā)。
本系統(tǒng)制定了烤箱控制器與服務(wù)器之間的TCP通信協(xié)議,與服務(wù)器通訊時需要先與服務(wù)器建立連接,再進行數(shù)據(jù)傳輸。烤箱與服務(wù)器之間的通信協(xié)議具體內(nèi)容如表1所示。數(shù)據(jù)發(fā)送的格式采用內(nèi)容為“start”的幀頭,和內(nèi)容為“end”的幀尾,通信的目的地址為Ox00,端口號為目的地址的端口號,數(shù)據(jù)內(nèi)容包括烤箱號、操作符、狀態(tài)、圖片等信息。
4人機交互界面設(shè)計
將觸摸屏技術(shù)應(yīng)用在本次的設(shè)計當(dāng)中,通過多級式菜單設(shè)定烤箱烘烤菜單,設(shè)計了人機交互界面,如圖12所示,直觀地顯示了主控系統(tǒng)中采樣到的溫度數(shù)據(jù),增進了人機交互的靈活性,具有一定的推廣價值。
5測試結(jié)果分析
在完成烤箱與服務(wù)器的對接后,對其接收返回的數(shù)據(jù)進行了測試。經(jīng)過測試,服務(wù)器程序可以準(zhǔn)確獲取烤箱發(fā)送的各條信息并正確操作。
使用15號烤箱多次發(fā)送操作符及狀態(tài)。數(shù)據(jù)接收測試結(jié)果如圖13所示,數(shù)據(jù)庫信息如圖14所示。
通過測試,此系統(tǒng)實現(xiàn)了服務(wù)器對烤箱運行數(shù)據(jù)的接收、處理及返回,定時對烤箱發(fā)送信息,同時返回數(shù)據(jù)的傳輸不會遺漏,符合系統(tǒng)需求。
在完成烤箱整體設(shè)計及制作后,進行了實物測試。首先測試了智能烤箱的功能。之后對其加熱性能進行了進一步的測試。測試現(xiàn)場如圖15所示。
圖16傳統(tǒng)機械式烤箱加熱溫度變化數(shù)據(jù),圖17利用改進的分段PID控制算法控制的烤箱加熱溫度變化數(shù)據(jù)。對比測試傳統(tǒng)的旋鈕式溫控系統(tǒng)的加熱時間以及智能烤箱分段控制的加熱時間,測試結(jié)果顯示,智能烤箱的溫度響應(yīng)更加迅速,溫度控制性能更加優(yōu)越。
6結(jié)論
針對傳統(tǒng)烤箱,基于NB-IoT技術(shù)并以STM32為控制器的智能烤箱遠程管理系統(tǒng),實現(xiàn)了通過Web客戶端對烤箱的遠程管理,可為大規(guī)模的烤箱遠程管理系統(tǒng)的設(shè)計提供參考。