自动循迹小车报告.docx

上传人:b****0 文档编号:10058393 上传时间:2023-05-23 格式:DOCX 页数:25 大小:483.82KB
下载 相关 举报
自动循迹小车报告.docx_第1页
第1页 / 共25页
自动循迹小车报告.docx_第2页
第2页 / 共25页
自动循迹小车报告.docx_第3页
第3页 / 共25页
自动循迹小车报告.docx_第4页
第4页 / 共25页
自动循迹小车报告.docx_第5页
第5页 / 共25页
自动循迹小车报告.docx_第6页
第6页 / 共25页
自动循迹小车报告.docx_第7页
第7页 / 共25页
自动循迹小车报告.docx_第8页
第8页 / 共25页
自动循迹小车报告.docx_第9页
第9页 / 共25页
自动循迹小车报告.docx_第10页
第10页 / 共25页
自动循迹小车报告.docx_第11页
第11页 / 共25页
自动循迹小车报告.docx_第12页
第12页 / 共25页
自动循迹小车报告.docx_第13页
第13页 / 共25页
自动循迹小车报告.docx_第14页
第14页 / 共25页
自动循迹小车报告.docx_第15页
第15页 / 共25页
自动循迹小车报告.docx_第16页
第16页 / 共25页
自动循迹小车报告.docx_第17页
第17页 / 共25页
自动循迹小车报告.docx_第18页
第18页 / 共25页
自动循迹小车报告.docx_第19页
第19页 / 共25页
自动循迹小车报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

自动循迹小车报告.docx

《自动循迹小车报告.docx》由会员分享,可在线阅读,更多相关《自动循迹小车报告.docx(25页珍藏版)》请在冰点文库上搜索。

自动循迹小车报告.docx

自动循迹小车报告

 

‘杰威电子’杯电气学院第二届电子设计大赛

设计报告

 

参赛题目:

智能循迹小车

学院班级:

学生姓名:

学生专业:

日期:

2013.3.29

 

‘杰威电子’杯第二届院电子设计大赛组委会印制

目录

目录1

摘要:

2

1任务和要求3

1.1任务和要求3

2.系统设计方案3

2.1循迹原理3

2.2控制系统总体设计3

3.系统方案4

3.1循迹模块4

3.1.1四路红外线多用探测系统5

3.1.2比较器LM339简介5

3.1.3具体电路5

3.1.4传感器安装6

3.2控制器模块6

3.3电源模块7

3.4电机及驱动模块8

3.4.1电机9

3.4.2驱动9

3.5自动循迹小车总体设计9

3.5.1总体电路图10

3.5.2系统总体说明11

4.软件设计12

4.1PWM控制13

4.2总体软件流程图13

4.3小车循迹流程图14

4.4中断程序流程图15

4.5单片机测序18

5.参考资料19

自动循迹小车

摘要:

本设计是一种基于单片机控制的简易自动循迹小车系统,包括小车系统构成软硬件设计方法。

小车以STC89C52为控制核心,利用四路红外线多用探测系统对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机。

单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动循迹的目的。

关键词:

单片机STC89C52四路红外线多用探测系统直流电机自动循迹小车

Abstract:

ThisdesignisaSimpleDesignofasmartauto-trackingvehiclewhichbasedonMSCcontrol.Theconstructionofthecar,andmethodsofhardwareandsoftwaredesignareincluded.ThecaruseSTC89C52asheartofcentrolinthissystem.ThenusingPWMwavesProducedbyMCUtocontrolcarspeed.

Byusinginfraraedsensortodetecttheinformationofblacktrack.ThesmartvehicleacquirestheinformationandsendsthemtotheMSC.ThentheMSCanalyzesthesignalsandcontrolsthemovementsofthemotors.Whichmakethesmartvehiclemovealongthegivenblacklineantomaticly.

Keywords:

infraredsensor;MSC;auto-tracking

 

1.任务及要求

1.1任务

1、基本要求

(1)小车从起点标志线出发,沿黑线行进,能在终点标志

线停止并有明确的声光提示。

(2)小车在行进过程中,能记录行进所用的时间并显示出

来。

2、发挥部分:

(1)在小车行进过程中对小车进行测速;

(2)在小车停止后显示小车的平均速度;

(3)其他发挥部分。

综述:

设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。

系统方案方框图如图1-1所示。

图1-1系统方案方框图

2.系统设计方案

2.1小车循迹模块

我们选择四路红外线多用探测系统。

此系统是为智能小车等自动化机械装置

提供一种多用途的红外线探测系统的解决方案。

使用

红外线发射和接收管等分立元器件组成探头,并使用

LM339电压比较器做为核心器件构成中控电路。

此系

统具有的多种探测功能能极大的满足客各种自动化、

智能化的小型系统的应用

2.2控制系统总体设计

自动循迹小车控制系统由主控制电路模块、稳压电源模块,循迹模块、电机及驱动模块等部分组成,控制系统的结构框图如图2-1所示。

1、主控制电路模块:

用STC89C52单片机、复位电路,时钟电路

2、循迹模块:

循迹传感器,比较器LM339.

3、电机及驱动模块:

电机驱动芯片L298N、两个直流电机

4、电源模块:

稳压电源

3.系统方案和设计

3.1循迹模块

循迹模块我们选择四路红外线多用探测系统。

如右图所示。

测试:

测试探头:

移开探头前面的所有物体,且探头不要指向阳光的方向。

将探头板接上电源后用万用表测最输出端电

压。

此时的电压应当在1伏特左右。

用白纸挡在探头前。

用万用表测输出端电压应当接近电源电压。

测试中探板:

将测试好的探头按板上所标示的接入输入端子,移开探头前面的所有物体,且探头不要指向阳光的

方向,将中探板接上电源后用万用表测输出端子,此时输出端输出的电压应当接近电源电压,用白纸挡在探头前,万

用表测输出端电压应当接近0伏特,调整所在通道的电位器可以改变探测的距离

特性:

易于安装,使用简便

4路分别独立工作,工作时不受数量限制

中控板与探头分开,安装位置不受限制

模块高度≤10毫米

安全工作电压范围在3伏特至6伏特之间

4路全开工作电流30毫安至55毫安之间

VCC、GND:

电源接线端

IN(1—4)、OUT:

探头与中控板连接端

OUT1、OUT2、OUT3、OUT4:

对应输出端

LED1、LED2、LED3、LED4:

对应输出指示

R1、R2、R3、R4:

对应比较电压调节

输出端为集电极开路,板载5.1千欧上拉电阻

3.1.1循迹传感器

原理图

3.1.2比较器LM339简介

LM339电压比较器的特点和一些参数:

1)电压失调小,一般是2mV;

2)共模范围非常大,为0v到电源电压减1.5v;

3)他对比较信号源的内阻限制很宽;

4)LM339vcc电压范围宽,单电源为2-36V,双电源电压为±1V-±18V;

5)输出端电位可灵活方便地选用。

中控板(左图)

3.1.3具体电路

通过传感器检测黑线,输出接收到的信号给LM339,接收电压与比较电压比较后,输出信号变为高低电平,再输入到单片机中,用以判定是否检测到黑线。

 

图3-5传感器模块电路图

3.1.4传感器安装

 在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。

这4个红外探头的具体位置如图3-6所示。

图3-6传感器安装图

图中循迹传感器全部在一条直线上。

其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。

小车前进时,始终保持(如图3-6中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。

若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。

可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。

3.2控制器模块

采用STC89C512单片机作为主控制器。

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

时钟电路和复位电路如图3-7(与单片机构成最小系统)

1)采用外部时钟,晶振频率为12MHZ

2)采用按键复位

图3-7时钟电路和复位电路

3.3电源模块(左图)

表1

型号

输出

差值

范围

效率

D-30A

5V,0.5V~4.04A

±2%

50mV

72%

12V,0.1~1.0A

±3,-7%

100mV

3.4电机及驱动模块

3.4.1电机

功能简介:

1.采用性能稳定和价格昂贵的L298N芯片

2.可以控制两路的直流减速电机和一路四线五相制的步进电机

3.增加为外面电路3.3V和5V供电的功能

4.增加LED指示功能直观看出电机的运行情况.

步进电机:

步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:

当步进驱动器接收到一个

脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

您可以通过

控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控

制电机转动的速度和加速度,从而达到调速的目的。

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一

系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进

电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度

(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相

步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)

四拍(A-B-C-D-A。

),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。

),

八拍(A-AB-B-BC-C-CD-D-DA-A。

3.4.2驱动

驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。

以下为L298N的引脚图和输入输出关系表。

图3-9L298N外部引脚表2L298N输入输出关系

L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。

4脚

VS接电源电压,VS电压范围VIH为+2.5~46V。

输出电流可达2.5A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。

5,7,10,12脚接输入控制电平,控制电机的正反转。

EnA,EnB接控制使能端,控制电机的停转。

表1是L298N功能逻辑图。

 

 

 

驱动电路的设计如图3-10所示:

图3-10L298N电机驱动电路

L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速控制。

3.5自动循迹小车总体设计

3.5.1总体电路图

图3-11总体电路图

3.5.2系统总体说明

如图3-11所示,当传感器开始接受信号,通过比较器将信号传如单片机中。

小车进入寻迹模式,即开始不停地扫描与探测器连接的单片I/O口,一旦检测到某个I/O口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。

单片机采用T0定时计数器,通过来产生PWM波,控制电机转速。

4.软件设计

4.1PWM控制

本系统采用PWM来调节直流电机的速度。

PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。

PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。

在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。

通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。

因此,PWM又被称为“开关驱动装置”。

在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。

只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。

本系统中通过控制51单片机的定时器T0的初值,从而可以实现P0.4和P0.5输出口输出不同占空比的脉冲波形。

定时计数器若干时间(比如0.1ms)中断一次,就使P0.4或P0.5产生一个高电平或低电平。

将直流电机的速度分为100个等级,因此一个周期就有个100脉冲,周期为100个脉冲的时间。

速度等级对应一个周期的高电平脉冲的个数。

占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。

一个周期加在电机两端的电压为脉冲高电压乘以占空比。

占空比越大,加在电机两端的电压越大,电机转动越快。

电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。

当我们改变占空比时,就可以得到不同的电机平均速度,从而达到调速的目的。

精确地讲,平均速度与占空比并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。

4.2总体软件流程图

小车进入寻迹模式后,即开始不停地扫描与探测器连接的单片I/O口,一旦检测到某个I/O口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。

软件的主程序流程图如图4-1所示:

4.3小车循迹流程图

小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测到了黑线,如果左面第一级传感器或者左面第二级传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果是右面第一级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。

在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。

循迹流程图如图4-2所示

由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。

第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大于第一级,即Turn_left2>Turn_left1,Turn_right2>Turn_right1(其中Turn_left2,Turn_left1,Turn_right2,Turn_right1为小车转向力度,其大小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。

4.4中断程序流程图

这里利用的是51单片机的T0定时计数器,从而让单片机P0口的P0.4和P0.5引脚输出占空比不同的方波,然后经驱动芯片放大后控制直流电机。

定时计数器若干时间(比如0.1ms)比如中断一次,就使P0.4或P0.5产生一个高电平或低电平。

中断程序流程图如图4-3所示

4.5单片机测序

#include

#defineucharunsignedchar

#defineuintunsignedint

unsignedcharzkb1=0;//**左边电机的占空比**//

unsignedcharzkb2=0;//**右边电机的占空比**//

unsignedchart=0;//**定时器中断计数器**//

sbitRSEN1=P1^0;

sbitRSEN2=P1^1;

sbitLSEN1=P1^2;

sbitLSEN2=P1^3;

sbitIN1=P0^0;

sbitIN2=P0^1;

sbitIN3=P0^2;

sbitIN4=P0^3;

sbitENA=P0^4;

sbitENB=P0^5;

//****************延时函数****************//

voiddelay(intz)

{while(z--);}

//**********初始化定时器,中断***********//

voidinit()

{TMOD=0x01;

TH0=(65536-100)/256;

TL0=(65536-100)%256;

EA=1;

ET0=1;

TR0=1;

}

//***********中断函数+脉宽调制***********//

voidtimer0()interrupt1

{if(t

ENA=1;

else

ENA=0;

if(t

ENB=1;

else

ENB=0;

t++;

if(t>=100)

{t=0;}

}

//******************直行******************//

voidqianjin()

{zkb1=30;

zkb2=30;

}

//***************左转函数1***************//

voidturn_left1()

{zkb1=0;

zkb2=50;

}

//***************左转函数2***************//

voidturn_left2()

{zkb1=0;

zkb2=60;

}

//***************右转函数1***************//

voidturn_right1()

{zkb1=50;

zkb2=0;

}

//***************右转函数2***************//

voidturn_right2()

{zkb1=60;

zkb2=0;

}

//***************循迹函数*****************//

voidxunji()

{ucharflag;

if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1))

{flag=0;}//*******直行*******//

elseif((RSEN1==0)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1))

{flag=1;}//***左偏1,右转1***//

elseif((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==1))

{flag=2;}//***左偏2,右转2***//

elseif((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==1))

{flag=3;}//***右偏1,左转1***//

elseif((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0))

{flag=4;}//***右偏2,左转2***//

switch(flag)

{case0:

qianjin();

break;

case1:

turn_right1();

break;

case2:

turn_right2();

break;

case3:

turn_left1();

break;

case4:

turn_left2();

break;

default:

break;

}

}

//****************主程序****************//

voidmain()

{init();

zkb1=30;

zkb2=30;

while

(1)

{IN1=1;//******给电机加电启动******//

IN2=0;

IN3=1;

IN4=0;

ENA=1;

ENB=1;

while

(1)

{xunji();//*********寻迹**********//

}

}

}

5.参考资料

[1]宋健,姜军生,赵文亮.基于单片机的直流电动机PWM调速系统[J].农机化研究,2006,

(1):

102-103.

[2]边春元李文涛江杰杜平等;C51单片机典型模块设计与应用;机械工业出版社;2008.4

[3]李华.MCS-51系列单片机实用接口技术[M].北京:

航空航天大学出版社,2003

[4]楼然苗.51单片机设计实例[M].北京:

航空航天大学出版社,2005.8

[5]王晶,翁显耀,梁业宗自动寻迹小车的传感器模块设计.武汉理工大学自动化学院 湖北武汉 

[6]刘迎春.传感器原理设计与应用[M].长沙:

国防科技大学出版社,1992.

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2