机电传动综合实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南大学机械与运载工程学院

机电传动综合实验

专业:机械设计制造及其自动化

班级:2011级07班

姓名:梁志超

学号:20110401711

时间:2014/12/12

千年学府,百年名校

目录

前言

1.设计对象 (2)

1.1硬件介绍 (2)

1.2软件介绍 (4)

2.综合实验进行方式 (5)

3.设计任务及任务分析 (5)

4.伺服电机调零与测试 (5)

5.基本动作序列设计 (7)

5.1直走 (7)

5.2转弯 (13)

6.行走程序设计 (24)

7.程序调试 (27)

8.实验问题及分析 (27)

9.实验心得 (28)

参考资料:

【1】秦志强. 步行机器人与高级C 程序设计.

【2】秦志强. C51单片机应用与C语言程序设计. 电子工业出版社

前言

步行机器人看起来更像人类,更为有趣;他们能够为人们提供更多的娱乐价值;而且使一个具有双足的机器人成功行走也是一个更值得追寻和挑战的概念。尽管本文所要介绍的步行机器人的行走编程只是最基本、最简单的。以至于他只能在平面行走,不能帮助人们做任何事,但它确能够为你提供一个可编程双足机器人的第一个印像和概念。通过本文,你将发现给步行机器人编程是一个复杂但是很有价值的任务,通过此任务的学习和训练,你能够掌握单片机和C 语言更为高级的功能和编程技术;能够体会到机械和电气系统的相关性和依赖性,即机电一体化的基本概念;可以增强调整硬件和软件以获得预期结果的能力;以及经历一个如何一步步从基本的程序编写到完成更复杂并最终有用的程序的整个过程。

1、设计对象

本文的设计对象为步行机器人。尽管它看起

来很简单,但这种使用两个伺服电机实现两足移

动的步行机器人比两轮机器人复杂的得多。由两

个步进电机分别控制跨步和倾斜,两个伺服电机

有各自的作用,顶部的伺服电机控制机器人的重

心位置在1.5 CM的范围内摆动,而底部的伺服

电机控制机器人的前后行走。步行机器人的腿和

脚踝之间采用了一个简单的平行连接件,确保双

脚能够平行的站在地面上。两条腿都连接在同一

个电机上,所以一只脚向前移动时,另一只脚就

会向后移动。单独控制一个电动机,步行机器

人能够完成前进、后退、左转、右转等动作。综

合控制步行机器人两个伺服电机的运动,能实现更加协调、更加平稳的行走。如果你耐心调节步行机器人的硬件和软件,步行机器人可以完成轮式机器人所能完成的所有动作。步行机器人不仅比轮式机器人有趣很多,而且通过学习步行机器人行走控制,也能更加熟练的掌握控制程序的编写。步行机器人的编程将会引导你学会如何设计C语言程序,包括如何使用常量和变量、数组、程序的指针,函数以及存储数据的EEPROM(电可擦除只读存储器)。程序设计是否良好的其中一个标准是,在对一些机械装置调整后,不需重新编写整个程序,只需对程序作简单修改就能实现所要求的功能,即我们通常所说的可维护性。步行机器人的伺服电机由一个C51单片机来控制。C51单片机是工程中运用很广泛的一种芯片,它提供了较大的程序空间、存储空间供机器人使用。

1.1硬件介绍

伺服电机伺服电机被广泛运用于无线电遥控的汽车、轮船和飞机的运动方向及油门系统的控制。这些伺服电机被设计用来控制某一物体的特定位置,例如无线遥控飞机的方向舵。它们的控制范围一般从90度至270度,特别适应于要求价格低廉、精度较高、力矩较大的位置控制场合。我们利用一种信号来控制这些伺服电机的位置,我们称这种信号为脉冲序列。伺服电机内安装有一个机械限

位装置,防止电机转动超出其设定的运动范围。伺服电机内还装有一个位置反馈装置,这样伺服电机内的控制电路才能知道在响应脉冲序列时转到哪。步行机器人使用的是未经修改的伺服电机,这种伺服电机能转过的最大角度大约是270度。

从C51CPU中发送出来的一组控制伺服电机的控制信号被称为“脉冲序列”,如图所示。C51CPU能够通过编程产生这样的信号波形,而且还能用它任意的一个I/O口进行信号的输出。在下面的例子中,C51CPU向P1.0(跨步伺服电机)和P1.1(倾斜伺服电机)各发送一个1500微秒的脉冲信号。在1500微秒的高电平送出后,C51 CPU继续发送一个25毫秒的低电平给该引脚,产生一组脉冲序

列。这个脉冲序列由1500微秒的高电平和25毫秒的低电平组成。伺服电机的控制主要由1500微秒的高电平来控制,我们通常称这一段时间为脉宽。脉冲信号由低电平到高电平这一变化过程我们称为上升沿。同理,由高电平到低电平的变化我们称为下降沿。若两个伺服电机的脉冲信号高电平脉宽都保持1500微秒不变,即连个电机都保持在平衡位置,步行机器人也保持不动。不断改变其中一个伺服电机脉冲信号高电平的脉宽,该电机会做出相信的动作,脉冲信号的数量代表电机角位移量,而脉冲信号的频率代表电机的速度,脉冲信号的变化方式,即电压信号的方向代表步进电机的转动方向。伺服脉冲之间的间隔是两个伺服电机之间动作的间隔时间。我们这里所用的伺服电机,伺服脉冲之间的理想间隔时间为10—40毫秒。如果高于或者低于这个范围,将影响伺服电机的正常运行。

C51单片机本文中步行机器人所使用的单片机信号为AT89S52。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储

器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,A T89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。在实验过程中单片机的P1口控制倾斜伺服电机的动作,而P0口控制跨步伺服电机的动作。

下载器下载器的作用就是在你完成所有程序编写并编译成功之后,经由下载器下载到C51单片机中试运行,以检验自己的程序是否符合要求。

1.2软件介绍

本次实验所使用的软件主要包括有Keil uVision2和Progisp。

Keil uVision2是德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

Progisp支持所有的AVR芯片的编程,支持A T89S51,AT89S52;支持自定义并口下载编程器;支持自定义串口的下载编程器;支持自定义编程熔丝信息提示

相关文档
最新文档