0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用Atmega8作为红外发射编码和接收解码芯片设计

2oON_changxuemc 来源:互联网 作者:佚名 2018-05-19 09:02 次阅读

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 结语

红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。当然,红外遥控照明灯如果要投入大规模生产时,还需要对它不断的进行优化。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接收器
    +关注

    关注

    14

    文章

    2214

    浏览量

    70666
  • ATmega8
    +关注

    关注

    4

    文章

    106

    浏览量

    49747
  • hs5104
    +关注

    关注

    1

    文章

    2

    浏览量

    2613

原文标题:基于单片机的红外遥控电路设计

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ATmega8,ATmega8L,中文资料,数据手册

    ATmega8,ATmega8L,中文资料,数据手册ATmega8是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,
    发表于 04-21 09:23

    红外遥控解码发射

    UPD6121G进行解码,根据接收到波形显示其 32位二进制红外编码数据波形,根据波形下方刻度可查阅每一位为0或1。 3.LCD12864第二行显示
    发表于 11-12 14:39

    ATmega8输出频率

    哪位兄弟能否告诉我ATmega8输出方波频率可不可以做到20KHZ,并且占空比可调?
    发表于 03-15 11:18

    atmega8与nrf24L01+的问题

    我弄一个atmega8的遥控器,发射模块是淘宝买的,能用。不过程序我是从51改过来的(在51单片机上能用)。但现在在atmega8发射不了,是模拟SPI总线的。请大神指点一下
    发表于 03-17 22:38

    ATMEGA8芯片无法下载读取

    求教各位大师,我在淘宝上买了个ISP下载线,想用它来读取和下载ATMEGA8的程序,我试着用全新的芯片,就是里面一点都没写过的,可以进入编程模式,也可以读取和写入,但我拿从朋友那里拿来的芯片却无法
    发表于 04-20 16:40

    ATmega8入门

    ATmega8入门教程,适合新手学习
    发表于 11-17 12:14

    求基于ATmega8单片机的程序

    基于ATmega8单片机的火灾报警系统,在红外传感器的检测下,如果检测到火焰,就发生声音报警,求设计程序,这是流程图
    发表于 03-06 17:56

    求助:读写ATMEGA8 eeprom

    用CVAVR编写的读写ATMEGA8 eeprom,用proteus仿真通过,但烧录到电路中就卡在读写那里不动了。急啊!时间期限到了啊。请求那位有过atmega8内部eeprom经验的点拨一下
    发表于 07-26 16:09

    基于单片机的红外遥控电路设计

    电灯在设定的时间内关闭。  3系统硬件的实现方案  3.1 系统原理图  通用红外遥控系统由调制、发射接收三大部分组成,本系统以Atmega8单片机
    发表于 12-04 15:46

    红外接收解码2

    据反码数据“0”=0.56ms高+0.56ms低数据“1”=0.56ms高+1.68ms低本案例实现了将上述编码格式的红外发送数据进行接收解码,并将收到的数据显示到七段译码器上。二、
    发表于 08-08 09:09

    利用Arduino IDE对ATMEGA8等单片机编程 精选资料分享

    对于ATmega8的支持软件包,并利用Arduino Nano作为ISP模块对于ATmega8下载Bootloader。最后利用了一块USB-TTL UART模块测试了Arduino IDE对于
    发表于 07-13 07:27

    求助,关于atmega8芯片烧录问题

    今天才发现,有个板子上是ATmega8L,烧录时选的是ATmega8芯片选项,因为没有ATmega8L这个选项,有ATmega8A,想知道有
    发表于 11-10 06:02

    atmega8原理与应用手册

    atmega8原理与及应用手册,ATmega8 是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。在AVR家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集
    发表于 04-07 15:28 119次下载

    基于ATmega8红外控制设计

    摘要:红外控制是集单片机技术、红外通信技术、电子技术和控制技术为一体的系统。文章从工程实际出发,采用ATmega8单片机及红外传输方式进行设
    发表于 03-06 16:25 83次下载
    基于<b class='flag-5'>ATmega8</b>的<b class='flag-5'>红外</b>控制设计

    C51红外接收发射控制及原理编码解码

    基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路
    发表于 12-17 17:45 17次下载
    C51<b class='flag-5'>红外接收</b>与<b class='flag-5'>发射</b>控制及原理<b class='flag-5'>编码</b>与<b class='flag-5'>解码</b>