简易智能小车.docx

上传人:b****3 文档编号:5895251 上传时间:2023-05-09 格式:DOCX 页数:15 大小:1.20MB
下载 相关 举报
简易智能小车.docx_第1页
第1页 / 共15页
简易智能小车.docx_第2页
第2页 / 共15页
简易智能小车.docx_第3页
第3页 / 共15页
简易智能小车.docx_第4页
第4页 / 共15页
简易智能小车.docx_第5页
第5页 / 共15页
简易智能小车.docx_第6页
第6页 / 共15页
简易智能小车.docx_第7页
第7页 / 共15页
简易智能小车.docx_第8页
第8页 / 共15页
简易智能小车.docx_第9页
第9页 / 共15页
简易智能小车.docx_第10页
第10页 / 共15页
简易智能小车.docx_第11页
第11页 / 共15页
简易智能小车.docx_第12页
第12页 / 共15页
简易智能小车.docx_第13页
第13页 / 共15页
简易智能小车.docx_第14页
第14页 / 共15页
简易智能小车.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

简易智能小车.docx

《简易智能小车.docx》由会员分享,可在线阅读,更多相关《简易智能小车.docx(15页珍藏版)》请在冰点文库上搜索。

简易智能小车.docx

简易智能小车

简易智能小车制作报告

指导教师:

张新莲

作者:

锡林邱科鹏杨明

北京化工大学测控技术与仪器专业

摘要

本小车以STC89C52RC单片机为核心,完成循迹、避障、测速等功能,本小车在结构上一个电机驱动一个车轮,在转弯时灵敏度较高。

采用PWM驱动芯片L298N控制直流电机,光电传感器TCRT5000完成小车在直道区、弯道区的循迹,霍尔传感器实现速度测量并通过LCD夜间屏实时显示小车行驶的时间和距离,超声波发射和接收一体化超声波传感器HC-SR04实现小车避障。

关键词:

STC89C52RC、L298N、循迹、HC-SR04

Abstract

ThetrolleytoSTC89C52RCmicrocontrollercore,completetracking,obstacleavoidance,speedandotherfunctions,thestructureofacarinamotor-drivenwheelswhencorneringhighersensitivity.UsingPWMcontrolledDCmotordriverchipL298N,photoelectricsensorsTCRT5000completedcarinastraightarea,thetrackingcurvearea,Hallsensorsforspeedmeasurementandreal-timedisplaythroughtheLCDscreencardrivingatnighttimeanddistance,oneultrasonictransmitterandreceiverHC-SR04ultrasonicsensortechnologytoachievecarobstacleavoidance.

Keywords:

STC89C52RC,L298N,tracking,HC-SR04

 

1.方案论证

1.1、设计要求

本系统要求电动车按照给出的行使路线,在直道区能够按正确的轨迹行驶;通过弯道区后能够到达指定的地点并暂停5秒;在障碍区能够准确的躲避障碍物;在行驶过程中实时显示行驶时间和行驶路程。

1.2、各部分方案论述

(1)调速模块

方案一:

采用电阻网络或数字电位器调整电动机的分压来调速。

但电阻网络只能实现有级调速,而且数字电阻的元器件价格比较昂贵。

尤其是所使用的电动机电阻很小,但电流很大,分压不仅会降低效率,实现也很困难。

方案二:

采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调节。

此方案电路较简单,但继电器的响应时间有限,机械结构易损坏,寿命不长,可靠性也不太好。

方案三:

采用脉冲宽度调制电路。

用单片机控制信号的高低电平时间完成调速,用对两个信号的不同控制完成电机的转向和起停的控制。

这种电路由于工作在管子的饱和截止状态下,效率非常高,经试验发现,此方法调速简单可行,方便可靠。

基于上述理论分析,拟选择方案三。

(2)转向装置选择

方案一:

双电机控制。

采用两个直流电机控制小车后轮,直行时两轮转速相等,需要向左转时,增加右轮转速,降低左轮转速;需要向右转时,增加左轮转速,降低右轮转速。

但此种方法必须精确控制两车轮转速直行时相等,否则将会出现小摇摆及抖动,达不到平滑运动的效果。

方案二:

步进电机控制前轮。

步进电机将电脉冲信号转换成相应的角位移的特种电机,步进电机的显著特点是快速启动能力,测到障碍物时能够快速转向;另外步进电机的精度高,每步可以小至0.72度,不会失步,在负荷不超过动态转矩值时,可以瞬间启动和停止。

逆转时能够精确返回原始位置。

外加机械机构可以把角度变成直线位移。

小车结构原因,采用双电机控制转向。

(3)外部传感器选择

校正车行方向即寻迹传感器:

采用红外线光电反射传感器,由于车底盘较低,采用近距离(1――6mm)有效的光电传感器。

使CPU根据光电信息精确调整小车的行车方向,使小车运行时达到最小的横向抖动。

CPU根据信号发出前轮左转,右转和保持方向的指令,实现自动校正行车方向的目的。

检测两个障碍物传感器:

有两种方案可供选择。

方案一:

采用超声波测距。

超声波传感器测距时有足够的精度,可以达到1cm的近距离,对远距离也有较快的响应信号。

但是,本题目的要求是绕过障碍物,这就要求小车在较远距离时即做出绕障的反应,因此没有必要采用精确近距的超声波传感器。

方案二:

采用反射式红外线光电开关。

本设计采用的光电开关有效距离为1——13cm(对白色障碍物),小车前方只要有障碍,即输出一个开关量,向CPU申请中断,CPU响应中断即控制电机做出转向反应。

所以拟采用此方案。

测车行程传感器:

为使小车可以测量并显示小车中心至起点的距离,测小车的圈数换算即可得到。

方案一是采用投射式光电传感器如光电码盘,但对轮子的机械加工较难精确实现。

方案二是采用开关式光电传感器,在车轮上安装一个小磁铁即可实现测圈数,进而得到距离值,为此采用此方案。

 

2.系统设计与硬件电路

2.1总体设计

2.2硬件各模块设计

(1)电机转速控制

本系统使用L298N电机驱动模块来控制转速,使用STC89C52RC单片机通过定时器产生PWM脉冲信号,将PWM脉冲信号接至L298N的使能端口ENA、ENB便可控制电机转速,

通过单片机可调节PWM脉冲信号的占空比。

可实现在一定范围内的转速调节。

(2)电机转向控制

这个设计中电机的转向主要有两个作用,一是在直道区和弯道区根据地面黑线使小车按照指定的路线行使,不偏离跑道,并到达要求的位置;二是在障碍区控制小车前轮转向使其准确地躲避障碍物。

将前轮A和后轮C接在一起在接到L298N的OU1和OUT2端口,将前轮B和后轮D接在一起在接到L298N的OU3和OUT4端口。

当需要小车左转的时候只需减慢A和C轮的转速即可,B和D轮的速度比A和C轮速到快;当需要小车右转的时候只需减慢B和D轮的转速即可,A和C轮的速度比B和D轮速到快。

(3)循迹控制

本小车循迹模块采用3个光电传感器TCRT5000模块来实现循迹控制。

传感器阵列

通过三个光电传感器的输出来控制小车前进、左转、右转。

(4)避障控制

本小车采用2个超声波传感器模块HC-SR04来测量障碍物与小车之间的距离,从而实现小车避障,当检测到障碍物时通过L298N电机驱动模块来控制小车转向,进而到达避障目的。

通过STC89C52产生一个10uS以上脉冲触发信号,将该信号接到HC-SR04的Tr1g端口,该

模块内部将发出8个40kHz周期电平并检测回波。

一旦检测到有回波信号则Echo输出回响信号。

回响信号的脉冲宽度与所测的距离成正比。

公式:

S/58=厘米或者S/148=英寸;或是:

距离=高电平时间*声速(340m/s)/2。

3.软件设计

控制程序的主要任务是:

(1)判别旋转方向;

(2)检测障碍物;(3)寻地面黑线;(4)速度快慢控制。

各部分程序流程如下:

以上程序全部用C语言来编写,调试时,经过语法查错和逻辑查错,与硬件联合调试,先单独调试好每一个模块,然后再连接成一个完整的系统。

经过最后的调试,总程序可以顺利执行。

4.测试

4.1测试所用仪器设备:

PC机

数字式万用表:

Fluke175

示波器:

InstekGOS-620

51单片机开发板

模拟跑道:

直道长2m,弯道半径0.8m

卷尺:

精度0.001m

秒表:

精度0.01s

障碍物:

用白纸包裹的纸盒两个。

小车部件:

4.2小车各部分代码分析

(1)LCD夜间屏显示模块

/******************************

1602显示模块

功能:

显示小车运行时间和距离

说明:

包括写命令操作和写数据操作

********************************/

voidwrite_com(ucharcom)//写命令函数

{

lcdrs=0;

P0=com;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidwrite_data(uchardate)//写数据函数

{

lcdrs=1;

P0=date;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidlcdinit()//1602初始化

{

dula=0;

wela=0;

lcden=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

}

voidT1_time()interrupt3//T1定时1s刷新

{

TH1=(65536-45872)/256;

TL1=(65536-45872)%256;

num1++;

if(num1==20)

{

num1=0;

j++;

bai=j/100;

shi=j%100/10;

ge=j%10;

}

}

(2)速度测量部分

voidINT0_M()interrupt0//外部中断0测量轮子转数

{

M++;

N=88*M;

qian1=N/10000;

bai1=N/1000%10;

shi1=N/100%10;

ge1=N/10%10;

houyi=N%10;

}

(3)电机部分控制

/******************************

电机控制模块

功能:

前进,左转,右转

说明:

通过PWM脉冲调制速度

********************************/

voidqianjin()//小车前进

{

IN1=1;

IN2=0;

IN3=1;

IN4=0;

dj1=90;

dj2=90;

}

voidright()//小车右转

{

IN1=0;

IN2=1;

IN3=1;

IN4=0;

dj1=60;

dj2=80;

}

voidleft()//小车左转

{

IN1=1;

IN2=0;

IN3=0;

IN4=1;

dj1=80;

dj2=60;

}

(4)PWM脉冲信号

voidtimer0()interrupt1using1//PWM控制

{

TH0=(65536-500)/256;

TL0=(65536-500)%256;

t++;

if(t

elseENA=0;

if(t

elseENB=0;

if(t>50)

{

t=0;

}

}

4.3误差分析及改善措施

小车转向控制采用二相步进电机不同步的思想,由于寻线,测障有不同的精度要求,所以按照寻线,测障,将校车的转弯时的偏转角度改为较小,较大。

这通过在多次试验中确定小车前轮的步进电机的步数而得到。

当小车一旦检测到偏离中间黑先后STC89C52RC并会送给L298N的两个使能端不同的PWM信号,一致达到转向目的。

一开始时我们所给的PWM脉冲信号占空比都很高,这样小车在转弯过程中根本就来不及转弯,后来通过降低占空比,并实现了小车转弯。

5.结论与心得

5.1结论

我们采用STC89C52RC单片机进行电动车的脉冲宽度调速控制和步进电机的转向控制,用3个TCRT-5000光电传感器模块进行循迹。

但是由于小车前轮与横杆之间有一定的间隙,所以小车在行驶过程中车轮难免会有一定的晃动,但是,我们在程序中进行实时的黑线检测,使小车一离开黑线前轮便小幅转向,这样便使小车始终不离开黑线。

在测障方面我们采用了两个放在车两侧的传感器,可以使小车检测的前方障碍物,从而倒车并继续检测,直到绕过障碍物。

测速方面用了霍尔传感器,便用LCD实时显示小车行驶的时间和距离。

在整个过程中小车行驶稳定,基本满足要求。

5.2心得

经过两周的努力,我们较好的完成了任务,不仅基本部分完成,而且对小车的功能进行了我们感兴趣的扩展,如安装行驶指示灯、显示行使时间等。

虽然在制作过程中遇到很多困难,很多知识都市我们在课堂上没有学过的,在有限的时间之内我们得从认识到熟悉

在以前我们都很少接触这种将理论知识真正用到实践的场合,虽然这次花了很多时间,在制作过程中也犯了一些错误,但经过我们的团结合作,终于完成了制作。

(注:

可编辑下载,若有不当之处,请指正,谢谢!

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

当前位置:首页 > PPT模板 > 卡通动漫

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

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