周小超 劉建樹 李占妮 林華
摘 要:某生產(chǎn)設(shè)備控制器需對(duì)其表面溫度進(jìn)行測(cè)量,以實(shí)時(shí)掌握控制器工作溫度。為了進(jìn)行表面溫度多點(diǎn)測(cè)量,并進(jìn)行可視化實(shí)時(shí)檢測(cè),研制了一種基于STM32的溫度分布與可視檢測(cè)系統(tǒng)。STM32控制器作為系統(tǒng)的終端機(jī)使用,通過RS232協(xié)議與PC機(jī)進(jìn)行數(shù)據(jù)傳遞,在PC機(jī)上基于MATLAB GUI設(shè)計(jì)系統(tǒng)的上位機(jī)軟件,并在上位機(jī)上實(shí)現(xiàn)實(shí)時(shí)繪圖可視化檢測(cè)。系統(tǒng)設(shè)計(jì)了16個(gè)溫度測(cè)點(diǎn),在控制器表明以4×4陣列分布,通過設(shè)計(jì)轉(zhuǎn)接卡將16個(gè)傳感器測(cè)點(diǎn)與開發(fā)板連接。實(shí)驗(yàn)表明,系統(tǒng)運(yùn)行穩(wěn)定可靠,可應(yīng)用于需溫度采集的生產(chǎn)現(xiàn)場(chǎng)。
關(guān)鍵詞:STM32;溫度;RS232;MATLAB GUI;可視化
中圖分類號(hào):TP216? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):1673-260X(2021)11-0026-04
0 引言
生產(chǎn)設(shè)備的某些組件需在合適的溫度下工作,高溫度會(huì)影響組件某些電子元器件不能正常工作[1-3],因此對(duì)設(shè)備中重要的組件需對(duì)其工作溫度進(jìn)行實(shí)時(shí)檢測(cè),并做好冷卻措施。目前市場(chǎng)上存在多種多樣的溫度采集設(shè)備[4,5],有些設(shè)備可連接多個(gè)傳感器,但可將溫度數(shù)據(jù)保存到存儲(chǔ)器的設(shè)備較少,即便部分設(shè)備可將溫度數(shù)據(jù)保存,但僅保存溫度的數(shù)值,無法實(shí)現(xiàn)實(shí)時(shí)可視化采集與檢測(cè)。王子權(quán)[6]等基于STM32單片機(jī)設(shè)計(jì)實(shí)現(xiàn)了20路的熱電偶測(cè)溫,通過在STM32中移植剝奪式內(nèi)核UCOSIII操作系統(tǒng)實(shí)現(xiàn)了多任務(wù)同優(yōu)先級(jí)的時(shí)間片輪轉(zhuǎn)調(diào)度,基于STemWin界面設(shè)計(jì)系統(tǒng)進(jìn)行了操作界面設(shè)計(jì),但該系統(tǒng)僅可將采集的溫度數(shù)據(jù)保存至SD卡中,且溫度檢測(cè)界面不夠友好,僅使用STM32控制器導(dǎo)致數(shù)據(jù)處理能力不足。范虹興[7]等設(shè)計(jì)了一種基于STM32的開關(guān)柜母線溫度無線采集系統(tǒng),系統(tǒng)的采集節(jié)點(diǎn)具有唯一的地址,當(dāng)母線溫度高于設(shè)置的報(bào)警閾值時(shí),采集節(jié)點(diǎn)與中心節(jié)點(diǎn)同時(shí)報(bào)警,從而有效地預(yù)防了事故發(fā)生,但該系統(tǒng)的測(cè)點(diǎn)較少,采用無線設(shè)備傳輸數(shù)據(jù)容易造成數(shù)據(jù)缺失,無法實(shí)現(xiàn)對(duì)設(shè)備的實(shí)時(shí)可視化檢測(cè)。
本文基于STM32F4單片機(jī)研制了一種16路溫度采集與實(shí)時(shí)可視化檢測(cè)系統(tǒng),將16路傳感器集成在一個(gè)轉(zhuǎn)接卡上,轉(zhuǎn)接卡與STM32開發(fā)板連接,將傳感器線路連接至標(biāo)準(zhǔn)的USB接口上。溫度傳感器采用DS18B20,通過使用通用GPIO模擬DS18B20的單總線協(xié)議,通過任務(wù)信號(hào)量實(shí)現(xiàn)溫度測(cè)量任務(wù)間的逐個(gè)切換,并基于MATLAB GUI開發(fā)環(huán)境中設(shè)計(jì)系統(tǒng)的實(shí)時(shí)可視化檢測(cè)界面。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)整體組成
系統(tǒng)的整體組成包括:STM32F4單片機(jī)、5V電源、LED指示燈、復(fù)位電路、單片機(jī)晶振、RS232總線、傳感器轉(zhuǎn)接卡、DS18B201~DS18B2016,如圖1所示。單片機(jī)的具體型號(hào)為:STM32F429IGT6;5V電源采用標(biāo)準(zhǔn)的USB接口電源,經(jīng)穩(wěn)壓降壓芯片后成單片機(jī)標(biāo)準(zhǔn)的3.3V供電電源;LED指示燈在電源接通后自動(dòng)點(diǎn)亮;復(fù)位電路用于復(fù)位STM32單片機(jī);單片機(jī)晶振用于為單片機(jī)提供工作時(shí)序;RS232總線采用CH340G芯片進(jìn)行電平轉(zhuǎn)換,因此可在PC機(jī)上直接使用USB接口即可實(shí)現(xiàn)串口通信;傳感器轉(zhuǎn)接卡為一塊PCB板,板上集成16個(gè)標(biāo)準(zhǔn)USB接口,DS18B20的供電電源通過轉(zhuǎn)接卡實(shí)現(xiàn)與5V電源的接通。
1.2 傳感器轉(zhuǎn)接卡
傳感器轉(zhuǎn)接卡某單個(gè)傳感器電路如圖2所示,使用USB的D-引腳連接DS18B20的數(shù)據(jù)線,每個(gè)USB接口均帶5V電源為傳感器供電。
1.3 穩(wěn)壓降壓電路
穩(wěn)壓降壓電路如圖3所示,穩(wěn)壓降壓芯片采為:LM1117-3.3,以實(shí)現(xiàn)5V到3.3V的低壓差電壓調(diào)節(jié)。LED指示燈通過上拉1KΩ限流電阻與3.3V電源引腳連接。
1.4 DS18B20電路
選擇使用DALLAS半導(dǎo)體公司的DS18B20[8,9]數(shù)字溫度傳感器。DS18B20使用單總線傳輸協(xié)議直接輸出溫度的數(shù)字信號(hào)量,具有體積小,成本低,抗干擾能力強(qiáng),溫度測(cè)量精度高等特點(diǎn)。將傳感器的I/O引腳與單片機(jī)的其中1個(gè)通用GPIO連接,通過控制GPIO開關(guān)模擬傳感器的單總線通信時(shí)序,從而實(shí)現(xiàn)數(shù)據(jù)傳輸。
1.5 RS232轉(zhuǎn)接電路
如圖5所示,使用CH340G芯片將RS232的負(fù)邏輯電平轉(zhuǎn)換為標(biāo)準(zhǔn)的TTL電平,串口的發(fā)送引腳TXD與單片機(jī)的PA10引腳連接,接收引腳RXD與單片機(jī)的PA9引腳連接,CH340G芯片本身的晶振由Y3(12MHz)提供,晶振濾波電容為22 pF。芯片輸出端UD-和UD+與通用Mini USB口的D-和D+連接,因此可使用標(biāo)準(zhǔn)的USB數(shù)據(jù)線即可與芯片連接。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 系統(tǒng)整體程序流程
系統(tǒng)整體程序流程如圖6所示。系統(tǒng)初始化過程包括系統(tǒng)時(shí)鐘、標(biāo)準(zhǔn)庫(kù)、串口、DS18B20初始化等。隨后UCOS操作系統(tǒng)初始化,并在啟動(dòng)任務(wù)AppTaskStart創(chuàng)建后開啟UCOS系統(tǒng),其中在AppTaskStart任務(wù)程序的末尾必須釋放測(cè)量任務(wù)1(AppTask1)的任務(wù)信號(hào)量,此時(shí)測(cè)量任務(wù)1得到其任務(wù)信號(hào)量,開始運(yùn)行。同理在測(cè)量任務(wù)1程序的末尾釋放測(cè)量任務(wù)2(AppTask2)的任務(wù)信號(hào)量,測(cè)量任務(wù)2任務(wù)開始運(yùn)行,…,測(cè)量任務(wù)16(AppTask16)程序末尾釋放測(cè)量任務(wù)1的任務(wù)信號(hào)量,此時(shí)程序重回到測(cè)量任務(wù)1執(zhí)行測(cè)量任務(wù)。
2.2 系統(tǒng)任務(wù)配置
設(shè)置17個(gè)系統(tǒng)任務(wù),如表1所示。任務(wù)的創(chuàng)建任務(wù)為:AppTaskStart、溫度測(cè)量任務(wù)包括16個(gè):AppTask1~AppTask16。任務(wù)參數(shù)設(shè)置如表1所示。
2.3 DS18B20溫度測(cè)量任務(wù)函數(shù)
DS18B20溫度測(cè)量任務(wù)函數(shù)流程如圖7所示[10],圖中變量ah和al用于保存從DS18B20傳回的溫度數(shù)據(jù)的高八位和低八位,經(jīng)過移位操作后得到具體的溫度值tem,通過整數(shù)位和小數(shù)位運(yùn)算得到溫度的整數(shù)部分和小數(shù)部分,通過串口通信方式將溫度值傳送至PC機(jī),數(shù)據(jù)在發(fā)送完畢后必須將tem變量清零,防止溫度數(shù)據(jù)誤傳。若某個(gè)傳感器傳回的數(shù)據(jù)全部或部分為0,則表明該傳感器線路有故障。16個(gè)溫度測(cè)量任務(wù)間通過任務(wù)信號(hào)量實(shí)現(xiàn)切換。任務(wù)信號(hào)量是是任務(wù)獨(dú)有的信號(hào)量,通過任務(wù)信號(hào)量可實(shí)現(xiàn)對(duì)任務(wù)狀態(tài)控制,包括任務(wù)繼續(xù)運(yùn)行或始終等待信號(hào)量等。
2.4 上位機(jī)設(shè)計(jì)
如圖8所示,基于MATLAB GUI開發(fā)的實(shí)時(shí)可視化檢測(cè)界面,圖中16個(gè)傳感器傳回的數(shù)據(jù)通過文本框形式實(shí)時(shí)顯示,文本框分布4×4共16個(gè),由下而上,由左而右的順序?yàn)椋?-4,5-8,9-12,13-16。溫度分布框?yàn)閳D像顯示空間,通過實(shí)時(shí)彩色繪圖的方式將溫度數(shù)據(jù)實(shí)時(shí)顯示在溫度分布框中,溫度分布框中的顏色維與溫度顯示文本框?qū)?yīng),由下而上,由左而右的順序?yàn)椋?-4,5-8,9-12,13-16。在GUI界面中,除實(shí)時(shí)顯示溫度數(shù)值和溫度分布外,在每次接收到溫度數(shù)據(jù)時(shí)
2.5 系統(tǒng)調(diào)試
系統(tǒng)開發(fā)板與傳感器轉(zhuǎn)接卡如圖9所示。16個(gè)USB接口以此排列在轉(zhuǎn)接卡上,采用標(biāo)準(zhǔn)的四線制USB數(shù)據(jù)線。系統(tǒng)調(diào)試時(shí)在控制器外殼材料表面以相等間隔粘貼布置16個(gè)傳感器。
得到濕度分布如圖10所示??芍?6個(gè)傳感器測(cè)點(diǎn)均正常工作,采集到了溫度數(shù)據(jù)。從溫度分布情況可知,第16個(gè)傳感器的采集到的溫度較高,達(dá)25℃,第1、2、5、6、9、10、11、12傳感器采集的溫度數(shù)據(jù)較低,達(dá)24.65℃。從溫度差值來看,控制器工作溫度基本均勻,無明顯的高溫度區(qū),表明控制器在良好的環(huán)境下工作。
3 結(jié)束語(yǔ)
本文基于STM32單片機(jī)、DS18B20溫度傳感器、MATLAB GUI界面開發(fā)環(huán)境,研制了一種實(shí)時(shí)可視化溫度分布檢測(cè)系統(tǒng)。在系統(tǒng)調(diào)試中驗(yàn)證了系統(tǒng)工作穩(wěn)定可靠,實(shí)現(xiàn)了16路溫度采集、RS232數(shù)據(jù)傳輸、上位機(jī)實(shí)時(shí)顯示溫度數(shù)值和溫度分布,達(dá)到了設(shè)計(jì)預(yù)期。該系統(tǒng)可應(yīng)用于需溫度測(cè)量的生產(chǎn)現(xiàn)場(chǎng),同時(shí)功能可擴(kuò)展,具有良好的實(shí)用性和通用性。
參考文獻(xiàn):
〔1〕汪欽臣,方益民.基于Modbus UDP協(xié)議的STM32與PC實(shí)時(shí)通信的實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2020,19(07):67-70.
〔2〕宋陽(yáng)柳,易藝,郝建衛(wèi),等.基于STM32的中央空調(diào)溫度控制器的設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2018, 37(02):125-128.
〔3〕范宇聰,鄧云,程敏,等.八通道的溫度同步測(cè)量系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2020,35(04):61-67.
〔4〕黃琦,韓廣源,吳瑞東,等.基于STM32的高精度恒溫控制系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2017,9(05):71-74.
〔5〕侯偉,張小潔,耿凡娜,等.基于LabVIEW的土壤溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2019, 42(04):141-145.
〔6〕王子權(quán),周小超,林華.輪轉(zhuǎn)調(diào)度通用實(shí)時(shí)熱電偶測(cè)溫序列設(shè)計(jì)[J].儀表技術(shù)與傳感器,2019,45(09):23-27.
〔7〕范虹興,高鳳良,熊鈺瑤,等.基于STM32的開關(guān)柜母線溫度無線采集系統(tǒng)[J].儀表技術(shù)與傳感器,2020,17(04):77-80.
〔8〕孫毅剛,何進(jìn),李岐.基于LabVIEW的多通道溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2017,11(08):183-186.
〔9〕王野,于濤.無線室溫采集系統(tǒng)在熱網(wǎng)均衡控制中的應(yīng)用[J].控制工程,2017,29(11):2380-2386.
〔10〕徐宇寶,王子權(quán),林華.基于單片機(jī)的多通道智能澆灌系統(tǒng)設(shè)計(jì)[J].長(zhǎng)春師范大學(xué)學(xué)報(bào),2021,40(02):46-51.