机器人设计讲课稿

机器人设计讲课稿
机器人设计讲课稿

《智能控制与程序设计》-宝贝车机器人

课程报告

班级:电信学院13306

人员:王丽春

同组人员:陈天、刘棒锦

时间:2015.11.14

指导教师:杨杰、汤博文

地点:工业中心3021

一、课程目的、任务及要求

1.1课程目的

①通过训练,了解一个完整的、可以运动的机器人应由那几部分组成。理解每一个机器

人都是根据特定要求而设计的,设计的第一步就是将使用要求分析清楚,确定设计时需要考虑的参数,包括:机器人的运动路径、定位精度,重复定位精度、任务执行参数等。

②了解目前机器人的能量供给的各种形式,掌握控制部分和执行部分的供电方式。

③理解机器人的运动系统的构成及其原理。

④了解机器人探测周边环境的传感器有那些,掌握传感器的信号如何传送给单片机的。

⑤理解机器人是如何根据传感器的信息做出决策。

⑥掌握机器人如何运动,并且了解机器人运动的其它方法。

⑦理解机器人与用户交换信息的各种方法。

⑧培养团队协作和独立工作能力。

1.2课程任务及要求

③陈述清楚宝贝机器人如何实现运动。

④掌握宝贝机器人的控制部分和运动部分的供电方式,并画出这两部分的电路示意图。

⑤理清宝贝机器人的人机交互关系,陈述清楚宝贝机器人如何实现人机交互(通过串口调试软件实现人机交互)。

⑥陈述清楚宝贝机器人有那些传感器,传感器的信息是如何传送到单片机的。

⑦完成宝贝机器人的触觉导航,并陈述清楚其原理。

⑧能在实验中迅速排除各种故障。

⑨鼓励创新,在完成前八个任务的前提下,尽量能做出新的开发,如果现有硬件条件不

满足,可以陈述清楚创新原理。

二、课程准备

2.1 实验设备

硬件:PC机一台、AT89S52型单片机、机器人组件、ISP下载电缆、串口线、电池

软件:Keil uVision4 IDE集成开发环境、progisp172软件下载工具、串口调试软件2.2机器人的组装和软件的安装及初步应用

2.2.1组装宝贝车机器人

“宝贝车”是由许多部件组成的一款机器人,在使用及编程控制其运动之前,首先要进行组装,步骤如下:

(1)安装机器人底盘硬件

零件列表:宝贝车底盘、螺柱、盘头螺钉、13/32英寸的橡胶圈

1.将13/32英寸的橡胶套圈插到宝贝车底盘中心的孔内,确保底盘中心孔的边缘嵌在

橡胶圈的凹槽中;

2.用4个螺钉将螺柱固定在底盘上。

(2)拆除伺服喉,将电机安装在底盘上

零件列表:宝贝车底盘(已部分组装好)、连续旋转电机、螺钉3/8英寸4-40、

螺母 4-40

1.用螺钉和螺母将电机固定在底盘上,为了最好性能,需从里面将电机放入底盘。由于

底盘空间小,螺钉也小,所以螺丝起子不容易进去,螺钉的安装需要有一定的耐心;

2.用标签纸表示左右电机轮。

(3)安装电池盒和轮子

零件列表:宝贝车底盘、平头螺钉 3/8英寸4-40、螺母4-40、带有插头的电池盒、开口销、球状尾轮、橡皮圈、塑胶轮子

1.安装电池盒比较简单,注意的就是在将电源线和伺服电机线穿过橡胶圈的孔时,由于

两条线的接头比较大,可先将橡胶圈取出便于穿出,当线穿过之后再将橡胶圈安在底盘的空上;

2.安装尾轮,用开口销作为轴,穿过底盘左侧、尾轮、底盘右侧的孔,将球状尾轮固定

在底盘上,并将开口销的一端弯曲;安装驱动轮,只要将两个轮子有凹槽的一面压在输出轴上,并用螺钉固定即可,注意给轮子安橡胶圈时,为了便于安装将橡胶圈可裁窄一些。

(4)安装教学底板

零件列表:宝贝车机器人底盘、平头螺钉、带控制器的教学板

2.2.2安装软件及其初步应用

1.本次实验需要用到3款软件:Keil uVision4 IDE集成开发环境、PROGISP172下载软

件、串口调试软件。

在软件安装好以后,应有串口的连接和ISP下载线的连接,以实现编程和交互。

Keil uVision4软件的使用:启动Keil uVision4 →Project→New Project→在文件名中输入“001”,保存在想保存的位置→选择AT89S52,确定→选择不加载“否”→单击新建按钮,将编号的程序写入→保存001.c在项目文件夹→在目标工程项目中,右键“Source Group1”→单击Add Files to Group Source Group1→Add→右键Target1→选择Option for target‘Target1’→单击output,选择Create HEX Fi:→确定→运行,没有错误即创建成功→文件名为001.hex,这个文件就是将来可以烧录到C51单片机中的可执行程序。

PROGISP172下载软件的使用:

串口调试软件的使用:打开串口调试终端,选择COM1后单击“打开串口”,在程序运行时,在接收区就会看到单片机向PC发出的信息。此软件用来显示单片机与计算机的交互信息,在硬件上要有串行接口或USB接口来与单片机教学板的串口连接。

三、课程任务

3.1伺服电机的控制

3.1.1单片机的输出测试

单片机的输出测试是通过控制单灯闪烁实现的根据图1搭建LED电路:

图 1

通过编程控制单灯闪烁、两灯同时闪烁和两灯交替闪烁,以及其闪烁的时间,只要让两个LED灯分别接到P1_0和P1_1,电路连接方式相同,通过对P1_0和P1_1赋值,并改变delay_nms(time)即可实现以上各种控制,例如两灯交替闪烁,间隔时间为1s,程序如下:

#include

#include

int main(void)

{

uart_Init();

printf("The LED conneced to P1_0 is blinking!\n");

while(1)

{

P1_1=1;

delay_nus(1500);

P1_1=0;

delay_nus(200);

}

}

3.1.2伺服电机的标定

在测试控制伺服电机转速的信号之前,一定要对伺服电机标定(调零),其程序如下:

●对右轮标定

#include

#include

int main(void)

{

uart_Init(); //初始化串口

printf("The LED connected to P1_0 is blinking!\n");

while(1)

{

P1_0=1; // P1_0输出高电平

delay_nus(1500); //延时1.5ms

P1_0=0; // P1_0输出低电平

delay_nms(20); //延时20ms

}

}

此程序使左轮静止不动,如果左轮缓慢动,应用起子对其调整,具体步骤:将教学底板上的三位开关扳到2,调整底盘下边伺服电机的调零螺钉,调整时要缓慢,直到标定的轮子静止不动。

●对左轮标定

#include

#include

int main(void)

{

uart_Init(); //初始化串口

printf("The LED connected to P1_0 is blinking!\n");

while(1)

{

P1_1=1; // P1_1输出高电平

delay_nus(1500); //延时1.5ms

P1_1=0; // P1_1输出低电平

delay_nms(20); //延时20ms

}

}

此程序使右轮静止不动,如果右轮缓慢转动,同样应用起子对其调整,具体步骤同左轮的标定。

遇到的问题及解决办法:

分别标定两个伺服电机比较浪费时间,可以将两个程序写在一起,同时对左右电机进行标定,可节省时间。

3.1.3对电机控制信号的测试

控制电机的速度的是高电平持续时间,当高电平持续时间为1.3ms时,电机顺时针全速旋转,当高电平持续时间1.7ms时,电机逆时针全速旋转

注意的问题:顺时针和逆时针是从所测试的轮子的外面轴向看过去的旋转方向。

●图2为电机转速为0的控制信号时序

图2

●图3为1.3ms的控制脉冲序列使电机顺时针全速旋转

图3

●图4为1.7ms的控制脉冲序列使电机逆时针全速旋转

图4

心得体会:电机转动方向及速度的调节可以通过改变delay_nus();括号中数值来实现调节。实际测试小车时,合理的速度及左右轮方向的配合可以使小车行走时更可靠,这需要反复调试程序。

3.2机器人巡航控制

相关主题
相关文档
最新文档