基于单片机的智能车设计与实现Word文档下载推荐.doc
《基于单片机的智能车设计与实现Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能车设计与实现Word文档下载推荐.doc(22页珍藏版)》请在冰豆网上搜索。
3.3.2震荡电路 10
3.4系统显示电路 11
3.5外围传感器电路 11
3.6按键电路设计与实现 12
4.系统软件设计 13
4.1主程序控制流程 13
4.2无线遥控控制实现 14
4.3智能避障、智能循迹的实现 14
4.4测速功能实现 15
5.系统组装调试 15
5.1硬件组装调试 16
5.2软件设计与调试 16
5.3系统组装实物 16
6.结 论 17
致 谢 19
附录1遥控子系统电路原理图 20
附录2车载子系统电路原理图 21
1.引言
1.1选题背景
智能机器人是能够在道路和野外连续地实时自主运动的机器人,是当今科技研究领域的热点,体现了信息科学与人工智能技术的最新成果。
现代机器人己经不仅仅在工业制造方面,而且在军事、民用、科学研究等许多方面得到了广泛的应用。
全国电子大赛和省内电子大赛几乎每次都有智能小车、机器人这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
本设计就是在这样的背景下提出的,指导教师和设计者都已经有充分的准备。
1.2设计目标
本设计是在不影响系统功能实现的前提下以经济实用的角度出发,采用MCS-51系列中的STC89C51单片机,以STC89C51为控制核心,结合PT2262和PT2272无线数据传输模块,L298N电机驱动模块以及其他传感器模块而设计出的智能小车控制系统。
该系统由硬件部分与软件部分组成。
其中硬件部分由电源输入模块、直流电机动力模块、电机驱动模块、单片机控制系统模块、显示系统模块、以及两个障碍检测传感器、两个循迹传感器、两个测速传感器组成。
软件部分由遥控部分和车载部分组成,遥控部分主要为车载部分发送数据命令,车载部分接收遥控命令做出相应的动作,同时根据不同命令分别实现自动避障、循迹、测速,状态显示功能。
系统从控制角度分为半自动和全自动。
全自动控制和半自动控制功能由遥控器功能键切换,所有动作将由状态显示LCD1602显示。
全自动控制:
车载部分根据无线数据传输模块传输的数据进入遥控模式、避障模式或者循迹模式,各种模式下LCD1602显示系统会显示当前状态以及当前智能小车行驶速度。
系统如果进入避障模式或者循迹模式便进入了全自动控制模式,系统会根据现实中遇到的情形与系统预设的情形对应,情形匹配后自动做出对应的动作。
半自动控制:
遥控系统由按键动作对应发出无线数据,车载系统接收数据,根据数据以及约定好的数据对应命令实现智能车的前进、后退、原地左转、原地右转动作,这样便实现了半自动控制功能。
半自动控制功能能够增强系统的适应性,并且能够处理紧急危险情况。
本设计结构简单,较容易实现,但具有高度的智能化、人性化,在一定程度体现了智能。
2.设计方案
2.1电机驱动方案
方案一:
三极管控制直流电机
采用传统的功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,成本低,加速能力强,但功率损耗大,特别是低速大转距运行时,通过电阻R的电流大,发热厉害,损耗大。
方案二:
继电器控制直流电机
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。
方案三:
采用专用芯片L298N作为电机驱动芯片。
恒压恒流桥式2A驱动芯片L298N,L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;
可以直接用单片机的IO口提供信号;
而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,EnA,EnB接控制使能端,控制电机的停转。
综述,方案三的调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转,根据需要此次设计采用此方案。
2.2遥控控制方案
红外遥控方案
通常要根据编码方案来进行软件解码,红外遥控器将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去。
二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)。
前者以宽脉冲表示1,窄脉冲表示0。
后者脉冲宽度一样,但是码位的宽度不一样,码位宽的代表1,码位窄的代表0。
以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”如图2-1所示。
图2-1指令脉冲图
遥控编码脉冲信号由引导码、系统码、系统反码、功能码、功能反码等信号组成。
引导码也叫起始码,由宽度为9ms的低电平和宽度为4.5ms的高电平组成(不同的红外家用设备在高低电平的宽度上有一定区别),用来标志遥控编码脉冲信号的开始。
如图2-2所示。
图2-2信号引导码图
系统码也叫识别码,它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作功能码也叫指令码,它代表了相应的控制功能,接收机中的可根据功能码的数值完成各种功能操作。
系统反码与功能反码分别是系统码与功能码的反码反码的加入是为了能在接收端校对传输过程中数据是否产生差错。
脉冲位置表示的“0”和“1”组成的32位二进制码前16位控制指令,控制不同的红外遥控设备。
而不同的红外家用电器又有不同的脉冲调控方式,后16位分别是8位的功能码和8位的功能反码。
串行数据码时序图如2-3所示。
图2-3串行数据码时序图
将要发送的指令脉冲编码信号调制在38KHz的载波上,可以增加信号的抗干扰能力,提高信号传输效率。
信号调制时序如2-4所示。
图2-4信号调制图
红外解码就与编码反操作,由红外遥控接收头检测到红外信号到来时,进行延时等待引导码9ms的高电平通过,并同时判断在9ms中是否有低电平出现,如果有则退出解码程序认为这可能不是要接收的编码。
9ms如果正常通过则再等待4.5ms的低电平,并同时判断在4.5ms中是否有高电平出现,如果有则退出解码程序认为这可能不是要接收的编码。
紧接着将根据以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”和以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”的编码规则来接收系统码、系统反码,当系统码、系统反码接收完成后将其进行或操作,如果为0xff则认为是正确接收,否则退出解码程序,如果正确则与遥控器的系统码进行比较,如果相同则表示正确接收到指定遥控器信号,否则认为接收到的可能是别的遥控器信号。
最后接收功能码、功能反码,接收完成后将其进行或操作,如果为0xff则认为是正确接收,否则退出解码程序,如果正确则执行遥控器的中断处理程序,判断进行何种后续指令操作。
使用此方案编写遥控器解码程序,并通过实验板的数码管对功能码进行显示,获得遥控器的各按键对应的键值,在本设计中遥控处理程序通过可以比较是
否接收到相应键值进行判断执行遥控指令。
无线数据传输
本系统无线数据传输采用PT2262和PT2272收发模块实现。
PT2262/2272芯片说明如下:
PT2262/2272是一种COMS工艺制造的低功耗低价位通用编解码电路,PT2261/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址吗,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也是输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHZ的高频发射电路不工作,当有按键按下时,PT2262得电工作,其17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低电频期间315MHz的高频发射电路停止震荡,所以高频发射电路完全受控于PT2262的17
脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2262/2272引脚图如图2-5图2-6所示:
图2-5PT2262引脚图图2-6PT2272引脚图
PT2262/2272引脚说明表2-1和表2-2所示:
表2-1PT2262引脚说明
名称
引脚
说明
A0-A11
1-810-13
地址管脚
D0-D5
7-810-13
数据输出端
TE
14
编码启动端
OSC1
16
振荡电路输入端
Dout
17
编码输出端
VCC
18
电源正极
VSS
9
电源负极
表2-2PT2272引脚说明
数据或地址管脚
DIN
数据信号输入端
OSC2
15
振荡电阻振荡器输出端
VT
编码有效确认
电源正端
电源负端
PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。
M表示非锁存输出,数据脚输出的电平是瞬间时的而且和发射端是否发射相对应,可以用于类似电动的控制。
后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。
PT2262/2272无线数据收发组合理论上讲可以达到531441种组合,但是16种数据组合就可以满足本系统需求,所以我们采用市场上常见的T1000BSI无线发射模块和R03DS无线接收模块。
该模块可配合收发16种任意组合4位二进制数据,无线发射和无线接收模块经典电路如图2-7和图2-8所示:
图2-7T1000BSI无线发射模块经典电路
图2-8无线接收模块经典电路
红外无线数据传输的优点是成本低,38KHZ载波容易实现调试,硬件设计简单,但是有发射端和接收端之间不能有障碍物相隔,遥控距离短等缺点。
而无线数据传输距理论上在300米左右,发射接收频率固定在315MHZ,在隔墙的情况下也可以正常收发数据,但是315MHZ发射接收