第一篇:智能小车设计报告
智能小车设计报告
魏旭峰、孔凡明、陈梦洋
(河北科技大学 电气信息学院)摘要:
AT89S52单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。该设计是结合科研项目而确定的设计类课题。本系统以设计题目的要求为目的,采用89S52单片机为控制核心,利用红外线传感器检测道路上的黑线,控制电动小汽车的自动寻路,快慢速行驶。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
采用的技术主要有:
通过编程来控制小车的速度及方向; 传感器的有效应用; 1602液晶显示的应用;
关键词: 89S52单片机、光电检测器、PWM调速、电动小车
第一章 方案设计与论证
一 供电系统
二 光电检测系统
三 单片机最小应用系统设计
四 液晶显示1602的应用
五 电机驱动
第二章 软件设计
第二章 方案设计与论证
根据要求,小车应在规定的赛道上行驶,赛道中央黑线宽为25MM,确定如下方案: 在现有玩具电动车的基础上,加装光电检测器,实现对电动车的位置的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的转向和速度的智能控制.这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
一 供电系统
本模块使用LM2940芯片输出+5V的电压,为89S52单片机光电检测电路供电,采用LM1117可控变压芯片输出+6V电压为舵机供电.而电机则由单片机来控制,当单片机输出的电压不同时,电机的转速不同,以此来达到控制小车速度的目的.电路如图:
二 光电检测系统
本模块采用七对红外线发射和接收对管,来检测小车前方黑线位置和模拟车站停车位置.发射管发射管出红外线,当对管正下方为白色跑道时,发射管发射出去的红外线会被反射回来, 接收因接收到红外线而导通,两端电压为零,当对管正下方为黑色线时,黑线将吸收红外线,接收管因接收不到红外线而无法导通,两端电压为+4V左右,将接收管端电压与一个给定电压经LM324比较后输出0和+5V两固定个值,当对管正下方为白色时输出+5V电压,当对管正下方为黑线时输出0V,输出的电压交给单片机,以此来确定黑线的位置.电路如图:
三 单片机最小应用系统设计
89S52单片机是本系统的核心所在,自动寻迹和调速都是它控制, 七对光电对管经比较器输出的电压输入单片机,单片机根据电压的高低来判断黑线位置,进而调整速度和方向,电路如下:
四 舵机的应用
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。
其工作原理是:单片机放的控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。
五 电机驱动
电机驱动电路是根据单片机的控制型号来控制电机的转动的,电路如下:
第二章 软件设计 #include
#define uchar unsigned char//宏定义 uchar duoj,dianj,time0=0,time1=0,L=0,e=30;void timer0()interrupt 1 //定时器零 控制舵机 { time0++;
if(time0==duoj)moto=0;if(time0==80){ time0=0;
moto=1;} TH0=(65536-313)/256;TL0=(65536-313)%256;} void timer1()interrupt 3 ///定时器一 控制电机 { time1++;if(time1==dianj)in1=1;if(time1==80){
time1=0;
in1=0;} TH1=(65536-340)/256;TL1=(65536-340)%256;}
void main()/////主函数开始 { TMOD=0x11;TH0=(65536-313)/256;TL0=(65536-313)%256;TH1=(65536-340)/256;TL1=(65536-340)%256;EA=1;ET0=1;
ET1=1;in1=0;moto=1;TR0=1;TR1=1;while(1)//////检测黑线位置
{
while(1)
{
if(P1==0xff){duoj=8;dianj=55;break;} 全白时缓进
if(L1==0){duoj=10;dianj=37;L=1;break;} //L1
if(L7==0){duoj=6;dianj=37;L=7;break;} //L7
if(L2==0){duoj=10;dianj=22;L=2;break;} //L2
if(L6==0){duoj=6;dianj=22;L=6;break;} //L6
//
if(L3==0){duoj=9;dianj=27;L=3;break;} //L3
if(L5==0){duoj=7;dianj=27;L=5;break;}
//L5
if(L4==0){duoj=8;dianj=70;L=4;break;}
//l4
//else {duoj=8;dianj=17;break;}
}
while(P1==0xff)当检测不到信号时保持最后的状态
{
switch(L)
{
case 1:duoj=10;dianj=39;break;
case 2:duoj=10;dianj=22;break;
// case 3:duoj=9;dianj=25;break;
// case 4:duoj=8;dianj=70;break;
// case 5:duoj=7;dianj=25;break;
case 6:duoj=6;dianj=22;break;
case 7:duoj=6;dianj=39;break;
}
} } }////////主函数结束
第二篇:智能小车设计报告
机器人控制技术
实验设计报告书
题
目:基于STC89C52的智能小车的设计 姓
名:李如发 学
号:073321032 专
业:电气工程及其自动化 指导老师:李东京 设计时间:2010年 6 月
目
录
1.引 言..............................................1 1.1.设计意义......................................1 1.2.系统功能要求..................................1 1.3.本组成员所做的工作............................1 2.方案设计...........................................1 3.硬件设计...........................................2 4.软件设计...........................................7 5.系统调试...........................................7 6.设计总结...........................................8 7.附 录A;源程序.....................................8 8.附 录B;作品实物图片...............................10 9.参考文献..........................................11
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
基于STC89C52的智能小车的设计
1.引 言
1.1.设计意义
本智能小车的设计,首先针对大学所有学习的知识是一个很好的回顾和总结。此智能小车是基于单片机所设计的,具有自动寻迹能力,在实际的很多方面有应用。当我们进一步的改进机器人系统时,可实现更重要的功能,如可设计出自动扑火机器人等。1.2.系统功能要求
此智能小车是基于STC89C52设计的具有自动寻迹能力的小车。系统可实现跟随黑色引导线行走的能力,在行驶过程中,并能用测速传感器和光电码盘对小车速度实现实时监测。小车在行驶过程中并能实现播放美妙的音乐。1.3.本组成员所做的工作
本组成员有李如发,汪航,黄建安,韩文龙,罗莹,明菲菲,邹珊,江锐,邵进。
李如发:驱动 073321032 汪航: 电源 073522036 黄建安:最小统 073521013 韩文龙:源程序 073522007 罗莹: 传感器 073522038 明飞菲:调试 073522012 邹芬 : 数码显示 073521025 邵琎 : 焊接 073522017 江锐 : 蜂鸣器 073522032
2.方案设计
智能小车主要分为传感器部分,最小系统部分,电机驱动部分,电源部分。根据功能要求,提出合理的设计方案,画出方案方框图,并对系统工作原理进行阐述。
原理,本系统的重要部分是传感器,它对整个小车的定位起到很重要的作用,由传感器检测黑线的位置,其中黑线对光能吸收,白线对光反射。利用此原
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
理将红外线传感器采集到的信号转换为数字信号并送入单片机,单片机根据收到的信号实时的控制小车的方向。控制小车的方向主要是运用pwm原理来控制电机的平均电压,从而来控制电机的转速,实现小车对黑线的实时跟踪。
3.硬件设计
硬件设计各模块电路图及原理描述 传感器模块
方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。
方案2:用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。
方案3:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。我们选择了此方案。
传感器是整个系统的眼睛,这部分主要运用红外线传感器采集信号送给单片机处理。由于黑色车道对红外线传感器发出的光有吸收能力,白色地方对发出的光反射,从而当传感器在不同的地方产生不同的信号,传送个单片机。单片机根据采集的信号做出实时的处理。
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
最小系统
最小系统是整个系统的心脏,我们采用的是AT89C52芯片。
80C52单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上[2]。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
驱动模块
方案1:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
方案2:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。
因此我们选用了方案1。
由于最小系统和电机驱动部分的电压幅值不一样,而且电机是感性负载,在制动时可能反馈电流,因此要在最小系统和驱动模块之间采用光电隔离,所以用到了光电隔离芯片,TPL521-4
由于光耦芯片的引脚不够所以在之后采用了一片反相器74HCT14,反相器图如下
L298是双H桥高电压大电流功率集成电路,直接采用TTL逻辑电平控制,可用来驱动继电器、线圈、直流电动机、步进电动机等电感性负载。它的驱动电压可达46V,直流电流总和可达4A。其内部具有2个完全相同的PWM功率放大回路。由L298构成的PWM功率放大器的工作形式为单极可逆模式。12个H桥的下侧桥晶体管发射极连在一起,其输出脚(1和15)用来连接电流检测电阻。第9脚接逻辑控制部分的电源,常用+5V,第4脚为电机驱动电源,本系统中为40V,第5,7,10,12脚输入标准TTL逻辑电平,用来控制H桥的开和关,16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
第6,II脚则为使能控制端。当Vs=40V时,最高输出电压可达35V,连续电流可达2A。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动两台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。电动 机的转速由单片机调节PWM信号的占空比来实现。
L298驱动电路图
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
PWM调速器的硬件组成
在整个PWM调速器中,CPU既是运算处理中心,又是控制中心,是最关键的器件。本系统中选用与MCS-51系列完全兼容的AT89C52单片机,它是一种低功耗、高性能、CMOS八位微处理器。片内具有8K字节的在线可重复编程快擦快写程序存储器,128x8位内部RAM,AT89C52可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本。
电源模块
电源中我们采用LM7805稳压芯片将12v直流电源稳压成5v直流源。方案1: 采用10节1.5V干电池供电,电压达到15V,经7812稳压后给支流电机供电,然后将12V电压再次降压、稳压后给单片机系统和其他芯片供电。但干电池电量有限,使用大量的干电池给系统调试带来很大的不便,因此,我们放弃了这种方案。
方案2:采用3节4.2V可充电式锂电池串联共12.6V给直流电机供电,经过7812的电压变换后给支流电机供电,然后将12V电压再次降压、稳压后给单片机系统和其他芯片供电。锂电池的电量比较足,并且可以充电,重复利用,因此,这种方案比较可行。但锂电池的价格过于昂贵,使用锂电池会大大超出我们的预算,因此,我们放弃了这种方案。
方案3:采用12V蓄电池为直流电机供电,将12V电压降压、稳压后给单片机系统和其他芯片供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便,但由于我们的车体设计时留出了足够的空间,并且蓄电池的价格比较低。因此我们选择了此方案。下:
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
4.软件设计
程序流程图
5.系统调试
本系统的设计是首先完成每一小部分的设计,因此我们在没完成一个模块时就回检测调试该模块。在初次调试时我们采用的电源是又单片机开发板所带的的电源来调试的。调试过程中我们就发现了很重要的问题,由于对本设计的很多模块的没有共同的接地使得很多模块无法工作,我们的解决办法是12v的直流源稳压来供给所以的模块,然后将所以的模块连接共同的地。在驱动模块的调试中发现当光耦芯片给定信号时对lm298的输出没有反应。我们在检验时发现是由于在光耦芯片后部焊接没有焊好,出现了虚焊。在重新焊接好后,芯片正常工作。分
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
块调试传感器时,我们将传感器导通,用黑色物体将传感器发射部分盖住检测输出,在将黑色物体移开,再检测输出。
6.设计总结
本文是关于基于单片机的智能小车的设计,在共同的努力下,各部分的设计均成功,在调试过程中都无误。本次设计最终实现了直流电机的动态调压,电源正常输出供电,数码管动态显示数据,蜂鸣器播放美妙的音乐,小车实现简单的转弯功能。由于本次设计中尚存在些缺陷和对寻迹程序编写困难,实现的功能不是很完美,但要求的所有功能基本实现。
本次设计中,从中的体会很多
1、本次的设计可以说设计到大学所学到的所有专业知识,是对大学所学知识的一个整体的回顾。
2、在设计中,不能一气呵成,因为所有的电路图都是自己设计的,图中尚存在不足,所以要反复的琢磨和修改。
3、设计中要注意对每焊完一部分,都要独立的进行检查调试,及时的发现错误,及时的修改
4、本次最重要的收获是从中我们看到了团队合作的重要性,任何事都不是一个人所能完成的,需要大家的共同努力才能获得最后的成功。
7.附 录A;源程序
源程序代码(主要语句要有注释)。循迹的程序 #include
sbit R=P2^0;//右边传感器 sbit L=P2^1;//左边传感器 sbit RM1=P1^1;sbit RM2=P1^2;//右边电机 sbit LM1=P1^3;sbit LM2=P1^4;//左边电机 void main(){
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
while(1)
{
if((L==1)&&(R==1))//小车前进 {
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
}
else if((L==1)&&(R==0))//小车右偏
{
RM1=1;
RM2=0;
LM1=0;
LM2=1;
//左边的电机停止转动,右边的电机转动,这样就实现了左转
delay(10);
}
else if((L==0)&&(R==1))//小车左偏
{
RM1=0;
RM2=1;
LM1=1;
LM2=0;
//右边的电机停止转动,左边的电机转动,这样就实现了右转
delay(10);}
else if((L==0)&&(R==0))//小车停车
{
RM1=0;
RM2=1;
LM1=0;
LM2=1;delay(5);
}
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
else
//左右两个电机同时启动,直线前进
{
RM1=1;
RM2=0;
LM1=1;
LM2=0;
}
}
delay(10);
}
void delay(uint z)
{
uint a,b;for(a=z;a>0;a--)for(b=120;b>0;b--);}
8.附 录B;作品实物图片
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
9.参考文献
[1] Mark Nelson著.潇湘工作室译.串行通信开发指南[M].中国水利水电出版社,2002.[2] 王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002.[3] 张毅刚.单片机原理及应用.高等教育出版社,2009 [4] 康华光.电子技术基础(模拟部分).高等教育出版社.2006
第三篇:电磁智能小车设计报告
标题:电磁感应智能电动车
摘要:本系统以AVR单片机MEGAl6为核心器件,实现对驱动电路的控制,使电动小车自动行驶。利用电磁原理,在车模前上方水平方向固定两个相距为L的电感,通过比较两个电感中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。用PWM技术控制小车的直流电动机转动,完成小车位置、速度、时间等的控制。利用干簧管来检测跑道的起始和终点位置从而完成小车的起步及停车。
系统总体设计:
AVR单片机MEGAl6(该芯片能够不需要外围晶振和复位电路而独立工作,非常适合智能寻迹车模的要求。)为核心,由单片机模块、路径识别模块、直流电机驱动模块、舵机驱动模块等组成,如下图所示。基于电磁感应的智能寻迹车模系统以
直流电动机为车辆的驱动装置,转向电动机用于控制车辆行驶方向。智能寻迹车模利用电磁感应在跑道上自主寻迹前进,转向。
单片机模块(控制模块):
寻迹车模采用AVR内核的ATMEGAl6。该芯片能够不需要外围晶振和复位电路而独立工作,非常适合智能寻迹车模的要求。
路径识别模块:
本方案就是在车模前上方水平方向固定两个相距为L的电感。左边的线圈的坐标为(x,h,z),右边的线圈的位置(x-L,h,z)。由于磁场分布是以z轴为中心的同心圆,所以在计算磁场强度的时候我们仅仅考虑坐标(x,y)。由于线圈的轴线是水平的,所以感应电动势反映了磁场的水平分量。计算感应电动势:
图 1 线圈中感应电动势与它距导线水平位置x 的函数
如果只使用一个线圈,感应电动势E 是位置x 的偶函数,只能够反映到水平位置的绝对值x 的大小,无法分辨左右。为此,我们可以使用相距长度为L 的两个感应线圈,计算两个线圈感应电动势的差值:
对于直导线,当装有小车的中轴线对称的两个线圈的小车沿其直线行驶,即两个线圈的位置关于导线对称时,则两个线圈中感应出来的电动势大小应相同、且方向亦相同。若小车偏离直导线,即两个线圈关于导线不对称时,则通过两个线圈的磁通量是不一样的。这时,距离导线较近的线圈中感应出的电动势应大于距离导线较远的那个线圈中的。根据这两个不对称的信号的差值,即可调整小车的方向,引导其沿直线行驶。
对于弧形导线,即路径的转弯处,由于弧线两侧的磁力线密度不同,则当载有线圈的小车行驶至此处时,两边的线圈感应出的电动势是不同的。具体的就是,弧线内侧线圈的感应电动势大于弧线外侧线圈的,据此信号可以引导小车拐弯。
另外,当小车驶离导线偏远致使两个线圈处于导线的一侧时,两个线圈中感应电动势也是不平衡的。距离导线较近的线圈中感应出的电动势大于距离导线较远的线圈。由此,可以引导小车重新回到导线上。
由于磁感线的闭合性和方向性,通过两线圈的磁通量的变化方向具有一致性,即产生的感应电动势方向相同,所以由以上分析,比较两个线圈中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。
驱动模块:
简易智能小车有两个电动机。其中一个小电动机控制前轮转向,给电动机加正反向电压,实现前轮的左右转向;另一电动机控制后轮驱动力。控制转向电动机需要较小的驱动力,经过实验,选L293作为驱动芯片;由于后轮驱动功率较大,所以选用L298N,经过实验发现小车行使过程中负载较大,导致L298N发热较大,故给芯片添加散热片以保护芯片正常工作。为了优化控制性能,采用PWM脉宽调速,并利用数模转换芯片产生 模拟电压,控制555生成占空比可调的脉冲从而控制L293B与L298N进行脉宽调速。
具体设计方案:
本设计使用一普通玩具小车作为车模,采用P W M 信号驱动,当PWM信号脉宽处于(1ms,1.5ms)区间时舵机控制小车向左行驶,脉宽处于(1.5ms,2ms)时小车向右行驶,脉宽约为1.5ms时小车沿直线行驶。本方案使用两个10mH的电感置于车模头部作为确定小车位置的传感器。然后,设计了一个模拟电路,采集、调理、放大由电感得到的电动势信号。具体电路如图2所示。
该电路采用电压并联负反馈电路,电感信号从PL进入。考虑到单独电感感应出的电动势很小,本设计使用电感和电容谐振放大感应电动势。由于使用的是10mH的电感,导线中电流频率为20kHz,因此使用6.3nF的电容。这样在电容上得到的电压将会比较大,便于三极管进行放大。整个电路的具体放大倍数需要根据实际负载进行计算。本设计的小车控制电路如图3所示。
首先,把由两个电感得到的感应电动势经调理、放大后得到的电压输出u1和u2送入由运放组成的减法器中进行减法运算,然后再经由运放组成的电压跟随器送给下一级电路。经过分析,这一级电路的输出大致可由下式进行计算:
后一级电路由两个555定时器组成,其中下方的555构成一个占空比非常接近于1的脉冲发生器,作为上方555的触发脉冲。因为此触发脉冲的低电平信号非常窄,所以能很好的保证上方555构成的单稳态电路正常运行。该脉冲信号频率为:
上方的555定时器构成一个单稳型压控振荡器,它的脉宽受输入V1的控制,输出即PWM信号。当V1较大时,即两个电感线圈中的感应电动势相差较大时,亦即小车偏离导线向左行驶时,则脉宽较大,舵机将控制小车向右行驶;当V1适中时,接近,即小车沿导线行驶时,则脉宽接近1.5ms,小车按直线行驶;当V1较小时,即小车偏离导线向右行驶时,则脉宽较小,舵机将控制小车向左行驶。从而,控制小车大致循着导线行驶。另外,改变构成减法器的电阻的值,可以调整小车反应的灵敏度,进而防止出现小车以导线为中轴线左右摇摆的现象。
补充说明:跑道上的起始位置及终点位置用干簧管来检测。
程序设计流程图:
第四篇:智能循迹小车___设计报告
智能循迹小车设计
专 业: 自动化 班 级: 自动化132 姓 名:罗植升 莫柏源 梁桂宾 指导老师:
2014年4月——2010年6月
摘要: 本课题是基于STC89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 STC89C52单片机为系统控制处理器; 采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。
引 言 当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。
作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。
无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。
为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“智能循迹小车”一题作为尝试。
此项设计是在以杨老师提供的小车为基础上,采用AT89C52单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。
一、实验目的:
通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
二、设计方案:
该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L9110发出控制命令,控制电机的工作状态以实现对小车姿态的控制。
三、报告内容安排:
本技术报告主要分为三个部分。第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术原理的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。
技术方案概要说明
本模型车的电路系统包括电源管理模块、单片机模块、传感
器模块、电机驱动模块。
工作原理:
利用红外采集模块中的红外发射接收对管检测路面上的轨迹 将轨迹信息送到单片机
单片机采用模糊推理求出转向的角度和行走速度,然后去控制 行走部分
最终完成智能小车可以按照路面上的轨迹运行。
硬件电路的设计
1、最小系统:
小车采用STC89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下:
1、时钟电路:给单片机提供一个外接的12MHz的石英晶振。
2、电源电路:给单片机提供5V电源。
3、复位电路:在电压达到正常值时给单片机一个复位信号。
图1
单片机最小系统原理图
2、电源电路设计:
模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机及舵机使用6V电源。考虑到电源为充电电池组,额定电压为7.2V,实际充满电后电压则为6.5-6.8V,所以单片机及传感器模块采用7805稳压后的5V电源供电,舵机及电机直接由电池供电。
3、传感器电路:
光电寻线方案一般由多对TCRT5000红外收发管组成,通过检测接收到的反射光强,判断黑白线。原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。
图2
赛道检测原理图:
4、电机驱动电路:
电机驱动芯片L9110,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。L9110可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。L9110的逻辑功能:
表1 SHARP GP2D12实物图
外形及封装:
图3 L9110实物图
L9110电路原理图:
由于一片L298N可以直接驱动两个电机,但是为了加大驱动力,我们采用两路并联的方式来驱动电机。
图3.3 L9110电路图
小车循迹规则:
若小车偏左的时候,车轮将向右偏转;若小车偏右,车轮将向左偏转;若没有偏移,小车将继续向前;若小车完全偏离黑色轨迹,小车后退以寻找黑色轨迹。小车程序:
#include
sbit chongshua=P3^6;//定义单片机控制冲刷的引脚 sbit tuodi=P3^7;//定义单片机控制拖地的引脚
//--------//1602液晶相关I/O设置
sbit E=P2^3;//1602液晶的E脚接在P2.3口上 sbit RW=P2^4;//1602液晶的RW脚接在P2.4口上 sbit RS=P2^5;//1602液晶的RS脚接在P2.5口上
//HC-SR04相关I/O设置 sbit TIRG=P3^4;sbit ECHO=P3^2;
bit flag =0;
//定义IO口,具体可以去查看原理图 //定义IO口,具体可以去查看原理图 uchar k;uchar a=0;//定义一个变量a,用来读取串口的数据
void delay(uint z)//一个带参数的延时程序 {
}
void init()//初始化子程序 {
} TMOD=0x20;//设置定时器T1为工作方式2 TH1=0xfd;TL1=0xfd;//T1定时器装初值 TR1=1;//启动定时器T1 REN=1;//允许串口接收 SM0=0;SM1=1;//设置串口工作方式1 EA=1;//开总中断 ES=1;//开串口中断 int i,j;//定义两个变量 for(i=10;i>0;i--)for(j=z;j>0;j--);//将参数z赋值给j void qian()//左右轮协同前进子函数 {
} void zuo()//左右轮协同左转子函数 {
you1=0;you2=1;zuo1=1;zuo2=0;delay(9);//pwm调速 此为pwm有效值 you1=1;you2=1;you1=0;you2=1;zuo1=0;zuo2=1;delay(6);//pwm调速 此为pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(4);
} zuo1=1;zuo2=1;delay(1);
void mzuo()//左右轮协同左转子函数 {
} void you()//左右轮协同右转子函数 {
you1=1;you2=0;zuo1=0;you1=0;you2=1;zuo1=1;zuo2=0;delay(10);//pwm调速 此为pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);
} zuo2=1;delay(9);//pwm调速 此为pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);
void myou()//左右轮协同右转子函数 {
} you1=1;you2=0;zuo1=0;zuo2=1;delay(10);//pwm调速 此为pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);void hou()//左右轮协同前进子函数 {
}
void ting()//左右轮都停止转动 {
} you1=1;you2=1;zuo1=1;zuo2=1;you1=1;you2=0;zuo1=1;zuo2=0;delay(9);//pwm调速 此为pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);
void Delay1602(unsigned int t){ unsigned int k;//定义一个16位寄存器用来做延时用 for(k=0;k void LCD1602_busy(void){ P0_7=1;// RS=0;//RS=0读入 RW=1;//RS=0读入 E=1;//RS=0读入 while(P0_7==1);// E=0;//} 延时 将P0.7置1,为读状态做准备、RW= 1、E=1时,忙信号输出到DB7,由P0.7、RW= 1、E=1时,忙信号输出到DB7,由P0.7、RW= 1、E=1时,忙信号输出到DB7,由P0.7由P0.7读入1,表示1602液晶忙,需要等待 读完以后,恢复E的电平void LCD1602_Write_com(unsigned char combuf){ RS=0;//选择指令寄存器 RW=0;//选择写状态 P0=combuf;//将命令字通过P0口送至DB E=1;//E高电平将命令字写入1602液晶 E=0;//写完以后,恢复E的电平} void LCD1602_Write_com_busy(unsigned char combuf){ LCD1602_busy();//调用忙检测函数 LCD1602_Write_com(combuf);//调用忙检测函数 } void LCD1602_Write_data_busy(unsigned char databuf){ LCD1602_busy();//调用忙检测函数 RS=1;//选择数据寄存器 RW=0;//选择写状态 P0=databuf;//将命令字通过P0口送至DB E=1;//E高电平将命令字写入1602液晶 E=0;//写完以后,恢复E的电平} void LCD1602_Write_address(unsigned char x,unsigned char y){ x&=0x0f;//列地址限制在0-15间 y&=0x01;//行地址限制在0-1间 if(y==0)//如果是第一行 LCD1602_Write_com_busy(x|0x80);//将列地址写入 else //如果是第二行 LCD1602_Write_com_busy((x+0x40)|0x80);//将列地址写入 } void LCD1602_init(void){ Delay1602(1500);//调用延时函数 LCD1602_Write_com(0x38);//8位数据总线,两行显示模式,5*7点阵显示 Delay1602(500);//调用延时函数 LCD1602_Write_com(0x38);//8位数据总线,两行显示模式,5*7点阵显示 Delay1602(500);//调用延时函数 LCD1602_Write_com(0x38);//8位数据总线,两行显示模式,5*7点阵显示 LCD1602_Write_com_busy(0x38);//8位数据总线,两行显示模式,5*7点阵显示 LCD1602_Write_com_busy(0x08);//显示功能关,无光标 LCD1602_Write_com_busy(0x01);//清屏 LCD1602_Write_com_busy(0x06);//写入新的数据后,光标右移,显示屏不移动 LCD1602_Write_com_busy(0x0C);//显示功能开,无光标 } void LCD1602_Disp(unsigned char x,unsigned char y,unsigned char buf){ LCD1602_Write_address(x,y);//先将地址信息写入 LCD1602_Write_data_busy(buf);//再写入要显示的数据 } void Timer0(void)interrupt 1 { } flag=0;void xunji(){ qian();//调用前进子函数,使小车光电管不满足以下几个条件时都处于前进状态 while((z==0)&&(y==1)&&(q==1))//判断当左边光电管遇到黑线,{ } while((z==1)&&(y==0)&&(q==1))//判断当右边光电管遇到黑线,{ } while((z==0)&&(y==0)&&(q==1))//判断当左边光电管遇到黑线,右边 //左边和前边的光电管遇到白线时右转 //右边和前边的光电管遇到白线时左转 zuo();//调用左转函数 zd=1;you();//调用右转函数 yd=1;光电管也遇到黑线 { //前边的光电管遇到白线时停止 ting();//调用停止函数 } hd=1;while((z==0)&&(y==0)&&(q==0))//判断当左边、右边、前边光电管同时遇到黑线 } void csb(){ long S;unsigned int i;unsigned int Timeout; { } //即遇到十字路口,小车前进 qian();//调用前进函数 LCD1602_init();//调用1602液晶初始化函数 //***定时器Timer0初始化*** TMOD&=0xF0;//将TMOD的低4位定时器0控制部分清零 TMOD|=0x01;//设置定时器0为方式1 TMOD=0x01;TL0=0;//设置定时器0初值低8位 TH0=0; //设置定时器0初值高8位 TR0=0;//停止定时器0 ET0=1;//Timer0中断允许 //***开全局中断设置**** //定时器Timer0设置了中断允许,此处要开全局中断 EA=1;//开全局中断 TIRG=1; //发一个脉冲触发信号 //维持约17US,符合不低于10US的要求 //维持约17US,符合不低于10US的要求 i=4; while(i>0)i--; TIRG=0;TR0=0; //维持约17US,符合不低于10US的要求 //撤销触发信号 //关闭定时器 //设置定时器0初值低8位为0 TL0=0; TH0=0; //设置定时器0初值高8位为0 //清除溢出标志 k=0;flag=0;Timeout=0;while((ECHO==0)&&((Timeout++)<50000)); //等待回响高电平 TR0=1;//回响高电平来后启动定时器 Timeout=0;while((ECHO==1)&&((Timeout++)<50000)); //等待回响高电平结束后 TR0=0; //关闭定时器 S=((TH0*256+TL0)*1)/58; if(flag==1||S>400)//超出测量范围显示“-” { LCD1602_Disp(0, 0, '-'); LCD1602_Disp(1, 0, '-'); LCD1602_Disp(2, 0, '-'); LCD1602_Disp(3, 0, 'C'); LCD1602_Disp(4, 0, 'M'); } else { LCD1602_Disp(0, 0, S%1000/100+'0'); LCD1602_Disp(1, 0, S%1000%100/10+'0');// LCD1602_Disp(2, 0, S%1000%100%10+'0'); LCD1602_Disp(3, 0, 'C'); LCD1602_Disp(4, 0, 'M'); } i=18000; while(i>0) //显示百位- //显示十位- //显示个位- //显示C //显示M //显示百位 显示十位 //显示个位 //显示C //显示M //维持约77400US,符合不低于60MS的要求 //维持约77400US,符合不低于60MS的要求 i--; } void main()//主程序 { //维持约77400US,符合不低于60MS的要求 init();//调用初始化子程序 while(1)//死循环 { switch(a)//判断a从串口读取到的数据 { case 0x00://如果是0x1f就前进 xunji();break;case 0x01://如果是0x2f就后退 qian();break;case 0x02://如果是0x3f就左转 csb();break; case 0x03://如果是0x4f就右转 mzuo();zd=1;break; case 0x04://如果是0x00就停止 hou();break; case 0x05://如果是0xa0车灯打开 myou();yd=1;break; case 0x06://如果是0xb0车灯关闭 chongshua=1;break; case 0x07://如果是0xc0蜂鸣器鸣响 } ting();hd=1;break; case 0x08://如果是0xc0蜂鸣器鸣响 tuodi=1;break;} } void chuan()interrupt 4//串口中断服务程序 { } RI=0;//软件清除串口响应 a=SBUF;//读取单片机串口接受的蓝牙模块发送的数据 结论 根据本次设计要求,我们小组系统地阅读了大量的资料,并认真分析了设计课题的需求,还系统学习了51系列单片机的工作原理及其使用方法,并独自设计智能小车的整个项目。 虽然条件艰苦,但经过不懈钻研和努力,购买到了所有所需的元器件,并系统的进行了多项试验,最终做出了整个小车的硬件系统,然后结合课题任务和小车硬件进行了程序的编制,本系统能够基本满足设计要求,能够较快较平稳的是小车沿引导线行驶,但由于经验能力有限,该系统还存在着许多不尽人意的地方有待于进一步的完善与改进。 通过本次课题设计,不仅是对我们课本所学知识的考查,更是对我的自学能力和收集资料能力以及动手能力的考验。本次毕业设计使我们对一个项目的整体设计有了初步认识,还认识了几种传感器,并能独立设计出其接口电路,再有对电路板的制作有了一定的了解,并学会了使用Protel设计电路。本次毕业设计使我们意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。还有以前对程序只是一个很模糊的概念,通过这次的课题设计使我对程序完全有了一个新的认识,并能使用C熟练的进行编程了。通过本次课题设计,极大的锻炼了我们的思考和分析问题的能力,并对单片机有了一个更深的认识。 总之,在课题设计的过程中,无论是对于学习方法还是理论知识,我们都有了新的认识,受益匪浅,这将激励我们在今后再接再厉,不断完善自己的理论知识,提高实践运作能力。 智能小车设计文献综述 智能小车设计文献综述 摘要:随着电子工业的发展,智能技术广泛运用于各种领域,智能小车不仅在工业智能化上得到广泛的应用,而且运用于智能家居中的产品也越来越受到人们的青睐。国外智能车辆的研究历史较长。相比于国外,我国开展智能车辆技术方面的研究起步较晚,在智能车辆技术方面的研究总体上落后于发达国家但是也取得了一系列的成果。随着人工智能技术、计算机技术、自动控制技术的迅速发展,智能控制将有广阔的发展空间。本设计的智能小车利用红外对管检测黑线与障碍物,并以单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。并对智能小车研究现状以及未来的应用与发展前景做一个全方面的介绍。关键词:智能技术,自动循迹,避障 前言 随着电子技术、计算机技术和制造技术的飞速发展,数码相机、DVD、洗衣机、汽车等消费类产品越来越呈现光机电一体化、智能化、小型化等趋势。智能化作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。智能小车,也称轮式机器人,是一种以汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多科学的科技创意性设计,一般主要路径识别、速度采集、角度控制及车速控制等模块组成。一般而言,智能车系统要求小车在白色的场地上,通过控制小车的转向角和车速,使小车能自动地沿着一条任意给定的黑色带状引导线行驶[1]。智能小车运用直流电机对小车进行速度和正反方向的运动控制,运用直流电机对小车进行速度和正反方向的运动控制,通过单片机来控制直流电机的工作,从而实现对整个小车系统的运动控制。智能小车的发展历史、国内外研究现状 2.1 国外研究现状 国外智能车辆的研究历史较长,始于上世纪50年代。它的发展历程大体可以分成三个阶段[2][3][4]: 第一阶段,20世纪50年代是智能车辆研究的初始阶段。1954年美国Barrett Electronics 公司研究开发了世界上第一台自主引导车系统AGVS(Automated Guided Vehicle System)。该系统只是一个运行在固定线路上的拖车式运货平台,但它却具有了智能车辆最基本得特征即无人驾驶。早期研制AGVS的目的是为了提高仓库运输的自动化水平,应用领域仅局限于仓库内的物品运输。随着计算机的应用和传感 智能小车设计文献综述 技术的发展,智能车辆的研究不断得到新的发展。 第二阶段,从80年代中后期开始,世界主要发达国家对智能车辆开展了卓有成效的研究。在欧洲,普罗米修斯项目于1986年开始了在这个领域的探索。在美洲,美国于1995年成立了国家自动高速公路系统联盟(NAHSC),其目标之一就是研究发展智能车辆的可能性,并促进智能车辆技术进入实用化。在亚洲,日本于1996年成立了高速公路先进巡航/辅助驾驶研究会,主要目的是研究自动车辆导航的方法,促进日本智能车辆技术的整体进步。进入80年代中期,设计和制造智能车辆的浪潮席卷全世界,一大批世界著名的公司开始研制智能车辆平台。 第三阶段,从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。最为突出的是,美国卡内基.梅隆大学(Carnegie Mellon University)机器人研究所一共完成了Navlab系列的10台自主车(Navlab1—Navlab10)的研究,取得了显著的成就。 目前,智能车辆的发展正处于第三阶段。这一阶段的研究成果代表了当前国外智能车辆的主要发展方向。在世界科学界和工业设计界中,众多的研究机构研发的智能车辆具有代表性的有: 德意志联邦大学的研究,1985年,第一辆VaMoRs智能原型车辆在户外高速公路上以100km/h的速度进行了测试,它使用了机器视觉来保证横向和纵向的车辆控制。1988年,在都灵的PROMRTHEUS项目第一次委员会会议上,智能车辆维塔(VITA,7t)进行了展示,该车可以自动停车、行进,并可以向后车传送相关驾驶信息。这两种车辆都配备了UBM视觉系统。这是一个双目视觉系统,具有极高的稳定性。 荷兰鹿特丹港口的研究,智能车辆的研究主要体现在工厂货物的运输。荷兰的Combi road系统,采用无人驾驶的车辆来往返运输货物,它行驶的路面上采用了磁性导航参照物,并利用一个光阵列传感器去探测障碍。荷兰南部目前正在讨论工业上利用这种系统的问题,政府正考虑已有的高速公路新建一条专用的车道,采用这种系统将货物从鹿特丹运往各地。 日本大阪大学的研究,大阪大学的Shirai实验室所研制的智能小车,采用了航位推测系统(Dead Reckoning System),分别利用旋转编码器和电位计来获取智能小车的转向角,从而完成了智能小车的定位。另外,斯特拉斯堡实验中心、英国国防部门的研究、美国卡内基梅隆大学、奔驰公司、美国麻省理工学院、韩国理工大学对智能车辆也有较多的研究。 智能小车设计文献综述 2.2 国内研究现状 相比于国外,我国开展智能车辆技术方面的研究起步较晚,开始于20世纪80年代。而且大多数研究处在于针对某个单项技术研究的阶段。虽然我国在智能车辆技术方面的研究总体上落后于发达国家,并且存在一定得技术差距,但是我们也取得了一系列的成果[5 ],主要有: (1)中国第一汽车集团公司和国防科技大学机电工程与自动化学院与2003年研制成功我国第一辆自主驾驶轿车。该自主驾驶轿车在正常交通情况下的高速公路上,行驶的最高稳定速度为13km/h,最高峰值速度达170km/h,并且具有超车功能,其总体技术性能和指标已经达到世界先进水平。 (2)南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等多所院校联合研制了7B.8军用室外自主车,该车装有彩色摄像机、激光雷达、陀螺惯导定位等传感器。计算机系统采用两台Sun10完成信息融合、路径规划,两台PC486完成路边抽取识别和激光信息处理,8098单片机完成定位计算和车辆自动驾驶。其体系结构以水平式结构为主,采用传统的“感知-建模-规划-执行”算法,其直线跟踪速度达到20km/h,避障速度达到5-10km/h。 智能车辆研究也是智能交通系统ITS的关键技术。目前,国内的许多高校和科研院所都在进行智能交通系统ITS(Intelligent Transport System)关键技术、设备的研究。随着ITS研究的兴起,我国已形成一支ITS技术研究开发的技术专业队伍。并且各交通、汽车企业越来越加大了对ITS及智能车辆技术研发的投入,整个社会的关注程度在不断提高。交通部已将ITS研究列入“十五”科技发展计划和2010年长期规划。相信经过相关领域的共同努力,我国ITS及智能车辆的技术水平一定会得到很大提高。 目前学术界对智能小车的研究也很多,桂林理工大学黄建能等[2]设计的无线遥控小车,其由四部分组成:主控模块、无线通信模块、电机驱动模块和电源模块。主控模块采用STC89C52单片机作为处理器;无线通信模块采用芯片 PT2262和 PT2272实现无线收发;用内置两个H桥的 L298芯片驱动直流电机实现对小车的控制,实现前进、后退,左转、右转以及加速、减速的动作。整个无线遥控小车系统具有体积小、成本低、操作简单等优点,并具有一定的可扩展性。 于连国、李伟等[6]设计了自动往返的智能电动车,其采用 STC89C51 单片机作为小车的检测和控制核心;使用红外传感器检测跑道黑线并把反馈到的信号传给单片机,能够使小车在各区域均能按预定的速度行驶。 智能小车设计文献综述 葛广军,杨帆[7]设计了一种能够自动循迹的智能小车。该智能小车的控制系统以单片机MC912DG128为核心,由路径识别、车速检测、舵机控制、直流电机、电机驱动芯片LMD18200和电压转换芯片LM7525等模块组成,并详细阐述了控制系统的组成原理和软硬件设计。实验的结果表明:该控制系统具有循迹效果好、性能稳定等优点。 董涛,刘进英等[8]设计并制作了一种具有红外遥控、自动避障、智能寻径等功能的智能小车,该车以玩具小车为车体,直流电机及其控制电路为整个系统的驱动部分,STC89C52单片机为整个系统的控制核心,采用IRM-2638红外一体接收头接收控制信号实现对小车的遥控,加以多种传感器以实现小车的自动避障与智能寻径等功能,该小车还配备了两块数码显示管,以便实时观察小车状态。该小车工作稳定,还可用于各种机器人比赛。 姜宝华、齐强等[9]基于STC89C52RC单片机设计了一种遥控智能小车。小车具有自动、遥控两种模式。该小车在遥控模式下小车可在1公里范围遥控到达指定位置,并在手持设备上显示小车位置坐标;自动模式下在封闭环境输入任意坐标,小车可自动运行到该位置。 可以预计,我国飞速发展的经济实力将为智能车辆的研究提供一个更加广阔的前景。我们要结合我国国情,在某一方面或某些方面,对智能车进行深入细致的研究,为它今后的发展及实际应用打下坚实的基础。智能小车设计构想 智能车辆是集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,是智能交通系统的一个重要组成部分。本次设计对智能小车的控制系统进行了研究,设计实现一个基于路径规划处理的智能小车控制系统,实现智能小车最基本的两个功能:循迹、避障。 3.1 主控系统 方案1:采用可编程逻辑器件CPLD作为控制器。CPLD可以实现各种复杂的 逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合为大规模控制系统的控制核心。但本设计不需要复杂的逻辑功能,对数据的处理速度要求也不是非常高。且从使用及经济角度考虑我放弃了此方案。 方案2:采用51单片机作为整个系统的核心[7],用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而 智能小车设计文献综述 在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。 综上所述,我采用了方案二。 3.2 电机驱动模块 方案1:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。 方案2:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。 方案3:采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。 这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。 综合考虑,本设计选择了方案三。 3.3 循迹模块 方案1:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定。故最终未采用该方案。 方案2:采用两只红外对管,分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。 方案3:采用三只红外对管,一只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑 智能小车设计文献综述 线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。现场实测表明,小车在寻迹过程中有一定的左右摇摆不定,虽然可以正确的循迹但其成本与稳定性都次于第二种方案。 综合考虑,本设计选择方案二。 3.4 避障模块 方案1:采用一只红外对管置于小车中央。其安装简易,也可以检测到障碍物的存在,但难以确定小车在水平方向上是否会与障碍物相撞,也不易让小车做出精确的转向反应。 方案2:采用二只红外对管分别置于小车的前端两侧,方向与小车前进方向平行,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。 方案3:采用一只红外对管置于小车右侧。通过测试此种方案就能很好的实现小车避开障碍物,且充分的利用资源而不浪费。 综合考虑,本设计选择方案二。设计原理简述 4.1 循迹原理 这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。 当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平;当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。 循迹流程框图如图4.1所示。 智能小车设计文献综述 开始前进N是否检测到黑线Y左转Y判断是否是左边检测到黑线N右转 图4.1 循迹流程框图 4.2 红外避障原理 避障传感器基本原理,和循迹传感器工作原理基本相同,利用物体的反射性质。在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调小车两轮工作,完成一个漂亮的躲避障碍物动作传。 跃迁到导带,成为自由电子,同时产生空穴,电子—空穴对的出现使电阻率变小。光照愈强,光生电子—空穴对就越多,阻值就愈低。当光敏电阻两端加上电压后,流过光敏电阻的电流随光照增大而增大。入射光消失,电子-空穴对逐渐复合,电阻也逐渐恢复原值,电流也逐渐减小。 红外避障流程框图如图4.2所示。 智能小车设计文献综述 开始前进N左转是否检测到障碍物NY左红外是否检测到障碍物N左右红外对管都检测到障碍物YY右转后退 图4.2 红外避障流程图 总结及展望 智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域。智能作为现代社会的新产物,是以后的发展方向,它可以按照预先设定的模块在一个特定的环境里自动的运行,可运用于科学勘探等用途,无需人为的管理,便可以完成预期所要达到的或更高的目标。智能机器人正在代替人们完成这些任务,凡不宜有人直接承担的任务,均可由智能机器人代替,可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段,人类无法介入等特殊情况下的任务,智能小车就是其中的一个体现。对于智能小车研究还可以从以下方向展开:在小车上装摄像头进行实时视频监控采集,通过无线传给远端的主机,主机可以发送命令给小车,执行相应的动作等等。还可以扩展其他的模块。就可以广泛的应用于科学研究、地质勘探、危险搜索、智能救援等。 智能小车设计文献综述 参考文献 [1] 赵海兰.基于单片机的红外遥控智能小车的设计[J].无线互联科技, 2011年3期 [2] Dickmanns E D,etc.The Seeing Passenger Car “Vamors-P” Proc 1994 IEEE Symposia on Intelligent Vehicles.IEEE Press Piscataway,1994,10(5):68-73 [3] Maurer M.Vamors-p——An Advanced Platform for Visual Autonomous Road Vehicl Guidance.In:SPIEConfon Mobile Robots IX.Boston,1994,12(3):239-248 [4] Broggi A, Bertozzi M, Faseioli A et al.Automatic vehicle guidance:the experience of the ARGO autonomous vehicle.Singapore:World Scientific PubllshingCo, 1998:23-24 [5] 尹念东.智能车辆的研究及前景[J].上海汽车,2002.2 [6] 于连国,李伟,王妍玮.基于单片机的智能小车设计[J]林业机械与木工设备,2011, Vol.39,No.4:39-41.[7] 葛广军,杨帆.基于单片机的智能小车控制系统设计.[J]河南城建学院学报, 2011, Vol.20,No.3:47-50.[8] 董涛,刘进英,蒋苏.基于单片机的智能小车的设计与制作[J]计算机测量与控制, 2009, Vol.17,No.2:380-382.[9] 姜宝华,齐强.基于单片机的无线遥控智能小车的设计与制作[J]计算机测量与控制, 2013,(2):24-25.[10] 王晶.智能小车运动控制技术研究.硕士论文,武汉:武汉理工大学,2009第五篇:智能小车设计文献综述