您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 机电综合实验两轮智能移动机器人实验报告书
1机电综合实验之机电一体化综合控制实验报告书题目:两轮智能移动机器人实验者:学号:班级:日期:2013.12.292目录一、实验目的.............................................................................3二、实验对象.............................................................................3三、设计原理..............................................................................3四、实验过程.............................................................................7五、实验设备.............................................................................7六、实验步骤及报告...................................................................71、实验前的安装调试..........................................................................72、小车按预定路线行走..............................................................................93、小车匀加速/减速运动..............................................................................114、小车触须避障..........................................................................................135、小车红外避障............................................................................................22七、心得...................................................................................25八、本实验对社会发展的影响...................................................263一、实验目的1、掌握机器人机械工作方式、触觉开关及红外导航工作原理,掌握机器人尾随行走所需的闭环控制算法2、学会运用C语言初次编写少量的程序,运用编译器编译生成可执行文件,然后下载到单片机上,通过串口观察机器人上的单片机教学板的执行结果二、设计对象本项目是使用典型的机器人工程对象,采用STC8952单片机作为大脑,行走机构为两个车轮,采用伺服电机控制。触觉导航采用触觉开关,红外导航采用发射红外线遇障碍反射技术导航。三、设计原理运用STC8952单片机,采用C语言对其进行编程,控制机器人伺服电机以不同速度运动是通过让单片机输入、输出接口输出不同的脉冲序列来实现的。4如控制机器人伺服电机以不同速度运动是通过让单片机的输入/输出(I/O)口输出不同的脉冲序列来实现的。51系列单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash.单片机各I/O接口的内部结构有关,而且每个8位并行I/O口的使用方式也不太一样。AT89S52引脚如图所示,AT89S52共有44根引脚,其中32根是I/O端口引脚。在这32根引脚中,有29根具备两种用途,既可作为I/O端口,也可作为控制信号或地址及数据线。机器人伺服电机控制信号5电机转速为零的控制信号时序图图1所示是高电平持续1.5ms低电平持续20ms,然后不断重复的控制脉冲序列。该脉冲序列发给经过零点标定后的伺服电机,伺服电机不会旋转程序段:while(1){P1_0=1;//P1_0输出高电平delay_nus(1500);//延时1.5ms6P1_0=0;//P1_0输出低电平delay_nus(20000);//延时20ms}图2所示是高电平持续1.3ms低电平持续20ms,然后不断重复的控制脉冲序列。该脉冲序列发给经过零点标定后的伺服电机,伺服电机顺时针全速旋转。程序段:while(1){P1_0=1;//P1_0输出高电平delay_nus(1300);//延时1.3msP1_0=0;//P1_0输出低电平delay_nus(20000);//延时20ms}图3所示是高电平持续1.7ms低电平持续20ms,然后不断重复的控制脉冲序列。该脉冲序列发给经过零点标定后的伺服电机,伺服电机逆时针全速旋转。程序段:While(1){P1_0=1;//P1_0输出高电平delay_nus(1700);//延时1.7msP1_0=0;//P1_0输出低电平delay_nus(20000);//延时20ms}从图1、2和3可知,控制电机运动转速的是高电平持续的时间,当高电平持续时间为1.3ms时,电机顺时针全速旋转,当高电平持续时间1.7ms时,电机逆时针速旋转。四、实验内容按时间顺序,实验主要有以下内容:71、安装软件并调试,电机调零2、基本巡航动作3、让小车行走一定的形状(本次实验设计路线是一个“口”字)4、完成简单触觉导航5、实现红外导航避障五、实验步骤及报告(一)软件和硬件的安装调试1、硬件连接机器人大脑需要连接电源以便运行,同时也需要连接到PC机(或笔记本电脑)以便编程和交互。以上接线完成后,就可以用编辑器软件来对系统进行测试。(1)串口的连接机器人教学板通过串口电缆连接到PC机(或笔记本电脑)上以便与用户交互。(2)下载线的连接机器人程序通过连接到PC机或者笔记本电脑的并口上的ISP下载线来下载到教学板上的单片机内。(3)电池的安装本实验机器人采用五号碱性电池给机器人电机和教学板供电,先检查机器人底部电池盒内是否已经装好电池,并是否有正常的电压输出。2、软件部分在本实验学习中,反复用到三款软件:KeiluVision2IDE集成开发环境、下载软件、串口调试软件等。(1)KeiluVision2IDE集成开发环境该软件是德国KEIL公司出品的51系列单片机C语言集成开发系统。如果你已经学习过《基础机器人制作与编程》,并掌握了PBASIC语言编程思想和基本技能,你将会发现,C语言在语法结构上更加灵活,功能更加强大。(2)SLISP软件下载工具使用该软件你可以将可执行文件下载到你的机器人单片机上。该软件的使用需要计算机有并行口。8(3)串口调试软件此软件是用来显示单片机与计算机的交互信息的。在硬件上,计算机至少要有串口或USB接口来与单片机教学板的串口连接。3、电机调零启动KeiluVisionIDE程序,建立项目文件,选择正确的芯片类型,创建与编辑一个调零程序,编译后产生可执行文件,并下载可执行文件到STC8952单片机,然后观察电机是否转动,若转动,用螺丝起子手动调零。调零程序如下:#includeBoeBot.h#includeuart.hintmain(void){intcounter;uart_Init();printf(ProgramRunning!\n);for(counter=0;counter130;counter++)//运行3秒{P1_1=1;delay_nus(1500);P1_1=0;P1_0=1;delay_nus(1500);P1_0=0;delay_nms(20);}while(1);}}二、基本巡航动作下面的程序片段可以使其向前走:9P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);下面的程序片段可以使其向后走:P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);下面的程序片段可以使你的机器人原地左转:P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);下面的程序可以使你的机器人原地右转:P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;10delay_nms(20);实现一定形状行走:实验设计路线是一个“口”字,类似电机调零的相关操作,把程序导入单片机内,实现调试。程序如下:#includeBoeBot.h#includeuart.hintmain(void){intcounter;uart_Init();printf(ProgramRunning!\n);for(counter=1;counter=65;counter++)//向前{P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}for(counter=1;counter=26;counter++)//向左转{P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);11P1_0=0;delay_nms(20);}While(1);}(二)匀加速/减速运动匀加速运动程序:for(pulseCount=10;pulseCount=200;pulseCount=pulseCount+1){P1_1=1;delay_nus(1500+pulseCount);P1_1=0;P1_0=1;delay_nus(1500-pulseCount);P1_0=0;delay_nms(20);}匀减速运动程序:for(pulseCount=200;pulseCount=0;pulseCount=pulseCount-1){P1_1=1;delay_nus(1500+pulseCount);P1_1=0;P1_0=1;delay_nus(1500-pulseCount);P1_0=0;delay_nms(20);}两轮机器人加速减速走程序:12#includeBoeBot.h#includeuart.hintmain(void){intpulseCount;uart_Init();printf(ProgramRunning!\n);for(pulseCount=10;pulseCount=200;pulseCount=pulseCount+1){P1_1=1;delay_nus(1500+pulseCount);P1_1=0;P1_0=1;delay_nus(1500-pulseCount);P1_0=0;delay_nms(20);}for(pulseCount=1;pulseCount=75;pulseCount++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}for(pulseCount=200;pulseCount=0;pulseCount=pulseCount-1){13P1_1=1;delay_nus(150
本文标题:机电综合实验两轮智能移动机器人实验报告书
链接地址:https://www.777doc.com/doc-5940292 .html