智能循迹小车心得体会

2023-11-24 07:13:11 精品范文 下载本文

第1篇:智能循迹小车

专业创新实践实训报告

课题名称 成员 院系 专 业 指导教师

智能循迹小车

*** 航空工程学院 电子信息科学与技术专业

***

2016年5月28日

目录实训任务与内容..............................................................1 1.1实训任务...................................................................1 1.2 实训内容..................................................................1 2 模块设计....................................................................2 2.1 电路模块设计..............................................................2 2.1.1 硬件电路设计............................................................2 2.1.2 软件程序设计............................................................3 2.2 电机驱动模块设计..........................................................5 2.2 电源模块的设计............................................................6 2.3 传感器模块的设计..........................................................6 3 测试结果....................................................................7 4 心得体会....................................................................8 附录1电路原理图的总图........................................................9 附录2 源程序.................................................................10

实训任务与内容 1.1实训任务

1)熟悉51单片机集成开发环境,运用C语言编写工程文件;

2)熟练应用所选用单片机的内部结构、资源、以及软硬件调试的设备的基本方法; 3)自行构建基于单片机的最小系统,完成相关硬件电路的设计实现; 1.2 实训内容

基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线的走向实现快速稳定的循线行驶。小车系统以AT89C52单片机位系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。2 模块设计 2.1 电路模块设计 2.1.1 硬件电路设计

图2.1 驱动系统的原理图

图2.2传感器系统的原理图

图2.3电源系统的原理图

我们选用的是三个光电开关进行寻迹。光电开关电源线接入5V的电源,三个光电开关分别接入单片机的P1.0口-P1.2口。采用两个L298N芯片作为电机驱动芯片,步进电机模块的引脚ENA和ENB分别连接P0.6口和P0.7口;直流电机模块的引脚ENA和ENB分别连接P0.4口和P0.5口。模块的INT1-INT4连接单片机的P0.0-P0.3口,另一驱动模块IN为P2.0-P2.3口,OUT1-OUT4连接两个直流电机。

小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测到了黑线,如果左面第一级传感器或者左面第二级传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果是右面第一级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。2.1.2 软件程序设计

图2.4 驱动系统的流程图系统总体软件设计综上所述,本系统主要实现的各个模块算法为:电机驱动算法,寻迹算法,测速算法,LCD显示算法。系统总体程序框图如图11所示。其中在小车寻迹的过程中,会不断调用测速算法,并通过LCD将实时速度显示出来。各个数的调用关系为了控制电机1和电机2PWM信号的占空比,设置了两个变量DutyCycle1和DutyCycle2,这两个变量的值可以作为控制电机移动函数的参数控制电机的速度。规定当DutyCycle的值小于time_count时电机的使能端输出1,反之输出0,这样就可以改变PWM信号占空比,控制电机的转速了。小车转向控制小车转向控制::小车移动中前进比较容易控制,只要让两个电机同时正转就可以了。控制小车转向时有两种策略,第一种是一个电机正转而另一个不转,第二种是一个电机正转而另一个反转。在测试中我们发现采用第一种方法当小车运动时,运动一侧的轮子会带动不运动一侧的轮子迫使小车继续运动。所以我们采用了第二种控制小车转向的方法。控制电机转向的有两个方向位,DIR_L和DIR_R,它们不同状态和电机转向之间的关系表1表所示:小车速度和方向控制的函数都已经封装在一起,通过入口参数可以进行调节。

图2.5 智能循迹小车运行图

图2.6 智能循迹小车图

2.2 电机驱动模块设计

驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机,驱动电路的设计如图L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速以及正反转控制。

L298驱动电机介绍:

L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个桥式的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的I/O端口来提供模拟时序信号,但在本驱动电路中用L298来提供时序信号,节省了单片机I/O 端口的使用。L298N 接脚Pin1 和Pin15 可与电流侦测用电阻连接来控制负载的电路;OUTl、OUT2 和OUT3、OUT4 之间分别接2个步进电机;in1~in4 输入控制电位来控制电机的正反转;Enable则控制电机停转。

采用L298N作为电机驱动芯片。L298N具有高电压、大电流、响应频率高的全桥驱动芯片,一片 L298N可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便,稳定性好,性能优良。L298N的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。2.2 电源模块的设计

在本系统中,需要用到的电源有单片机的5V,L298N芯片的电源5V和电机的电源7-15V。所以需要对电源的提供必须正确和稳定可靠。

方案一:用9V的锌电源给前、后轮电机供电,然后使用7805稳压管来把高电压稳成5V分别给单片机和电机驱动芯片供电。这种接法比较简单,但小车的电路功耗过大会导致后轮电机动力不足。

方案二:采用双电源。为了确保单片机控制部分和后轮电机驱动的部分的电压不会互相影响,要把单片机的供电和驱动电路分开来,即:用直流电12v供给单片机,后轮电机的电源用5V供电,这样有助于消除电机干扰,提高系统的稳定性。

基于以上分析,我们选择了方案二,采用双电源供电。2.3 传感器模块的设计

TC端是传感器工作控制端,为高电平时,发光二极管不工作,传感器休眠,为低电平时,传感器启动。Signal端为检测信号输出,当遇到黑线,黑线吸收大量的红外线,反射的红外线很弱,光敏三极管不导通,Signal输出高电平;当遇到白线,与黑线相反,反射的红外线很强,使光敏三极管导通,Signal输出低电平。

这种探测方法,即利用红外线在不同颜色的表面特征,具有不同的反射性能,汽车行驶过程中接收地面的红外光。当红外光遇到白色路线,地板发生漫反射,安装在小型车的反射光接收器接收;如果是遇到黑色路线,红外光将被黑线吸收,安装在小车上的接收管没有收到红外光。控制器会根据是否收到反射的红外光为判断依据来确定的黑线的位置和小车的路线。红外探测器距离通常是不应超过15厘米的。红外发射和接收红外线感应器,可以使自己或直接使用集成红外探头。调整左右传感器之间的距离,两探头距离约等于黑线宽度最合适,选择宽度为3-5厘米的黑线。该传感器的灵敏度是可调的,传感器有时遇到黑线却不能送出相应的信号,通过调节传感器上的可调电阻,适当的增大或减小可改变灵敏度。另外,循迹传感器的放置也是有讲究的,有两种方法,一种是两个都是放置在黑线内侧紧贴黑线边缘,第二种是都放置在黑线的外侧,同样紧贴黑线边缘。本设计采用第二种方法。

单片机烧录程序后,就可以执行循迹指令了。如果小车向前行驶时向左偏离了黑线,那么右边传感器会产生一个高电平,单片机判断这个信号,然后向右拐回到黑线。两传感器输出信号为低电平时,小车前进。如果小车向右偏离黑线,左边传感器产生一个高电平,单片机判断这个信号,然后向左拐。这样,小车一定不会偏离黑线。若两个光电传感器同时输出的信号为高电平,即单片机判断的都为高电平时,小车向前直走。3 测试结果

从直线段O点出发,让小车智能循迹至N点,记录直点线段O点至A点的所用时间,记录A点至B点的时间,依次记录B点至C点、C点至D点、D点至E点、E点至F点、F点至N点的时间,重复测试5次,并记录时间。

图3.1 智能循迹小车跑道图

起点位于弯道的运行时间要长于起点位于直道的运行时间。导致这个现象出现的原因是由于弯道的曲率变化给小车的循迹调整带来了较大的影响,对应小号的调整时间业比起于直道的测试过程要长些。有时,小车会稍微偏离跑道。对传感器的灵敏度需要更加仔细的调整。4 心得体会

根据本次设计要求,我们小组系统地阅读了大量的资料,并认真分析了设计课题的需求,还系统学习了51系列单片机的工作原理及其使用方法,并独自设计智能小车的整个项目。虽然条件艰苦,但经过不懈钻研和努力,购买到了所有所需的元器件,并系统的进行了多项试验,最终做出了整个小车的硬件系统,然后结合课题任务和小车硬件进行了程序的编制,本系统能够基本满足设计要求,能够较快较平稳的是小车沿引导线行驶,但由于经验能力有限,该系统还存在着许多不尽人意的地方有待于进一步的完善与改进。

通过本次课题设计,不仅是对我们课本所学知识的考查,更是对我的自学能力和收集资料能力以及动手能力的考验。本次课程设计使我们对一个项目的整体设计有了初步认识,还认识了几种传感器,并能独立设计出其接口电路,再有对电路板的制作有了一定的了解,并学会了使用Protel设计电路。本次智能循迹小车课程设计使我们意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。还有以前对程序只是一个很模糊的概念,通过这次的智能循迹小车的课程设计使我对程序完全有了一个新的认识,并能使用C熟练的进行编程了。通过本次智能循迹小车的课程设计,极大的锻炼了我们的思考和分析问题的能力,并对单片机有了一个更深的认识。

总之,在这次的课程设计的过程中,无论是对于学习方法还是理论知识,我们都有了新的认识,受益匪浅,这将激励我们在今后再接再厉,不断完善自己的理论知识,提高实践运作能力。附录1 电路原理图的总图

图3.1 电路原理图总图附录2 源程序

#include #include #define uchar unsigned char #define uint unsigned int sbit in1=P1^0;sbit in2=P1^3;sbit pwm1=P1^2;sbit pwm2=P1^4;sbitzuo=P0^7;//红外传感器1 sbitzhong=P0^6;//红外传感器2 sbit you=P0^2;uchar count=0;uchar dj1=0;uchar dj2=0;void advance(){in1=1;in2=1;dj1=15;dj2=15;//红外传感器3 //小车前进子函数 } void left(){in1=1;in2=1;dj1=18;dj2=7;} void right(){in1=1;in2=1;dj1=7;dj2=18;} void left1(){in1=1;in2=0;dj1=15;dj2=18;} void right1(){in1=0;in2=1;//小车左转微调子函数1 //小车右转微调子函数1 //小车左转微调子函数2 //小车右转微调子函数2 dj1=18;dj2=15;} void timer0_init()//0.5ms 定时器设置 {TMOD=0X01;TH0=0XFE;TL0=0X33;EA=1;ET0=1;TR0=1;} void timer0()interrupt 1 //定时器中断函数 {TH0=0XFE;TL0=0X33;count++;if(count=320){count=0;} //PWM脉宽调速 } void main()//主函数 //初始化 {timer0_init();P0=0XFF;P1=0X02;P2=0X00;P3=0X00;while(1){if((zuo==0)&&(zhong==1)&&(you==0))//小车在正确的轨道上,小车前进 {advance();} if((zuo==0)&&(zhong==1)&&(you==1))//小车偏左,执行右转微调子函数1 {right();} if((zuo==1)&&(zhong==1)&&(you==0))//小车偏右,执行左转微调子函数1 {left();} if((zuo==1)&&(zhong==0)&&(you==0))//小车右偏比较大,执行左转微调子函数2 {left1();} if((zuo==0)&&(zhong==0)&&(you==1))//小车左偏比较大,执行右转微调子函数2 {right1();} if((zuo==1)&&(zhong==1)&&(you==1))//小车行驶在十字交叉出口,直走前进 {advance();} if((zuo==0)&&(zhong==0)&&(you==0))//上轨道 {advance();} } }

小车跑出轨道,直走前进,重新

第2篇:智能循迹小车

附件一:

参赛队号:___________(由工作人员填写)

简易小车寻迹竞速大赛

设计方案书

参赛队名:_____胜利队________________ 参赛队员及班级:__李永新___电信101____

吕凯 电信101 __邓邹超 电信122____ 联系方式:__ 李永新 _____

目录

引言………………………………………………………………… 3 摘要………………………………………………………………… 3 关键词……………………………………………………………… 3 一.系统设计……………………………………………………… 4

1.1 设计思想…………………………………………………

1.2 设计要求…………………………………………………

1.3 循迹的原理………………………………………………二.程序设计及说明……………………………………………… 5 三.参数调试……………………………………………………四.总结…………………………………………………………

引言:

近现代,随着电子科技的迅猛发展,人们对技术也提出了更高的要求。汽车的智能化在提高汽车的行驶安全性,操作性等方面都有巨大的优势,在一些特殊的场合下也能满足一些特殊的需要。智能小车系统涉及到自动控制,车辆工程,计算机等多个领域,是未来汽车智能化是一个不可避免的大趋势。

摘要:本组的智能小车是采用学院提供的小车,是以四个电机来驱动小车,程序部分自行设计。通过接收器来采集信息,传送进主控芯片STC89C52RC单片机,进行数据处理后,送进驱动芯片L298N以完成相应的操作。L298N电机驱动适宜2轮驱动,为此修改成左、右边两轮电机相接,由此4路转换成2路进行驱动,采用反射式红外光电传感器识别黑白线来实现小车自动循迹功能。

关键词:L298N STC89C52RC 反射式红外光电传感器 自动循迹

一.系统设计

1.1设计思想

在智能寻迹小车系统设计过程中,用 L298N驱动四个电机,当产生信号驱动车前进时,是通过寻迹模块里的红外对管 ST178 是否寻到黑线产生的电平信号通过LM339再返回到单片机,单片机再根据程序设计的要求做出相应的判断送给电机驱动模块,当左边的探头检测到黑线时,让小车往右转;右边探头检测到黑线时,小车往左转,以实现小车自动寻迹功能。

1.2 设计要求

实现小车的前进,左转右转,和自动循迹功能

1.3 寻迹的原理

这里的循迹是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。4

二.程序设计及说明

#include

//定义头文件

#define uint unsigned int uint time;sbit OUT2 = P1^0;

//定义4个探头的IO口 sbit OUT1 = P1^1;sbit OUT4 = P1^2;sbit OUT3 = P1^3;sbit IN1 = P1^4;

//定义两个电机的IO口 sbit IN2= P1^5;sbit IN3 = P1^6;sbit IN4 = P1^7;

void delay(uint time)

//定义延时函数 {

}

void GO(void)

//前进函数 {

IN1=1;IN2=0;IN3=1;IN4=0;

//让左右电机同时前进 delay(22);IN1=0;IN2=0;IN3=0;IN4=0;delay(2);

uint i=0,j=0;for(i=0;i

IN1=0;IN2=0;IN3=0;IN4=0;

//停止函数,让左右电机同时关闭

delay(60000);

}

void TRT(void)

//右转函数 {

IN1=0;IN2=1;IN3=0;IN4=1;

//先让小车后退

delay(40);

IN1=1;IN2=0;IN3=0;IN4=1;

//然后左边电机前进,右边电机后退,实现小车右转

delay(200);IN1=0;IN2=0;IN3=0;IN4=0;

delay(1);} void TLT(void)

//左转函数

{

IN1=0;IN2=1;IN3=0;IN4=1;

//后退

delay(40);IN1=0;IN2=1;IN3=1;IN4=0;

//左边电机后退,右边电机前进,实现左转

delay(200);IN1=0;IN2=0;IN3=0;IN4=0;

delay(1);}

void SMALLTRT(void)

//右小转函数 {

IN1=1;IN2=0;IN3=0;IN4=1;

//实现小幅度的右转

delay(20);IN1=0;IN2=0;IN3=0;IN4=0;

delay(1);} void SMALLTLT(void)

//左小转函数 {

IN1=0;IN2=1;IN3=1;IN4=0;

//实现小幅度的左转

delay(20);IN1=0;IN2=0;IN3=0;IN4=0;

delay(1);} void main()

//循迹主函数

{

IN1=0;IN2=0;IN3=0;IN4=0;while(1){

if(OUT1==0&&OUT2==0&&OUT3==0&&OUT4==0)//4个探头均未检测到黑线时前进

{

GO();

} if(OUT2==1)

//最左探头检测到黑线时实现右小转

{ SMALLTRT();

} if(OUT3==1)

//最右探头检测到黑线时实现左小转 { SMALLTLT();

} if(OUT1==1)

//左侧中间探头检测到黑线时实现右转 { TRT();

} if(OUT4==1)

//右侧中间探头检测到黑线时实现左转

{

TLT();

}

if(OUT1==1&&OUT2==1&&OUT3==1&&OUT4==1)//全部检测到黑线时停止

}

{

} } stop();

三.参数调试

在程序中,要对小车的前进速度及转弯速度进行多次反复的调试,对delay函数的参数修改了上百次,达到前进不会冲出跑道,转弯幅度合适,后轮不会掉出跑道等,使各方面达到一个平衡,以实现在跑道上完整的顺利的运行。

四.总结

经过两个礼拜的忙碌,在三个人的共同努力下,终于给简易循迹小车比赛划上了句号。虽说不上是完美,但总算是成功了。

本次比赛不仅给我们提供了一个很好的展现自己所学知识的平台,又是对自己所学知识的一次考核、检验。我们运用各自在各方面的优势,化腐朽为神奇,形成了一个团队。通过团队合作的力量,使设计得以顺利完成。可以说,我们三个人是一个不可或缺的整体,少了任何一个人都是无法把任务完美的完成。

在设计的过程中我们也不可避免的遇到了很多的问题。尤其是在调试过程中,经常出现一些我们意想不到的的问题,但通过我们三个人的共同努力都克服了。

通过这次比赛,无论是对于学习方法还是理论知识,我们都有了新的认识,受益匪浅,这将激励我们在今后再接再厉,不断完善自己的理论知识,提高实践运作能力。

最后还要特别感谢主办方举办这次比赛,给了我们这个很好的平台来展示自己;同样感谢各位评委在百忙之中抽出宝贵时间来指导我们,你们的点评让我们有了进一步提高的方向和信心!

第3篇:智能循迹小车实验报告

摘要

本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。

关键词 智能小车

单片机红外光对管 STC89C52 L298N 1 绪论

随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。设计任务与要求

采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并

未完,继续阅读 >

第4篇:智能循迹小车心得体会(汇总15篇)

总结心得体会有助于我们发现不足并改进自己的不足之处。写心得体会时,可以结合具体案例或个人经历,让读者更好地理解你的观点。以下是小编为大家整理的一些优秀心得体会范文,供大家参考借鉴。这些篇章内容各不相同,涵盖了学习、工作、生活等不同领域的体会和经验。通过阅读这些范文,我们可以获得启示和借鉴,了解不同人的思考方式和总结的角度,为我们自己的写作提供一些新的思路和思考的方向。希望大家能够从中受益,写出一篇有思考、有触动、有价值的心得体会。

智能循迹小车心得体会篇一

自动驾驶汽车是大众期待已久的科技梦想之一,尽管目前还未完全实现,但是小车循迹技术却为我们提供了一种接近自动驾驶的体验。小车循迹是一种利用传感器通过识别地面黑线、白线等标记的方法来智能导航的技术。通过实践和体验小车循迹,我对这项技术有了更深刻的理解和感受。

第二段:感受小车循迹的乐趣和挑战

第一次体验小车循迹,我对它的乐趣和挑战感到非常惊讶。在循迹过程中,小车能够准确地识别出地面上的黑线,稳稳地驶过。这种感觉就像是小车拥有自己的眼睛和大脑一样,让

未完,继续阅读 >

《智能循迹小车心得体会.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
智能循迹小车心得体会
点击下载文档
相关专题
[精品范文]相关推荐
[精品范文]热门文章
下载全文