新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于MSP430单片机的红外遥控器设计

基于MSP430单片机的红外遥控器设计

作者:时间:2012-01-19来源:网络收藏

1 引言

在工业控制的许多环境下,不适合操作人员直接控制,例如:高温、高压、辐射、粉尘、强酸性、腐蚀性、有毒气体等。这时,红外遥控是可行的控制方式。通过这种方式,操作人员能及时采集现场数据,修改控制对象的参数,并发送控制命令,以达到理想的控制效果。红外遥控通过的方式进行控制,具有低功耗、低成本、高可靠性、体积小、结构简单、避免人身伤害等优点,是一种先进的控制方式,具有广阔的应用前景。

2 原理

,即以红外线作为通信载体,通过红外光在空中的传播来传输数据的通信方式,它由发射端和接收端来完成。在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外光脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。

红外发射端发送数据时,是将待发送的二进制数据调制成一系列的脉冲信号后发射出去。红外载波为频率38KHz的方波,采用脉宽调制PWM方式发送,通过待发送二进制数据的“0”或“1”控制两个脉冲之间的时间间隔,及PWM的占空比。红外载波既可以通过外围硬件电路实现,也可以使用单片机内部的定时器的PWM功能实现。

红外接收端在收到38KHz的载波信号时,会输出低电平,否则输出高电平,从而可以将“时断时续”的红外光信号解调成一定周期的连续方波信号,经单片机处理,便可以恢复出原数据信号。

3 简介

是TI公司推出的一个新型单片机系列,其主要特点是:超低功耗、16位指令、内置A/D转换器、串行通信接口、硬件乘法器、 LCD(液晶)驱动器及高抗干扰能力等。因此,特别适合应用在智能仪表、防盗系统、智能家电、电池供电便携式设备等产品之中。笔者在开发这款遥控器时,选用的单片机型号是MSP430F413,其性能特点如下:低工作电压(1.8~3.6V);超低功耗(工作模式4下耗电仅为 0.1μA);16位精简指令结构(RISC);150ns指令周期;带有3个捕获/比较器的16位定时器;片内集成96段LCD驱动器;片内有JTAG 调试接口和FLASH型存储器,可在线串行编程;开发环境十分方便高效,支持C语言和汇编语言。

4 基于MSP430单片机的设计

4.1 总体硬件框图

笔者设计的这款,不仅能设置控制对象的给定值或控制参数,并通过红外线发送给对象,而且能接收并显示对象通过红外线反馈回的实际值,这是它不同于普通的地方。因此,实际应用中,红外遥控器和控制对象上都装有红外发送电路和红外接收电路。红外遥控器的硬件部分主要包括五个模块:电源模块、键盘模块、液晶模块、红外发送模块和红外接收模块。总体硬件框图如图1所示。由于MSP430、红外发送模块和红外接收模块都可采用3V电源,所以电源模块采用两节1.5V电池供电即可。键盘模块采用4×4行列扫描式键盘。液晶模块由MSP430F413直接驱动。

图1 总体硬件框图

4.2 红外发送模块

图2红外发射电路 图3红外发射波形

因为发光二极管的发光距离与其发射功率成正比,为了提高发光二极管的发光距离,必须提高它的发射功率,也就是使红外发光二极管工作于脉冲状态。可以用两种方法来实现:一是用硬件方法,即设计脉冲电路来产生占空比尽量小的脉冲载波信号;另一种就是用软件来控制MSP430F413的输出端P2.1,让其输出即为占空比较小的脉冲信号。

这里利用软件来实现这个功能。即在需要输出高电平的时候,让程序定时把P2.1口输出状态反向,其中定时时间是由指令数和指令周期来决定的,每条指令的指令执行周期是固定的,所以如果想让反向频率高一些,则让指令执行的少一些,反之就让指令多一些。可见输出信号占空比可以由定时时间的长短来决定,这样就可以在高电平时输出占空比尽量小的脉冲信号。因为接收头对38KHz的光信号转换能力比较强,所以把高电平的频率设置为38KHz。在需要输出低电平的时候,控制P2.1口一直为低就可以了。

红外发光二极管发射波形如图3所示。先发一段前导码,以检验这组码是否为想要的码。前导码由一个9ms的高电平和一个4ms的低电平组成。然后再发 32位数据代码,其中高电平为0.5ms,低电平为0.5ms的一个周期为代码“0”;高电平为0.5ms,低电平为1.5ms的一个周期为代码“1”。为了提高发射功率,实际工作时,发光二极管的高电平用38kHz的载波信号载波,低电平则一直为低。


红外发送程序流程图如图4所示。即先发出前导码,然后再按发出的是‘0’或‘1’来发出不同的数据码,每发送完一位,就让码长计数器num加1,直到num加到32时,发送停止。



图4红外发送程序流程图

图5红外接收电路


4.3 红外接收模块

红外接收电路选用Vishay公司生产的专用红外接收模块TSOP1838SS3V(以下简称1838)。该接收模块是一个三端元件,使用+3V电源,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm以外)的红外光不敏感的特点。1838的工作原理为:首先,通过红外光敏元件将接收到的载波频率为38kHz的脉冲调制红外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理;然后,通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调;最后,由输出级电路进行反向放大输出。

如图5所示,1838的Vcc接+3V,GND接地,信号从OUT引脚引出,进入MSP430F413的P2.0口。当1838接收到红外信号,就会把红外信号转换的电平从OUT脚输出,P2.0口就会产生一个中断,进入红外中断服务程序,进而判断是什么信号,并且对信号做出反应。

1838输出的接收波形与发射波形恰好反相,即前导码是9ms的低电平与4ms的高电平,“0”是0.5ms的低电平与0.5ms的高电平,“1” 是0.5ms的低电平与1.5ms的高电平。因此,在接收程序中,通过比较高电平的脉宽来判断到底是前导码,还是“0”或“1”。

图6是红外接收中断程序流程图。在主程序中,先设置P2.0口为上升沿和下降沿都捕获,然后中断允许,进入主循环。一旦P2.0口有电平的跳变即进入中断程序。在中断程序中,首先判断是否上升沿。若是,则上升沿标志置1,并记录上升沿时刻;否则,说明是下降沿,再判断上升沿标志是否置1。若是,说明已有上升沿,记录下降沿时刻,并计算脉宽(脉宽=下降沿时刻—上升沿时刻);否则,说明这是干扰信号,直接返回。下一步,判断脉宽的大小。若是起始码,则起始码标志置1,记数值n清0。否则,判断起始码标志是否置1,若是,判断是“0”还是“1”,并保存,n加1,判断n是否大于或等于32,是则将起始码标志和记数值n清0,保存32位数据,返回;否则直接返回。

图6 红外接收中断程序流程图


5 结束语

在遥控器开发中,红外发射电路采用红外发光二极管,用软件生成38K的载波;红外接收电路采用专用模块TSOP1838SS3V;主控制器采用 MSP430F413单片机。经实际测试,遥控器的发射功率约为38mw,发射距离达到8m。遥控器具有低功耗、便携式、低成本、高可靠性、体积小、结构简单的特点。

本文作者创新点:本文中的红外遥控器主要用于现场仪表的控制。目前带遥控器的现场仪表还非常少,国外也只有SIEMENS公司开发了带有遥控功能的现场仪表,而国内这种产品几乎没有,所以红外遥控器的开发,可以说走在了国内同类产品的前列,具有很大的市场优势。而且,通过红外遥控器的开发和使用,适应了现代社会对控制的要求日益向便携式、简单式方向发展的趋势。

参考文献

[1] 柏军,胡屏. 一种用于单片机的红外串行通信接口. 单片机及嵌入式系统应用, 2003.8

[2] 蒋俊峰. 基于单片机的红外通讯设计. 电子设计应用,2003.11

[3] 魏小龙. MSP430系列单片机接口技术及系统设计实例. 北京:北京航空航天大学出版社,2002

[4] 陈茂勇,郭西进. 基于MSP430单片机的智能无功补偿控制器的设计. 微计算机信息,2005.5

[5] 冯瑛. 全数字电动调节阀模糊控制系统的研究与开发:[学位论文].长沙:中南大学,2004



评论


相关推荐

技术专区

关闭