"); //-->
摘 要: 以电信网络为传输媒介,采用PIC单片机作为控制器,实现远程的家电智能控制。该系统具有来电识别与密码验证、密码与摘机等待时间可在线修改、密码及继电器状态的掉电保护等功能。
关键词: 智能控制; PIC单片机; 远程通信; 铃流检测
电话遥控与常规的遥控方式相比,不需要进行专门的布线,不占用无线电频率资源,避免了电磁污染,具有较好的资源利用率;电话线路各地联网,可以实现跨省市,甚至跨越国家控制;而且,电话属于双工通信,用户可以通过各种提示音即时了解受控对象的有关信息,方便进一步操作。本文所阐述的基于电信网络的家电智能控制器,采取单片机智能控制技术,充分利用现有的电话网络资源和无线通信技术,通过软件编程,设置便于用户使用的人机对话功能,使用户能够及时了解受控方信息,体现出该系统控制方式的交互性和智能化。
1 系统总体设计
该系统主要是通过手机或电话机拔打受控电话机号码,通过光耦及一定的分立元器件将铃流信号转换成相应的TTL电平,送入PIC单片机进行检测,由PIC单片机进行模拟摘机;按相应的电话按键并通过电信网络进行传输,并利用双音多频解码芯片将其解码出来再送进PIC单片机进行处理。处理结果通过PIC单片机去控制继电器、数码管及发光二极管等受控对象作出相应的动作。系统主要由以下五个模块组成:①单片机主控模块;②铃流检测、电话按键扫描、模拟摘机及提示音模块;③家电驱动模块;④DS1302实时时钟模块;⑤按键和显示模块。总体结构框图如图1所示。采用PIC系列单片机作为主控单片机,价格低、功耗低、体积小,且编程灵活、自由度大,运算速度快,控制功能完善,使得产品的设计具有较高的性价比[1]。
2 硬件电路设计
主机电路采用PIC16F73单片机作为主控芯片, 时钟频率由4MHz的晶振产生。单片机系统由+5V电源供电,上电复位电路用一个10kΩ电阻上拉到电源VDD,使主机处于正常工作状态,如图2所示。
2.1 铃流检测电路的设计
当用户被呼叫时,电话交换机送来铃流信号。振铃为(25±3)Hz的正弦波,谐铃失真不大于10%,电压有效值为(90±15)V。振铃周期为5s,即1s续,4s断的交流信号[2-3]。根据振铃信号电压比较高的特点,设计了如图3的铃流检测电路。
电话振铃信号通过电容C08隔直、D01二极管去掉另一极性、R03~R05限流电阻和电解电容C09共同构成的整形电路整形后输入光电耦合器TLP521的输入端。C08、D01和R03~R05共同组成振铃信号变换电路,它们使输入电压和电流不会太大,对后面的光电耦合器起保护作用。用隔直通交电容将铃流信号送到光电耦合器TLP521进行隔离后,在光耦的后端转化为TTL电平送到PIC单片机进行检测,完成整个振铃音的检测和计数过程。
2.2 模拟摘机电路的设计
模拟摘机电路设计如图4所示。该电路主要由两个三极管构成达林顿管,控制电话外线是否并接上由三个功率电阻构成的假负载,构成摘机电路。摘机信号由PIC16F73单片机的RA2口输出高电平实现。当RA2口输出高电平时,驱动三极管VT02导通,这又使得VT01也导通,相当于在电话线上并入了一个330Ω的电阻,同时加上并在其上的发光二极管的消耗,一方面使模拟摘机电流达到30mA,另一方面用于指示摘机。因为VT01的回路电流大于30mA,控制电路向交换机发出模拟摘机信号,交换机响应摘机信号,完成电话线路接通。整个电路完成自动摘机过程。
2.3 双音多频解码电路的设计
双音多频DTMF信号解码电路采用HM9270D芯片实现。HM9270D的连线如图5所示,它的2、3脚接收来自电话外线的双音多频脉冲信号,该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音多频信号按高、低音频信号分开,再经高、低频滤波器和幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11~14脚)输出相对应的8421码。HM9270D的数据输出端Q4~Q1连到PIC16F73的RC口的RC0~RC3,CPU经RC口识别4位代码。电话按键与相应译码(Q4~Q1)输出见图5。其中,A、B、C、D 4个按键常被当作R/P、REDIAL、HOLD、HANDSFREE等功能使用。在此,需要特别指出的是,对于“0”号码,HM9270D输出的8421码并非是“0000”,而是“1010”;对于“*”、“#”字号码,HM9270D输出的8421码分别为“1011”和“1100”。为了使单片机PIC16F73获取有效数据,HM9270D的STD有效端接到CPU的RB0中断引脚,采用中断读取有效数据。平时CPU置TOE为低电平,当STD电平由低变高,即有按键按下时,经CPU检测后,置TOE为高电平并指示RC的低四位口接收有效二进制代码。而无效的双音频信号(电话线路杂音、人类的语音信号等)不会引起HM9270D的STD端变化的。
2.4 提示音及监听电路的设计
提示音主要是通过改变假负载的大小以改变回路电流的大小来实现声音的传输,其电路如图6所示。根据人耳可以听到的频率范围,设定500Hz和1 000Hz两种频率的声音,两种声音的混合使用以达到控制反馈的目的[5]。声音信号从PIC16F73单片机的RA3口输出,作为VT04的电源,通过调制电源实现VT04的调制,交流信号通过C13反馈到VT03,以短路R14和R15来改变假负载的大小,从而实现声音信号在电话线上的传输;如需监听,只需将RA3置为高电平,声音被MIC拾取,经C14最终反馈到电话线上。
2.5 家电驱动电路的设计
驱动电路比较简单,图7所示为其中一路驱动电路原理图,ULN2003的13~15脚同理,由ULN2003去驱动继电器,电解电容C18及4007二极管用于继电器的去火花保护,发光二极管用于指示继电器的当前状态。
2.6 显示与按键电路的设计
显示与按键作为人机交流的渠道,其设计质量充分显示一个产品质量的好坏。由于本系统的I/O资源相对紧张,为了节约资源,用74HC595构成串转并电路,达到扩展I/O口的目的。将两片74HC595级联起来,便可达到16位长度,加上ULN2003达林顿管刚好可以用来驱动8个数码管。本系统设置了4个按键,并且将其与HM9270D的Q1~Q4合用,以节约I/O口资源。显示与按键电路原理如图8所示。
3 软件设计
主程序由铃流检测模块、系统复位模块、时钟设置模块、密码验证模块、继电器控制模块、密码修改模块、响铃次数修改模块、现场查询模块、DS1302读写模块、数码管显示模块、读电路板上按键模块、提示音发生模块等组成。系统总流程图如图9所示。
本系统显示器是由8位LED组成的动态扫描显示电路,若每位LED交替点亮时间为2ms,则扫描周期为16ms,扫描频率为62.5Hz,从实验测试看不会产生闪动。因此,系统循环定时为2ms。程序中DSBUF0作为控制子程序进程的控制字共8位,分别为D0~D7。其中DSBUF0的2~0位为扫描位选择指针,显示子程序每调用一次,DSBUF0自动加1,根据DSBUF0的位0状态的结果跳转到不同的子程序模块。
主程序首先进行上电初始化,接着从DS1302中读取时钟信息并进行显示。根据来电铃声有条件地摘机并根据电话按键进行相关的操作,如密码验证、继电器的控制等;根据电路板上的按键信息,控制继电器开闭,或是进行时钟的修改,或是进行系统复位。以上操作在时间超时后均返回实时时钟显示状态。
本文设计的家电智能遥控突出了电话遥控的信息反馈功能,已在电话网络中通过了测试实验,控制性能稳定,效果好。本设计中涉及的各种电器接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。该系统还可以对电话装置的其他功能作进一步的扩展。例如, 使用语音芯片作为信号音反馈,加上留言电路,主人不在家时客人可以留言,主人利用遥控方式可很方便地在异地提取留言信息;可在各路终端上接上传感器实现所需要的测量;接上自动拨码电路可定时将预定信息转至主传呼机或特定电话,以增加操作的可选性与便利性,提高人性化标准。本设计做进一步改进还可以应用于工厂企业的自动化控制等领域。
参考文献
[1] 李荣正,陈学军.PIC单片机实验教程[M].北京:北京航空航天大学出版社,2006.
[2] 尤克.现代通信技术与交换网[M].北京:高等教育出版社,2005.
[3] BEASLEY J S,MILLER G M.现代电子通信[M].肖善鹏,张蕾译. 北京:清华大学出版版, 2006.
[4] 黄颖.“网络家电”控制器[J].电子世界,2005,(1):21-22.
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。