基于单片机的智能小车设计文档格式.docx
《基于单片机的智能小车设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能小车设计文档格式.docx(40页珍藏版)》请在冰豆网上搜索。
1.1课题背景和意义
随着计算机、微电子、信息技术的快速发展,智能化技术的发展速度越来越快,智能化与人们生活的联系也越来越紧密,智能化是未来社会发展的必然趋势。
智能小车实际上就是一个可以自由移动的智能机器人,比较适合在人们无法工作的地方工作,也可取代人们完成一些复杂、危险性质的工作。
作为现代自动控制领域内十分伟大的一项发明智能小车、机器人已经和人们的生产生活紧密的联系在了一起。
智能小车,是一个包含周围环境探测、识别反应、自动控制等功能于一体的综合系统,它综合地运用了微控制器、传感、遥控、机械结构、电子基础、自动控制等多学科的知识。
智能小车是一个复杂而又庞大的系统,其内部有许多块控制芯片作为其控制核心,多种传感器来采集外部环境信息并将接收到的信息传给主控制器,然后由控制器来控制其各个模块执行相应的动作。
智能小车由于成本较低,甚至还能够胜任一些人们都无法胜任的工作,它已逐步深入到工业、农业以及社会生活的各个方面。
本课题设计的智能小车中用到的遥控技术、显示技术、单片机控制系统、传感技术、自动避障技术已广泛应用于工农业生产、国防军事、医疗卫生、宇宙探测等诸多领域,特别是其在军事侦察、反恐、防暴、防核化及污染等危险和恶劣环境中有着广阔的应用前景,由此可见其有着及其重要的研究意义。
1.2课题研究现状和发展趋势
1.2.1研究现状
智能小车、机器人的发展研究从上世纪60年代至今已有几十年的历史,自从上世纪60年代末期,第一台能够自主移动机器人问世以后,经过几十年的发展智能机器人已经从最初的示教模仿机器人发展到现在的具有感知功能的智能机器人,在技术上取得了很大的进步许多国家都对智能机器人进行了大量的研究。
由于各国的科研实力不同,其水平也有高低,其中美国和日本在该项技术的研究处于领先地位。
法国提出了让智能机器人具有自动认知功能的一项科技计划,使其能够在复杂的环境中通过自主感知判断来自动执行各种动作。
美国发明的智能机器人,可以帮助人们送信件、食品等生活用品,还可以牵引吸尘器来打扫卫生。
日本目前已经研制成功的人形机器人,其可以模仿人们的各种面部表情而且非常逼真。
近年来发明的的手术机器人已经广泛的应用在实际医疗手术中而且稳定性好,安全性高。
我国的智能小车、机器人的研究已经有三十多年的历史,特别是在军事领域的应用方面已经取得了较大的成果,已经相继研制出了复杂的智能机器人,危险作业机器人、仿人机器人、复合结构移动机器人等。
国内的许多高校也都在不停的进行着这方面的研究而且也有了层出不穷的成果,例如中科院研制的能够和人对话的机器人、上海交大研制的具有较强越障能力的仿人关节结构的机器人等。
与此同时,我国也开展了智能移动机器人基础理论研究,在某些方面取得了世界领先的成果,正在逐渐缩小与发达国家的差距。
1.2.2发展趋势
随着各方面技术的不断进步与完善,各个国家对于智能小车、机器人的科研能力都再逐步的加强,未来的智能机器人可能会朝着以下几个方面发展:
使用高强度的轻质材料让机器人的结构越来越灵巧动作执行也更加灵活;
应用网络化技术来远距离操作控制机器人群体为人们工作;
通过复杂生物机电系统和人机耦合系统来研究出具有仿生感知、生物神经的仿人机器人。
相信未来会有具有更高智能化的、更加生动有趣的智能机器人出现在我们的周围,而且会极大的改变和方便人们的生产生活。
1.3课题内容和要求
本设计的智能小车用微处理器(即单片机)作为整个系统的控制核心部分,主要包括单片机控制模块、遥控模块、避障模块、循迹模块、数据显示模块等模块。
要求能够实现以下几种功能:
(1)遥控功能,即通过遥控器来控制小车的启动、停止、左转、右转、后退等动作。
(2)自动避障功能,即小车在前方遇到障碍时可以立即做出反应,自动左转或右转躲避障碍。
(3)自动循迹功能,即小车可以自动沿着规定的路线行驶。
(4)能够实时显示小车行驶的速度、路程等数据。
要求通过此次的实际动手设计掌握以下基本技能:
(1)学会电子产品的设计开发过程;
(2)掌握单片机原理、遥控原理、显示原理等;
(3)能够熟练进行系统的硬件电路设计以及软件设计;
(4)熟练使用相关的电子设计和仿真软件;
(5)查阅国内外相关文献,掌握智能小车的最新研究动态和未来发展趋势。
第二章总体方案设计与论证
本设计方案采用微处理器(AT89C52单片机)作为整个系统控制的中心,主要由两个部分构成,红外遥控发射部分和智能小车部分。
其中智能小车部分主要由以下子模块构成:
单片机控制模块、电源模块、电机驱动模块、循迹避障模块、转速检测模块、红外接收器和数据显示模块组成;
红外遥控发射部分主要由遥控按键、编码芯片、红外发射三个部分构成。
其总体设计框图包括两个部分,如图2.1所示:
a遥控部分框图b小车部分框图
图2.1系统总体设计框图
2.1遥控控制模块设计与论证
目前比较常用的遥控控制方式有两种,红外遥控控制系统和无线遥控控制系统。
方案一:
选择红外遥控装置作为小车的遥控控制器。
红外遥控是通过遥控发射器内的编码芯片将按键信息调制成一串0和1的二进制代码,然后通过红外线发出,最后被红外接收装置接收进行解码,再运用单片机对解码后的码信息进行识别,然后再根据不同的码信息进行不同的控制操作[9]。
方案二:
选择无线电遥控装置作为小车的遥控控制器。
无线电遥控是利用不同频率的无线电波对远方的各种机构进行控制的遥控设备。
这些信号被远方的接收设备接收后,可以驱动其他各种相应的机械或者电子设备去完成各种操作[6]。
红外遥控和无线遥控是对不同的载波来说的,红外遥控器是用红外线来传送控制信号的,它的特点是有方向性中间不能被阻挡,在室内使用时大概在7m的范围内有效;
无线遥控器是用无线电波来传送控制的信号的,它的特点是无方向性,可以不面对面控制,距离远,有效距离可达数十米甚至数公里。
以上两种方案均可作为本设计的遥控控制器,虽然无线遥控控制的距离更远也更加灵敏,但对于本设计来说使用红外遥控已经足够了,而且红外遥控的原理更加简单易懂,所以本设计采用方案一即红外遥控作为小车的遥控控制系统。
2.2电机驱动模块设计与论证
目前比较常用的小车驱动电机主要有两种选择:
选择直流电机作为小车的动力驱动。
直流电机是将直流电能转换为机械能的一种装置,因其转动力矩大、体积较小、重量很轻、使用方便,所以其在一些小型的电动装置中的应用较多。
直流电机的运行方式是这样的:
在它里面有圆形的磁体会产生磁场,当给它转子上的绕组通电时,通电线圈在磁场中便会产生洛伦兹力带着线圈即转子转动,当转子转动时通电线圈内的磁场方向将会改变,所以绕组上的电流也要变换流向,在方向一直不变的洛伦兹力控制下电机将向顺时针或逆时针持续转动。
由H型桥式电路直接驱动直流电机控制电机的正反转,通过软件编程使单片机输出不同占空比的PWM(脉宽调制信号)来控制直流电机的转速进而控制小车的行驶速度[6]。
选择步进电机作为小车的动力驱动。
步进电机是将输入端输入的电脉冲信号转变为转子的角位移的可以实现精确定位的电机。
电机转动的快慢取决于脉冲信号的频率、转动的圈数取决于脉冲的个数,在不超载的情况下其转动速度不受负载的影响,即给步进电机输入一个脉冲信号,电机的转子则转过一个角度,给其加上连接不断的脉冲波形则步进电机就能持续转动下去[5]。
相比直流电机,步进电机转过的角度是由脉冲信号控制的其可以实现小车的精确定位停车,步进电机调速也更加容易,只要输入不同频率的脉冲信号就能控制小车的行驶速度,而且它还有很好的止动能力。
所以在本设计中我们选用了步进电机作为小车的驱动电机。
2.3避障循迹模块设计与论证
目前主要有两种方案来实现小车的自动避障功能:
采用红外反射式光电传感器、电压比较器及一些电阻构成的障碍物检测电路来检测小车前方的障碍。
障碍物检测电路安装在小车前部的中间及左右两边,来检测小车前方的障碍物。
其障碍检测过程如下:
红外发光二极管发出红外光,如果遇到小车前面的障碍物,红外线就会被物体反射回来,被光敏三极管吸收此时光敏三极管导通,并在输出端输出低电平信号至单片机,然后单片机调用寻迹避障子程序控制小车做出相应的避障反应,当左边遇到障碍物时单片机会自动调用右转子程序控制其右转,当右边遇到障碍物时单片机会自动调用左转子程序控制其左转。
当无障碍物时,发出的红外线不被反射,光敏三极管截止,输出高电平信号,小车继续向前行驶[8]。
采用超声波原理来检测小车前方的障碍。
其检测障碍的原理如下:
先由超声波发射器向小车前方发射超声波,超声波在向前传播过程中,若遇到障碍物则会被反射回去,反射波被超声波回收装置接收后会产生一个电信号然后被转化为高低电平信号反馈给单片机,若为高电平则说明前方遇到障碍,然后由单片机调用避障子程来控制小车做出相应的躲避障碍的动作[7]。
在本设计我们采用了第一种方案实现小车的自动避障功能。
2.4数据显示模块设计与论证
根据题目的要求小车可以实时显示其运动的速度、距离等数据。
主要有两种方案来实现:
用共阳极数码管和可编程的键盘接口芯片组成数据显示电路,接口芯片直接与单片机的I/O口相连,由单片机精确控制实现LED动态显示。
用LCD液晶显示屏直接与单片机相连组成数据显示电路。
LCD液晶显示屏是一种专门用来显示字符和数字的点阵型液晶模块,它是由若干个5X7或5X11点阵字符位组成的,一个字符占据一个点阵字符位,每位之间有一个点距的间隔将字符隔开,行与行之间也有间隔[8]。
由于本设计需要显示的数据较多,若用LED数码管来显示需多个数码管才能满足要求,这样电路设计过于复杂,相反只用一个LCD液晶显示屏即可显示要求数据,所以本设计我们采用方案二即LCD显示屏来显示实时数据。
2.5转速测量模块设计与论证
选择霍尔开关型传感器测量小车车轮转速。
具体做法是:
在非磁性材料制作的转子上,固定好一片钢性磁体,将霍尔开关型传感器的感知接收面和磁体的磁极相对,并在安装架上安装好(注意磁场方向不要弄错),轮子转动时磁体会跟着转动,在磁体转到和传感器的接收面相对时,霍尔传感器便输出一个脉冲信号,由两个脉冲间的时间间隔,便可算出转速,然后再根据车轮半径编程便可算出小汽车运行的速度[10]。
选择直射式光电检测器测量小车车轮转速。
具体做法是:
在小车的驱动轮的主轴上安装一个开有十个透光槽的圆形叶片,保持叶片和驱动轮能够同步转动,然后在驱动轮旁安装好直射式光电检测器,叶片随着车轮的转动不断切割红外发射管与红外接受管之间的红外线通路,当叶片转动至透光槽与红外线通路重合时,检测器导通,红外接受管通过电流,当叶片转动至使透光槽遮住时,光通路断开。
随着车轮不断的转动,便会输出连续的脉冲序列,测出脉冲的个数便可知叶片转过的孔数,从而可计算出车轮转动的转角和转速,然后再根据车轮半径由软件编程便可算出小车运行的速度[11]。
以上两种方案都能够测出小车车轮的转速。
但是在本设计中,对于方案一来说,要想在很小的小车车轮上密集安装磁片比较困难,而且彼此之间也容易产生干扰。
因此本设计拟采用方案二测量小车的转速。
2.6电源模块设计与论证
电源是整个小车系统运行的基本条件,它的性能的好坏直接决定整个系统运行的稳定性和性能。
小车的供电电源包含两部分,单片机控制模块电源和电机驱动模块电源,我们将单片机及其外围电路和步进电机分开供电,两者互相不影响,实现稳定供电。
由于步进电机需较高的供电电压而单片机和其逻辑单元最大供电电压不能超过5V,因此需设计稳压电路。
采用8节1.5V干电池串联共12V直接给步进电机供电,然后经过由LM7805稳压芯片构成的稳压电路将电压降至5V后给电片机及其外围逻辑电路供电。
但是本方案由于电池电量有限,而且数量较多的干电池重量较大会给驱动电机带来太大负担,也占用了太大的空间在体积较小的小车上使用太不方便,所以放弃了该方案。
采用12V蓄电池直接给步进电机供电,将电压降至5V后给单片机及其外围电路供电。
蓄电池具有较长的续航能力以及电压输出的值基本不怎么变化,但是因为蓄电池的体积和质量过大,并不适合本设计的使用,所以我们并没有使用蓄电池来供电。
方案三:
采用3节4.2V锂电池串联的方式共直接给步进电机供电,然后经过由稳压芯片构成的稳压电路将电压降至5V后给单片机及其外围逻辑电路供电。
本方案锂电池的电量较足并且可以充电重复利用,3节锂电池重量和占用的空间都较小,因此该方案比较可行,最终我们选择了该方案作为小车的驱动电源[14]。
第三章各模块硬件电路设计
本设计的遥控智能小车的硬件部分共分为两大模块:
红外遥控发射器硬件模块和智能小车部分硬件模块。
其中红外遥控发射硬件模块包含遥控按键、编码芯片、红外发射三个子模块;
智能小车部分硬件模块包含单片机控制模块、电机驱动模块、避障循迹模块、显示模块、红外接收器模块、电源模块6个子模块。
首先介绍红外遥控发射器部分即遥控按键、编码芯片、红外发射三个子模块的硬件设计。
3.1红外遥控发射器模块
3.1.1红外遥控模块的工作原理
红外线遥控是比较常见的一种遥控设备,它是利用波长为0.76~1.5μm之间的红外线来传送控制信号的遥控设备。
其占据空间小、价格便宜、使用方便,在我们常用的家用电器比如电视、DVD,录音机、空凋等和一些小型电动玩具装置上均已应用了红外线遥控设备。
但是红外遥控也有缺点比如容易受到空间和距离的限制,一般在7m的范围内有效且发射和接收之间不能被物体隔挡,但对于本设计的智能小车来说已经能够满足要求。
红外遥控系统一般由两大部分组成:
一个红外发射部分,一个红外接收部分。
其中发射部分主要由按键键盘、编码调制、LED红外发送器构成,它最重要的部分就是应用编码芯片对按键信息进行编码和发送;
接收部分由光电转换放大器、解调、解码电路构成,其最重要的部分是对接收到的编码进行解调。
其原理如图3.1所示:
图3.1红外遥控系统原理框图
按下遥控器的一个按键,遥控器的编码芯片会对按键信息进行编码,然后通过LED红外发射器发出脉冲编码,被红外接收头接收后将编码解出并输入到单片机的外部中断,对接收到的脉冲编码进行位“0”和位“1”的识别,再根据不同的码信息调用相应的子程序来对小车进行不同的控制操作。
3.1.2HT6221编码芯片简介
HT6221是合泰公司生产的多功能遥控编码芯片,工作电压在1.8V-3.5V,其采用PPM(PulsePositionModulation)进行编码,周期能编码16位地址码和8位数据码,最多能同时支持32个活动键。
其引脚结构如图3.2所示:
图3.2HT6221引脚图
其各引脚说明如下表3-1所示:
表3-1HT6221芯片引脚说明
引脚号
引脚名称
描述
AIN
低8位地址码输入
1-8
C1-C8
键盘列控制
9
LED
按键指示灯
10-13
R1-R4
键盘行控制,高电平有效
14
DOUT
串行数据输出引脚,38KHz发射频率
15
VDD
1.8V-3.5V
16
DT
最重要数据位(DT)代码设置
17、18
X2、X1
455KHz振荡器输出,455KHz振荡器输入
19
VSS
接地
遥控编码有两种:
位0和位1,其低电平脉宽相同但高电平脉宽不一样。
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的脉冲表示二进制的“0”;
以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的脉冲表示二进制的“1”。
其波形如图3.3所示:
图3.3遥控码的“0”和“1”(注:
接收端的波形与发射断相反)
3.1.3红外遥控发射器
遥控发射器专用芯片很多,在本设计中我们运用了HT6221芯片来实现红外编码的发射。
其电路如图3.4所示:
图3.4遥控发射器电路原理图
图3.4中当有任意一个按键按下后,按键指示灯(D1)发光,HT6221编码芯片能够产生脉冲编码,该脉冲编码会被调制成38KHz的脉冲信号然后通过图中的红外发射二极管(D2)发射出去[8]。
所按的按键不同其发出的编码脉冲也不同,按键所代表的功能也就不同,其各按键的功能分配如下表3-2所示:
表3-2按键功能分配表
按键
功能
K1
控制小车的启动
K2
控制小车的停止
K3
控制小车的加速
K4
控制小车的左转
K5
控制小车的右转
K6
控制小车的倒退
下面是智能小车部分即单片机控制模块、红外接收器模块、电机驱动模块、避障循迹模块、显示模块、电源模块6个子模块的硬件设计介绍。
3.2单片机控制模块
3.2.1单片机模块电路
本设计我们采用AT89C52单片机作为智能小车部分的控制核心,AT89C52单片机是AT89系列的标准型8位单片机,其与标准MCS-51指令系统和8052产品引脚兼容,功耗低、性能强大、价格便宜适用于许多较为复杂控制的场合。
AT89C52单片机的内部结构如下:
一个以ALU为中心的8位中央处理器,256字节内部数据存储器(RAM),8K字节用来存储程序的Flash内部程序存储器即片内ROM(可反复擦写1000次),4个8位可编程I/O口(P0、P1、P2、P3),3个16位定时/计数器,8个中断源,两个中断优先级的中断控制系统,一个全双工串行通信口,一个片内振荡器和时钟电路[1]。
AT89C52单片机最小应用系统主要由单片机、复位电路、振荡电路等部分组成。
本设计的单片机控制模块原理图如图3.5所示:
图3.5单片机控制模块
本设计中我们使用了AT89C52单片机的大部分引脚,其具体的引脚功能分配如下表3-3所示:
表3-3单片机引功能分配表
引脚
功能分配
P0.0-P0.7
接LCD1602的D0-D7引脚,作为数据信息的输出引脚
P1.0-P1.2
接LCD1602的RS、RW、E引脚,作为数据信息的控制端
P1.3-P1.5、P1.7
连接避障循迹电路的输出端
P1.6
连接转速测量电路的脉冲输出端
P2.4-P2.7
连接电机驱动芯片的脉冲信号输入端
P3.2
外部中断,连接红外接收器的输出端
VCC
接+5V电源
GND
3.2.2复位电路
单片机的复位,是为了初始化单片机的工作状态,有时当程序运行出错或因操作错误而使系统处于锁死状态,为了摆脱困境,也可按复位键重新初始化单片机。
RST引脚是复位信号的输入端,要实现复位操作必须使RST引脚上至少保持两个机器周期的高电平,再从高电平变为低电平完成复位。
复位电路由按键复位和上电复位两种方式,本设计采用按键复位实现复位操作。
单片机按键复位电路如图3.6所示:
图3.6复位电路
按键复位是通过按键使复位引脚经电阻R0与VCC电源接通来实现的,按下复位键时,RST引脚为高电平;
松开复位按键后,RST引脚逐渐将为低电平,复位结束。
3.2.3振荡电路
AT89C52单片机内有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为芯片引脚XTAL2。
只要在片外通过XTAL1和XTAL2引脚跨接振荡元件(如晶体振荡器),则可构成一个稳定的自激振荡器,单片机通电后即可工作。
其外部振荡电路如图3.7所示:
图3.7 振荡电路
AT89C52单片机内部RAM容量很小,当单片机需要存放大量数据时就必须扩展外部数据存储器。
此外AT89C52单片