吳靜霞 承浩 吳秦宇
(沙洲職業(yè)工學(xué)院,江蘇 張家港 215600)
熱電偶是工業(yè)上使用的一種簡單可靠的溫度傳感器,LoRa技術(shù)是LPWAN((Low Power Wide Area Network)低功耗廣域網(wǎng)通信技術(shù)中一種可以實現(xiàn)超遠(yuǎn)距離無線傳輸、低功耗、大容量的無線傳輸技術(shù)。目前多路熱電偶數(shù)據(jù)采集一般為單機(jī)系統(tǒng),無線數(shù)據(jù)傳輸大多采用藍(lán)牙技術(shù),傳輸距離有限。本文從硬件架構(gòu)設(shè)計以及核心模塊介紹入手,闡述實現(xiàn)32路K型熱電偶溫度測量、溫度通道切換、串口屏庫函數(shù)顯示等功能的方法,用LoRa技術(shù)實現(xiàn)組建無線傳感網(wǎng),實現(xiàn)超遠(yuǎn)距離傳輸溫度信號。
系統(tǒng)硬件總體組成架構(gòu)框圖如圖1所示。采用多主機(jī)與多從機(jī)結(jié)構(gòu),主機(jī)用定時輪詢方法采集溫度值并通過LoRa發(fā)送,從機(jī)通過LoRa接收并處理溫度數(shù)據(jù)。主機(jī)與從機(jī)核心MCU均采用STM32系統(tǒng),以及人機(jī)交互鍵盤、LED、DWIN迪文串口彩屏等。主機(jī)通過通道切換電路輪詢采集32路或以上K型熱電偶溫度。LoRa無線模塊實現(xiàn)溫度數(shù)據(jù)打包遠(yuǎn)距離傳輸。從機(jī)不僅可以作為顯示終端,而且能夠?qū)崿F(xiàn)溫度報警或提醒。從機(jī)可以同時置放在多處地方,均能夠?qū)崟r同步監(jiān)測溫度數(shù)據(jù)。
圖1 系統(tǒng)硬件總體組成架構(gòu)
MCU采用電子產(chǎn)品設(shè)計與制作核心芯片STM32F103ZET6。該MCU使用32位ARM Cortex-M3內(nèi)核,LQFP144封裝,72MHz工作頻率,擁有512k Flash、11個定時器、3個12bitADC、USB、CAN、UART等。對于目前系統(tǒng)該MCU的資源顯得冗余,實際項目中可以使用STM32F103RCT6等M0內(nèi)核且管腳較少的MCU,也可以用MSP430,PIC、HolTek、STC等公司的單片機(jī)替代。
最小系統(tǒng)使用8MHz晶振與32.768KHz的RTC晶振、復(fù)位電路、BOOT啟動電路、JTAG下載接口、鍵盤與LED、電源轉(zhuǎn)換電路等。[1]
K型熱電偶是由2種金屬材料鎳鉻與鎳硅以及延長補(bǔ)償導(dǎo)線構(gòu)成的測溫傳感器裝置[2],結(jié)構(gòu)簡單,具有穩(wěn)定性和重復(fù)性好、抗氧化性能強(qiáng)、價格便宜等優(yōu)點。
本系統(tǒng)K型熱電偶溫度測量采用MAXIM公司設(shè)計的、帶有冷端溫度補(bǔ)償?shù)腒型熱電偶轉(zhuǎn)換芯片MAX6675,其測溫范圍為0-1024℃,精度0.25℃,12bit分辨率,SPI接口,內(nèi)置冷端溫度補(bǔ)償與校正電路,可以有效消弱熱電偶導(dǎo)線引入的噪聲,內(nèi)置ADC把熱電偶的電動勢模擬信號轉(zhuǎn)換為溫度數(shù)字信號,通過SPI總線與MCU通信,讀出溫度值。
圖2為其中一路熱電偶測量采集電路。MAX6675的通信控制線有3根,分別為SO信號線、SCK時鐘線、CS片選線。MCU通過控制CS片選線電平來輪詢讀取32路或以上熱電偶信號。
圖2 MAX6675測量電路
系統(tǒng)中使用2片74HC154譯碼器,芯片在PIN18與PIN19門控管腳低電平時有效,PIN20-PIN23為4路輸出選擇控制引腳,分別連接ABCD 4路信號,電路圖如圖3所示。
圖3 MAX6675片選信號選擇電路
電路中把2個門控管腳連接在一起實現(xiàn)“線與”,只要一個控制信號即可控制這2個管腳。MCU使用6個GPIO口分別連接到G0/G1/A/B/C/D信號端,以控制2片74HC154譯碼器32路信號的輸出,達(dá)到控制32路熱電偶測量芯片的CS管腳電平。邏輯真值表如表1所示。
表1 通道選擇控制邏輯真值表
當(dāng)G0與G1都為高電平時,32路熱電偶通道均未選中;當(dāng)G0=0,G1=1時,CS16-CS31未選中,CS0-CS15通過ABCD信號選擇控制信號任意時刻選中其中一路熱電偶通道,如ABCD=0111時,選中CS7通道,其他通道類似;當(dāng)G0=1,G1=0時,CS0-CS15未選中,CS16-CS31通過ABCD信號選擇控制信號任意時刻選中其中一路熱電偶通道,如ABCD=0111時,選中CS23通道,其他通道類似。系統(tǒng)如果需要擴(kuò)展通道數(shù),可以繼續(xù)增加74HC154芯片,每增加一片芯片,可以增加16路通道。
傳感網(wǎng)中通信技術(shù)有Zigbee、Bluetooth、Wi-Fi等,低功耗廣域網(wǎng)(LPWAN)有3G、4G、NB-IOT、LoRa等。由于LoRa技術(shù)具有免通信費、長距離、低功耗等特點,在局域組網(wǎng)與數(shù)據(jù)傳輸中得到廣泛應(yīng)用。LoRa技術(shù)是美國Semtech公司提供的一種基于擴(kuò)頻技術(shù)的超遠(yuǎn)距離無線傳輸方案。[3]這種方案解決了傳統(tǒng)無線技術(shù)中傳輸距離遠(yuǎn)與功耗低之間的矛盾,為用戶提供了一種既能實現(xiàn)遠(yuǎn)距離,又可以實現(xiàn)長電池壽命與大容量的系統(tǒng)的無線傳感網(wǎng)絡(luò)系統(tǒng)。目前LoRa主要運行在包括433、868、915MHz等ISM免費頻段上。
本系統(tǒng)無線傳輸選用正點原子公司的ATK-LORA-01模塊。該模塊采用SX1278擴(kuò)頻芯片,工作頻率為410MHz-441MHz,以1MHz頻率為步進(jìn)間隔分為32個信道,雙512環(huán)形FIFO,最大發(fā)射功率20dBm(約100mW),通信距離達(dá)3km,組網(wǎng)最多可配置65536個地址,支持廣播和定向傳輸,使用UART串口與MCU通信,支持從1200-115200共8種波特率。選用模塊除電源管腳與串口管腳外,還有2個管腳分別為MDO與AUX,用于配置與指示,如表2所示。
表2 LoRa模塊引腳功能
模塊共有4種通信模式:模式0為一般模式,即無線透傳模式,接收方必須是模式0或1;模式1為喚醒模式,與模式0唯一的區(qū)別是數(shù)據(jù)包發(fā)射前,自動增加喚醒碼,這樣才能喚醒工作在模式2的接收方;模式2為省電模式,串口接收關(guān)閉,無線處于空中喚醒模式,收到無線數(shù)據(jù)后才能打開串口發(fā)出數(shù)據(jù),發(fā)射方必須是模式1,該模式下串口接收關(guān)閉,不能無線發(fā)射;模式3為信號強(qiáng)度模式,該模式下可以查看通訊雙方的信號強(qiáng)度,接收方必須是模式0或1。
MCU或串口工具軟件可通過AT指令修改或查詢串口波特率、發(fā)射功率、空中速率、工作模式等各種參數(shù)。如“AT+MODEL”是查詢設(shè)備型號,“AT+RESET”使得復(fù)位模塊,“AT+TPOWER=3”設(shè)置模塊發(fā)射功率為3檔(20dBm),“AT+ADDR=12,AB”把模塊地址設(shè)置為0X12AB,“AT+CWMODE=1”配置模塊工作模式為模式1,“AT+WLRATE=24,2”配置通信信號為24以及無線速率為2檔2.4kbps。
工控串口屏目前廣泛應(yīng)用于工業(yè)自動化、智能家電等,MCU或串口助手只需要通過串口便可以輕松實現(xiàn)所需要的人機(jī)顯示界面。本項目使用湖南迪文公司的串口屏DMT48270C043_04WN。該屏為4.3寸65K色TFT顯示,分辨率為480×270像素,384Kbytes字庫空間,512Kbytes圖片與圖標(biāo)存儲空間,支持SD卡載入圖片與圖標(biāo)庫,支持顯示二維碼。
通信串口數(shù)據(jù)幀由幀頭、指令、數(shù)據(jù)、幀結(jié)束符4部分組成,幀頭固定為0XAA,幀結(jié)束符固定為0XCC33C33C。不同的功能有不同的指令碼,如字符串文本顯示指令為0X11,數(shù)據(jù)格式為(Mode,Color,Bcolor,(x,y),Strings);變量文本顯示的數(shù)據(jù)格式為(Mode,Color,Bcolor,Num_I,Num_F,(x,y),Datas);二維碼指令為0X21,JPEG圖片指令為0X22,圖標(biāo)庫指令為0X23。所使用的主要庫函數(shù)如圖4所示。
圖4 迪文串口屏庫函數(shù)
程序設(shè)計的主機(jī)部分程序如圖5所示,主要任務(wù)是初始化硬件,包括時鐘、RTC、2個串口、定時器、SPI、按鍵與LED等的初始化,然后根據(jù)按鍵掃描切換頁面與設(shè)定值,系統(tǒng)實時顯示時鐘,定時采集并顯示32路熱電偶溫度,通過LoRa發(fā)送該地址主機(jī)測量的溫度數(shù)據(jù)。溫度采集采用多次采集濾波處理的方法來減小誤差。從機(jī)打開串口中斷接收,收到數(shù)據(jù)后在屏幕中顯示,或做其他報警處理。LoRa模塊測試時配置為透明傳輸,實際組網(wǎng)時配置為模式2之省電模式。
圖5 主機(jī)程序流程圖
由于實驗室條件所限,高溫測量使用帶PID控制的溫控焊臺配合Bakon191測溫臺,常溫采用常規(guī)水銀溫度計。受限于測量環(huán)境條件,測量數(shù)據(jù)存在一定誤差與跳變,如表3所示。但是理論上MAX6675精度足夠,選用來源可靠的熱電偶,加上合適的算法,可以保證測量的準(zhǔn)確性。
表3 對比測試數(shù)據(jù)
編程時注意串口屏顯示函數(shù)盡量不要在主程序與定時器里嵌套使用,否則可能會產(chǎn)生亂碼。在連續(xù)發(fā)送顯示時加延時間隔,可提高接收處理可靠性。
LoRa與NB-IOT均屬于低功耗廣域網(wǎng)。由于發(fā)射功率與型號不同,部分LoRa模塊在空曠條件下有效傳輸距離可達(dá)到15km。LoRa雖然與NB-IOT在硬件上有所區(qū)別,但均屬于窄帶通信,而且工作在免費頻段。
由于溫度測試條件有限,本項目目前只是依賴于處理芯片公布的參數(shù),在精度上可能存在一定的不確定性,但是可以為企業(yè)多路溫度測量的遠(yuǎn)距離傳輸提供一種新的方法與思路。