智能循迹避障机器人论文打印.docx
《智能循迹避障机器人论文打印.docx》由会员分享,可在线阅读,更多相关《智能循迹避障机器人论文打印.docx(13页珍藏版)》请在冰豆网上搜索。
智能循迹避障机器人论文打印
智能循迹避障机器人
院系班级:
号:
名:
学
姓指导教师(职称):
完成时间:
智能循迹避障机器人
L298N驱动电路完成,速度
摘要:
利用红外对管检测黑线与障碍物,并以STC89C5单片机为控制芯片控制机器人小车的速度及转向,从而实现自动循迹避障的功能。
其中小车驱动由由单片机输出的PW波控制。
关键词:
智能;STC89C5单片机;L298N;红外对管1.机器人小车的构成
它可以分为三大组成部分:
传感器检测部分、执行部分、CPU机器人要实
现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。
可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。
基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所
以可以舍弃昂贵的CC传感器而考虑使用价廉物美的红外反射式传感器来充当。
智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。
单片机驱动直流电机由软件模拟PW输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。
2.机器人小车功能
机器人要实现自动导引功能和避障功能,要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。
3.1主板设计框图如图3.1
避障红外对管
循迹红外对管
复位电路
时钟电路
图3.1主板设计框图
3.2驱动电路
电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从
而可以采用L298N电路来驱动电机。
通过单片机给予L298N电路PWM信号来
控制小车的速度,起停。
其引脚图如3.2,驱动原理图如图3.3。
CURRENiTSENSINGA
5V
Ml
图3.3电机驱动电路
图3.4循迹原理图
3.3信号检测模块
小车循迹原理是小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸
对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”一黑线。
笔者在该模块中利用了简单、应用也比较普遍的检测方法一一红外探测法。
红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。
在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生
漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过LM324作比较器来采集高低电平,从而实现信号的检测。
避障亦是此原理。
电路图如图
3.4主控电路
本模块主要是对采集信号进行分析,同时给出PWM波控制电机速度,起停。
以及再检测到障碍报警等作用。
其电路图如图
;Sbdeff2
TEC
咖
PDi
PD2
PDJ
咖
PM
加?
血
PEO1
P37
啲
肌-
P24-
时3
珂3
P31
P26
VCC
•rH"
Bl-
IDLLU
15ItLj
U
UIBLS羽
4.1主程序框图:
4.2电机驱动程序
voidgoaheadO{s1=1;
s2=0;
s3=1;
s4=0;
}
U.
fS
M
2
诃KreMwrereMM^血馳£:
KKKM£:
£;W
器一竺弘一益
1
Ul
srce&c52Jic
15(
wrE
§T
2J.
PIO
Fll
PI2
PI5
PI4
PIJ
FIf
PIJ
RST
P3D
P3I的』
P3J
P34
P3J阿£
P3J
STALJSTALlGHD
图3.5主控电路
启动
ifd
¥
L
FT
J
■I
S--
避障
voidgobackO
{s1=0;
s2=1;
s3=0;
s4=1;
}
停止
开始
前进
voidturnleft(){
s3=1;
s4=0;
}
voidturnright()
{
s1=1;
s2=0;
}
voidstop()
{
en1=0;
en2=0;
}
4.3循迹模块
循迹框图:
循迹程序:
voidxunji()
{
if((left_red==1)&(right_red==1))
{
en1=1;
en2=1;
goahead();
delay(150);
en1=0;
en2=0;
delay(50);
}
elseif((left_red==0)&(right_red==1))
{
en1=0;
en2=1;
P00=!
P00;turnleft();delay(150);en1=1;
en2=0;
delay(50);
}
elseif((left_red==1)&(right_red==0))
{
en1=1;
en2=0;P0_1=!
P0_1;turnright();delay(150);
en1=0;
en2=1;delay(50);
}
else
{
stop();
}
}
4.4避障模块
避障框图:
避障程序:
开始
后退一点,报警
后退
左转
4ZU
前进
{
en1=1;
en2=1;
gobackO;mid_red=0;baojing();goback();
for(i=0;i<8;i++){en1=1;en2=1;
delay(150);
en1=0;
en2=0;
delay(50);
}
stop();
delay(10);turnleft();for(i=0;i<11;i++){en1=0;
en2=1;
delay(130);
en2=0;
delay(50);
}
stop();
delay(10);
goahead();for(i=0;i<22;i++){en1=1;
en2=1;
delay(130);
en1=0;
en2=0;
delay(50);
}
stop();
delay(10);
turnright();for(i=0;i<18;i++){en1=1;
en2=0;delay(130);
en1=0;
delay(50);
}
xun:
if((left_red==1)&(right_red==0)){
loop:
turnleft();
en1=0;
en2=1;
delay(30);
turnright();
en1=1;
delay(50);
en1=0;
delay(50);
en2=0;
delay(50);
if((left_red==1)&(right_red==1)){}else
{gotoloop;
}
}
else
{en1=1;
en2=1;
goahead();delay(80);en1=0;
en2=0;
delay(50);gotoxun;}}
参考文献
[1]郭惠,吴迅.单片机C语言程序设计完全自学手册[M].电子工业出版社,2008.10:
1-200.
[2]王东锋,王会良,董冠强.单片机C语言应用100例[M].电子工业出版社,2009.3:
145-300.
[J].学术期刊,
[3]韩毅,杨天.基于HCS12单片机的智能寻迹模型车的设计与实现
2008,29(18):
1535-1955.
[4]王晓明.电动机的单片机控制[J].学术期刊,2002,13(15):
1322-1755.