红外遥控赛车软件算法设计毕业论文.docx
《红外遥控赛车软件算法设计毕业论文.docx》由会员分享,可在线阅读,更多相关《红外遥控赛车软件算法设计毕业论文.docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录1 引 言21.1红外遥控技术背景22 总体设计方案42.1 方案:红外遥控控制小车43 NECUPD6121G红外遥控系统53.1 NECUpd6121G53.2 简单发射电路53.3 发射编码及信号波形64 AT89S52单片机114.1 AT89S52单片机115 L298N驱动模块165.11 L298N驱动模块说明165.2 L298芯片驱动参数165.3 功能简图166 遥控赛车系统框图及电路设计196.1系统框图及电路设计197红外遥控赛车程序设计207.1红外信号解码设计框图207.2 红外接收软件设计22结 束 语24参考文献25附录一:电路原理图26附录二:赛车实物图
2、27附录三:程序清单28红外遥控赛车软件算法设计 摘要:通过对设计要求的认真分析和研究,拿出了几种可行方案,最终选定一个最佳方案。该方案是采用先进的单片机技术实现遥控,采用模块化设计,主要分为两个模块:红外遥控模块和L298电机驱动模块。红外发射模块中通过Upd6121G红外遥控器发射管对单片机发射信号,红外接收模块中的单片机受红外接收管接收的信号控制。文章详细的讨论了实现上述红外遥控过程其工作原理和软件设计。关键词:遥控器 红外发射 红外接收 单片机1 引 言1.1红外遥控技术背景红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子
3、设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。60年代初,一些发达国家开始研究民用产品的遥控技术,单由于受当时技术条件限制,遥控技术发展很缓慢,70年代末,随着大规模集成电路和计算机技术的发展,遥控技术得到快速发展。在遥控方式上大体经理了从有线到无限的超声波,从振动子到红外线,再到使用总线的微机红外遥控这样几个阶段。无论采用何种方式,准确无误传输新信号,最终达到满意的控制效果是非常重要的。最初的无线遥控装置采用的是电磁波传输信号,由于电磁波容易产生干扰,也易受干扰,因此逐渐采用超声波和红外线媒介来传输信号。与红外线相比,超声传感器频带窄,所能携带的信息量少,易受干扰而引起误动作。
4、较为理想的是光控方式,逐渐采用红外线的遥控方式取代了超声波遥控方式,出现了红外线多功能遥控器,成为当今时代的主流。由于红外线在频谱上居于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进调制,接收端再去掉载波,取到信息。从信息的可靠传输说,后一种方法更好,这就是我们今天看到的大多数红外遥控所采用的方法。由于红外线的波长远小于无线电波的波长,因此在采用红外遥控方式时,不会干扰其他电器的正常工作,也不会影响临近的无线电设备。红外遥
5、控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。指令键发射电路驱动电路调制电路编码电路图1 红外发射框图发射器一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。图2红外接收框图接收器一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。接收电路将
6、发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。 1.2单片机单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。以单片机为核心的控制系统,因为其实时控制功能
7、强,可靠性高,实用性强,应用范围广等优点,得到了极为广泛的应用。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中红外遥控就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。因此了解单片机知识,掌握单片机的应用技术具有重大的意义。它的理论性和实践性都很强,我们在理论课学习中主要学习单片机的基本构造,各部分的工作原理以及指令系统,然而,光是理论的学习是远远不够的,最重要的是把理论和实践相结合。所以此次实习,通过设计一个基于AT89S52单
8、片机的遥控器设计,以增进对单片机电路的感性认识,加深对理论方面的理解和巩固,了解和掌握软硬件设计过程、方法及实现,增强自己的动手和实践能力,为以后在工作和学习中,设计和实现应用系统打下良好基础。2 总体设计方案根据任务书的要求,利用无线发射无线接收远程控制单片机从而控制小车运行,可以拟定以下方案。2.1 方案:红外遥控控制小车在不需要多电路的应用场合,可以使用由常规集成电路组成的单通道红外遥控电路。这种遥控电路不需要使用昂贵的专用编译码器,因此成本低。以NEC的Upd6121G遥控器为例小巧便携成本低廉且功耗小,一颗银锌纽扣电池可使用半年之久。故实用性强。红外发射部分产生震荡频率红外发射图3红
9、外发射框图可以直接产生一个控制功能的震荡电路频率,再通过红外发光二极管发射出去。由SM0038红外接收芯片进行解码输出TTL电平信号,单片机接收到红外指令根据程序控制L298N电机驱动模块进而控制小车运行。红外接收部分小车运行单片机调制解调L298驱动红外接收图4 红外接收框图3 NECUpd6121G红外遥控系统 3.1 NECUpd6121G日本电气股份有限公司(日文:日本电気株式会社,英文:NEC Corporation,Nippon Electric Company, Limited的简称)简称日本电气或日电或NEC,是一家跨国信息技术公司,总部位于日本东京港区。NEC为商业企业、通信
10、服务以及政府提供信息技术(IT)和网络产品。它的经营范围主要分成三个部分:IT解决方案、网络解决方案和电子设备。采用Upd6121G编码协议的红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包
11、括光、电转换放大器、解调、解码电路,如图5所示。L 发射端 接收端 图5 红外遥控系统框图3.2 简单发射电路红外线属于一种电磁射线,其特性等同于无线电或X射线。人眼可见的光波是380nm-780nm,发射波长为780nm-1mm的长射线称为红外线.尽管肉眼看不到这种光线,但利用红外线发送和接收装置却可以发送和接收红外线信号,实施红外线通讯。利用红外线通讯无需连线,只需将两设备的红外线装置对正即可传输数据。红外线通讯方向性很强,适用于近距离的无线传输。完整的红外遥控器电路主要由:集成发射芯片、晶体振荡器、红外线发射管、推动晶体三极管、导电橡胶等组成,如图6所示。解决方法:1、加载波 2、使用专
12、用编码芯片缺点:1抗干扰性差2传输距离短3传输信息量少红外信号有方向性要对准才能接收,接收到信号后Vout输出高电平,否则输出低电平图6 最简单的红外发射接收电路3.3 发射编码及信号波形遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为 0.565ms、间隔 0.56ms、周期为 1.125ms的组合表示二进制的“0”;以脉宽为 0.565ms、间隔 1.68
13、5ms、周期为 2.25ms的组合表示二进制的“1”,如图7所示。图7 遥控码的0和1波形图上述“0”和“1”组成的 32 位二进制码经 38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。UPD6121G产生的遥控编码是连续的 32 位二进制码组,其中前 16 位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制 01H;后 16 位为 8 位操作码(功能码)及其反码,如图8所示。图8 遥控信号发射编码遥控器在按键按下后,周期性地发出同一种 32 位二进制码,周期约为 108ms。一组
14、码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在 58.576.5ms之间,图9为发射波形图。图9 一帧完整波形图当按键按下超过36ms,振荡器使芯片激活,如图06所示将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms)高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。图10 红外编码图如果键按下超过108ms仍未松开时,如图07所示每隔108ms输出一帧9ms载波+2.25ms关断+0.56ms载波的信号,直至释放接下来发射的代码(连发代码
15、)代码格式,这种连发代码常用于电视遥控器长按连续增加音量等功能。图11 长按按键的红外波形图注:代码宽度算法: 16 位地址码的最短宽度:1.1216=18ms 16 位地址码的最长宽度:2.24ms16=36ms易知 8 位数据代码及其 8 位反代码的宽度和不变:(1.12ms+2.24ms)8=27ms 32 位代码的宽度为(18ms+27ms)(36ms+27ms) 1 解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以 0.56ms 的低电平开始,不同的是高电平的宽度不同,“0”为 0.56ms,“1”为 1.68ms,所以必须根据高电平的宽度区别“0”和“1
16、”。如果从 0.56ms 低电平过后,开始延时,0.56ms 以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比 0.56ms 长些,但又不能超过 1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms 最为可靠,一般取 0.84ms 左右均可。 2 根据码的格式,应该等待 9ms 的起始码和 4.5ms 的结果码完成后才能读码。 3.4 红外接收解码系统红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和
17、电路的设计工作。在本系统中我们采用红外一体化接收头SM0038,外观及红外接收电路如图08所示。SM0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。SM0038 为直立侧面收光型。三个管脚分别是地、5 V 电源、解调信号输出端。SM0038图12 SM0038引脚图和原理图SM0038接收红外信号频率为38 kHz,周期约26 s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“
18、1”,0V等价于逻辑“0”,这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。经过SM0038调解后的波形由OUT输入单片机的P33口,单片机识别后得到TTL 电平的编码信号,对其信号进行解码翻译,以脉宽为 0.565ms、间隔 0.56ms、周期为 1.125ms的组合表示二进制的“0”;以脉宽为 0.565ms、间隔 1.685ms、周期为 2.25ms的组合表示二进制的“1”。这样就得出了一连串的数据,再根据编码程序对数据赋予的含义,就可以完整的接收和翻译出所要实现的功能,如图13所示。ab图13 一帧SM0038调解后的波形4 A
19、T89S52单片机4.1 AT89S52单片机本次设计所使用的单片机是Atmel公司的AT89S52芯片,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据
20、指针三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52的引脚图如图14所示:图14 AT89S52引脚图AT89S52单片机引脚注释:VCC : 电源 GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问
21、外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 红外遥控赛车软件算法设计 毕业论文 红外 遥控 赛车 软件 算法 设计
限制150内