机器人原理与制作实验指导书及报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1机器人原理与制作实验指导书华中科技大学文华学院机器人实验室2实验一熟悉机器人与C51单片机硬件软件一、实验目的1、掌握宝贝车机器人用C51教学板与计算机硬件连接;2、熟悉及掌握C51系列单片机KeiluVisionIDE(集成开发环境)软件、ISP下载软件及串口调试终端的使用方法。二、实验设备及软件宝贝车机器人、ISP下载线、串行接口、并行接口、计算机、电源。KeiluVision2IDE集成开发环境、SLISP下载软件、串口调试软件。三、实验内容和步骤单片机控制的宝贝车机器人通过串并口通信交互由硬件系统与软件系统相互结合组成的一个完整的智能控制系统。单片机必须与外围设备及软件组成一个完整的应用系统(如图1.1)。1、熟悉宝贝车机器人的结构组成(如图1.2):小车底板、车轮、教学板、伺服电机、电池盒。这是宝贝车机器人的硬件系统,它的微控制器(MCU)是由Atmel公司生产与51系列兼容的8位AT89S52单片机。图1.1单片机应用系统图图1.2采用C51单片机的机器人2、教学板指方便单片机与电源、ISP下载线、串口线以及各种传感器和电机的连接制作的一个电路板(如图1.3)。将宝贝车机器人与计算机硬件连接,并连接到电源。连接单片机教学板ISP接口到计算机,以便程序下载;连接单片机教学板串行接口到计算机,以便调试和交互;连接机器人到电池或者是供电电源。3图1.3C51单片机教学板①—串行接口;②—ISP接口;③—电源接口;④—三位开关;⑤—绿色LED电源指示灯;⑥—AT89S52单片机;⑦—“Reset”按钮;⑧—面包板;⑨—专用电机控制接口插座3、运用C语言编程,运用编译器编译生成可执行文件并下载到单片机,用串口调试软件查看单片机输出信息。①建立用户文件夹,方便管理程序,拷入编译所需头文件。②进入编程系统(KeiluVision2IDE):1)新建项目工程(*.uv2):Project→NewProject,命名,保存在新建立的用户文件夹内;选择单片机生产公司及类型:Atmel、AT89S52。2)新建C程序文件:File→New;编辑好程序,保存为*.c的文件。注意程序关键字的拼写,英文标点,字母的大小写等。3)添加C程序到项目工程:SourceGroup1右键单击→AddFilestoGroupSource。SourceGroup1前面出现+号,单击它出现刚才添加的C程序文件名,单击此C文件,Keil会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。4)生成执行文件十六进制目标代码文件(*.hex):Target1右键单击→Optionfortarget‘Target1’→Output→选中“CreateHexFi:”→连接编译生成可执行文件*.hex。编译要求没有错误产生,允许出现警告。③进入下载系统(SLISP):1)参数选择:并口LPT1;下载速度选择TURBO模式;单片机型号:AT89S52;2)选择执行文件:Flash→*.hex;(2)ISP下载线①②③④⑥⑦⑧⑨⑤43)单击“编程”进行下载。注意:要将ISP下载线连接计算机和机器人教学板,电源接好,开关拨到“1”档位置,给教学板通电。④从执行文件下载到单片机的那个时刻开始,程序就开始运行。单片机向计算机发送信息。可利用串口调试软件查看单片机输出信息,“Reset”按钮可让下载到单片机内的程序重新运行一次。4、做完实验断开电源,将开关拨到“0”档,系统在不使用时没有消耗电能,电池可以用的更久。拆卸串并口线还原。四、实验程序1、教材程序HelloRoBot.c。2、利用while循环与delay_nms()函数(毫秒级的延时)编程:每秒发送一个信息(内容为英文自己定),通过串口显示在计算机上。delay_nms()函数在BoeBot.h头文件中有定义。即#includeBoebot.h,编译时系统讲根据头文件自动将延时函数插入到程序中。五、实验报告要求1、按要求:每秒发送一个信息(内容为英文自己定),通过串口显示在计算机上,进行程序设计。2、程序调试心得。3、观察到的程序运行效果并加以分析。六、思考题1、什么是单片机?2、MCS51、8051、C51、AT89S52之间是什么关系?3、宝贝车机器人采用的AT89S52单片机的特点是什么?4、#includeuart.h头文件的作用是什么?5、程序HelloRoBot.c中while(1);的作用是什么?注:实验操作现场检查。实验二C51接口与伺服电机控制一、实验目的1、理解和掌握C51单片机的输入\输出接口的特性;52、理解机器人伺服电机PWM调速原理,C语言编程输出脉冲序列控制机器人轮子运动。二、实验设备及软件宝贝车机器人、ISP下载线、串行接口、并行接口、计算机、电源、螺丝刀、红色发光二极管2个和470Ω电阻2个。KeiluVision2IDE集成开发环境、SLISP下载软件、串口调试软件。三、实验内容和步骤1、用C51单片机的P1口的位输出高低电平控制LED发光二极管的闪烁。看教材附录C,关于面包板及LED的介绍。面包板上共有18行插座,通过中间槽分为两列。每一行由5个插座组成,这5个插座在面包板上是电气相连的,如将两根导线分别插入五口插座行的任意两个插座中,它们都是电气相连的。“GND”对应于教学板的接地端,“Vcc”指校准的+5V电压。发光二极管(如图2.1)是单向导电的电子管,长脚为正极,短脚为负极,必须连接正确,否则不能正常工作。通过5mA左右即可发光,电流越大,其亮度越强,但若电流过大,会烧毁二极管。给发光二极管串联一个电阻的目的是限制通过发光二极管的电流不要太大。图2.1LED零件图图2.2发光二极管与I/O脚P1_0的连接色环电阻为五色,用五条色环表示电阻的阻值大小。黑0棕1红2橙3黄4绿5蓝6紫7灰8白9金、银表示误差具体如下:第一条色环:阻值的第一位数字;第二条色环:阻值的第二位数字;第三条色环:阻值的第三未数字;第四条色环:阻值乘数的10的幂数;6第五条色环:误差(常见是棕色,误差为1%)。由此,470Ω电阻为黄紫黑黑棕。参考教材一个发光二极管闪烁的LED电路搭建(如图2.2)及程序HighLowLed.c。注意,在教学底板上搭建电路时要断开电源。教材有程序是两个LED同时闪烁,要求修改程序让两个LED交替亮或者灭,也可以改变延时函数参数n的值,改变LED闪烁频率。【拓展训练】实现4个或更多LED流水灯控制,对应流水灯从全灭到一个一个亮或者对应流水灯从全亮到一个一个灭。编程方法与两个LED闪烁类似,接入的LED二极管继续接在面包板左侧其他的端口位上。注意,程序控制各引脚输出高低电平要与所接的端口要一一对应起来。2、两伺服电机调零。在操作之前,先确认一下机器人两个伺服电机的电源控制线(如图2.3)是否已经正确的连接到C51单片机教学板的两个专用电机控制接口上。P1_1引脚控制左边电机,P1_0引脚控制右边电机,在电路板上我们分别采用W、R、B来表示信号线、电源线和地,电机控制线颜色与教学板接口对应字母一致(白红黑对应WRB)。图2.3伺服电机实物图图2.4电压“占空比”与平均电压关系电机调速应用PWM(脉宽调制)基本原理,通过控制固定电压的直流电源开关频率改变负载两端的电压。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。如图2.4,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。高电平持续的时间控制电机转速,即脉冲宽度控制连续旋转电机速度和方向。将时间间隔为20ms,脉宽为1.5ms的一系列脉冲称为零点标定信号,电机转速为零,机器人轮子静止不动。如果电机没有进行零点标定,机器人轮子会转动,如图2.5所示,用螺丝刀轻轻调节马达上的电位器,直到马达停止转动。7如电机已经完成了零点调节,不会转动。但是损坏了或有缺陷的电机有时也不转动。继续检测:当高电平持续时间为1.3ms时,电机顺时针全速旋转;当高电平持续时间为1.7ms时,电机逆时针全速旋转;当高电平持续时间为1.3ms~1.5ms之间时,电机顺时针旋转;当高电平持续时间为1.5ms~1.7ms之间时,电机逆时针旋转。图2.5.1经过孔把螺丝刀插入电位器图2.5.2轻轻的旋转螺丝刀调节电位器3、测试电机,改变脉冲宽度控制机器人运动速度和方向。如图2.6,定义机器人的前、后、左、右四个方向。例程中使用printf函数是为了起提示作用,若觉得串口线影响机器人的运动,可以不用此函数。将程序下载到单片机,关闭机器人电源开关,断开ISP下载线,将开关拨到“2”档,观察宝贝车运动情况。图2.6机器人及其前进方向的定义四、实验程序1、教材有程序是两个LED同时闪烁及一个LED闪烁(程序HighLowLed.c),要求修改程序让两个LED交替闪烁,也可以改变延时函数参数n的值,改变LED闪烁频率。*编程实现4个或更多LED流水灯控制,对应流水灯从全灭到一个一个亮或者8对应流水灯从全亮到一个一个灭。2、编程实现两伺服电机调零,可以分别调零,也可一起调零。教材有代码实现右轮调零,注意编程的完整性。3、验证BothServosThreeSeconds.c是否向前进3s,后退3s。并根据此程序按照实验报告要求编程。五、实验报告要求1、编程及电路原理图实现两个LED交替闪烁,观察到的运行效果并加以分析,程序调试心得。有兴趣的同学还可以完成4个或更多LED流水灯控制,对应流水灯从全灭到一个一个亮或者对应流水灯从全亮到一个一个灭。要求编程及电路原理图,观察到的运行效果并加以分析,程序调试心得。2、编程实现两伺服电机调零,可以分别调零,也可一起调零,观察到的运行效果并加以分析,程序调试心得。3、控制两个电机的delay_nus函数的参数n有不同的组合,各种组合的运动状况填写下表。P1_1P1_0描述运动状况17001300全速,P1_1电机逆时针,P1_0电机顺时针1300170017001700130013001500170015001300130015001700150015001500两个电机都静止六、思考题1、LED闪烁的工作原理,即引脚输出高低电平信号,发光二极管会灭或者亮的原因是什么?2、LED闪烁的实验中,逐渐减小延时函数参数n的值,还能看到LED闪烁吗?为什么?3、LED闪烁的实验中,分别将开关拨到“1”与“2”,看实验现象有什么区别?分析原因。4、将电机调零的程序下载到单片机,开关拨到“2”,按“Reset”按钮,轮子仍转动,不能完全停下来,试分析有哪些原因造成的?5、编程给与P1_1连接的左轮发出脉宽为1.7ms,与P1_0连接的右轮发出脉9宽1.3ms,观察到宝贝车后退,分析是什么原因引起的?注:实验操作现场检查。实验三C语言函数与机器人巡航控制一、实验目的1、掌握对单片机编程使机器人做基本的巡航动作:向前,向后,左转,右转和原地旋转。通过测试机器人脉冲数与机器人运动距离的关系,实现机器人的精确动作。2、掌握编写程序时机器人由突然启动或停止变为逐步加速或减速运动。3、写一些执行基本巡航动作的函数,每一个函数都能够被多次调用。4、将复杂巡航运动记录在数组中,编写程序执行这些巡航运动。二、实验设备及软件宝贝车机器人、ISP下载线、串行接口、并行接口、计算机、电源。KeiluVision2IDE集成开发环境、SLISP下载软件、串口调试软件。三、实验内容和步骤1、验证教材程序ForwardLeftRightBackward.c看机器人是否向前、左转、右转及向后走。如果宝贝车向前运动的过程轻微向左或右偏移,不是一条直线。结果就是左轮与右轮程序上是以全速行驶,实际输出有速度差,要么左轮速度太慢,要么右轮速度太慢。让轮子加速不太实际,但是减小轮子的速

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功