基于PIC单片机的家用电器电话遥控装置
扫描二维码
随时随地手机看文章
随着社会的发展和人们生活水平的提高,越来越多的家用电器进入了人们的生活,这些家用电器给人们的生活带来了很多的方便和享受,同时随着电话在家庭中的普及,利用电话实现家用电器遥控是家用电器未来的发展方向[1]。本文介绍一种基于单片机的电话遥控装置。利用该装置,用户可以通过任意一部双音频电话(包括手机和固定电话)遥控家中的电器。当用户要下班时,可以通过电话,提前打开空调、电饭锅,用户回到家里时,饭煮好了,房子里温度刚刚好。用户也可以通过电话随时开关、检查家里电器的使用情况等等。总之,电话通到哪里,用户就可以从哪里遥控家中的电器。
1 遥控装置的工作原理
基于PIC单片机控制家用电器电话遥控装置的工作原理是:当有电话打入时,振铃电路检测到电话振铃信号,等待系统默认的振铃次数后,启动自动摘机电路实现摘机,并送出提示音信号,用户输入预先设定的密码,控制装置通过双音多频解码电路读取输入密码,与预设在控制装置中的密码进行对比验证,如果密码错误,系统自动挂机;密码正确,则进入遥控状态。该装置通过双音多频解码电路获得用户发出的命令,并根据用户的命令执行开机、关机、定时等操作;用户还可以进行工作状态查询、密码修改操作。系统还具有定时时间的倒记时显示及手动操作等功能。当人在默认的振铃次数之前接听电话,不进入电话遥控状态,因此不影响电话的正常通话使用。
2 遥控装置的硬件组成
家用电器电话遥控装置的硬件组成如图1所示。主要由电话振铃检测电路、电话自动摘机电路、双音多频解码电路、显示电路、输出控制电路、电源电路和PIC单片机组成。
单片机是整个电话遥控系统的核心,系统所有电路都是在他的控制下工作,本装置采用的单片机是Microchip公司的PIC16F84[2],他是RISC结构的CPU,采用精简指令集;内含1k×14 b E2PROM型程序存储器和64个8 b E2PROM 型数据寄存器;擦写次数可达100万次,数据保存时间大于40年;有13个可独立编程的双向I/O口,每个I/O口最大拉电流25 mA,最大灌电流20 mA;一个可带8位预分频器的8位定时器/计数器;具有自振式看门狗和程序保密位;PIC16F84采用CMOS工艺,功耗低,在5 V/4 MHz工作条件下,耗电小于2 mA,可以在2.0~6.0 V电压下工作。由于他内部含有64 b的E2PROM型数据存储器,所以可以用于在掉电状态下保存系统密码和原工作状态。
下面具体的介绍遥控装置中的各部分电路的原理和功能。
2.1 电话振铃检测电路
振铃检测电路如图2所示。二极管V1~V4有2种作用:
(1)将不确定的线路供电正负变为固定的正负输出;
(2)将交流的振铃信号变换为脉动直流以供检测。
当没有振铃信号时,线路上的供电电压为48 V(老式交换机为60 V),经二极管V1~V4整流后不足以使稳压管V5导通,振铃信号输出端电压接近0 V,当振铃信号到来时,线路上的90 V交流振铃信号经过二极管V1~V4整流变换成为峰值90 V的脉动直流电,其峰值足以击穿稳压管V5,经R1对C1充电,振铃输出端电压升高,CPU可以根据振铃信号的高低检测有无振铃。电路中稳压管V6限制振铃信号的幅度不超过CPU端口的允许电压,保护CPU。
2.2 电话自动摘机电路
自动摘机电路如图3所示。当CPU检测到系统设定的振铃次数之后,送出摘机信号,驱动三极管V7导通,电阻R2接入电路,实现摘机。当CPU检测到正确的密码,并按照用户设定要求工作后;或者检测到密码错误,CPU取消摘机信号,三极管截止,系统挂机。
2.3 双音多频解码电路
解码电路是将用户所按电话的密码信号解码后送入单片机,单片机实现对家电的控制。双音多频解码电路如图4所示。系统采用常用的双音多频解码芯片MT8870[3],该芯片外围电路简单、功耗小、抗干扰能力强。由电话线送进来的双音多频(DTMF)信号经电容隔直后送到入MT8870,由MT8870内部放大后送入两级滤波器,第一级为拨号音滤波器,滤除350 Hz和440 Hz的信号,防止拨号音干扰电路正确解码,然后将信号送入高频群和低频群信号滤波器,取出高频音和低频音,送入数字计数电路解调出高频音和低频音的频率,当检测到正确的高频音和低频音信号后,解调出对应按键并将解调值锁存,置STD信号为高,输入到单片机中,单片机将TOE置高并通过Q1~Q4引脚读入指令代码。收到代表拨号值的4位数值后对信号进行处理。
2.4 家用电器电源控制电路
家用电器电源控制电路如图5所示,在该遥控装置中有多路电源控制电路。
其工作原理是单片机根据遥控和设定开关输入的控制指令,控制电器的电源通断。当电源控制电路的输出管脚送出的开关控制指令为高电平,MOC3041截止,T1截止,电器被关闭;当电源控制电路送出的开关控制指令为低电平,MOC3041导通,T1导通,电器被打开。通过MOC3041内部的过零触发电路,保证T1在电压过零时导通和截止,对供电系统干扰最小。R4和C1是T1的保护电路。
3 遥控装置的控制程序
本遥控装置的控制程序的主要工作是对电话信号进行检测以及接收用户指令控制家用电器的工作。系统程序主要包括管理监控主程序和定时中断子程序。
3.1 管理监控主程序
管理监控主程序流程图如图6所示。
CPU检测振铃信号状态和按键状态,当检测到有效振铃信号后,启动计数程序,计数到设定振铃次数后,CPU送出摘机信号控制电路自动摘机并送出摘机提示音信号,提示用户输入密码。当检测到有*键按下时,也同样送出摘机提示音信号,提示用户输入密码(对*键的检测是为了方便用户在家中控制电器,用户直接操作接在线路上的电话机即可)。单片机检测MT8870送出的STD信号,当 STD信号有效时,从MT8870读入指令代码并与预设密码比较,如果两者不一致,则送出警告提示音信号,用户可以重新输入密码,若连续3次密码错误,系统自动挂机,不能进行遥控设定,如果输入密码与预设密码一致,则送出确认提示音信号,用户可以输入开机、关机、定时工作等指令,也可以输入查询指令查询系统工作状态或输入更改密码指令、更改设定密码。设定或查询完成后,按#键则系统挂机,连续一定时间不输入任何指令信号,系统也会自动挂机,让出电话线路。
3.2 定时中断程序
定时中断程序完成定时工作方式下的计时和本地按键设定状态的查询和执行(流程图略)。
4 结 语
所介绍的基于PIC单片机的家用电器电话遥控装置已经投入应用,证明该装置性能稳定、工作可靠,而且不影响电话的正常使用。但不足的是,利用该装置控制家用电器,必须将电器的电源和本装置相连接,因此线路显得杂乱,并且每种电器各种功能设定都不相同,使用本系统无法具体控制器详细设定,只能控制其电源开关。解决的方法有2种:
(1)将本系统和家用电器结合起来,将本装置嵌入在家用电器的控制器中,成为家用电器的一个功能,也能够实现对电器各项设定的完全控制,但这种方式需要与家用电器的生产厂家相结合来实现,这也是将来的发展方向。
(2)所介绍的控制器不直接用于控制家用电器,而是在该控制器上设计一个无线发射和接收装置,在每一个家用电器的电源端设置一个具有无线接收和发射的控制器。主控制器将用户的命令直接发射给家用电器控制器,同时还可将家电的工作状态反馈给用户。该方案适用于对现有的家用电器控制,笔者目前已将该装置开发成功。<--→参考文献CH(开始)-->
参考文献
[1] 王兴昆.家庭智能控制器技术及应用[J].工程设计CAD与智能建筑,2002,(2).
[2] Microchip公司.PIC16CXX系列单片机应用手册[M],1996.
[3] 潘兆群.双音多频信号接收芯片MT8870的高效使用方法[J].电信技术,1998,(8):49-51.