智能小车课程设计报告

2023-02-20 版权声明 我要投稿

国民经济的快速发展下,越来越多的行业,开始通过报告的方式,用于记录工作内容。怎么样才能写出优质的报告呢?以下是小编收集整理的《智能小车课程设计报告》,供大家参考借鉴,希望可以帮助到有需要的朋友。

第1篇:智能小车课程设计报告

基于单片机的智能小车设计

摘要:文章介绍了一种以AT89S52单片机作为检测和控制核心的简易智能小车设计情况,实现了小车的自动识别路线,判断并自动躲避障碍,选择正确行进路线,寻找光源,检测铁片等功能。

关键词:智能控制;传感器;单片机

系统设计的机器人比赛是近几年快速发展的一项高科技比赛活动,而智能小车作为整个系统的执行机构起着重要作用。文章就主要是对智能小车在循迹,避障,寻光方面的一些相关研究。

1 系统的总体设计

统计设计目的是要使智能小车能完成循迹,避障,寻光,检测铁片方面的功能。其思路是在各个模块中通过使用各类相关传感器,把采集到的信息传递给AT89S52单片机,单片机做出相应的处理后返回给各个模块,然后各个模块的器件做出相应的反应,最终达到预期的目的。如此一来就将复杂繁琐的搭建工作划分为几个电路清楚、简单的模块。

2 硬件设计

① 循迹电路。循迹电路的传感器我选择了最为常见和实用的st188,这种反射式红外光电传感器的优点是体积小,灵敏度高和探测范围大。然后我在循迹电路中加入了比较器lm324,目的是把模拟量转化为开关量便于处理,循迹电路如图1所示。

② 铁片检测。在此项过程中我们使用了电感式接近开关,利用利用金属物体在接近这个能产生电磁场的振荡感应头时,使物体内部产生涡流这一特性来检测有无金属物体接近。

③ 自动避障。自动避障要求智能小车能够检测到前方的障碍物,并且绕过障碍物,所以我们在车的两侧分别放置一个漫反射式红外光电开关,以达到为了避障而进行左右转向的目的。这种红外光电开关的优点是可大幅度减少外界干扰,反映灵敏,外围电路也很简单。

④ 自动寻找光源。我们在小车左前方、右前方分别加了2只光敏电阻,中间放置一只基准光敏电阻,光敏电阻根据照射在它上面的光线的强弱,阻值发生变化,输出电压随之变化,通过比较器比较后,得到与光强相对应的数字量,从而引导小车,向光源靠近。

⑤ 电机驱动。在电机驱动模块中,我采用了集成有桥式电路的1298驱动芯片来达到驱动电机的目的,如图2所示。

⑥ 供电。我们分了两组电源。一组5V给单片机和控制电路供电,另外一组9V给电机供电。在控制部分和电机驱动部分之间用光耦隔开,以达到最佳效果。

3 软件设计

用单片机定时器TO产生脉冲驱动电机驱动系统工作。为了提高小车反应灵敏度,我们将不同的功能模块分时开启。在开始阶段只开启巡线和铁片检测程序,待检测到规定的铁片数目停车再开启避障与趋光程序。

4 结语

该小车各部分采用模块化设计,各个模块之间独立性强。核心控制部分采用可在线编程的89S52单片机,可以在不增加系统硬件的情况下方便地对系统进行二次开发。文章对模型小车进行了试验,实现了小车的识别路线、判断并自动躲避障碍、选择正确行进路线、寻找光源等功能。

参考文献:

[1]方佩敏,新编传感器原理应用电路详解[M].北京:电子工业出版社,1994.

作者:孙海龙 匙瑞堂 林学

第2篇:智能小车设计报告

机器人控制技术

实验设计报告书

目:基于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 #define uint unsigned int void delay(uint);

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

第3篇:智能小车设计报告

魏旭峰、孔凡明、陈梦洋

(河北科技大学 电气信息学院 ) 摘

要:

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 sbit moto=P2^0;//舵机位定义 sbit in1=P2^1;////电机位定义 sbit in2=P2^2;////电机位定义 sbit L1=P1^7;////光电管位定义 sbit L2=P1^1; sbit L3=P1^2; sbit L4=P1^3; sbit L5=P1^4; sbit L6=P1^5; sbit L7=P1^6;

#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;

}

} } }////////主函数结束

第4篇:电磁智能小车设计报告

标题:电磁感应智能电动车

摘要:本系统以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较小时,即小车偏离导线向右行驶时,则脉宽较小,舵机将控制小车向左行驶。从而,控制小车大致循着导线行驶。另外,改变构成减法器的电阻的值,可以调整小车反应的灵敏度,进而防止出现小车以导线为中轴线左右摇摆的现象。

补充说明:跑道上的起始位置及终点位置用干簧管来检测。

程序设计流程图:

第5篇:智能小车设计文献综述

智能小车设计文献综述

摘要:随着电子工业的发展,智能技术广泛运用于各种领域,智能小车不仅在工业智能化上得到广泛的应用,而且运用于智能家居中的产品也越来越受到人们的青睐。国外智能车辆的研究历史较长。相比于国外,我国开展智能车辆技术方面的研究起步较晚,在智能车辆技术方面的研究总体上落后于发达国家但是也取得了一系列的成果。随着人工智能技术、计算机技术、自动控制技术的迅速发展,智能控制将有广阔的发展空间。本设计的智能小车利用红外对管检测黑线与障碍物,并以单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。并对智能小车研究现状以及未来的应用与发展前景做一个全方面的介绍。 关键词:智能技术,自动循迹,避障

1 前言

随着电子技术、计算机技术和制造技术的飞速发展,数码相机、DVD、洗衣机、汽车等消费类产品越来越呈现光机电一体化、智能化、小型化等趋势。智能化作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。智能小车,也称轮式机器人,是一种以汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多科学的科技创意性设计,一般主要路径识别、速度采集、角度控制及车速控制等模块组成。一般而言,智能车系统要求小车在白色的场地上,通过控制小车的转向角和车速,使小车能自动地沿着一条任意给定的黑色带状引导线行驶[1]。智能小车运用直流电机对小车进行速度和正反方向的运动控制,运用直流电机对小车进行速度和正反方向的运动控制,通过单片机来控制直流电机的工作,从而实现对整个小车系统的运动控制。

2 智能小车的发展历史、国内外研究现状

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 智能小车设计构想

智能车辆是集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,是智能交通系统的一个重要组成部分。本次设计对智能小车的控制系统进行了研究,设计实现一个基于路径规划处理的智能小车控制系统,实现智能小车最基本的两个功能:循迹、避障。

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 设计原理简述

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 红外避障流程图

5 总结及展望

智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域。智能作为现代社会的新产物,是以后的发展方向,它可以按照预先设定的模块在一个特定的环境里自动的运行,可运用于科学勘探等用途,无需人为的管理,便可以完成预期所要达到的或更高的目标。智能机器人正在代替人们完成这些任务,凡不宜有人直接承担的任务,均可由智能机器人代替,可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段,人类无法介入等特殊情况下的任务,智能小车就是其中的一个体现。对于智能小车研究还可以从以下方向展开:在小车上装摄像头进行实时视频监控采集,通过无线传给远端的主机,主机可以发送命令给小车,执行相应的动作等等。还可以扩展其他的模块。就可以广泛的应用于科学研究、地质勘探、危险搜索、智能救援等。

智能小车设计文献综述

参考文献

[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

第6篇:智能小车设计的文献综述

智能小车的设计

智能小车的设计

摘要:随着工业机械化和自动化的发展以及工业智能化的优点,智能小车在工业智能化上得到广泛的应用。本文就智能小车的设计构造以及机械智能化未来的应用与发展前景。

关键词:智能小车/设计构造/应用与发展

1 智能小车的设计构造

智能小车是集理论力学、机械结构、数字电路、模拟电路、传感器、单片机、控制理论和算法等多门学科为一体的综合系统。其内容涵盖机械、电子、自动控制原理、计算机、传感技术等多个学科和领域。该小车的车体由基于VB和串口无线通信的直流电机控制模块、L298N电机驱动模块、C8051F单片机控制模块以及车载机械手组成。可用于无人驾驶、自动抓取物体等人工智能领域。

1.1 基于VB和串口无线通信的直流电机控制模块

利用VB6.0语言编程实现对机器人上直流伺服电机的控制,从而实现机器人的加速和恒速运行。分别将两块接口为标准的RS-232接口、型号为ZT-TR43C的无线数传模块,接到发、收的两台PC机上,并利用VB通信控件MSCommon实现串口无线通信,从而实现机器人的远程无线控制。

近年来,在机器人与外部的通信方式选择上,由于机器人具有广阔运动空间,因而无线通信成为其所必须具备的通信方式之一。本文以一种轮简单的四轮智能小车作为研究对象,通过VB编程和无线模块通信实现远程控制;通过对智能小车后轮的两个驱动电机速度控制,使智能小车完成直线运行、转弯运行等动作。

目前,直流伺服电机有着很广泛的应用前景,如在印刷机械、造纸机械、纺织机械、工业机器人、高速电梯、数控机床等重要行业中,均得到了普遍的应用。本文提到的智能小车本身对位置伺服要求比较高,对速度也有一定的控制要求,而对小车的控制可以说最根本的就是对电机进行控制。

VB是一种易学习、功能强、效率高的可视化编程语言,用它来做可视化人机界面有着很好的应用前景。利用面向对象的可视化VB语言对其进行编程控制, 1

智能小车的设计

避免VC、C语言编程的繁琐与难阅读性。另外,利用Visual Basic 6.0 版本的可实现串行通信的MSCommon控件,实现了串口通信;通过无线传输模块实现了两台PC机之间的通信,为对小车进行远程控制搭建了很好的实验平台。同时,利用VB的Timer 控件对程序进行触发,使控制电机能够缓慢加减速;通过改变加速度的大小,使电机运转平稳,避免了PWM控制的不稳定。

通过PC机的RS-232串行接口与外部设备进行通信,是许多控制系统中常用的一种通信解决方案。在本小车控制中,通信采用的都是RS-232通信方式。VB提供的串行通信控件为MSCommon控件,此控件用于支持VB对串行口的访问。在串口通信过程中当发送数据、接收数据或者发生通信错误时,均触发该控件的OnComm事件,进行相应的数据处理。MSCommon 控件相应的属性为:CommPort属性,设置并返回通信端口号;Settings属性,以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位;PortOpen属性,设置并返回通信端口的状态,也可以打开和关闭端口;InputLen属性,说明Input属性从接收缓冲区中读取的字符数;MSCommon控件的PortOpen属性决定了通信开始和结束。

1.2 L298N电机驱动模块

1.2.1 L298N与电机驱动模块

电机驱动模块主要采用L298N,L298N可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。L298N是专用驱动集成电路,属于H桥集成电路,与L293D的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,减速电机,伺服电机,等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。

1.2.2 L298N型驱动器的原理及应用

L298N是SGS公司生产的一种高电压、大电流电机驱动芯片,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流 2

智能小车的设计

可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

1.3 C8051单片机控制模块

Cygnal公司的C8051单片机使用Cygnal的专利CIP-51微控制器内核。以下介绍C8051单片机的一些重要技术以及在本系统中的应用。

①C8051单片机使用Cygnal的专利CIP-51微控制嚣内核,采用流水线指令结构;70%指令的执行时间为1个或2个系统时钟周期;速度可达25 MIPS(时钟频率为25 MHz时)。这样就可以应用复杂的控制算法提高控制精度。

②C8051单片机内部有4个通用16位计数器/定时器和专用的看门狗定时器(WDT),这样就不再需要附加外部计数器件和外部看门狗电路。本系统中定时器0和定时器2用作小车左右轮反馈脉冲计数,定时器1配置成自动重装载的8位计数器/定时器。用于波特率发生器。

③C8051单片机引入r数字交叉开关,允许将内部数字系统资源分配给端口I/O引脚。通过设置优先权交叉开关控制寄存器,将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。

④C805l单片机内部有一个可编程计数器阵列(PCA),由一个专用的16位计数器/定时器和5个16位捕捉/比较模块组成。通过设置特殊功能寄存器PCA0CPM将捕捉/比较模块0和1(CEX0和CEXl)设置成8位脉冲宽度调制器(PWM)驱动左右轮电机转动。

⑤C805l单片机内部有12位逐次逼近型ADC,可以在不增加外围电路的前提下方便地检测模拟信号。本系统从电机电枢回路中引出电流信号送入单片机,实现电流环控制。

⑥C805l单片机具有片内JTAG和调试电路,通过4脚JTAG接口并使用安装在最终应用系统中的器件就可以进行全速、非侵入式的在系统调试.而且支持断点、

智能小车的设计

单步、观察点、堆栈监视器,支持观察修改存储器和寄存器。

由以上介绍可以看出,在小车子系统中选用C8051单片机是非常合适的,由于可以硬件生成PWM,占用CPU资源很少;高性能的指令系统以及和VB语言之间进行交叉汇编,为设计各种控制算法提供了广阔的空间。

1.4 车载机械手

1.4.1 机械手的简单介绍

机械手是典型的机电一体化装置,它综合运用了机械与精密机械、微电子与计算机、自动控制与驱动、传感器与信息处理以及人工智能等多学科的最新研究成果,随着经济的发展和各行各业对自动化程度要求的提高,机器人技术得到了迅速发展,出现了各种各样的机械手产品。手爪的应用环境干差万别,抓取可靠、环境适应性好、控制简单、自适应性强、自主能力高是衡量机器人手爪设计水平的重要标志。性能优良的机器人手爪可以实现可靠、快速和精确地抓取。近年来机器人技术得到大力的发展,手爪的研究也步入一个良好的发展时期,机器人手爪正由简单发展到复杂,由笨拙发展到灵巧,其中的仿人灵巧手已经发展到可以与人手媲美。机械手对目标物体抓取的稳定性研究是一个值得长期探讨的课题。

1.4.2 车载机械手的总体结构体系

搭载机械手的移动机器人本体为四轮万向轮小车,它具备自主导航能力。在遇到物体时,可远程控制并操作机械手抓取。车载机械手主要由执行机构、驱动机构和控制系统3大部分组成。执行机构是机械臂、机械手爪与基座的总称。驱动机构有液压驱动、气压驱动、电气驱动和机械驱动。目前专用机械手采用电气驱动方式的较多,而本设计运用的是舵机控制方式的二指机械手。

1.4.3 车载机械手的执行机构

1.4.3.1 手部

手部安装与手臂前端是用来抓持工件(或工具)的部件,根据被抓持物件的形状、尺寸、重量、材料和作业要求而有多种结构形式,如夹持型、托持型和吸附型等。它模仿人类手指,分为无关节型,固定关节型和自由关节型3种。手指的数量又可分为二指、三指、四指等,本次设计采用的为二指形手爪。 1.4.3.2 手臂

智能小车的设计

手臂的作用是引导手指精确地抓住目标物体,并运送到所需要的位置上去,故手臂的位置需精确定位。手臂分为有关节臂和无关节臂,以前主流设计几乎都是无关节手臂。而目前设计多为有关节手臂,本次设计的小型侦察车车载机械手即为有关节手臂。手臂由以下几部分组成:①动作元件,带动手臂运动的动力装置,在本车载机械手中为两台直流无刷伺服电机,驱动手臂运动;②导向装置,保证手臂的正确方向及承受由于目标物体重量所产生的弯曲和扭转力矩;③手臂,承接和承受外力作用的部件,手臂上的零部件都装在手臂上。 1.4.3.3 关节与基座

关节部分是非常关键,要求其既能保证电机轴固定到连接手臂,又要满足不同臂长需要,即在一定范围内可灵活更换臂长,手臂套筒长度可自由调节。机械手通过基座安装固定在小型车的仪器舱上,基座是用以承受机械手全部重量的构件,对其结构的要求是刚性好、占地面积小、操作维修方便和造型美观。

2 机械智能化的应用与发展前景

随着现代科学技术的迅速发展,机器智能化技术的应用几乎扩展到整个工业领域,并在工业生产中发挥了巨大作用。但对于未知或特殊的任务,作为机械智能化的代表-机器人还不能独立完成,而且缺少必要的柔性。为了提高整个系统的效能,需要研究如何使人与机器人相互配合,共同完成作业任务。搭载于机器人上的机械手能模仿人手臂的某些动作功能,可以按固定程序抓取、搬运物件或对工具的自动操作,代替人的繁重劳动以实现工作的机械化和自动化,业已成为机器人系统中非常重要的组成部分。特别是近年来机械手已逐渐应用于易燃易爆品的装配、拆卸、搬运,以及消防、反恐、防爆等高度危险环境,代替人类完成力所不及的工作,这类机械手因此也被称为“专用机械手”。世界各国对专用机械手的研究愈加重视,纷纷投入大量的人力、物力加以研究和应用。从目前情况看,我国“专用机械手”还处在研究、跟踪、试验阶段,其主要原因在于这类机械手不仅需要载体平台的稳定移动,而且还要求机械手稳定执行操作。针对污染与核辐射环境的应急处理需要,笔者设计出小型3自由度机械手,搭载于已开发出来的小型移动机器人平台上。在机器人侦察各种污染和辐射环境、人员不便进入的情况下,车载机械手的出现,可以代替人员进行手工操作、抓取、采集样品等,大大改善了工作条件,提高了工作效率,保障了人员安全。

智能小车的设计

参考文献

[1] 张晓红.VB中如何利用MSCommon控件实现串口通信[J].福建电脑, 2004(3):37-38. [2] 姚军光.基于VB的电机驱动监控系统设计[J].青岛科技大学学报,2004,25(3):261-264. [3] Holt C,Fumo J.Visual BASIC environment yields advanced navigation[C].OCEANS,2001.MTS/IEEE Conference and Exhibition Volume 1.2001:331-336. [4] 薛园园.USB应用开发实例详解[M]北京:人民邮电出版社.2007. [5] 邱 丹,王 东,高振东.直流电机PWM 闭环调速系统[J].青岛大学学报,2000,15(1):10-11. [6] 孟红英,等.用L29

7、L298组成步进电机驱动电路[J].仪器仪表学报,2003,(2). [7] 51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社。2007. [8] 王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社。2002. [9] 刘宝廷,程树康.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997.

[10] 韩全力.单片机控制技术及应用[M].北京:电子工业出版社,2004.

[11] 刘字红,张明路,孟宪春,等.移动机械手的稳定性及补偿方法现状与发展趋势[J].机电产品开发与创新,2008,21(2):5-7. [12] 杨武,蒋梁中.排爆机器人机械手运动规划[J].机械设计与制造,2008,(5). [13] 慧明.关节型机械手的结构创新设计[J].煤矿机械,2007,28(10):17-19. [14] Huang L,Yu W,Jhajharia S K.Speed control of differentially driven wheeled mobile robots—tracking and synchronization [A].Proceedings of the 20“IEEE Instrumentation and Measurement Technology Conferonce[C].2003:1407-1412. [15] 方龙,陈丹,肖献保.基于单片机的机械手臂控制系统设计[J].广西轻工业,2008,24(8):89-90. [16] 沈红.卫基于单片机的智能系统设计与实现.电子工业出版社,2005. 6

第7篇:智能小车设计实验指导书

智 能 小 车 设 计

实 验 指 导

王 恒 编

2011年4月

录 ..................................................................................................... I 实验阶段一

智能小车路径规划 ....................................................... 1 实验阶段二

智能小车环境感知与控制 ........................................... 6 实验阶段三

智能小车行为控制 ..................................................... 12 附录: 库函数 ...................................................................................... 17

I 实验阶段一

智能小车路径规划

一.实验目的

1.熟悉智能小车的硬件开发平台与软件开发环境。 2.掌握智能小车路径规划程序设计。

二.实验内容

1.熟悉智能小车硬件设计。

2. 学习智能小车的软件使用方法,学会软件的编写、调试与下载。 3. 编写第一个智能小车程序。 4. 编写智能小车移动程序。

5. 编写复杂的智能小车路径规划程序。

三、实验设备及工具

硬件:能力风暴AS-UII开发平台,程序下载线。

软件:PC 机操作系统Win2000 或WinXP、VJC开发平台。

四、实验原理与步骤

智能小车实验平台配备有5种传感器,对环境的感知能力很强。执行器配备有二只高性能直流电机、一只喇叭和一只2*16 字符的液晶显示器。整个小车通过Motorola 公司8位单片机来进行控制。智能小车的硬件结构如下图所示:

- 1

2、让智能小车动起来

下面我们就尝试着让智能小车动起来。

在VJC1.5 开发版执行器模块库中有一专门控制智能小车“移动”的模块,这里我们就用

它来编写一个智能小车直线行走的程序。要求:先让智能小车以速度100 前进3 秒,再让智能小车 以速度-60 后退5 秒,再在原地以功率80 旋转1 秒。(如图4-2 所示)

示范操作步骤如下:

2.1 在 VJC1.5 开发版窗口中编写流程图

a) 编写流程图:用鼠标将“执行器模块库”中的“移动”模块移到流程图生成区并与 主程序模块连接上;

b) 设置时,右击“移动”流程图模块,在弹出框中输入移动速度为 100、时间为3; c) 再用鼠标将“执行器模块库”中的“移动”模块移到流程图生成区并连接; d) 在流程图的末端位置;

e) 设置第二个“移动”流程图模块,点击右键在弹出框中输入移动速度为-60、时间 为5;

f) 再将“执行器模块库”中的“转向”模块连接到程序中,点击右键进入设置对话框, 分别设置速率和时间为:80 和1

g) 再将“程序模块库”中的“任务结束”移入到流程图生成区并连接在程序的末尾。

- 3drive(0,60); wait(0.2); } stop(); } 能力风暴逆时针走约一米见方的正方形路径。其中wait(0.2)是能力风暴转90度弯所需要的 时间。该值和转弯速度以及能力风暴的电机有关,需要实际调整,此外地面的摩擦力也有影 响。利用wait()函数是控制电机工作的常用方法。

五、实验考核

编写智能小车程序,实现下列连续的路径规划: (1) 智能小车走两遍1.5米直径的圆;

(2) 原地停止1秒后,智能小车走三遍等边三角形(或等腰直角三角形);

(3) 再次原地停止1秒后,智能小车走一遍8字形。(或9字形、D字母型、B字母型等,每组的考核指标由指导老师随机抽选)。

- 5

我们也可以点击“工具栏”中的“编辑JC 程序代码”按钮,切换到JC 代码界面,对 JC 代码进行修改。

1.2 保存程序

点击工具栏中的“保存”按钮,文件名输入:感光,按“确定”。此时,“感光.flw” 流程图程序文件已被保存。

1.3 程序下载

此时,能力风暴要处于开机状态,并串口连接线已与计算机连接。点击“工具”中的“下 载当前程序”按钮,就会出现下载对话框,等待出现“下载成功!”字样,说明程序已经下 载到能力风暴里了。

1.4 运行程序

将串口连接线取下,将智能小车带到安全的地方,按智能小车身上的“运行”键,在智能小车 的LCD 上就会显示出外界光线的平均值。

2、JC 程序的基本程序结构

下面是JC 程序中最常见的一种程序模式。

while(1) /*循环检测*/ { ir=ir_detector(); /*对环境采样*/ if(ir>0) /*条件判断*/ { 语句1; /*做相应的处理*/ 语句2; } else {

- 7试窗口一行编辑框中输入如下程序块:

{while(1) {printf("bump=%d ",bumper());wait(0.1);}} 按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示: bump=0 (表示此时没有碰撞)

按左前碰撞环,LCD 上显示:bump=5。在其他方向施加碰撞,显示的值将不同。各个方 向发生碰撞时返回值对应关系如下:

无0,左前1,右前2,左后4,右后8

下面结合智能小车“台球”程序来学习碰撞传感器的使用。

void main () { int bill_trans=0; int bill_rot=0; int bmpr=0; while(1) /*无限循环检测*/ { bmpr=bumper(); /*检测碰撞传感器*/ if(bmpr!=0) { if(bmpr==0b0011) /*正前方发生碰撞*/ { bill_trans=-80; /*后退*/ bill_rot=0; } else if(bmpr==0b1100) /*正后方发生碰撞*/ { bill_trans=80; /*前进*/ bill_rot=0; } else if(bmpr & 0b0101) /*左侧发生碰撞*/ { 51 bill_trans=0; bill_rot=-80; drive(bill_trans,bill_rot); wait(0.5); /*顺时针转一个角度*/ bill_trans=80; /*前进*/ bill_rot=0; } else if(bmpr & 0b1010) /*右侧发生碰撞*/ { bill_trans=0; bill_rot=80; drive(bill_trans,bill_rot); wait(0.5); /*逆时针转一个角度*/ bill_trans=80; /*前进*/

- 9void main() { int ir; while(1) { ir=ir_detector(); if(ir!=0) /*判断有否障碍*/ { motor(-80,-40); /*执行语句,即倒退0.5秒*/ wait(0.5); } 26 motor(100,0); /*前进*/ } } 运行此程序可知当前方有障碍时,能力风暴智能智能小车有反应。

五、实验考核

编写智能小车跟随前方物体的程序,实现下列要求:

智能小车可以跟随前方移动的人或物;如果撞上前方的物体,就停一停;如果前方红外系统探测范围内没有物体,它就停下来。

六、思考题

1、实验中碰到哪些故障或问题?解决方法是怎样的?将实验中碰到的问题及解决方法写入实验报告中。

2、如果要对智能小车双轮的转速实现带反馈的控制,需要在硬件上添加什么部件?为什么?

- 11bill_rot=0; } else if(bmpr & 0b0101) /*左侧发生碰撞*/ { bill_trans=0; bill_rot=-80; wait(0.5); /*顺时针转一个角度*/ bill_trans=80; /*前进*/ bill_rot=0; } else if(bmpr & 0b1010) /*右侧发生碰撞*/ { bill_trans=0; bill_rot=80; wait(0.5); /*逆时针转一个角度*/ bill_trans=80; /*前进*/ bill_rot=0; } } } 54 } void billiards_drive() { while(1) drive(bill_trans,bill_rot); /*驱动电机*/ } void main() { start_process(billiards_drive()); /*创建电机驱动进程*/ start_process(billiards()); /*创建碰撞处理进程*/ } “台球”改成多进程后,运行的效果没变,但结构已经完全不一样了。电机驱动进程 billiards_drive()专门设置电机速度,碰撞处理进程billiards()判断碰撞并改变电机速 度。两个进程之间通过全局变量bill_trans 和bill_rot 进行通讯。能力风暴的操作系统自 动调度两个进程,给它们分配时间片。从执行效果来讲,就相当于这两个进程并列运行。这 样的结构非常方便增加新的进程,同时处理更多的外部信息。

2、进程间通信

我们给前面的程序增加一个红外避障进程,改变它的行为,而其它部分不需要做大的变动。改动后的程序如下。

int bill_trans=0; int bill_rot=0; int bmpr=0; int forward=0;

- 13{ bill_trans=20; bill_rot=80; /*逆时针转*/ } else if(ir==1) /*左侧有障碍,向右绕*/ { bill_trans=20; bill_rot=-80; /*顺时针转*/ } else if(ir==0) /*前方没有障碍,恢复直行*/ { bill_trans=80; bill_rot=0; }} wait(0.1); }} 56 } void billiards_drive() { while(1) { running = bill_trans; /*能力风暴正在运动*/ drive(bill_trans,bill_rot); /*驱动电机*/ } } void main() { start_process(billiards_drive()); /*创建电机驱动进程*/ start_process(billiards_ir()); /*创建避障进程*/ start_process(billiards()); /*创建碰撞处理进程*/ } 改动以后的程序增加了避开侧面障碍物的行为。比较一下,增加的代码除了红外避障进 程外,就是用于进程之间的通讯。进程间的通讯和同步是多进程编程的难点,不解决好这个 问题,多进程程序可能会产生一些奇怪的行为。在这个程序里,由于碰撞处理进程和红外避 障进程都要修改设置电机速度的两个全局变量(bill_trans,bill_rot),这是进程间发生冲 突的根源。如果不加以限制,两个进程同时修改电机速度,必然会出现一片混乱,能力风暴 下一步的运动方向将无法预知。

本程序中把bmpr 改为全局变量,通过bmpr 来划分两个进程生效的时间。即发生碰撞时, 只有碰撞处理进程可以修改电机速度;在其他时间里碰撞处理进程只是在不断检测碰撞传感 器,只有红外避障进程才有可能修改电机速度。我们可以看到,在本程序里碰撞处理进程的 优先级高于红外避障进程。增加的另两个全局变量是出于红外避障行为逻辑的需要。全局变 量running 是能力风暴开始运动的标志,红外避障进程要等待这一事件发生后才能起作用。 forward 反映能力风暴当前运动方向,用于避免红外避障进程在后退时候处理前方障碍。

3、智能小车的行为控制

借助于多进程功能,可以方便实施目前处于研究前沿的行为控制方法。

行为控制的基本思想是建构行为能力,而非功能模块。首先把要设计机器人的行为特点描述下来,表达成基本的行为构成,如要做一只模拟机器飞蛾的智能小车,一边到处找食物,一边向较

- 15

附录: 库函数

1. 执行器输出

void stop() 关闭左右两个电机,停止运动;

void stop_motor(int m) 关闭电机m,0为所有电机,1为左电机, 2为右电机, 3为扩展电机; void motor(int m, int speed) 以功率级别speed(-100到100)启动电机m(1为左电机, 2为右电机, 3 为扩展电机);

void drive(int move, int turn) 同时设定两个电机的速度,move 为平移速度,turn 为旋转速度。

2. 传感器输入

int photo() 光敏传感器检测。photo(1)为检测左光敏, photo(2)为检测右光敏,返回值为0~ 255的数字量;

int microphone() 声音传感器检测。返回值为0~255的数字量;

int ir_detector() 红外传感器检测。返回值的意义:0=> 没有障碍, 1=>左边有障碍, 2=>右边有 障碍, 4=>前方有障碍;

int bumper() 碰撞传感器检测。返回值的意义:0=>无碰撞,1=>左前受碰,2=>右前受碰,4=> 左后受碰,8=>右后受碰。

int rotation(int index) 光电编码器脉冲累计读数,rotation(1)为检测左光电编码器,rotation(2)为 检测右光电编码器。

int digitalport(int channel)读数字口上传感器的值。channel的范围是0~7。返回值:从传感器数字硬 件读到的值为零伏或逻辑零时,返回1;否则返回0 int analogport(int channel) 读模拟口上传感器的值。channel的范围是0~7。返回值是0到255间的整数 值

int encoder(int index) 读取光电编码器的当前状态。0为低电平/1为高电平(分别对应光栅的通光缺口 /遮光齿)。

3. 时间

void wait(float sec) 延时等于或稍大于指定的sec时间(秒)后再执行后面的语句。sec是一个浮点数 void resettime() 将系统时间复位清零

float seconds() 以秒的形式返回系统时间,它是一个浮点数,精度为0.001秒

4. 声音

void beep() 产生一段0.3秒500赫兹的音频信号。发声结束后返回。

void tone(float frequency, float length) 产生一个length秒长音调为frequency赫兹的音频信号。

5. 电池

int battery() 检测电池电量,返回值为0~255的数字量;

116 6. 其他函数

void asosreset() 软件复位函数。与按下能力风暴的复位开关的效果一样,ASOS操作系统重启动, 程序停止运行。

int runbutton() 读运行键状态。运行键在能力风暴智能智能小车的头顶上,可以在程序中使用该 按钮。返回值:0没按,1按下 int abs(int val) 取整数val的绝对值 int max(int x, int y) 求两个整数的最大值 int min(int a, int b) 求两个整数的最小值 float rand() 返回0~1之间的随机浮点数

int random(int scale) 返回0~scale之间的随机整数

- 17 -

上一篇:企业法制宣传内容下一篇:巡查共性问题整改措施