陳 剛,劉 杰,何景峰
(西京學(xué)院,西安 710123)
本設(shè)計(jì)是以STM32F103VET6單片機(jī)為控制核心,通過液態(tài)金屬傳感器來不斷監(jiān)控溫度的變化,并且將監(jiān)測到的溫度數(shù)據(jù)傳輸給監(jiān)測端的CPU控制中心(即單片機(jī)STM32F103VET6),然后STM32F103VET6再次將接收到的數(shù)據(jù)傳輸給監(jiān)測端的NRF24L01無線傳輸模塊的從機(jī),數(shù)據(jù)再經(jīng)過NRF24L01無線傳輸模塊的從機(jī)傳輸給接收端的NRF24L01無線傳輸模塊,待接收端NRF24L01無線傳輸模塊接收到數(shù)據(jù)的時(shí)候,再次將數(shù)據(jù)給予接收端的單片機(jī)STM32F103VET6,再然后單片機(jī)通過驅(qū)動(dòng)ILI9341液晶顯示屏和ISD1820 語音播報(bào)模塊來進(jìn)行數(shù)據(jù)顯示和數(shù)據(jù)播報(bào),并且在顯示模塊上顯示溫度變化曲線。
基于液態(tài)金屬的無線溫度監(jiān)測裝置從硬件上分為監(jiān)測端和接收端,監(jiān)測端可以通過無線模塊同檢測端進(jìn)行通信。
液態(tài)金屬溫度傳感器的制作主要包含以下幾個(gè)流程:①在PT100熱電阻的兩個(gè)引腳的兩端焊接上細(xì)微導(dǎo)線;②將焊接了導(dǎo)線的熱電阻插入按照比例裁剪好的并且封好頭的不銹鋼管中注入選定好的液態(tài)金屬作為絕緣抗輻射材料;③進(jìn)行常規(guī)的絕緣測試;④放置一夜之后,將導(dǎo)線的另一端接上提前選定好的溫度變送器(焊接有STM32F103VET6和監(jiān)測端NRF24L01無線模塊);⑤進(jìn)行常規(guī)的精度檢測;⑥然后按照常規(guī)的溫度傳感器的正常封裝。
采集端主要包括液態(tài)金屬溫度傳感器、數(shù)據(jù)處理分析模塊、監(jiān)測端無線傳輸模塊、供電電源模塊。
數(shù)據(jù)采集模塊采用的是液態(tài)金屬溫度傳感器進(jìn)行采集的,所以硬件方面就包括液態(tài)金屬溫度傳感器與穩(wěn)壓模塊的接線,液態(tài)金屬溫度傳感器與STM32F103VET6模塊的接線。
數(shù)據(jù)處理模塊采用的是單片機(jī)STM32-F103VET6,單片機(jī)與穩(wěn)壓模塊連接的引腳是VBAT、VDD_1、2、3;
單片機(jī)STM32-F103VET6的引腳A4、5、6、7、8、9與監(jiān)測端NRF無線傳輸模塊的 SCK、MISO、MOSI、CE、CSN 、IRQ一一對應(yīng)連接。
監(jiān)測端NRF無線傳輸模塊是用引腳VDD與穩(wěn)壓模塊連接。
接收端硬件主要包括接收端NRF無線傳輸模塊、STM32-F103VET6數(shù)據(jù)轉(zhuǎn)換模塊、ISD1820語音播報(bào)模塊、ILI9341屏幕顯示模塊等組成。 監(jiān)測端NRF無線傳輸模塊是用VDD直接與探索者開發(fā)板的穩(wěn)壓模塊連接的,主機(jī)NRF 無線傳輸模塊是用引腳SCK、MISO、MOSI、CE、CSN 、IRQ與單片機(jī)STM32-F103VET6的引腳 B13、B14、B15、B5、B6、B4連接。
數(shù)據(jù)轉(zhuǎn)換模塊采用的是以STM32-F103VET6主體芯片為的探索者開發(fā)板,STM32-F103VET6是用引腳VDD_1、VDD_2、VDD_3、VDD_4、VDD_5、VDDA、VDDA+與電源模塊的穩(wěn)壓電路連接。
STM32-F103VET6用引腳B13、B15、C7、B9與ISD1820語音模塊的FT、PLAYL、PLAYE、REC等引腳一一連接。
STM32-F103VET6與ILI9341的連接是直接將ILI9341屏幕連接插在屏幕插槽里即可。
因?yàn)楸敬螠囟缺O(jiān)測裝置的設(shè)計(jì)出了液態(tài)金屬溫度傳感器外都是基于已知模塊的組合及調(diào)試,所以程序也是按照模塊來區(qū)分,并且通過IIC和SPI進(jìn)行通信的。
主要的是流程是液態(tài)金屬溫度傳感器從環(huán)境中采集到溫度數(shù)據(jù)之后傳輸給以STM32-F103C8T6芯片為主要芯片的數(shù)據(jù)轉(zhuǎn)換與處理模塊,然后經(jīng)過一系列濾波處理之后再傳輸給NRF24L01無線傳輸模塊,將檢測端測量并計(jì)算得到的溫度值以數(shù)字信號傳輸給監(jiān)測端的NRF24L01無線傳輸模塊,過后監(jiān)測端的NRF24L01無線傳輸模塊將數(shù)據(jù)傳輸給以STM32F103VET6 芯片為主體的數(shù)據(jù)轉(zhuǎn)換與處理系統(tǒng),通過數(shù)據(jù)轉(zhuǎn)換與處理系統(tǒng),將其轉(zhuǎn)換為語音信息和屏幕的曲線信息,通過語音模塊和屏幕顯示模塊將其輸出,同時(shí)將該數(shù)據(jù)儲(chǔ)存在芯片中等測量次數(shù)夠了三次到五次之后,在屏幕形成臨近幾次測量數(shù)值組成的曲線圖,并和STM32F103VET6 芯片中儲(chǔ)存的標(biāo)準(zhǔn)溫度值范圍進(jìn)行對比,如果測得的溫度偏高、或者偏低,便會(huì)通過語音模塊提醒。
信號采集模塊采用的是使用程序IIC 進(jìn)行模擬通信的,因?yàn)闇囟茸兯推鞑糠忠呀?jīng)直接將測得溫度信號轉(zhuǎn)換成了數(shù)字信號,所以我們程序部分便是直接將其數(shù)據(jù)讀取出來。
無線傳輸模塊分為監(jiān)測端和接收端兩部分,監(jiān)測端是進(jìn)行數(shù)據(jù)測量的部分;接收端便是進(jìn)行語音播報(bào)、屏幕顯示部分的。
監(jiān)測端部分與STM32F103VET6采用的是SPI通信。單片機(jī)要先將NRF 無線傳輸模塊進(jìn)行初始化:
NRF_TX_Mode();配置NRF 無線傳輸模塊為發(fā)送模式
NRF_Tx_Dat(txbuf);開啟從機(jī)到主機(jī)的無線傳輸模式。
接收端軟件模塊是由NRF無線傳輸模塊程序設(shè)計(jì)、STM32-F103VET6數(shù)據(jù)處理程序設(shè)計(jì)、ISD1820語音播報(bào)程序設(shè)計(jì)、ILI9341屏幕顯示程序設(shè)計(jì)模塊組成。
首先初始化接收端NRF 無線傳輸模塊、然后配置主機(jī)NRF無線傳輸模塊的收發(fā)模式、然后IIC 開始讀取接收端NRF 無線傳輸模塊的數(shù)據(jù)。
在數(shù)據(jù)從監(jiān)測端NRF無線傳輸模塊傳輸?shù)浇邮斩薔RF無線傳輸模塊之后,STM32-F103VET6通過IIC通訊,將數(shù)據(jù)從接收端NRF無線傳輸模塊讀取到自身的寄存器中。
在完成硬件電路的焊接后。首先將接收端STM32F103VET6單片機(jī)燒入程序,檢驗(yàn)液晶顯示有沒有問題。再將其中一片STM32F103VET6與ILI9341屏幕顯示模塊、ISD1820語音播報(bào)模塊相連,寫入測量溫度的程序。測試硬件及軟件部分是否如同預(yù)想的那般。然后將NRF24L01的收發(fā)部分同時(shí)與兩片STM32F103VET6寫入發(fā)送一個(gè)常數(shù)的程序,檢測收發(fā)模塊及程序是否成功。最后將顯示模塊、無線收發(fā)模塊、溫度檢測模塊程序整合調(diào)試出來,最后在屏幕顯示模塊顯示出來。
溫度采集端采集溫度并發(fā)送至接收端,由ILI9341顯示當(dāng)前溫度。當(dāng)檢測端傳輸數(shù)據(jù)時(shí),監(jiān)測端接收到數(shù)據(jù)時(shí),檢測端和監(jiān)測端的信號指示燈都閃爍。如果將溫度范圍調(diào)整為10C至30C時(shí),ILI9341顯示當(dāng)前監(jiān)測到的溫度,如下圖所示:當(dāng)人工設(shè)置溫度范圍為10°到20°時(shí),當(dāng)前溫度超過范圍,蜂鳴器報(bào)警。
液態(tài)金屬溫度監(jiān)測裝置也突破了傳統(tǒng)的溫度監(jiān)測,采用了無線監(jiān)測,這更一步的優(yōu)化了溫度監(jiān)測現(xiàn)場繁雜的線纜問題,使溫度的測量更加方便,也為物聯(lián)網(wǎng)的進(jìn)一步推廣奠定了基礎(chǔ)。