智能寻迹小车设计说明书.docx
《智能寻迹小车设计说明书.docx》由会员分享,可在线阅读,更多相关《智能寻迹小车设计说明书.docx(17页珍藏版)》请在冰点文库上搜索。
智能寻迹小车设计说明书
第1章引言
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
这种技术促使机器人技术也有了突飞猛进的发展。
单片机技术作为自动控制技术的核心之一,被广泛应用于工业控制、智能仪器、机电产品、家用电器等领域。
随着微电子技术的迅速发展,单片机功能也越来越强大,本设计基于单片机技术在智能寻迹小车控制系统的设计中,以STC89C52为核心,用LG9110驱动两个减速电机,当产生信号驱动小车前进时,是通过寻迹模块里的传感器管是否寻到黑线产生的电平信号通过传感器再返回到单片机,单片机根据程序设计的要求作出相应的判断送给电机驱动模块,让小车实现前近、左转、右转、停车等基本功能,寻白线时,外部环境光线的强弱对小车的运动会产生很大的影响,基于此原因,本实验中的寻迹是指在白色地板上寻黑线。
1.1设计目的
1、
2、
3、
4、
5、
6、
7、
8、
9、
了解机械部件结构与机械安装过程;掌握电动机齿轮箱内部结构及减速原理;了解电子元器件的基本形状及焊接过程;掌握电子元器件的焊接步骤与检测过程;了解单片机内部结构与程序编制方法;了解LED灯驱动方法,全面掌握流水灯/跑马灯编程技术;了解数码管内部结构,掌握数码显示技术;了解键盘结构原理,掌握中断查询技术;了解话筒电路结构,掌握话筒输入技术;
10、了解蜂鸣器驱动技术,全面体现音乐报警功能;
11、了解光敏电阻结构原理,充分体现夜间自动照明功能;
12、了解红外发射与接收技术,有力体现防撞检测与智能寻迹功能
13、了解直流电机驱动原理,掌握电机驱动技术;
14、认识红外检测传感器,全面掌握红外遥控编码解码技术;
15、了解R232通信协议,掌握串口通信技术。
16、通过本机系统学习,全面掌握智能自动寻迹机器人的控制方法。
1.2设计要求
当前的电动小汽车基本上采取的是基于纯硬件电路的一种开环控制方法,或者是直线行使,或者是在遥控下作出前进、后退、转弯、停车等基本功能。
但是它们不能实现在某些特殊的场合下,我们需要能够自动控制的小型设备先采集到一些有用的信息的功能。
本文正是在这种需要之下开发设计的一种智能的电动小车的自动
控制系统。
它以单片机STC89C52为控制核心,附以外围电路,在画有黑线的白纸
“路面”上行使,由于黑线和白线对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”一一黑线。
如图1-1判断信号可通过单片机控制驱动模块修正前进方向,以使其保持沿着黑线行进。
■■■I/M
图1-1小车寻迹图
第2章智能小车的设计流程
2.1总体方案的寻迹原理
智能寻迹小车能寻迹主要是由前方的两对红外发射与接收探头来完成的。
根据光有反射的特性。
所以说当红外发射出来的光线遇到物体时,就会形成反射的光线,而这个经反射的红外光线刚好被红外接收探头接收到。
当红外接收探头接收到信号后,再将信号送到单片机由单片机内部程序来控制电机,由电机完成小车的前进,转向。
2.2总体设计方案和框图
整个路系统分为检测、控制、驱动三个模块。
首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
系统方案方框图如图2-1所
示:
控制小车驱动电机软件控制检测(黑线)
图2-1智能小车寻迹系统框
该简易智能小车在画有黑线的白纸“路面”上行使,由于黑线和白线对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”一一黑线。
判断信—可通过单片机控制驱动模块修正前进方向,以使其保持沿着黑线行进。
当小车脱离轨道时,即当置于中间的一只光__红外发射接收管脱离轨道时,等待外面任意一只
检测到黑线后,做出相应的转向调整,直到中间的红外发射接收管重新检测到黑线(即回到轨道)再恢复正向行驶。
在该模块中利用了简单、应用也比较普遍的检测方法一一红外探测法。
红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。
在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。
地利用52单片机的全部资源。
P1口用于电动机的PWM驱动控制,P2,P3口用于传感
本设计以STC89C5单片机作为检测和控制核心。
采用红外光电传感器检测路面黑线及障碍物,用光敏电阻检测、判断车库位置,通过软件编程实现智能小车行进、绕障、停止的精确控制以及检测数据的存储、显示。
通过对电路的优化组合,可以最大限度
P0口用于数码管显示,器的数据采集与中断控制。
系统硬件设计
第3章
3.1系统的硬件组成及设计原理
小车的整体效果如图3-1
图3-1小车视图
此系统的硬件部分由单片机单元、传感器单元、电源单元、电机控制单元组成。
3.1.1单片机单元
此部分是整个小车运行的核心部件,起着控制小车所有运行状态的作用。
控制
方法有很多,大部分都采用单片机控制。
由于51单片机具有价格低廉是使用简单
的特点,这里选择了ATME公司的STC89C52乍为控制核心部件。
STC89C52单片机系列的存储器用的是哈佛结构,即将程序和数据存储截然分
开,程序存储器和数据存储器各有自己的寻址方式、寻址空间和控制系统。
STC89C52的存储器可分为五类:
程序存储器,内部数据存储器,特殊功能寄存器,位地址空间,外部数据存储器。
下面有详解
3.1.2电机控制单元
a.电机的选择方案
方案1:
采用步进电机作为该系统的驱动电机。
由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。
虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。
经综合比较考虑,我们放弃了此方案。
方案2:
直流电机:
直流电机的控制方法比较简单,只需给电机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。
对于直流电机的速度调节,可以采用改变电压的方法,也可采用PW碉速方法。
PW调使加在直流
电机两端的速就是电压为方波形式,通过改变方波的占空比实现对电机转速的调节。
基于以上分析,我们选择了方案二,使用直流电机作为电动车的驱动电机。
b.电机驱动
从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动
LG9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
该芯片有两个TTL/CMOSft容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750〜800mA
9110被广泛应用于玩具汽
的持续电流,峰值电流能力可达1.5〜2.0A;同时它具有较低的输出饱和压降与静态电流;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。
车电机驱动、自动阀门电机驱动、电磁门锁驱动等电路上。
低静态工作电流;
宽电源电压范围:
2.5V—12V;
每通道具有800mA连续电流输出能力;
TTL/CMO输出电平兼容,可直接连接CPU控制和驱动集成于单片IC之中;具备管脚高压保护功能;工作温度:
0C—80C。
图3-2LG9110管脚及功能
3.1.3传感器单元
在传感器方案的选择中,有以下两种方案供参考:
方案一:
使用CCD专感器来采集路面信息。
使用CCD专感器,可以获取大量的图像信息,可以全面完整的掌握路径信息,可以进行较远距离的预测和识别图像复杂的路面而且抗干扰能力强。
但是对于本项目来说,使用CCD专感器也有其不足之
处。
首先使用CCD专感器需要有大量图像处理的工作,需要进行大量数据的存储和计算。
因为是以实现小车视觉为目的,实现起来工作量较大,电路复杂。
方案二:
使用光电传感器来采集路面信息。
使用红外传感器最大的优点就是结构简明,实现方便,成本低廉,免去了复杂的图像处理工作,反应灵敏,响应时间低,便于近距离路面情况的检测。
但红外传感器的缺点是,它所获取的信息是不完全的,只能对路面情况作简单的黑白判别,检测距离有限,而且容易受到诸多扰动
的影响,抗干扰能力较差,背景光源,器件之间的差异,传感器高度位置的差异等都将对其造成干扰。
在本次设计中,赛道为黑色与白色两种颜色,小车只要能区分黑色就可以采集到准确的路面信息。
经过综合考虑,在本设计中采用红外光电传感器作为信息采集元件。
i*\
-
i1f
ii
,皿HInlf
轮
图3-3红外传感器分布图
其中X1与Y1为第一级方向控制传感器如图3-3,,一般中间的一个传感器XY在黑线上并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。
小车前进时,XI、X2在黑线上,当小车偏离黑线时,第一级传感器X1或丫1就能检测不到
黑线时,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。
这次设计智能小车,可以按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能,在轨道上划出设定的地图,并且车速自动可调。
主要是以STC89C52单片机为核心,红外传感器进行目标识别与避障,使自动寻迹小车准确跟踪轨迹路线;采用直流电机对车的转向进行控制,由软件实现了小车自动行驶、自动避障,并发出指示信息等功能。
第4章系统软件设计
该系统配套的软件程序采用模块结构,由C语言编写完成。
主要由初始化程
偏道调整程序、偏离光源调整程序、声光指示子程序、读传感器状态、显示程定时器0的中断服务程序、定时器1的中断服务程序、外部中断0的服务程停车处理等模块组成。
系统的主体流程如图
进。
流程图说明:
首先开始启动,进入系统初始化定义引脚,执行主程序小车前根据小车的指示灯来判断小车的运行情况。
如果小车偏离跑道,会给单片机一个低电平信号进入电机模式选择,例如:
小车往左跑道偏出,传感器开始扫描,当红外接受探头接受到红外光线,给单片机底电平信号,这时经过单片机内部程序的处理设置合理的延时时间函数,同时电机左转。
直到小车跑回跑道,
正常前进。
反复的重复这样的动作就可以实现寻迹的功能。
丫
图4-1系统总流程图
第5章指导教师附加任务
设计要求:
使小车的两个驱动车轮同时向后转十圈是停止,然后是LED发光二
级管低四位显示1O1O。
程序实现如下:
#includevREG52.h>头文件
sbitLeftLed=P^O;
灯端口
sbitRightLed=卩0八7;
端口
sbitLeftIR=卩3八5;
探头端口
sbitRightIR=P3八6;
探头端口
sbitFontIR=P3八7;
外探头端口
sbitM1A=PO八0;
动A端
sbitM1B=POM;
动B端
sbitM2A=P0A2;
动A端
sbitM2B=POA3;
动B端
sbitB1=POM;
传感器端口
sbitSB仁POP
//包含51单片机相关的
//定义前方左侧指示
//定义前方右侧指示灯
//
//
//
定义前方左侧红外
定义前方右侧红外
定义前方正前方红
//
//
//
//
//
//
定义左侧电机驱
定义左侧电机驱
定义右侧电机驱
定义右侧电机驱
定义语音识识别
定义蜂鸣器端口
#defineRunShowP1voidDelay()转子时间子程序{unsignedintDelayTime=50000;
while(DelayTime--);
//SB1=!
SB1;
return;
}
voidControlCar(unsignedcharConType)
{
M1A=0;初始化为
M1B=0;初始化为
M2A=0;初始化为
M2B=0;初始化为
switch(ConType)形式{
case1:
//前进择形式1
{M1A=1;M2A=1;
转
break;
}
case2:
//后退择形式2
{M1B=1;M2B=1;
转break;
}
//定义数据显示端口
//定义机器人调
//定义机器人转弯时间变量//机器人转弯循环
//蜂鸣器闪响
//定义电机控制子程序
//
//
//
//
将M1电机A端
将M1电机B端
将M2电机A端
将M2电机B端
//判断用户设定电机
//判断用户是否选
//M1电机正转
//M2电机正
//判断用户是否选
//M1电机反转
//M2电机反
case3:
//
择形式3
{
M2A=1;
转
break;
}
case4:
//择形式4
{M1A=1;
左转
右转
反转
break;
}
case8:
//
择形式8
{
break;
择
}
}
}
voidmain()
{
//bitRunFlag=0;
志位
//RunShow=0;
状态
unsignedinti;
unsignedcharflag=1;while
(1){
停止
//
//
//
//
//
判断用户是否选
//M2电机正
判断用户是否选
//M1电机正转
//M2电机
判断用户是否选
//退出当前选
主程序入口
定义小车运行标
//初始化显示
//程序主循环
M1A=1;
M2A=1;
M1B=0;
M2B=0;for(i=60;i>0;i--)Delay();
M1A=0;
M2A=0;
M1B=0;
M2B=0;
P1=~0X05;while
(1);
总结
经过两个星期的实习,过程曲折可谓一语难尽。
在此期间我也失落过,也曾一度热情高涨。
从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
通过此次课程设计,使我懂得了单片机和许多芯片、电器元件的作用,也懂得了智能小车的原理和构造,同时使我的理论知识更加的稳固,也使的知识和实践结合了起来,可以说收获颇丰。
同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
某个人的离群都可能导致导致整项工作的失败。
实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们实习成功的一项非常重要的保证。
而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
这次试验从一开始的迷茫到一步步有条理的完成,从一开始的期盼到中间的着急烦躁再到最后的满心欢喜,虽然天数不多项目不大,但同样使我难以忘怀,这宝贵的经验会给我带来无尽的财富。
尽管有几个问题未能弄明白,几个目标未能达成,但经过自身反省找到了问题所在,相信在以后的学习实践中,把这做得更加完美。
同时我也会投入更多的精力来创新、创造。
致谢
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
我认为这个收获应该说是相当大的。
觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。
小组人员的配合、相处,以及自身的动脑和努力,都是以后工作中需要的。
这次课程设计是我们7个同学组成一个小组,设计一个简易智能寻迹小车,围绕一个课题自行设计。
本次设计在全体组员的共同努力下,我们完成了小车的初步设计,经过本次课程设计指导教师曹福成老师耐心及细心的纠正,本次课程设计圆满的结束了,在此,我对那些帮助过我的老师及同学们致以诚挚的谢意。
这次课程设计过程让我增长了浓厚的主动性,这也是我对自己的考验增长了一定的挑战性,每一步都让我将理论学习的知识应用到实践中去,也使我掌握了一整套规范的设计操作流程。
最后感谢多日来实验室各位老师的帮助以及课程设计指导教师曹福成老师的悉心指导,让我们能够顺利的完成本次课程设计。
感谢本组其他六位成员。
参考文献
[1]赵巍,冯娜.《单片机基础及应用》[M].北京:
清华大学出版社.2009:
94103.
[2]高慧芳.《单片机原理及系统设计》[M].杭州:
杭州电子科技大学.2008:
124-174.
[3]聂诗良,李磊民.《采用单片机发送并接收红外遥控信号的方法》.[J].信息技术,2004,28
(2):
21-96.
[4]施新华.《利用单片机实现的红外遥控技术》.J].上海电机学院学报.2006,9(3):
69-71.
[5]莫熙乐.《51单片机红外收发器设计》.[D].北京:
北京理工大学,2010.[6:
倪红英,李海峰.直流电机换向火花的电磁原因解析[J:
.内燃机车,2011(4):
41-44.
[7]熊倩.基于SOPC的直流无刷电机控制系统设计[D].大连:
大连海事大
学,2008.
[8]钱儿,邵定国,许路,等.空心杯永磁同步电机控制策略[J].电机与控制应用,2010
(1):
20-24.
[9]胡学林编.可编程控制器应用技术.北京:
高等教育出版社,2005