远程智能控制系统

2018-04-16 16:10:21 YZIOT 32

前 言 遥控技术是通过一种手对被物体实施一定距离控制,常用的方式有无线电遥控、有线遥控、红外线遥控和超声波遥控等.无线电遥控须占用一定的无线电频率资源,造成电磁污染.有线遥控要专门布线,投入大、遥控距离短.而遥控距离也制约了红外线和超声波在远程控制上的发展. 

随着我国信息产业的迅速发展,通信基础设施日臻完善,固定电话,移动电话用户总数接近两亿,这为电话远程控制提供良好的基础.基于电话网的远程控制,不需要占用无线电频率资料,不需要专门布线,具有较好的实时性和可靠性;可以充分各地联网的电话线路,实现跨省市,甚至跨国远程控制. 
本文结合双音频解码技术、单片机的硬件和软件和语音技术等来实现远程智能控制. 

第一章:系统设计要求及设计方案 
1.1总体设计分析 
电话远程家庭智能控制系统(以下简称控制系统)的功能以确定设计具体要求如下: 
(1) 控制系统能通过电话终端通信设备对异地电器实现智能控制. 
(2) 控制系统可以实现自动模拟摘机,以实现双方通信. 
(3) 控制系统主人的身份校验、在线密码修改及存储. 
(4) 控制系统有语音提示,以方便主人操作. 

1.2总体方案 
为实现控制系统的功能,完成设计要求,采用模块化结构,设计电话远程家庭智能控制系统主要由单片机主控部分、双音频解码部分、电话接口电路和语音提示部分组成. 
单片机主控部分主要完成信息处理和记录、控制调度其它部分正常工作、如电器的控制、密码校对和修改等工作. 
双音多频解码部分对用户从远端发送来的DTMF(双音多频)信号进行解码,解码后的信号送给单片机进行处理. 
电话接口电路主要完成振铃信号检测、模拟摘挂机、语音发送等. 
语音提示部分发出语音提示信号,以实现人机互交式操作界面. 
电话远程家庭智能控制系统构成方框图如图1-1所示 
图1-1 电话远程家庭智能控制系统组成方框图 

    本装置并联于电话机的两端,不会影响到电话机的正常使用.用户通过异地的电话机拨通本装置所连接外线的电话号码,通过市局交换机向电话机发出振铃信号.本装置如果检测到振铃五次,即五次响铃后无人接,自动摘机,进入密码检测,输入正确后选择被控制电器,然后输入开或关进行遥控电器,完成后返回. 
第二章 系统设计可行性分析 
2.1 总体设计分析 
根据电话远程智能遥控系统的具体设计要求: 
⑴ 通过电话网对异地的电器实现控制(开/关); 
⑵ 控制器可以实现自动模拟摘挂机; 
⑶ 控制器设置密码校验; 

我设计此系统必须具有以下单元功能模块: 
⑴ 铃音检测、计数; 
⑵ 自动摘挂机; 
⑶ 密码校验; 
⑷ 在线修改密码; 
⑸ 双音频信号解码; 
⑹ 输入信息分析; 
⑺ 控制电器开关; 
⑻ 电器状态查询; 
⑼ 忙音检测; 

    根据电话机和交换机发出的不同信号音以及电话线各种状态的不同要求,我结合实际情况对具体的单元功能模块作出软件或硬件上的不同分工,具体如下. 
    理论上交换机所发出的各种信号音都可以通过软件编程而识别,即通过单片机发出的脉冲信号来检测信号音单位时间内的脉冲个数计算出其频率,从而完成信号音识别.但是从系统的可靠性和程序的结构设计上分析,我选择了硬件来解决振铃音检测、忙音检测、双音频信号解码等功能模块. 
    自动摘挂机和电器的控制必须使用具体硬件电路来实现. 
    振铃音计数、忙音计数、密码校验、在线修改密码、输入信息分析、电器状态查询等功能模块使用软件编程方式要比硬件电路简单的多,实现也很容易. 
    综上所述,我设计信号音检测、自动摘挂机、控制电器、双音频解码、语音录放等功能模块使用硬件电路实现.而信号音计数、密码校验、在线修改密码、信息分析、电器状态查询等功能模块使用软件编程完成. 
    下面就硬件以及软件实现的单元电路分别进行具体分析. 

2.2 硬件模块 
    本作品使用了大量的硬件电路完成部分功能模块,其目的就是充分利用硬件电路的可靠性、稳定性,使整体电路达到比较高的稳定性. 
2.2.1自动摘挂机 
    因为程控电话交换机对电话摘机的响应是电话线回路电流突然变大为约30mA的电流,交换机检测到回路电流变大就认为电话机已经摘机.自动摘挂机电路可以通过单片机控制一个继电器的开关,继电器的控制端连接一个大约300Ω的电阻接入电话线两端,从而完成模拟摘挂机. 
2.2.2振铃音的检测 
    当用户被呼叫时,电话交换机发来铃流信号.振铃为25±3伏的正弦波,谐铃失真不大于10%,电压有效值90±15V.振铃以5秒为周期,即1秒送,4秒断.根据振铃信号电压比较高的特点,可以先使用高压稳压二极管进行降压,然后输入至光电耦合器.经过光耦的隔离转换,从光电耦合器输出的波形是时通时断的正弦波,经过RC回路进行滤波输出很标准的方波.方波信号就可以直接输出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程. 
2.2.3控制电器 
    此部分比较简单,通过单片机控制多路继电器的开关即可,常用的电路已经很成熟,在此就不累述了. 
2.2.4双音频解码 
    此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性.经过翻阅大量的文献资料,我发现使用电话专用的双音频编解码芯片进行输入双音频信号的解码,是比较常用的一种方法.使用集成电路不但外围电路简单,而且可靠性强.经过专用集成电路的解码,信号转换成为不同的码制信号,可以直接被单片机读取.一般常用的电话双音频编解码集成电路有8870、8880、8888、9170等,经过反复论证比较,我决定使用双音频解码集成片HT9170来完成此功能模块.有关HT9170的详细介绍请参阅本报告的附录一部分. 
    经过比较,我决定使用AT89S51作为控制的芯片,具体有关AT89S51的介绍不在这里累述,其详细资料请参阅本报告的附录部分. 
2.3.1信号音计数 
    本单元可以使用AT89S51的两个计数器的外部中断方式来实现对不同信号音的计数. 
2.3.2密码检测 
    本单元可以在系统初始化的时候,在单片机内部的存储器的内部开辟一块空间放置密码.当用户输入密码的时候,单片机把输入的密码写入另外的一块空间,然后利用减法运算比较两者是否相等.这样就可以实现密码检测的功能. 
2.3.3 信号分析处理 
    本单元可以利用查表方式,也可以用简单的语句,通过子程序调用来实现. 
经过翻阅大量的技术资料,对具体要求实现的功能进行完整的系统分析,我认为我的电话遥控系统设计基本符合实际情况,可以完成设计任务所要求实现的基本功能. 
第三章 硬件单元电路设计 
3.1 主控部分电路设计 
控制系统的主控部分的主要单片机AT89S51配合软件来完成信息处理和记录、控制调度其它部分正常工作、电器的控制、密码校对和修改等工作. 
  设计主控部分的硬件电路如下图(图3-1)所示 

图3-1 主控部分电路原理图 

3.1.1复位电路 
图(一)中电容C6和电阻R7组成上电复位电路,在单片机上电时,产生一个大于两个机器周期的复位信号,为单片机的RESET(9脚)提供一个高电平复位号,使单片机上电复位. 
电容C6取2.2uF/16V的电解电容. 
电阻R7取1K/1/4W的电阻 
3.1.2时钟电路 
图(一)中电容C4、C5和石英晶体振荡器Y2组成时钟电路.为单片机提供一个频率为12M的稳定时钟频率. 
电容C4、C5取33pF的陶瓷电容. 
石英晶体振荡器Y2取12M的金属外壳石英晶体振荡器. 
3.1.3单片机的选型 
从系统功能的需要和性价比方面考虑,选用ATMEL公司的AT89S51单片机. 

3.2 双音频电路设计 
目前电话线传输的信号有两种,一种是快淘汰的脉冲信号,一种是目前普遍应用的双音多频信号.双音多频信号是一组由高频信号与低频信号叠加而成的组合信号.CCITT和我国国家标准规定了电话键盘按键与双音 多频的对应关系如表3-1所示. 
电话拨号数字与高低频信号对应关系表(表3-1) 
数字键盘 高频组/Hz 
1209 1336 1477 1633 
低频组/Hz 669 1 2 3 A 
770 4 5 6 B 
852 7 8 9 C 
941 # D 

双音多频信号解码是控制系统的主要组成部分,正确的解码出交换机通过电话线发送来的双音多频信号是控制系统的关键. 
目前很多电子公司都生产双音多频频信号解码集成电路,便于与单片机并行通信的有MITEL公司的MT8870和HOLTEK公司生产的HT9170等.Motorola公司生产的DTMF(双音多频)MC145436解码器可与单片机串行通信.(MT8870与HT9170可以直接代换). 
双音多频DTMF信号解码电路由HT9170(简介详见附录)主要承担.HT9170的连线如图三所示,它的2、3脚接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11~14脚)输出相对应的8421码.HT9170的数据输出端Q4 ~ Q1连到AT89S51的P1口的P1.4 ~ P1.7,CPU经P1口识别4位代码.电话按键与相应译码(Q4~Q1)输出见附录.其中,A,B,C,D 4个按键常被当作R/P,REDIAL,HOLD,HANDSFREE等功能使用.注意,需要特别指出的是,对于“0”号码,HT9170输出的8421码并非是“0000”,而是“1010”;另外,“*”,“#”字号码,HT9170输出的8421码分别为“1011”和“1100”.有些技术资料会出现错误,包括比较权威的手册,所以我是在实验中,记录下测量的每一组数据后,才把这些数据应用于程序当中.为了使单片机AT89S51获取有效数据,HT9170的STD有效端经反相后接CPU的/INT0引脚.当HT9170获取有效双音多频信号后,STD电平由低变高,再反相为低,CPU检测后,指示P1口接收有效二进制代码.而无效的双音频信号(电话线路杂音、人们的语音信号等)是不会引起HT9170的STD端变化的.DTMF接收器的外围电路如图三所示.其中,接在电源处的电容对抗干扰有一定的作用.在实际应用中,存在这样一个问题:HT9170的使能控制端不允许中断时,将使HT9170的STD端中断关闭.其解决办法是,将STD端接与非门的一输入,与非门的另一输入端接一不定电平端P.当STD有效(即中断开放)时,P = 1则/INT0中断关闭;P = 0时则/INT0中断允许. 

双音多频信号解码电路原理图(图3-2) 

3.3 振铃检测与模拟摘挂机电路设计 
当用户被呼叫时,电话交换机发来幅度为25±3V的正弦波振铃信号,振铃信号失真少于10%,电压有效值为90±15V,振铃信号的周期为5S,即1S送.4S断. 
根据振铃信号的特点,使用稳压二极管将大幅度的正弦波信号削波成小幅度的矩形波,经光电耦合器放大耦合,RC滤波后,送到单片机的T0引脚与单片机的程序配合完成振铃检测. 
只有在摘机状态下,控制系统才能与用户的终端通信设备通信,完成用户从远方发送的指令,实现智能控制.所以在接收振铃信号时,主人在规定时间没有接电话时,控制系统将自动模拟摘机,与远方的用户进行通信.通信完毕后,控制系统将自动挂机. 
程控电话交换机对电话的摘机响应是电话线路回路的电流突然变大为约30mA,交换机检测电话线路回路的电流变大约为30mA就认为电话机已经摘机. 
模拟摘机电路可以通过单片机控制一个继电器的开关来实现,当断电器动作时,电话线路并联一个大约300Ω,使电话线路的电流突然变大约为30mA.当控制系统与用户通信完毕后,单片机控制断电器断开,从而断开关联的电阻,自动挂机. 
根据上述原理和多次实验设计出振铃检测与模拟摘挂机硬件原理图如(图3-3)所示 

图3-3 振铃检测与模拟摘挂机电路原理图 
3.4 语音提示电路设计 
为了为用户与控制系统提供一个交互式操作平台,控制系统利用语音提示电路实现用户和控制系统的交流.语音提示电路预先存储若干段提示音,单片机根据用户发送的DTMF信号,对语音提示电路进行寻址,发送相应的提示音,从而向用户反馈信息提示下一步该如何操作. 
目前有很多种语音提示芯片,APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段.与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点,同时保留了ISD2500芯片的一些特点,都是DIP28双列直插塑料封装,在管脚排列上也基本相同.
根据APR9600语音录放芯片的资料(附录二)和控制系统的要求,采用单片机的P0口控制APR9600语音录放芯片,实现八段语音提示.设计出语音提示硬件电路如(图3-4)所示. 

图3-4 语音提示电路原理图 

到了设计后期,还是没有买到ARP9600芯片及其它语音提示相关的芯片,语音提示电路只好改用程序编写的信号音提示.其效果大大不于采用语音芯片的提示电路,但用来作设计的演示还是可以的. 
为了方便本系统的使用者,本人设计了信号音提示音电路,首先我规定了信号音的规范以及其对应含义: 
1、 响1声,频率为500Hz:请输入密码; 
2、 响2声,频率为500Hz:请输入需要控制的电器号; 
3、 响3声,频率为500Hz:请输入控制开/关; 
4、 响1声,频率为1000Hz:完成操作; 
5、 响3声,频率为1000Hz:密码错误; 
    信号音从单片机89S51的P3.2口输出,经过三级管反向输出的是频率一定,时通时断的方波,信号音经耦合电容C5至变压器T1,它是音频输出专用的耦合变压器,正好符合阻抗匹配的要求. 
    本电路比较难点在于耦合变压器T1的选取.因为电话线中直流电压比较高,而且还有各种信号音,这些都会影响到语音信号加载到电话线上,因此本装置使用一个耦合变压器作为隔离器件.这个耦合变压器的阻抗匹配问题是设计的难点,设计初我查阅有关资料并没发现具体参数.后来看到可以邮购这种电话语音专用耦合变压器,其具体性能都很优秀,但是价格太高,不符合我的设计原则(元器件便宜),因此弃置不用. 
    到了设计的后期,本装置的基本功能已经完成,音反馈的问题又重新提到议事日程上来了.经过不懈的努力,终于在报废的程控电话交换机上找到了这种电话专用耦合变压器,经过实验表明输入用的耦合变压器反馈语音性能比较好,其体积大约是10mm×10mm×8mm. 
3.5 密码保存电路设计 
控制系统要求用户通过身份验证时,才能有权控制家用电器,所以控制系统在摸拟摘机后设置密码验证,只有在输入的密码与上次修改的密码一致时,控制系统才根据用户指令完成智能控制. 
为让用户随时修改进入控制系统的密码,以提高控制系统的可靠性和保密性,所以必须设计在线密码存储电路配合软件完成密码在线修改. 
目前能在线修改的存储器有很多种,常用的并行通信的有28系列和29系列等.由于密码一般不是很长,为了节约单片机的端口,所以选用串行通信的在线修改存储器. 
AT24C02芯片是Atmel公司生产的一种性价比高的在线修改存储器,采用PHILIPS公司的I2C总线通信协议.由于ATMEL公司的AT89S51单片机片内没有I2C总线通信控制器,所以用软件来模拟I2C总线通信,配合AT24C02芯片完成密码在线修改. 
根据Atmel公司AT24C02芯片的说明书,设计密码在线修改电路如图3-5所示                                               

图3-5密码在线修改电路原理图 
3.6 电器控制电路设计 
电器控制部分的设计决定了控制系统的可靠性,控制系统的目的就是能实现电器的智能控制. 
目前常用的电器控制电路有继电器控制、双向晶闸管控制、固态继电器控制等. 
继电器控制可控制大功率电器,技术成熟,性价比高,但燥声大,电磁兼容性不好. 
双向晶闸管控制是近年来电器控制领域的一个新秀,主要用于交流调压和变流和变频产品中,大功率双向晶闸管控制性价比低,需要专门的驱动电路.可靠性和过载能力不理想. 
固态继电器是一种新型电子器件,一般用于小功率电器的控制,其性价比高,由于其采用过零点触发和关断,所以对其它的电器没有干扰. 
由于控制系统主要控制对象是家用电器,一般的家用电器功率不是很大,但总要求控制系统不能或很小干扰对其它家用电器.从性价比和电磁兼容性方面考虑决定控制系统的电器控制部分采用固态继电器控制. 
参考电子器件应用手册,设计出电器控制部分电路原理图如(图3-6)所示. 

图3-6 电器控制电路原理图 

第四章 软件设计 
  3.1 程序总体方案的设计 
为提高控制系统的可靠性和可维护性控制系统的软件采用模块化结构,用MCS-51汇编语言编写. 
根据控制系统的要求,和硬件电路,设计出软件流程图如(图4-1)所示. 

图4-1 电话远程家庭智能控制系统软件流程图 

第五章 系统调试 
5.1 整体调试 
5.1.1调试设备 
根据控制系统调试的需要,我们自己准备了一些调试设备. 
1. 5V直流电源              一个 
2. 数据万用表              一个 
3. 电话线或交换机          一台 
4. AT89S51单片机下载线     一根 
5. PC机                    一台 
5.1.2硬件调试 
由于采用单片机程序控制,所以硬件调试工作量不大,只要保证硬件电路的电源和时钟、复位能正常就行. 
首先完成DTMF解码和振铃信号检测电路的调试. 
第一步:检查实验电路的焊接是否正确,用万用表检查是否有短路和断路的地方. 

第二步:连接好电源,静态检查CM8870芯片和AT89S51芯片的电源是否正常.AT89S51芯片的时钟和复位是否正常,振铃电路能否检测到振铃信号. 

第三步:把调试程序,用下载线写入单片机,利用相并联的电话话发送的DTMF信号,看是否能成功的解码.不断的检查硬件和程序,找出原因,解决问题. 

在调试振铃信号检测电路时,由于限流电阻R10阻值选得过小,造成检测电路过于敏感.将R10换成100K电阻后,调试成功. 
在调试DTMF解码电路时,首先怀疑CM8871芯片损坏,更换后,还是不完成解码.一天,偶然发现用宿舍电话拨号时,发现解码电路能解码,后来换到带来电显示服务的电话线,实验成功. 
用上述的方法,屡败屡战,不断的修改元器件参数和程序完成了其它电路的设计,由于篇幅有限,在些就不详细论述. 

5.2软件的调试 

根据控制系统的要求写了软件后,经单片机WAVE仿真软件仿真,修改一些错误后,再与硬件一起调试. 
由于软件的正常运行是建立在硬件的基础上,所以软件的调试,放在硬件部分调试中完成和优化. 

第六章 系统使用说明 
    本系统使用起来非常方便,下面我就系统使用流程图做一下简单的使用方法介绍. 
首先用户把本装置的信号线并联在电话线的两端,插上电源线,打开电源开关,本装置自动复位,就能正常工作了. 
    当用户从异地打来电话,本装置接收到电话振铃音,开始计数.当电话铃声计到五次,装置自动摘机,回送提示音提示输入密码. 
    当用户在三次之内输入正确的密码后,用户就可以对装置所连的电器进行选择,然后根据需要对其进行开关控制. 
    用户可以在一次“通话”中同时控制几个电器.如果用户控制完毕,可以按‘#’键让装置自动挂机,结束“通话”.而已经开启的电器将保持其开启的状态,直到下一次的“通话”控制使其关闭. 
    本装置使用起来简单易学,而且功能强大. 
图6-1 电话远程家庭智能控制系统操作流程图 

第七章 系统功能扩展 
    本系统由于时间的限制,在设计结束之前只能作到现有的程度.在本次毕设计的后期,我也尽量对本作品的功能进行了相应的扩展.例如:单片机控制电器数量的增加,此部分充分应用了单片机外围接口扩展技术. 
    我在这里对本系统还可以的扩展功能做一下简单的介绍. 
    1、使用MT8888芯片扩展电话远程防盗报警功能,而且能使本装置的体积大大减小,在这里就MT8888集成电路作一个简单的介绍. 
    MT8888是MITEL公司的产品,是一种带呼叫进展过滤器的单片双音多频收发器.它包括一个带增益可调放大器的DTMF接收器和一个DTMF发送器.接收器的结构及工作原理与HT9170大同小异,也采用集频带分离滤波和数字解码为一体的结构.其中滤波电路也采用高频群和低频群两个六阶开关电容带通滤波器,解码采用数字计数器技术来确定输入的DTMF音调的频率,并将其译成标准的四位二进制码.发送器采用开关电容D/A变换器.片内使用了一个脉冲计数器,能合成精确的音调脉冲,保证音调脉冲准确的定时发送.MT8888提供了一个标准的微处理器总线接口,可以直接与MCS-51系列微机接口.它还可以选用呼叫进展方式工作,通过呼叫进展滤波器来检测特定通带内的信号频率,供微处理机或计数器电路分析,以确定检测到的呼叫进展音的性质. 
    MT8888的接收工作方式,从检测DTMF信号到解码的过程与HT9170完全一致,差异较大的是解码后的二进制码的输出.MT8888没有延时导引输出端stD,当收到的有效音调对已被寄存且相对应的四位二进制码已被锁在接收数据寄存器中时,片内状态寄存器中的延时控制标志位b3复位,同时状态寄存器中的接收数据寄存器满标志位b2置位,CPU可通过查询这些状态标志来了解解码的过程.如果选中的是中断方式,当延时控制标志位复位时,IRQ/CP端将变为低电平,向CPU发送中断请求,当CPU响应此中断,读出状态寄存器中的数据后,IRQ/CP端返回高电平状态. 
    根据MT8888的以上特点,它可以检测出电话振铃音、忙音等信号音.我设计了新的系统功能,改进了的系统可以首先工作于第二方式,即电话线路信号音检测状态,然后根据振铃情况控制摘挂机,摘机后MT8888工作于第四方式,即双音频解码状态,后面就和8870一样了.这样就能节省硬件电路的设计制作,还可以大大缩小本装置整体体积. 
    2、由于采用AT89S51单片机,AT89S51单片机有在线修改程序的功能,所以随时可以修改系统的软件,在不修改硬件一情况下,以实现更加智能化. 
   3、使用LM567锁相环可以对电话信号音中的忙音进行识别,使用者更加方便,而且能够提高本装置的稳定性. 
4、为方便本系统的安装,电器控制可以扩展成红外线无线控制方式.