基于Atmega8单片机的红外遥控电路设计与分析
扫描二维码
随时随地手机看文章
1 引言
红外遥控器已被广泛使用在各种类型的家电产品上,它的出现给使用家器提供了很多的便利。红外遥控系统一般由红外发射装置和红外接受设备两大部分组成。红外发射装置又可由键盘电路、红外编码芯片、电源和红外发射电路组成。红外接收设备可由红外接收电路、红外解码芯片、电源和应用电路组成。通常为了使信号能更好的被传输发送端将基带二进制信号调制为脉冲串信号,通过红外发射管发射。本设计采用Atmega8作为红外发射编码和接收解码芯片。
2 系统功能分析
一个完整的照明灯的红外遥控电路应具有以下功能:
按下任意一个开关能使相应的灯实现亮灭的功能,按下总开关实现所有灯的亮灭,按下相应的定时关闭键能实现电灯在设定的时间内关闭。
3 系统硬件的实现方案
3.1 系统原理图
通用红外遥控系统由调制、发射和接收三大部分组成,本系统以Atmega8单片机作为红外发射编码和接收解码芯片,另外再以HS5104作为发射编码芯片,5个键盘输入模块中的三个用于给3路电灯分别进行亮灭操作,一个键盘输入模块用于操作所有灯的亮灭,最后剩下的一个键盘输入模块用于实现电灯在设定的时间内关闭的功能。红外遥控系统如图1所示:
图1 红外遥控系统
(1)发射系统
发射系统一般用电池供电,这就要求芯片的功耗要很低,芯片大多都设计成可以处于休眠状态,当有按键按下时才工作,这样可以降低功耗。红外线通过红外发光二极管(LED)发射出去,红外发光二极管内部材料和普通发光二极管不同,在其两端施加一定电压时,它发出的是红外线而不是可见光。
图2a 简单驱动电路
图2b 射击输出驱动电路
如图2a和图2b是LED的驱动电路,图2a是最简单电路, 选用元件时要注意三极管的开关速度要快,还要考虑到LED的正向电流和反向漏电流,一般流过LED的最大正向电流为100mA,电流越大,其发射的波形强度越大。
图2a电路有一点缺陷,当电池电压下降时,流过LED的电流会降低,发射波形强度降低,遥控距离就会变小。图2b所示的射极输出电路可以解决这个问题,两个二极管把三级管基极电压钳位在1.2V左右,因此三级管发射极电压固定在0.6V左右,发射极电流IE基本不变,根据IE≈IC,所以流过LED的电流也基本不变,这样保证了当电池电压降低时还可以保证一定的遥控距离。
(2)接收系统
红外信号接收系统的典型电路如图3a所示:
图3a 红外线接收头内部电路
该电路包括红外监测二极管,放大器,限副器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30khz到60khz的负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。
以上电路被集成在一个元件中,成为一体化红外线接收头,如图3b所示:
图3b 红外线接收头
红外线接收头的种类很多,引脚定义也不相同,一般都有三个引脚,包括供电脚,接地和信号输出脚。根据发射端调制载波的不同应选用相应解调频率的接收头。
红外线接收头内部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在22uf以上。有的厂家建议在供电脚和电源之间接入330欧电阻,进一步降低电源干扰。
(3)调制
红外遥控发射数据时采用调制的方式,即把数据和一定频率的载波进行“与”操作,这样可以提高发射效率和降低电源功耗。
调制载波频率一般在30khz到60khz之间,大多数使用的是38kHz,占空比1/3的方波,如图3.4所示,这是由发射端所使用的455kHz晶振决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。
图4 载波波形
图5a为系统发射硬件方框图:
图5a 发射系统方框图
图5b为系统接受硬件方框图:
图5b 接收系统方框图
3.2 各模块电路原理图
(1)Atmega8MCU介绍
系统的控制核心Atmega8单片机,是Atmel公司推出的基于AVR RICS低功耗CMOS 8位高性能单片机。由于其先进的指令集以及单时钟周期指令执行时间, ATmega8 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。图6为其引脚排列图。
图6 Atmega8引脚排列图
在本设计中的发射电路中,Atmega8单片机的PC6、PD0~PD3口用于键盘输入;PB1口接红外发光二极管以及发射指示灯。在接受电路中Atmega8单片机的PB1~PB3用于接三路电灯,PD5~PD7、PB0、PB6、PB7接六路指示灯,PD2接红外接受头。
(2)HS5104红外遥控编码发射电路
本设计中,还另外采用了编码器BA5104组成红外发射电路。K1~K8与地构成按键开关电路,这里只用了K1~K5。其指令经三极管Q放大,驱动L1红外发射管发射出经编码后的红外遥控信号。HS5104引脚排列图如图7所示:
图7 HS5104引脚排列图
脚位说明:
(3)其他电路
红外发射二极管的接法如图8所示:
图8 红外发射二极管连接原理图
3.3 系统电路原理图
发射电路硬件原理图如图9a和9b所示。
图9a 发射电路(M8)硬件原理图
图9b 发射电路(hs5104)硬件原理图
接收电路硬件原理图如图9c所示:
4 系统软件的实现方案
4.1 系统总流程图
本设计采用的BASCOM编程,是MCS公司开发的以BASIC高级程序设计语言为平台的AVR单片机开发软件,它简要清晰,易于理解、掌握。软件设计流程图如图10a和图10b所示:
图10a 发送程序流程图
图10b 接收程序流程图
5 系统软硬件的调试
5.1 系统硬件调试
在电脑上仿真以后按照硬件电路图连接好电路,将编写的程序写入单片机之前先校验下载线是否接通,然后再写入。调试时,先连接好下载线与上位机、目标板,给单片机系统供电,芯片选择ATMEGA8,它的下载环境如图11所示。
图11 智峰下载软件界面图
5.2 系统软件调试
本系统使用的软件开发环境是BASCOM-AVR IDE,它是MCS公司开发的以BASIC高级程序设计语言为平台的AVR单片机开发软件,该软件具有可视化图形界面,是与VB/QB高度兼容的结构化BASIC语言,简要清晰,易于理解、掌握。除了有专门为AVR单片机串行和并行接口、外围器件开发的语句外,另外还扩充了许多通用的单片机外部设备的专用语句,调用各种硬件资源更加得心应手。
在BASCOM-AVR IDE中,程序经过编译之后,编译产生的hex文件,供下载之用。同时也可进入BASCOM-AVR IDE提供的软件仿真窗口进行仿真运行,从实物图形化的硬件仿真平台上,可以直观地进行实验操作。图12为BASCOM-AVR IDE的开发环境主界面。
图12 BASCOM-AVR开发环境图
6 结语
红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。当然,红外遥控照明灯如果要投入大规模生产时,还需要对它不断的进行优化。