在食品存储仓库、现代农业生产基地、电站设备机房等场所,温湿度记录仪是必不可少的环境检测设备。但是记录仪在仓库等场所,其工作状态或查询数据记录,工作人员必须到达现场,工作量大。目前市场上有GSM短信报警功能的记录仪,但是在GSM无线信号覆盖较差的场所使用效果不好,而且GSM无线信号易受干扰。本文设计的温湿度记录仪具有有线电话接口,受电磁环境因素影响小、稳定性好,而且相比GSM方式资费便宜,具有广阔的市场前景。
本文设计的记录仪不仅能在液晶屏上查询数据,而且能使用电话远程查询温湿度数据。本记录仪需要占用一个电话号码,检测到来电振铃信号后自动摘机,工作人员在语音提示下通过电话键盘输入密码,验证通过后可以查询记录仪的工作状态和温湿度数据,数据记录的语音通过电话线路播报。如果密码三次输入不正确,或者在语音提示后长时间没有输入密码,记录仪将强制挂机。还可以设置好报警电话号码以及报警温湿度值,当环境的温湿度值超标时,记录仪就会自动摘机并拨打报警电话号码进行报警。
1、 系统总体方案设计
本系统采用双音多频信号(DTMF)进行通信,实现远程控制,系统主要由温湿度采集、存储电路、电话接口、振铃检测、忙音检测、DTMF接收及发送、语音模块、控制单元、电源电路及LCD显示等单元电路组成,如图1所示。本系统使用TI的MSP430F149单片机作为控制核心,它具有体积小、低功耗、能够串行在线编程等特性,具备60KB+256字节 Flash、2KBRAM、多个16位定时器、12位A/D转换器等功能模块,本机密码和报警电话号码存储在单片机的Flash中,修改方便,可靠性高。
温湿度数据存储选用Atmel公司的E2PROM存储芯片AT24C256实现,它具有32KB存储容量,I2C数据接口,由于单片机本身不具备I2C接口,故采用由两个普通I/O口模拟I2C总线方式。
2 、硬件电路设计
2.1 电话接口电路
电话接口电路如图2所示。电路模拟摘挂机通过继电器控制电流源的通断来实现,继电器K1选用松下公司的双刀双掷DS2Y-S-DC5V继电器。在电话信令中交换机根据电话线路上的直流电流来判断用户的摘挂机状态。挂机时,电话线路馈电电压48V,线路上没有直流电流,摘机后,电话线路直流回路接通,电压降到8V,直流电流约30mA。单片机通过端口P11控制三极管V7的通断,从而控制继电器K1的通断来控制电路中的电流,模拟摘挂机动作。当P11为低电平时,三极管V7截止,继电器K1将电话线路与电流源断开,电流比较小,处于挂机状态;当P11为高电平,V7导通,继电器K1将电话线路与电流源接通,此时V4和V5组成的电流源将提供30mA左右的电流,相当于电话摘机,交换机会接通话路。使用恒流源可以保证电路具有较小的直流阻抗(600Ω)。在电话线之间跨接避雷器TISP4350,以达到抗雷击保护的作用。
为了实现在电话线路上播报温湿度值的语音,语音模块输出的音频信号AUDIO通过电阻R1后由变压器T1将语音信号耦合到电话线路上。
2.2 振铃检测电路
待机状态下,电话线路上只有48V馈电电压,当有用户呼叫本机时,交换机向话机发送振铃信号叠加在48V直流上,振铃是频率为25Hz±3Hz的正弦波,电压有效值90V±15V。振铃以5s为周期,1s通、4s断。振铃检测电路见图2的N1部分,有呼叫时,振铃信号叠加在48V直流上经过电容C2后只有交流振铃信号,经过整流二极管V1、V2,光耦N1,三极管V3,检测信号输入到单片机端口P10,没有振铃时P10为高电平,有振铃时,P10为持续1s的连续脉冲信号,单片机根据此特点,即可实现对振铃的检测。同时,在软件部分进行振铃次数的检测,达到一定次数后再摘机,避免误检测,从而提高系统的稳定性。
2.3 双音多频信号收发电路
电话查询记录仪工作状态和温湿度数据时,记录仪接收到的密码、指令都是DTMF信号,本设计选用OKI公司的芯片ML7005实现对DTMF信号的检测解码,见图3。此款芯片能够对DTMF信号、忙音信号、传真信号进行辨识,而且可以发送这三种信号。电话线上的DTMF信号经变压器耦合输出的RXD进入芯片ML7005,解码数据由ML7005的D1~D4输出,送单片机进行识别和处理。
若记录仪设置了报警电话号码和报警温湿度值,当环境温湿度超标时,记录仪自动摘机并拨打报警电话,单片机读取Flash中的报警电话号码,ML7005将数据总线D1~D4上的二进制码锁存,产生的DTMF信号TXD经变压器耦合到电话线路上,实现DTMF拨号。
2.4 忙音检测
通话过程中一方挂机后,交换机会向另一方发送忙音信号。这就要求在后端查询者挂机后,记录仪能检测出忙音并自动挂机。忙音信号频率为450±25Hz,电平为-10±3dBm,它是0.7s断续的信号音,即0.35s送,0.35s断。本文采用ML7005检测忙音信号,电话线上的忙音信号经变压器耦合输出RXD进入芯片后,CP端输出高低电平信号,利用单片机I/O口的中断功能,即可实现对忙音的检测。在软件部分进行忙音次数的检测,达到一定次数的忙音后再挂机,避免误检测,从而提高系统的稳定性。
2.5 隔离电路
电话线上的信号是一种悬浮信号,电话使用的是悬浮地,因此电话信号一旦与其它的地连接,由于其地端参考点不同,信号会被迅速衰减,就无法得到正确的信号,系统就不能正常工作。本文采用两种隔离方法实现电话接口电路与其它电路的隔离,一是采用变压器隔离,将信号音检测发送、语音模块电路与电话线进行隔离。另一种是用光电耦合器4N35进行隔离,在振铃信号检测时,实现电话线与单片机电路的隔离。
2.6 语音播放电路
记录仪发送的电话语音提示和温湿度的语音播报由语音模块实现,选用PM66128智能语音模块,它是一个整合了录放音电路、快闪存储、ADPCM编解码器、功率放大器、稳压器等电路的全功能录放系统。使用PM66编程软件能够将wav格式音频文件加载到语音模块,音频采样率为8K时可录制40分钟的语音。PM66128与单片机的通信通过3根信号线实现,分别是DATA数据、CLK时钟、BUSY忙信号输出,放音时单片机直接送入要放音的段地址即可播放,结束时忙信号输出拉低,单片机可以再发送下一段语音地址进行播放。
2.7 温度、湿度采集电路
温度采集选用NXP公司的数字温度传感器芯片LM75A,它是一个高速I2C接口的温度传感器,可以在-55℃到 + 125℃的温度范围内将温度直接转换成数字信号,内部的11位ADC提供温度分辨率达0.125℃,该芯片采用小型SOP8封装,供电电压是2.8V~5.5V,具有过热关断功能,关断温度在内部寄存器中设置。MCU可以通过I2C总线直接读取其内部寄存器中的数据,并可通过I2C对4个数据寄存器进行操作,以设置成不同的工作模式。由于单片机MSP430F149没有I2C接口,本设计使用两个普通I/O口模拟I2C总线方式。
温度采集选用Humirel公司的湿敏电容传感器HS1101,相对湿度在0%~100%RH范围内,电容量由162pF变到200pF,其误差不大于±2%RH;响应时间小于5s;温度系数为0.04pF/℃,精度满足使用需求。图4为HS1101的湿度-电容响应曲线。HS1101在电路中相当于一个电容器件,它的电容量随着空气湿度的增大而增大,本文利用振荡电路将其电容的变化量转化为频率可变的方波,再经过整流电路、积分电路和放大电路将脉冲量转换为0V~3V直流信号,然后利用单片机MSP430F149片内的12位模数转换器ADC12将直流电压信号转换为数字信号,从而实现湿度采集。采集电路将0V~3V直流信号输入到单片机的ADC12模拟信号采样输入端口P60,并在程序中配置控制寄存器ADC12CTL0和ADC12CTL1,设置成使用内部参考电平,转换模式为单通道单次转换,在定时器控制下周期性地进行AD采样,转换完成后读取转换存储寄存器ADC12MEN0中12位转换结果,从而实现对湿度信号的采集。
3 、系统软件设计
软件设计流程如图5所示。记录仪上电初始化完成后周期性地进行环境温湿度采集,采集数据存储在AT24C256中,同时监测电话线路有无来电呼叫,在三次振铃后电话接口电路模拟摘机,对于异常情况,如振铃只响过一次对方就已经挂机,则不响应。摘机后播放密码提示音等待用户输入密码,密码验证通过记录仪等待接收查询命令,解析命令并语音播报温湿度值及记录仪工作状态,同时检测电话线路上是否有忙音信号或者DTMF挂机命令,若检测到忙音,则表示对方已挂机则记录仪也挂机,若检测到DTMF挂机命令,则表示对方强制记录仪挂机,挂机后记录仪返回初始状态。如果用户三次密码输入错误,则认为非法操作并挂机返回初始状态;在接通电话并输入密码正确后超过60s没有输入DTMF查询命令,记录仪也主动挂机。
记录仪在进行温湿度采集时,同时判断当前值是否超过所设置的报警范围,若超标则单片机读取Flash中的报警电话号码,并摘机拨打该电话,对方接通后记录仪语音播报当前温湿度值及报警语音提示,同时检测电话线路上是否有忙音信号或者DTMF挂机命令,若检测到忙音或者挂机命令,则记录仪挂机并返回初始状态。
4、 结束语
基于电话接口的温湿度记录仪只需一根电话线,安装方便,电路性能稳定,温湿度测量精度高,能够通过电话拨号方式实现远程温湿度报警和查询,使用方便,具有良好的应用前景。