基于单片机的智能学习型红外空调遥控器
为了解决空调遥控器不兼容问题,设计了一款基于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使用。
3 系统软件设计与实现
系统程序主要分为三个部分:学习模式,发送模式以及通信模式。当第一次进入系统时,初始化设置设备地址,然后设置通信的波特率,提供1200、 9600以及19200三种选择。系统主程序即在三个模式间切换,默认进入通信模式,可以通过模式切换按键改变模式,也可以通过上位机直接更改。出于系统 的稳定性需要,在程序中加入了软件看门狗,防止程序"跑飞".
3.1 学习功能设计
3.1.1 学习模式
红外遥控器的码型多样,编码一般包括:帧头、系统码、操作码、同步码、帧间隔码、帧尾,且同步码与帧间隔码出现的位置不固定,因此码型格式灵活 多变,很难区分各种码型的编码含义;各个红外遥控的编码长度不尽相同,发送方式也多种多样,最常用的有三种:完整帧
Atmega16 单片机 芯片 EEPROM 红外 相关文章:
- 基于ATmega16的数控直流稳压电源设计(08-07)
- 单片机与串行AD转换器TLC0834的接口设计(01-22)
- 单收/单发RS-232接口芯片 ADM101E及其应用(01-25)
- 基于单片机的通用型智能充电器设计(01-06)
- 一种通信用高频开关型整流器监控系统的实现方案(02-13)
- 基于16位单片机的逆变电源系统的设计(05-26)