机器人控制技术基础实验报告.docx
《机器人控制技术基础实验报告.docx》由会员分享,可在线阅读,更多相关《机器人控制技术基础实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
机器人控制技术基础实验报告
华北电力大学
实验报告
|
|
实验名称:
机器人控制技术基础
课程名称:
机器人控制技术基础
|
|
实验人:
姓名:
顾晋饶动实践1301201302400805
姓名:
牛广硕动实践1301201302400814
姓名:
陈万涛动实践1301201402400703
成绩:
指导教师:
房静
实验日期:
2014年10月18日-2014年11月15日
华北电力大学工程训练中心
第一部分:
单片机开发板
实验一:
LED灯闪烁实验
实验目的:
通过此实验,让大家初步掌握单片机的IO口的基本操作和感受单片机学习的乐趣
实验内容:
用常用的指令编写,控制接在P0.0上的LED发光二极管L0做闪烁实验
硬件说明:
通过原理图,我们可以发现,要让接在P0.0的L0做亮灭实验,得先选通LED的电源供应三极管(这是我们设计的一个特殊地方,是为了方便和同时接在P0口的数码管实现端口的复用,节省IO口)然后只要让P0.0的端口电平为0,L0就会亮.让P0.0的端口电平为1,L0就回灭.端口,所以实验前要先把液晶模块的使能端置为0由于P0口是LED、数码管和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为0
以下的程序将实现这个功能
源程序如下:
#include
sbitLed1=P1^0;
sbitLed2=P2^1;
voiddelay()
{unsignedcharj,i;
for(i=0;i<=110;i++)
for(j>10;j<=50;j++)
{}
}
voidmain()
{Led1=1;
Led2=0;
while
(1)
{
Led1=~Led1;
Led2=~Led2;
delay();
}
}实验二:
按键控制的LED灯亮灭实验(写上自己按键点亮LED灯的C语言程序,这个模版不是C的程序)
实验目的:
掌握简单的按键检测编程方法
实验内容:
监视按键K16(接在P3.3端口上,即INT1),用发光二极管L0(接在单片机P0.0端口上)显示开关状态。
如果按住按键,则L0亮;松开按键,则L0熄灭。
开关状态的检测过程:
单片机对开关状态的检测相对于单片机来说,是从单片机的P3.3端口输入信号,而输入的信号只有高电平和低电平两种,当松开按键K16,即输入端口悬空为高电平当按住按键K16,按键被接到地,即输入低电平单片机可以采用JBBIT,REL或者是JNBBIT,REL指令来完成对开关状态的检测即可。
源程序如下:
sbitL0=P0.0;
sbitK16=P3.3;
viodmain()
if(K16==1)
{
while(K16==1);
L0=~L0;
}
实验三:
中断控制的三灯闪烁实验(写上自己点亮流水LED灯的C语言程序,这个模版不是C的程序)
实验源程序:
FALGEQU20H ;定义寄存器
ORG0000H;程序开始
AJMPMAIN;跳主程序
ORG000BH;外总中断0地址
AJMPINT00;跳外部中断子程序
ORG0030H;跳开敏感地址区
MAIN:
;主程序
MOVP1,#0FFH;P1口输出高电平
SETBEA;开总中断
SETBEX0;开外总中断0中断
MOVP1.3,FLAG;FLAG状态送P1.3输出
SJMP$;在此等待
INT00:
;外部中断0子程序
PUSHPSW;保护状态寄存器
PUSHACC;保护累加器
CPLFALG;取反标标志
POPACC;弹出保护A的值
POPPSW;弹出保护状态寄存器的值
RETI;中断返回
END;程序结束
第二部分:
机器人小车(写上自己小车的C语言程序,这个模版不是C的程序)
内容简介:
机器人小车完成如图规定的赛道,从规定的起点开始,记录完成赛道一圈的时间。
必须在三分钟之内完成,超时无效。
其中当小车整体都在赛道外时停止比赛,视为犯规,小车不规定运动方向,顺时针和逆时针都可以采用,但都从规定的起点开始记录时间。
作品优点及应用前景:
可靠性高,编程简单单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。
相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。
本次设计的简易智能电动车,采用AT89S52单片机作为小车的检测和控制核心,使单片机按照预定的工作模式控制小车在各区域按预定的速度行驶,通过控制单片机进而控制小车,体现了智能化,通过使用不同的函数及设定不同的函数参数,能够在不同的要求下改变小车的前后轮转动方向以及转动速度,来完成不同的目的要求。
在画正方形的同时能够完成四个1/4圆弧的制作。
可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。
一些危险事故中,凭借其特殊的履带来保持行进的稳定性,进而完成由程序指导的规定动作。
如在已知楼内布置的情况下,可以在小车上装上红外感应器来搜寻是否有遇难者留在楼中。
循迹实验场地图:
传感器电路图:
源程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitIN1=P3^6;
sbitIN2=P3^7;
sbitENA=P3^4;
sbitIN3=P2^6;
sbitIN4=P2^7;
sbitENB=P3^5;
//传感器碰黑线变低电平0
sbitINFR1=P1^4;
sbitINFR2=P1^5;
voiddelay_1ms(uintn)
{
uinti,j;
for(j=n;j>0;j--)
for(i=20;i>0;i--);
}
voidgo(void)
{
unsignedchari;
ENA=1;
ENB=1;
for(i=0;i<5;i++)
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
delay_1ms
(2);
IN1=0;
IN2=0;
IN3=0;
IN4=0;
delay_1ms(11);
}
}
voidleft(void)
{
unsignedchari;
ENB=0;
IN3=1;
IN4=1;
for(i=0;i<5;i++)
{
IN1=1;
IN2=0;
delay_1ms
(2);
IN1=0;
IN2=0;
delay_1ms(11);
}
}
voidright(void)
{
unsignedchari;
ENA=0;
IN1=0;
IN2=0;
for(i=0;i<5;i++)
{
IN3=1;
IN4=0;
delay_1ms
(2);
IN3=0;
IN4=0;
delay_1ms(11);
}
}
voidmain()
{
ENA=1;
ENB=1;
while
(1)
{
if((INFR1==0)&&(INFR2==1))
{
right();
}
elseif((INFR1==1)&&(INFR2==0))
{
left();
}
else
{
go();
}
}
}
第三部分:
心得体会、合理性建议或意见
1.工程素质和技能归纳:
C51系列单片机KeiluVisionIDE(集成开发环境)软件和ISP下载软件的下载和安装。
ZC-51Z教学板与计算机或者笔记本的连接。
如何在集成开发环境中创建目标工程文件,并添加和编辑C语言源程序。
C语言程序的编译和下载。
串口调试终端的使用。
C语言基本知识:
基本数据类型、常量、变量、运算符、表达式。
51单片机定时器的多路使用。
如何焊接电路板,连接线路。
2.团队合作能力的锻炼:
在做车的过程中,遇到困难在所难免,特别是电路板的焊接调试,大家各司其职相互合作,最终完成了学习任务,通过了验收。
4.本次试验将传统的学习单片机原理与应用(即先理论讲解,然后实验验证)的模式,改变为先实验和实践如何应用,然后再归纳单片机原理(即先实践,后归纳)的模式,并以智能小车作为贯穿实践过程的典型工程对象,使整个学习过程充满挑战和乐趣,大大提高学习效率。
同时在学习和实践的过程中,还可以培养我们系统的世界观和方法论。
通过本课程的学和实践,让我们领略到了信息技术世界和机器人世界的神奇。
建议:
1,、小车的制作可以适当放宽对传感器型号及数量的限制,这样可以更加拓宽大家的思路,让大家掌握更多的技术,而且很大程度上可以提高小车的速度。
2,、焊接之前建议先让我们看看合格品是什么样子,焊接完要及时测试,以方便顺利进行下一步。