首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于单片机的智能学习型红外空调遥控器

基于单片机的智能学习型红外空调遥控器

为了解决空调遥控器不兼容问题,设计了一款基于Atmega16单片机的智能空调遥控器。该遥控器采用测量脉冲宽度的方法学习红外信号,同时使用游程编码算法对数据进行压缩后存储,并利用单片机内部定时器PWM模式产生红外载波,成功实现了对红外遥控的学习与再现,并可通过上位机进行控制。经运行测试表明,该智能遥控器操作灵活,性能稳定,为智能遥控器设计提供了一种新方案。

1引言

本文设计了一款针对空调设备的智能学习型红外遥控器,采用记录脉冲宽度的方法,成功实现了对多种红外空调遥控信号的学习与再现,真正实现了"万能".本文在阐述了系统的总体结构及硬件设计的基础上,详细研究了系统学习,发送及通信功能的软件设计与实现。

2系统总体结构与硬件设计

系统采用模块化设计,各模块通过接口电路与主控芯片相连。主要模块有:矩阵键盘,液晶显示,存储模块,红外发送模块,红外接收模块,RS232、RS485通信模块,以及温度检测模块。系统结构图如图1所示。

系统以Atmega16单片机作为主控芯片,Atmega16具有16K字节的系统内可编程Flash ,512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。该芯片功能强大,满足系统设计需要并提供了充分的扩展空间。主控芯片使用8MHz的晶振,晶振电路靠近主控芯片,尽量减少输入噪声。复位电路采用低电平复位。



图1系统结构图


矩阵键盘采用3*3的设计,设置了8个功能键,方便用户进行手动操作。其中单独设计了一颗模式切换键,可在学习、发射、通信模式中切换。为了实现学习功能,红外接收模块使用了一体化接收头NB1838,其光电检测和前置放大器集成于同一封装,中心频率为37.9KHz. NB1838的环氧树脂封装结构为其提供了一个特殊的红外滤光器,对自然光和电场干扰有很强的防护性。NB1838对接收到的红外信号进行放大、检波、整形,并调制出红外编码,得到TTL波形,反相后输入单片机,再由单片机进行进一步的处理,存储到EEPROM中,接收电路如图2所示。



图2接收硬件电路图。


考虑到系统需要的存储空间比较大,设计了单独的存储模块,选用的EEPROM是AT24C64,它提供了8KB的容量,通过IIC协议与Atmega16 TWI接口通信,将学习到的红外指令存储在此,掉电不丢失。

在发射模式下,系统从EEPROM读取相应数据信息,利用三极管9013组成的放大电路,通过大功率红外发射管将调制好的红外信号发射出去。发射电路如图3所示,非发送状态时,三极管工作在截止状态,红外发射管不工作,有利于降低功耗以及延长红外发射管的使用寿命。经实际测试,发射距离可达到10m左右。



图3发射硬件电路图。


通信模式中,系统通过RS232电路与上位机通信,在与上位机通信时使用DS18B20反馈温度信息,DS18B20一线总线设计大大提高了系统的抗干扰性,独特而且经济。系统还增加了RS485模块,便于组网,以实现对多个红外设备进行控制。RS485在组网时只需要用一对双绞线将子设备的"A"、"B"端连接起来,这种接线方式为总线式拓扑结构,在同一总线上可挂接多个结点,连接方便。

为了增加设备的实用性,系统设计了两个电源方案,一个是直接接入5V直流电源,一个是接入12V直流电源,然后通过L7805构成的变压电路降压为5V使用。
返回列表