基于雙音多頻信號(hào)的通信方式實(shí)現(xiàn)溫濕度記錄儀的設(shè)計(jì)
在食品存儲(chǔ)倉(cāng)庫(kù)、現(xiàn)代農(nóng)業(yè)生產(chǎn)基地、電站設(shè)備機(jī)房等場(chǎng)所,溫濕度記錄儀是必不可少的環(huán)境檢測(cè)設(shè)備。但是記錄儀在倉(cāng)庫(kù)等場(chǎng)所,其工作狀態(tài)或查詢(xún)數(shù)據(jù)記錄,工作人員必須到達(dá)現(xiàn)場(chǎng),工作量大。目前市場(chǎng)上有GSM短信報(bào)警功能的記錄儀,但是在GSM無(wú)線信號(hào)覆蓋較差的場(chǎng)所使用效果不好,而且GSM無(wú)線信號(hào)易受干擾。本文設(shè)計(jì)的溫濕度記錄儀具有有線電話接口,受電磁環(huán)境因素影響小、穩(wěn)定性好,而且相比GSM方式資費(fèi)便宜,具有廣闊的市場(chǎng)前景。
本文設(shè)計(jì)的記錄儀不僅能在液晶屏上查詢(xún)數(shù)據(jù),而且能使用電話遠(yuǎn)程查詢(xún)溫濕度數(shù)據(jù)。本記錄儀需要占用一個(gè)電話號(hào)碼,檢測(cè)到來(lái)電振鈴信號(hào)后自動(dòng)摘機(jī),工作人員在語(yǔ)音提示下通過(guò)電話鍵盤(pán)輸入密碼,驗(yàn)證通過(guò)后可以查詢(xún)記錄儀的工作狀態(tài)和溫濕度數(shù)據(jù),數(shù)據(jù)記錄的語(yǔ)音通過(guò)電話線路播報(bào)。如果密碼三次輸入不正確,或者在語(yǔ)音提示后長(zhǎng)時(shí)間沒(méi)有輸入密碼,記錄儀將強(qiáng)制掛機(jī)。還可以設(shè)置好報(bào)警電話號(hào)碼以及報(bào)警溫濕度值,當(dāng)環(huán)境的溫濕度值超標(biāo)時(shí),記錄儀就會(huì)自動(dòng)摘機(jī)并撥打報(bào)警電話號(hào)碼進(jìn)行報(bào)警。
1、 系統(tǒng)總體方案設(shè)計(jì)
本系統(tǒng)采用雙音多頻信號(hào)(DTMF)進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程控制,系統(tǒng)主要由溫濕度采集、存儲(chǔ)電路、電話接口、振鈴檢測(cè)、忙音檢測(cè)、DTMF接收及發(fā)送、語(yǔ)音模塊、控制單元、電源電路及LCD顯示等單元電路組成,如圖1所示。本系統(tǒng)使用TI的MSP430F149單片機(jī)作為控制核心,它具有體積小、低功耗、能夠串行在線編程等特性,具備60KB+256字節(jié) Flash、2KB RAM、多個(gè)16位定時(shí)器、12位A/D轉(zhuǎn)換器等功能模塊,本機(jī)密碼和報(bào)警電話號(hào)碼存儲(chǔ)在單片機(jī)的Flash中,修改方便,可靠性高。
溫濕度數(shù)據(jù)存儲(chǔ)選用Atmel公司的E2PROM存儲(chǔ)芯片AT24C256實(shí)現(xiàn),它具有32KB存儲(chǔ)容量,I2C數(shù)據(jù)接口,由于單片機(jī)本身不具備I2C接口,故采用由兩個(gè)普通I/O口模擬I2C總線方式。
2 、硬件電路設(shè)計(jì)
2.1 電話接口電路
電話接口電路如圖2所示。電路模擬摘掛機(jī)通過(guò)繼電器控制電流源的通斷來(lái)實(shí)現(xiàn),繼電器K1選用松下公司的雙刀雙擲DS2Y-S-DC5V繼電器。在電話信令中交換機(jī)根據(jù)電話線路上的直流電流來(lái)判斷用戶(hù)的摘掛機(jī)狀態(tài)。掛機(jī)時(shí),電話線路饋電電壓48V,線路上沒(méi)有直流電流,摘機(jī)后,電話線路直流回路接通,電壓降到8V,直流電流約30mA。單片機(jī)通過(guò)端口P11控制三極管V7的通斷,從而控制繼電器K1的通斷來(lái)控制電路中的電流,模擬摘掛機(jī)動(dòng)作。當(dāng)P11為低電平時(shí),三極管V7截止,繼電器K1將電話線路與電流源斷開(kāi),電流比較小,處于掛機(jī)狀態(tài);當(dāng)P11為高電平,V7導(dǎo)通,繼電器K1將電話線路與電流源接通,此時(shí)V4和V5組成的電流源將提供30mA左右的電流,相當(dāng)于電話摘機(jī),交換機(jī)會(huì)接通話路。使用恒流源可以保證電路具有較小的直流阻抗(600Ω)。在電話線之間跨接避雷器TISP4350,以達(dá)到抗雷擊保護(hù)的作用。
為了實(shí)現(xiàn)在電話線路上播報(bào)溫濕度值的語(yǔ)音,語(yǔ)音模塊輸出的音頻信號(hào)AUDIO通過(guò)電阻R1后由變壓器T1將語(yǔ)音信號(hào)耦合到電話線路上。
2.2 振鈴檢測(cè)電路
待機(jī)狀態(tài)下,電話線路上只有48V饋電電壓,當(dāng)有用戶(hù)呼叫本機(jī)時(shí),交換機(jī)向話機(jī)發(fā)送振鈴信號(hào)疊加在48V直流上,振鈴是頻率為25Hz±3Hz的正弦波,電壓有效值90V±15V。振鈴以5s為周期,1s通、4s斷。振鈴檢測(cè)電路見(jiàn)圖2的N1部分,有呼叫時(shí),振鈴信號(hào)疊加在48V直流上經(jīng)過(guò)電容C2后只有交流振鈴信號(hào),經(jīng)過(guò)整流二極管V1、V2,光耦N1,三極管V3,檢測(cè)信號(hào)輸入到單片機(jī)端口P10,沒(méi)有振鈴時(shí)P10為高電平,有振鈴時(shí),P10為持續(xù)1s的連續(xù)脈沖信號(hào),單片機(jī)根據(jù)此特點(diǎn),即可實(shí)現(xiàn)對(duì)振鈴的檢測(cè)。同時(shí),在軟件部分進(jìn)行振鈴次數(shù)的檢測(cè),達(dá)到一定次數(shù)后再摘機(jī),避免誤檢測(cè),從而提高系統(tǒng)的穩(wěn)定性。
2.3 雙音多頻信號(hào)收發(fā)電路
電話查詢(xún)記錄儀工作狀態(tài)和溫濕度數(shù)據(jù)時(shí),記錄儀接收到的密碼、指令都是DTMF信號(hào),本設(shè)計(jì)選用OKI公司的芯片ML7005實(shí)現(xiàn)對(duì)DTMF信號(hào)的檢測(cè)解碼,見(jiàn)圖3。此款芯片能夠?qū)TMF信號(hào)、忙音信號(hào)、傳真信號(hào)進(jìn)行辨識(shí),而且可以發(fā)送這三種信號(hào)。電話線上的DTMF信號(hào)經(jīng)變壓器耦合輸出的RXD進(jìn)入芯片ML7005,解碼數(shù)據(jù)由ML7005的D1~D4輸出,送單片機(jī)進(jìn)行識(shí)別和處理。
若記錄儀設(shè)置了報(bào)警電話號(hào)碼和報(bào)警溫濕度值,當(dāng)環(huán)境溫濕度超標(biāo)時(shí),記錄儀自動(dòng)摘機(jī)并撥打報(bào)警電話,單片機(jī)讀取Flash中的報(bào)警電話號(hào)碼,ML7005將數(shù)據(jù)總線D1~D4上的二進(jìn)制碼鎖存,產(chǎn)生的DTMF信號(hào)TXD經(jīng)變壓器耦合到電話線路上,實(shí)現(xiàn)DTMF撥號(hào)。
2.4 忙音檢測(cè)
通話過(guò)程中一方掛機(jī)后,交換機(jī)會(huì)向另一方發(fā)送忙音信號(hào)。這就要求在后端查詢(xún)者掛機(jī)后,記錄儀能檢測(cè)出忙音并自動(dòng)掛機(jī)。忙音信號(hào)頻率為450±25Hz,電平為-10±3dBm,它是0.7s斷續(xù)的信號(hào)音,即0.35s送,0.35s斷。本文采用ML7005檢測(cè)忙音信號(hào),電話線上的忙音信號(hào)經(jīng)變壓器耦合輸出RXD進(jìn)入芯片后,CP端輸出高低電平信號(hào),利用單片機(jī)I/O口的中斷功能,即可實(shí)現(xiàn)對(duì)忙音的檢測(cè)。在軟件部分進(jìn)行忙音次數(shù)的檢測(cè),達(dá)到一定次數(shù)的忙音后再掛機(jī),避免誤檢測(cè),從而提高系統(tǒng)的穩(wěn)定性。
2.5 隔離電路
電話線上的信號(hào)是一種懸浮信號(hào),電話使用的是懸浮地,因此電話信號(hào)一旦與其它的地連接,由于其地端參考點(diǎn)不同,信號(hào)會(huì)被迅速衰減,就無(wú)法得到正確的信號(hào),系統(tǒng)就不能正常工作。本文采用兩種隔離方法實(shí)現(xiàn)電話接口電路與其它電路的隔離,一是采用變壓器隔離,將信號(hào)音檢測(cè)發(fā)送、語(yǔ)音模塊電路與電話線進(jìn)行隔離。另一種是用光電耦合器4N35進(jìn)行隔離,在振鈴信號(hào)檢測(cè)時(shí),實(shí)現(xiàn)電話線與單片機(jī)電路的隔離。
2.6 語(yǔ)音播放電路
記錄儀發(fā)送的電話語(yǔ)音提示和溫濕度的語(yǔ)音播報(bào)由語(yǔ)音模塊實(shí)現(xiàn),選用PM66128智能語(yǔ)音模塊,它是一個(gè)整合了錄放音電路、快閃存儲(chǔ)、ADPCM編解碼器、功率放大器、穩(wěn)壓器等電路的全功能錄放系統(tǒng)。使用PM66編程軟件能夠?qū)av格式音頻文件加載到語(yǔ)音模塊,音頻采樣率為8K時(shí)可錄制40分鐘的語(yǔ)音。PM66128與單片機(jī)的通信通過(guò)3根信號(hào)線實(shí)現(xiàn),分別是DATA數(shù)據(jù)、CLK時(shí)鐘、BUSY忙信號(hào)輸出,放音時(shí)單片機(jī)直接送入要放音的段地址即可播放,結(jié)束時(shí)忙信號(hào)輸出拉低,單片機(jī)可以再發(fā)送下一段語(yǔ)音地址進(jìn)行播放。
2.7 溫度、濕度采集電路
溫度采集選用NXP公司的數(shù)字溫度傳感器芯片LM75A,它是一個(gè)高速I(mǎi)2C接口的溫度傳感器,可以在-55℃到 + 125℃的溫度范圍內(nèi)將溫度直接轉(zhuǎn)換成數(shù)字信號(hào),內(nèi)部的11位ADC提供溫度分辨率達(dá)0.125℃,該芯片采用小型SOP8封裝,供電電壓是2.8V~5.5V,具有過(guò)熱關(guān)斷功能,關(guān)斷溫度在內(nèi)部寄存器中設(shè)置。MCU可以通過(guò)I2C總線直接讀取其內(nèi)部寄存器中的數(shù)據(jù),并可通過(guò)I2C對(duì)4個(gè)數(shù)據(jù)寄存器進(jìn)行操作,以設(shè)置成不同的工作模式。由于單片機(jī)MSP430F149沒(méi)有I2C接口,本設(shè)計(jì)使用兩個(gè)普通I/O口模擬I2C總線方式。
溫度采集選用Humirel公司的濕敏電容傳感器HS1101,相對(duì)濕度在0%~100%RH范圍內(nèi),電容量由162pF變到200pF,其誤差不大于±2%RH;響應(yīng)時(shí)間小于5s;溫度系數(shù)為0.04pF/℃,精度滿足使用需求。圖4為HS1101的濕度-電容響應(yīng)曲線。HS1101在電路中相當(dāng)于一個(gè)電容器件,它的電容量隨著空氣濕度的增大而增大,本文利用振蕩電路將其電容的變化量轉(zhuǎn)化為頻率可變的方波,再經(jīng)過(guò)整流電路、積分電路和放大電路將脈沖量轉(zhuǎn)換為0V~3V直流信號(hào),然后利用單片機(jī)MSP430F149片內(nèi)的12位模數(shù)轉(zhuǎn)換器ADC12將直流電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),從而實(shí)現(xiàn)濕度采集。采集電路將0V~3V直流信號(hào)輸入到單片機(jī)的ADC12模擬信號(hào)采樣輸入端口P60,并在程序中配置控制寄存器ADC12CTL0和ADC12CTL1,設(shè)置成使用內(nèi)部參考電平,轉(zhuǎn)換模式為單通道單次轉(zhuǎn)換,在定時(shí)器控制下周期性地進(jìn)行AD采樣,轉(zhuǎn)換完成后讀取轉(zhuǎn)換存儲(chǔ)寄存器ADC12MEN0中12位轉(zhuǎn)換結(jié)果,從而實(shí)現(xiàn)對(duì)濕度信號(hào)的采集。
3 、系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)流程如圖5所示。記錄儀上電初始化完成后周期性地進(jìn)行環(huán)境溫濕度采集,采集數(shù)據(jù)存儲(chǔ)在AT24C256中,同時(shí)監(jiān)測(cè)電話線路有無(wú)來(lái)電呼叫,在三次振鈴后電話接口電路模擬摘機(jī),對(duì)于異常情況,如振鈴只響過(guò)一次對(duì)方就已經(jīng)掛機(jī),則不響應(yīng)。摘機(jī)后播放密碼提示音等待用戶(hù)輸入密碼,密碼驗(yàn)證通過(guò)記錄儀等待接收查詢(xún)命令,解析命令并語(yǔ)音播報(bào)溫濕度值及記錄儀工作狀態(tài),同時(shí)檢測(cè)電話線路上是否有忙音信號(hào)或者DTMF掛機(jī)命令,若檢測(cè)到忙音,則表示對(duì)方已掛機(jī)則記錄儀也掛機(jī),若檢測(cè)到DTMF掛機(jī)命令,則表示對(duì)方強(qiáng)制記錄儀掛機(jī),掛機(jī)后記錄儀返回初始狀態(tài)。如果用戶(hù)三次密碼輸入錯(cuò)誤,則認(rèn)為非法操作并掛機(jī)返回初始狀態(tài);在接通電話并輸入密碼正確后超過(guò)60s沒(méi)有輸入DTMF查詢(xún)命令,記錄儀也主動(dòng)掛機(jī)。
記錄儀在進(jìn)行溫濕度采集時(shí),同時(shí)判斷當(dāng)前值是否超過(guò)所設(shè)置的報(bào)警范圍,若超標(biāo)則單片機(jī)讀取Flash中的報(bào)警電話號(hào)碼,并摘機(jī)撥打該電話,對(duì)方接通后記錄儀語(yǔ)音播報(bào)當(dāng)前溫濕度值及報(bào)警語(yǔ)音提示,同時(shí)檢測(cè)電話線路上是否有忙音信號(hào)或者DTMF掛機(jī)命令,若檢測(cè)到忙音或者掛機(jī)命令,則記錄儀掛機(jī)并返回初始狀態(tài)。
4、 結(jié)束語(yǔ)
基于電話接口的溫濕度記錄儀只需一根電話線,安裝方便,電路性能穩(wěn)定,溫濕度測(cè)量精度高,能夠通過(guò)電話撥號(hào)方式實(shí)現(xiàn)遠(yuǎn)程溫濕度報(bào)警和查詢(xún),使用方便,具有良好的應(yīng)用前景。