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公司推出的一款基于AVRRISC構(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)定。