机器人创新实验报告.docx
- 文档编号:9435488
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:23
- 大小:792.41KB
机器人创新实验报告.docx
《机器人创新实验报告.docx》由会员分享,可在线阅读,更多相关《机器人创新实验报告.docx(23页珍藏版)》请在冰点文库上搜索。
机器人创新实验报告
/
实验报告
(理工类)
课程名称:
机器人创新实验
课程代码:
6003199
学院(直属系):
年级/专业/班:
学生姓名:
学号:
实验总成绩:
任课教师:
开课学院:
机械工程与自动化学院
实验中心名称:
机械工程基础实验中心
一、设计题目:
智能避障小车
二、成员分工:
(5分)
姓名学号班级任务分配
三、设计方案:
(整个系统工作原理和设计)(20分)
本方案是设计一个基于行为模式的智能小车控制装置,具有接收和处理遥控信息功能,控制小车自动循环运动。
此外,小车具有检测避开障碍物、液晶显示报警、超声波测距等功能。
此次设计将智能小车的自动避障和遥控作为主要研究内容,一方面能自动检测避开障碍物;另一方面移动机器小车能按照遥控器发出的命令运行,如前进、后退、左转、右转和停车。
本设计的智能小车,通过测试成功实现自动避障和报警显示功能,具有运行稳定、控制精度高等优点。
我们的最终目标是通过设计和编程实现智能小车。
在实现过程中,首先需要为智能小车描述我们希望所执行的任务,然后据此列出其所应具备的物理功能,最后通过编写相应的软件使移动机器小车完成这些任务。
对于智能小车而言,基于行为的方法就是一个有效的解决途径。
采用基于行为的方法需要为智能小车设计一系列简单行为(所谓的行为也就是通过感知信息控制执行过程的算法),这些行为相互协调和协作,产生我们所需求的智能小车整体行为。
行为框图是以图形方式表示基于行为的智能小车的相关操作。
从最高层次来看,智能小车由感知单元、智能单元和执行单元组成。
智能小车的相关环境信息通过传感器传递给智能单元内部的一些基本行为模块。
智能小车利用仲裁器将这些基本行为模块所计算出的运动命令进行融合或选择,并将仲裁后的最终命令发送给电动机去执行。
图3.1中,该智能小车只需实现避障行为和遥控行为。
当智能小车发现有障碍时,其相关操作应该是绕开障碍物行驶;当小车接收到遥控命令时,其相关操作应该是按指令运动。
图3.1智能小车行为框图
本系统硬件主要有五大模块组成:
单片机控制模块、电机驱动模块、电源模块、自动避障模块和超声波测距模块。
经过反复论证,最终确定了如下方案:
(1)采用AT89C52单片机作为主控制器。
(2)采用L298N作为直流电机的驱动芯片。
(3)采用6V蓄电池直接为直流电机供电。
(4)采用TCRT5000红外光电传感器进行避障。
四、实验步骤:
(图文说明设计过程中关键步骤)(30分)
1、晶振电路的设计:
晶振电路就是产生像时钟一样准确的振荡电路。
AT89C52内部有一个用于构成片内振荡器的高增益反相放大器,振荡器产生的信号送到CPU,作为CPU的时钟信号。
驱动CPU产生执行指令功能的机器周期。
引脚XTAL1和XTAL2是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器。
晶振电路的连接如图4.1所示。
图4.1晶振电路
图4.1中,外接石英晶体(或陶瓷谐振器)以及电容C2和C3构成并联谐振电路,接在放大器的反馈回路中。
对外接电容C2和C3的值虽然没有严格的要求,但电容的大小多,会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡器的接法的快速性和温度稳定性。
外接石英晶体时,C2和C3一般取(30pF±10pF);外接陶瓷谐振器时,C2和C3一般取(40pF±10pF)。
外接的是石英晶体,所以C2、C3选择标称值20pF。
2、复位电路的设计:
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态。
并从这个状态开始工作。
无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。
89系列单片机的复位信号是从RST引脚输入到芯片的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚有高电平并维持2个机器周期(24个振荡周期)。
则CPU就可响应并且将系统复位。
复位电路由两部分组成,电容和电阻。
当系统通电时VCC上电压从无到有在RESET处会先处于高电平一段时间,然后由于该点通过电阻接地则RESET该点的电平会逐渐的改变为低电平,从而使得单片机复位口电平从1到0,达到给单片机复位的功能。
上电复位:
上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。
手动复位:
首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。
单片机复位电路图如图4.2所示。
图4.2单片机复位电路图
3、电机驱动模块:
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
L298N外部引脚图如图4.3所示。
图4.3L298N外部引脚图
L298N可接受标准TTL逻辑电平信号,VSS,VS是接电源引脚,电压范围分别是4.5~7V、2.5~46V;1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号;OUTl、OUT2和OUT3、OUT4之间分别接2个电动机;IN1、IN2、IN3、IN4接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的转动和停止。
L298N功能逻辑如表4.1所示。
表4.1L298N功能逻辑表
ENA(B)
IN1(3)
IN2(4)
电机运行情况
L
X
X
停止
H
H
L
正转
H
L
H
反转
H
H
H
快速停止
H
L
L
停止
图4.4电机驱动模块
4、自动避障模块:
TCRT5000光电传感器是一款红外反射式光电开关。
传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。
传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于截止状态,此时模块的输出端为高电平;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和导通,此时模块的输出端为低电平。
TCRT5000引脚图如图4.5所示。
图4.5TCRT5000引脚图
应用场合:
1.电度表脉冲数据采样
2.传真机碎纸机纸张检测
3.障碍检测
4.黑白线检测
基本参数:
1.外形尺寸:
长32mm~37mm;宽7.5mm;厚5mm
2.工作电压:
DC3V~5.5V,推荐工作电压为5V
3.检测距离:
1mm~8mm适用,焦点距离为2.5mm
5、液晶显示模块:
可以通过该显示器随时观察智能小车的状态。
图4-6液晶显示模块
五、最终作品展示:
(图片及性能描述)(20分)
整体车型
正常运行时显示
有危险时显示
通过调试,本智能小车可以实现以下功能:
当遇到障碍物时,可以通过红外传感器检测和超声波检测。
遇到危险后会自动倒退一定的距离。
然后向右转过90度,继续运行。
此智能小车还可以实现加速、减速功能。
六、设计心得:
(10分)
附录:
(设计文件、工程图、代码等)(15分)
Proteus仿真图
电路图
程序:
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharnum,th,tl,flag1,flag3,flag4,flag5;//flag1为遇险标志,flag3为测距标志,flag4为键3检测标志,flag5为加减速标志
uintjuli;
unsignedlongtime;
sbitenab1=P2^7;
sbitenab2=P2^6;
sbityoulun1=P2^5;//面向车正面的右边
sbityoulun2=P2^4;
sbitzuolun1=P2^3;
sbitzuolun2=P2^2;
sbithong1=P2^0;
sbithong2=P2^1;
sbithong3=P3^1;
sbitfeng=P1^3;
sbitrs=P1^0;
sbitlcden=P1^2;
sbitrw=P1^1;
sbitle=P3^0;
sbitsm1=P3^7;
sbitsm2=P3^6;
sbittring=P1^6;
sbitech=P3^2;
sbitkey1=P3^5;//加速
sbitkey2=P3^4;//减速
sbitkey3=P3^3;//用于开关测距显示
ucharcodetable1[]="Danger!
";
ucharcodetable2[]="Running!
";
ucharcodetable3[]="Thehighest!
";
ucharcodetable4[]="Thelowest!
";
ucharcodetable6[]="";
unsignedcharcodetable5[]={0x3,0x9f,0x25,0xd,0x99,0x49,0x41,0x1f,0x1,0x19};//从零到九
voiddelay(uintx)//延时
{
uinti,j;
for(i=x;i>0;i--)
{
for(j=120;j>0;j--);
}
}
voidqianjing(ucharo)//前进控制
{
youlun1=1;
zuolun1=1;
youlun2=1;
zuolun2=1;
delay(o);
youlun1=0;
zuolun1=0;
}
voidhoutui()//后退15厘米
{
youlun1=1;
zuolun1=1;
youlun2=1;
zuolun2=1;
delay(5);
youlun2=0;
zuolun2=0;
delay(400);
}
voidzhuanjiao()//右转角90度
{
youlun1=1;
zuolun1=1;
youlun2=1;
zuolun2=1;
delay(5);
zuolun1=0;
youlun2=0;
delay(300);
zuolun1=1;
youlun2=1;
}
voidhongwai()//红外检测
{
if(hong1==0||hong2==0||hong3==1)
flag1=1;
}
voidfengming()//蜂鸣器
{
feng=0;
delay(200);
feng=1;
}
voidchaoshenbo()//超声波检测并生成距离
{
uchark;
tring=0;
delay
(1);
ech=0;
delay
(1);
tring=1;
for(k=8;k>0;k--);
tring=0;
while(ech==0);
EA=1;
ET1=1;
TR1=1;
EX0=1;
while(ech==1);
if(flag3==1)
{
th=TH1;
tl=TL1;
TH1=0;//
TL1=0;//
time=th*256+tl;
juli=(time*172)/10000;
}
elseif(flag3==0)
{
juli=0;
}
}
voidwrite_com(ucharcom)//液晶写命令操作
{
le=1;
rs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
le=0;
}
voidwrite_date(uchardate)//液晶写数据操作
{
le=1;
rs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
le=0;
}
voidcs()//液晶初始操作
{
rw=0;
lcden=0;
write_com(0x38);
write_com(0xc);
write_com(0x6);
write_com(0x01);
}
voidzdcs()//中断初始设置
{
TMOD=0X90;
TH1=0;
TL1=0;
EA=0;
ET1=0;
TR1=0;
IE0=0;//
//TF0=0;
IT0=0;
}
voidwbzd()interrupt0//外部中断
{
TR1=0;
EX0=0;
ET1=0;//
flag3=1;
}
voidtime1()interrupt3//定时器1中断
{
TR1=0;
ET1=0;
EX0=0;
//ech=0;
flag3=0;
}
voidsm(uintjuli)//数码显示
{
sm1=0;
sm2=1;
P0=table5[(juli%100)/10];
delay(3);
sm1=1;
sm2=0;
P0=table5[juli%10];
delay(3);
}
voidkey()//键盘检测
{
if(key3==0)
{
delay(10);
if(key3==0)
flag4=!
flag4;
while(key3==0);
}
if(key1==0)
{
delay(10);
if(key1==0)
{
if(flag5>=5)
{
flag5=flag5-5;
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table6[num]);
delay(5);
}
}
else
{
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table3[num]);
delay(5);
}
}
while(key1==0);
}
}
if(key2==0)
{
delay(10);
if(key2==0)
{
if(flag5<25)
{
flag5=flag5+5;
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table6[num]);
delay(5);
}
}
else
{
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table4[num]);
delay(5);
}
}
while(key2==0);
}
}
}
voidmain()
{
zdcs();//
enab1=1;
enab2=1;
cs();
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_date(table2[num]);
delay(5);
}
flag5=0;
while
(1)
{
key();
chaoshenbo();
//delay(10);
if(flag4==1)
{
sm(juli);
}
elseif(flag4==0)
{
sm1=1;
sm2=1;
}
hongwai();
if(flag1==1)
{
houtui();
zhuanjiao();
fengming();
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table1[num]);
delay(5);
}
delay(300);
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table6[num]);
delay(5);
}
flag1=0;
}
if(juli<35&&juli>30)
{
houtui();
zhuanjiao();
fengming();
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table1[num]);
delay(5);
}
delay(200);
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(table6[num]);
delay(5);
}
}
qianjing(flag5);
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 创新 实验 报告