《创意之星模块化机器人实验》教案
【添加时间:2015-08-05 15:12:10】【来源:】【作者:uestcetcmce】【阅读:】
实验一 MultiFLEX控制卡编程实验(4学时)
一、教学内容及要求
(一)实验教学要求
1. 了解MultiFLEX控制卡的基本结构;
2. 了解WinAVR+AVRStudio编译环境的使用;
3. 熟悉关于AVR 单片机的io 口有关的寄存器的概念、作用
4. 理解函数gpio_mode_set(),write_gpio(),read_gpio()的定义,掌握其用法
5.熟悉并掌握利用3 个函数控制MultiFLEX 控制卡的16 路IO 口
(二)实验教学内容
1. 实验原理
1. 实验原理
介绍AVR 单片机中,与I/O 口有关的寄存器:PORTX,DDRX,PINX(X 为端口编号)。介绍函数gpio_mode_set(),write_gpio(),read_gpio()的定义及其用法。
2. 实验器材
2. 实验器材
计算机 1台 MultiFLEX 控制卡 1块 控制卡电源线 1根 串口下载线 1根 232电缆 1根 USB转232电缆 1根
UP-MRcommander 控制软件 1套
3. 实验内容及步骤
3. 实验内容及步骤
(1)WinAVR 以及AVRStudio 软件的安装
(2)用3AVRStudio 建立一个工程
(3)将*.hex 文件烧录至MultiFLEX 控制卡中
(4)编写C 程序实现对16 路I/O 口的控制
4. 注意事项及规范
4. 注意事项及规范
二、教学重点、难点
(一)实验教学重点
1. MultiFLEX控制卡结构;
1. MultiFLEX控制卡结构;
2. WinAVR+AVRStudio编译环境的使用
(二)实训教学难点
1. 与I/O 口有关的寄存器:PORTX,DDRX,PINX(X 为端口编号)的使用;
2. 函数gpio_mode_set(),write_gpio(),read_gpio()的定义及其用法。
2. 函数gpio_mode_set(),write_gpio(),read_gpio()的定义及其用法。
三、教学设计
1. PORTX,DDRX,PINX(X 为端口编号)功能是什么?
1. PORTX,DDRX,PINX(X 为端口编号)功能是什么?
DDRX 说明X 端口的输入输出状态,例如:如PORTA=0x0F=0000 1111,则引脚PA0-PA3均为输出(1 为输出),引脚PA4-PA7 均为输入(0 为输入)。
PORTX 说明X 端口的输入输出的具体信息,例如:当PORTA=0x0F 时,若PORTA=0X33=00110011,则引脚PA0、PA1 为输出,且输出信号为高(1);引脚PA2、Pa3 为输出,但输出信号为低(0);PA4、PA5 为输入且输入有效;至于PA6、PA7 虽然DDRA 已经将其设置为输入,但是PORTA 使其输入无效,所以PA6、PA7 的输入信号读不出来。
PINX 为输入端口的具体信息(PINX 只能读取不能写入),例如:当DDRA=0x0F,PORTA=0x33时,如果读取PINA 即char temp=PINA,则temp=--XX0011,其中为输入的引脚只有PA4-PA7,PA4 与PA5 状态为XX,X 为输入信号,而PA6、PA7 的输入为--,-为一个不确定的数。
2. 函数gpio_mode_set(),write_gpio(),read_gpio()与PORTX,DDRX,PINX的关系是什么?
2. 函数gpio_mode_set(),write_gpio(),read_gpio()与PORTX,DDRX,PINX的关系是什么?
void gpio_mode_set(uint16 temp16)
{
DDRE = (uint8)(temp16>>8);
DDRC = (uint8)temp16;
}
uint16 read_gpio(void)
{
uint16 temp16;
temp16 = (uint16)EXT_IO2_IN;
temp16 = (temp16<<8) | EXT_IO_IN;
return temp16;
}
#define SET_IO_IN DDRC = 0;
#define SET_IO_OUT DDRC = 0xff;
#define EXT_IO_IN PINC
#define EXT_IO_OUT PORTC
#define SET_IO2_IN DDRE = 0;
#define SET_IO2_OUT DDRE = 0xff;
#define EXT_IO2_IN PINE
#define EXT_IO2_OUT PORTE
四、作业
完成实验报告
五、参考资料
1. 《“创意之星”模块化机器人实验指导书》,北京博创兴盛机器人技术有限公司
2. 《AVR 单片机与CPLD/FPGA 综合应用入门》,北京航空航天大学出版社
实验二 多自由度串联式机械手(4学时)
一、教学内容及要求
(一)实验教学要求
(1)了解串联式机器人、自由度和空间机构学、机器人运动学的基本概念;
(2)熟悉四自由度串联式机械手;使用配套动作程序,然后自己给机器人编写动作;
(3)掌握“创意之星”机器人套件的搭建和装配技巧
(4)熟悉并掌握舵机控制函数rc_moto_control()以及延时函数delay()的使用方法,理解其函数定义
(5)熟悉并掌握利用函数控制舵机运动
(二)实验教学内容
1. 实验原理
1. 实验原理
运用舵机控制函数rc_moto_control()以及延时函数delay()对多自由度串联式机械手进行运动控制,设定运动参数。
2.实验器材
计算机 1台 MultiFLEX 控制卡 1块 控制卡电源线 1根 串口下载线 1根 232电缆 1根 USB转232电缆 1根
舵机 5个 舵机延长线 5根 创意之星机器人构件 1套 UP-MRcommander 控制软件 1套
3. 实验内容及步骤
(1)根据示意图组装多自由度串联式机械手此部分。
(2)连接电缆
(3)调整初始姿态打开控制卡的电源。
(4)写入动作程序。调整之后,再次打开电源。
(5)建立自己的动作程序,编写C 程序实现对舵机的控制。
4. 注意事项及规范
4. 注意事项及规范
二、教学重点、难点
(一)实验教学重点
1. “创意之星”机器人套件的搭建和装配;
2. 利用函数控制舵机运动,编写四自由度串联式机械手配套动作程序。
1. “创意之星”机器人套件的搭建和装配;
2. 利用函数控制舵机运动,编写四自由度串联式机械手配套动作程序。
(二)实训教学难点
1. 舵机控制函数rc_moto_control()以及延时函数delay()的使用方法,理解其函数定义
1. 舵机控制函数rc_moto_control()以及延时函数delay()的使用方法,理解其函数定义
三、教学设计
1. 舵机的控制原理?
1. 舵机的控制原理?
舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这两根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准;另外一根线是控制信号线,Futaba 的一般为白色,JR 的一般为桔黄色。舵机的控制信号为周期是20ms 的脉宽位置调制(PPM)信号,其中脉冲宽度通常从0.5ms-2.5ms(也有少量型号的脉冲宽度范围不一样。例如下图中所示,为1.25ms~1.75ms),相对应输出轴的位置为0-180 度,呈线性变化。也就是说,给控制引脚提供一定的脉宽(TTL 电平,0V/5V),它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。
2. 舵机控制函数rc_moto_control()的参数范围是多少?
2. 舵机控制函数rc_moto_control()的参数范围是多少?
舵机目标角度参数取值应在0-180 之间,速度参数取值应在0-255 之间
四、作业
完成实验报告
五、参考资料
1. 《“创意之星”模块化机器人实验指导书》,北京博创兴盛机器人技术有限公司
2. 《AVR 单片机与CPLD/FPGA 综合应用入门》,北京航空航天大学出版社
......
......
Copyright © 电子科技大学机电与控制工程实验教学中心 All Rights Reserved 电话:028-61830224 地址:成都市高新西区天润路888号 蜀ICP备15021327号 川公网安备 51010802000136号
技术支持:顶呱呱集团
相关链接推荐: 电子科技大学 | 电子科大教务处 | 电子科技大学机械与电气工程学院 | 电子科技大学自动化工程学院 | 在线图书馆
相关链接推荐: 电子科技大学 | 电子科大教务处 | 电子科技大学机械与电气工程学院 | 电子科技大学自动化工程学院 | 在线图书馆