基于單片機(jī)的無(wú)線溫度監(jiān)測(cè)系統(tǒng)實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著信息科學(xué)與微電子技術(shù)的發(fā)展, 溫度的監(jiān)控可以利用現(xiàn)代技術(shù)使其實(shí)現(xiàn)自動(dòng)化和智能化。多路無(wú)線溫度監(jiān)控系統(tǒng)就是朝著這一目標(biāo)進(jìn)行設(shè)計(jì)的。本次設(shè)計(jì)要求利用單片機(jī)及無(wú)線傳輸模塊實(shí)現(xiàn)無(wú)線溫度監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)溫控范圍調(diào)節(jié)及其超溫范圍報(bào)警。
1 技術(shù)要點(diǎn)
由于本系統(tǒng)是一個(gè)實(shí)時(shí)監(jiān)控的系統(tǒng), 對(duì)溫度的采集控制是實(shí)時(shí)的, 所以溫度采集的時(shí)間間隔, 數(shù)據(jù)發(fā)送接收的時(shí)間差,單片機(jī)與PC 機(jī)之間數(shù)據(jù)的傳送速度以及上位機(jī)程序?qū)?shù)據(jù)的分析處理是本系統(tǒng)的關(guān)鍵。通過(guò)對(duì)溫度傳感器,無(wú)線模塊的優(yōu)化選擇,實(shí)現(xiàn)單片機(jī)與PC 機(jī)通過(guò)高速USB 接口進(jìn)行通信及對(duì)上位機(jī)代碼的優(yōu)化實(shí)現(xiàn)本系統(tǒng)的實(shí)時(shí)監(jiān)控功能, 同時(shí)還要考慮的是溫度傳感器的各個(gè)參數(shù),無(wú)線模塊的參數(shù),以及硬件電路的優(yōu)化搭建問(wèn)題。
2 硬件及軟件設(shè)計(jì)
為了使系統(tǒng)能夠最優(yōu)化的工作, 系統(tǒng)的硬件器件選擇將是十分重要的問(wèn)題。
(1)溫度傳感器的選用
系統(tǒng)是做溫度監(jiān)控的, 首要的工作就是如何選取溫度傳感器, 正確的選擇溫度傳感器對(duì)系統(tǒng)的性能和價(jià)格有著重大的影響。就溫度傳感器的溫度測(cè)量范圍、精度、響應(yīng)時(shí)間、穩(wěn)定性、線性度和靈敏度。等幾個(gè)因素的比較分析,本系統(tǒng)選用的是美國(guó)DALLAS 半導(dǎo)體公司生產(chǎn)的DS18B20 溫度傳感器。選用該傳感器的原因有: ①DS18B20 與微處理器僅需要一條線即可實(shí)現(xiàn)雙向通訊,簡(jiǎn)化連接難度;②無(wú)需其他的AD 轉(zhuǎn)化器件,降低成本, 也減少了硬件制板的費(fèi)用; ③可供使用電壓范圍大:3.0V 到5.5V 都可以使用,器件的功耗較低;④測(cè)溫分辨率高,最高可達(dá)0.125 度,便于溫度精確控制;⑤支持多點(diǎn)測(cè)試,多個(gè)DS18B20 可以并聯(lián)在一根線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。
(2)無(wú)線模塊的選用
本系統(tǒng)是多點(diǎn)監(jiān)控, 同時(shí)他的數(shù)據(jù)傳輸是通過(guò)無(wú)線傳輸?shù)模詿o(wú)線傳輸模塊的需要支持多點(diǎn)的數(shù)據(jù)的傳送??紤]穩(wěn)定性, 傳輸數(shù)據(jù)的速度, 錯(cuò)誤率等方面, 本系統(tǒng)選用的是NRF905 無(wú)線數(shù)據(jù)傳輸模塊,選擇該模塊的原因有:①433MHZ開(kāi)放ISM 頻段免許可證使用,無(wú)需額外申請(qǐng)頻段;②傳輸速率高,最高數(shù)據(jù)傳輸速率可達(dá)50KB,滿足實(shí)時(shí)監(jiān)控的需要;③自帶有CRC 糾錯(cuò)功能,抗干擾能力強(qiáng)。所需電壓僅3.3V,功耗低;④125 個(gè)頻道,支持多點(diǎn)通信,滿足系統(tǒng)多點(diǎn)監(jiān)控的需要。
(3)主控芯片選用
ATmega16 是ATMEL 公司推出的一款基于AVR RISC 構(gòu)架的低功耗CMOS 的8 位單片機(jī)。ATmega16 在16MHz 時(shí)有16MIPS 的運(yùn)算速度,具有兩周期硬件乘法器,從而使得設(shè)計(jì)人員可以在功耗和執(zhí)行速度之間取得平衡, 且非易失性程序和數(shù)據(jù)存儲(chǔ)器資源較大能滿足程序代碼設(shè)計(jì)需要。外設(shè)資源豐富:2 個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8 位定時(shí)/計(jì)數(shù)器;一個(gè)獨(dú)立預(yù)分頻器和比較/捕捉功能的16 位定時(shí)/計(jì)數(shù)器;支持4 路PWM 輸出、8 路10 位ADC。支持TWI 接口、USART、SPI 接口多機(jī)通信滿足擴(kuò)展功能的需要。
(4)其他外圍器件
USB 與PC 機(jī)通信中USB 控制芯片PDUSBD12,顯示模塊1602,報(bào)警蜂鳴器等。
2.1 系統(tǒng)的硬件連接方法
硬件方面主要由兩部分組成, 溫度采集發(fā)送部分和數(shù)據(jù)接受分析控制部分。
2.1.1 溫度采集發(fā)送部分
主要的連接器件有NRF905 無(wú)線數(shù)據(jù)傳輸模塊,DS18B20溫度傳感器采集模塊,1602 顯示模塊,報(bào)警模塊,及溫度異常處理模塊。其連接方法如圖1 所示。主控芯片M16 通過(guò)SPI 總線協(xié)議向無(wú)線模塊發(fā)送配置信息,使其工作初始化。溫度傳感器與M16 的連接使用的是單總線協(xié)議,來(lái)采集溫度。顯示芯片1602 來(lái)顯示采集到得溫度,同時(shí)使用蜂鳴器作為報(bào)警裝置,當(dāng)溫度有異常時(shí)單片機(jī)會(huì)控制加熱設(shè)備或降溫設(shè)備來(lái)對(duì)異常進(jìn)行處理。
2.1.2 數(shù)據(jù)接收分析控制部分
主要的連接器件有無(wú)線數(shù)據(jù)傳輸模塊,USB 傳送模塊,和PC 機(jī)構(gòu)成。其電路連接如圖2 所示。同樣主控芯片M16 通過(guò)SPI 總線協(xié)議向無(wú)線模塊發(fā)送配置信息,使其工作初始化。接收到溫度后通過(guò)PDUSBD12 芯片利用USB 協(xié)議將數(shù)據(jù)發(fā)送到PC 機(jī)上,可以直接在VC 界面上顯示。PC 機(jī)可以自動(dòng)分析數(shù)據(jù)是否存在異常,當(dāng)存在異常時(shí),PC 發(fā)送控制信號(hào)來(lái)遠(yuǎn)程控制加熱或降溫設(shè)備對(duì)異常進(jìn)行處理,同時(shí)發(fā)出報(bào)警信號(hào),這樣可以將危險(xiǎn)降到最低,實(shí)現(xiàn)自動(dòng)化與智能化。
圖1 數(shù)據(jù)采集與發(fā)送 圖2 數(shù)據(jù)接收與分析2.2 軟件程序的設(shè)計(jì)
由于系統(tǒng)由兩個(gè)模塊構(gòu)成, 所以軟件程序的設(shè)計(jì)也分為溫度采集發(fā)送模塊程序設(shè)計(jì)和數(shù)據(jù)接受分析控制模塊程序設(shè)計(jì)。
2.2.1 溫度采集發(fā)送模塊
主要需要設(shè)計(jì)的程序有NRF905 的內(nèi)部寄存器配置,溫度傳感器溫度采集程序,液晶顯示模塊程序,報(bào)警系統(tǒng)程序。程序流程圖如圖3:
圖3 主程序流程圖
2.2.2 數(shù)據(jù)接受分析控制模塊
主要需要設(shè)計(jì)的程序有NRF905 的內(nèi)部寄存器配置,USB模塊的驅(qū)動(dòng)編寫(xiě),上位機(jī)程序的建立,由于篇幅有限,源代碼及流程圖不再給出。
3 系統(tǒng)的工作流程
本系統(tǒng)主要由兩個(gè)模塊組成, 溫度采集發(fā)送模塊和數(shù)據(jù)接收監(jiān)控模塊。
3.1 數(shù)據(jù)采集發(fā)送模塊
該模塊的主要功能是采集溫度和發(fā)送數(shù)據(jù)。主控單片機(jī)發(fā)出命令開(kāi)始有DS18B20 進(jìn)行溫度采集, 溫度傳感器將采集到的溫度傳回主控芯片,在1602 上進(jìn)行顯示,然后主控芯片通過(guò)SPI 總線將數(shù)據(jù)傳送給無(wú)線發(fā)送模塊NRF905,由無(wú)線發(fā)送模塊將數(shù)據(jù)發(fā)送出去。同時(shí)主控芯片會(huì)檢測(cè)溫度是否異常,當(dāng)溫度出現(xiàn)異常時(shí)會(huì)發(fā)出報(bào)警信號(hào),同時(shí)啟動(dòng)異常處理模塊。
具體工作流程如圖4:
圖4 采集發(fā)送模塊工作流程
3.2 數(shù)據(jù)接收監(jiān)控模塊
該模塊的主要功能是接收和處理數(shù)據(jù), 由單片機(jī)控制無(wú)線模塊接收數(shù)據(jù), 同時(shí)控制USB 模塊將數(shù)據(jù)發(fā)送到PC 機(jī)上去,PC 機(jī)接收到溫度后會(huì)對(duì)溫度進(jìn)行分析處理,當(dāng)溫度由異常時(shí),會(huì)發(fā)出報(bào)警信號(hào),同時(shí)通過(guò)將控制指令發(fā)送至單片機(jī),通過(guò)無(wú)線模塊來(lái)遠(yuǎn)程控制異常處理模塊執(zhí)行工作, 從而實(shí)現(xiàn)異常自動(dòng)處理和雙報(bào)警, 從而最大限度的確保被監(jiān)控地的預(yù)警和安全。具體工作流程如圖5:
圖5 接受監(jiān)控模塊工作流程
4 結(jié)語(yǔ)
對(duì)本系統(tǒng)進(jìn)行遠(yuǎn)距離具體溫度測(cè)試有, 經(jīng)數(shù)據(jù)對(duì)比發(fā)現(xiàn)實(shí)地溫度采集與上位機(jī)顯示數(shù)據(jù)完全吻合, 且能實(shí)現(xiàn)實(shí)時(shí)溫度監(jiān)控。同時(shí)可以通過(guò)PC 機(jī)對(duì)單片機(jī)進(jìn)行遠(yuǎn)程控制,性能穩(wěn)定。