单片机机器人设计 第6页

单片机机器人设计 第6页

RCX不仅可以通过红外发射仪与计算机通信,还可以通过红外收发与其它RCX通信,通过互联网通信,配合丰富多彩的乐高积木和乐高传感器或第三方的仪器设备,适合高校组建创新实验室或机器人课程,让学生们动手创造各种大型机电一体化系统,将抽象的理论知识和构思化为具体的模型。计算机高手们则试图用各种官方或非官门的语言控制RCX,如 CVBNQCJavaLegOSpbForth等。
   
作为控制模块和微型电脑,RCX可用于机器人系统模型的输入和输出控制。使用ROBOLAB软件在PC机或苹果机上编写程序,通过连接在计算机串口上的红外线发射仪将程序下载到RCXRCX即可脱离计算机,独立执行程序,控制一系列输入和输出,来响应周围环境并做出正确的动作。
   
基于计算机的数据采集。RCX不仅是机器人的大脑,还可作为一个微型便携式计算机连接各种工业传感器,可以采集、储存数据,可以实时上传数据至计算机,人们可以在计算机上进行数据采集、分析和显示。
   
乐高公司提供了多种微型电器如红外发射器,触碰传感器,马达,光电传感器等。

 

(二)、机器人的眼睛耳朵

传感器,是机器人的感觉器官,是机器人和现实世界之间的纽带,使机器人能感知周围的环境情况。其主要有:光电传感器、红外传感器、力传感器、超声波传感器、位置和姿态传感器等等。下面我将就几种常用传感器进行介绍:

1、光电传感器:光电传感器的原理是光电效应。其主要用途是颜色识别(机器人就可以沿着地上的线条行进了)和光电编码等。

2红外传感器:红外传感器是用来测量距离和感知周围情况的。因为发射出去的红外信号在一定距离内遇到物体就会反射回来。通过发送红外线信号,并接收反射回来的信号,机器人就可以感知前方或身体周围的情况,做出相应的调整(如:倒退或绕行等)。

3力传感器:力传感器是用来检测碰撞或者接触信号的,比如机械手的应用,当你放一个东西到机械手的时候,机械手自动抓住它,它就需要力传感器检测东西抓的紧不紧。典型的力传感器是微动开关和压敏传感器。微动开关其实就是一个小开关,通过调节开关上的杠杆长短,能够调节触动开关的力的大小。用来做碰撞检测这是最好不过了。但是这种传感器必须事先确定好力的阀值,也就是说只能实现硬件控制(开还控制)。而压敏传感器是能根据受力大小,自动调节输出电压或者电流,从而可以实现软件控制(闭环控制)。

4、超声波传感器:超声波传感器是从蝙蝠那里学来的,通过把发射出的信号与接收到的信号进行对比,就可以测定周围是否有障碍物,及障碍物的距离,也属于距离探测传感器,能提供交远的探测范围,而且还能提供在一个范围内的探测而不是一条线的探测。

5、位置和姿态传感器:机器人在移动或者动作的时候必须时时刻刻知道自己的姿态动作,否则就会产生控制中的一个开环问题,没有反馈,无法获知运动是否正确。 位置传感器和姿态传感器就是用来解决这个问题的。常用的有光电编码器,由于机器人的执行机构一般是电机驱动,通过计算电机转的圈数,可以得出电机带动部件的大致位置,编码器就是这样一种传感器,它一般和电机轴或者转动部件直接连接,电机或者转动部件转了多少圈或者角度能够通过编码器读出,控制软件再根据读出数据进行位置估计计算。还有一种是陀螺仪,这是利用陀螺原理制作的传感器,主要可以测得移动机器人的移动加速度,转过的角度等信息。

(三)、机器人的腿——驱动器与驱动轮

驱动器就是驱动机器人的动的部件。最常用的是电机了。当然还有液压,气动等别的驱动方式。一个机器人最主要的控制量就是控制机器人的移动,无论是自身的移动还是手臂等关节的移动,所以机器人驱动器中最根本和本质的问题就是控制电机,控制电机转的圈数,就可以控制机器人移动的距离和方向,机械手臂的弯曲的程度或者移动的距离等。所以,第一个要解决的问题就是如何让电机能根据自己的意图转动。一般来说,有专门的控制卡和控制芯片来进行控制的。有了这些控制卡和芯片,我们所要做的就是把微控制器和这些连接起来,然后就可以用程序来控制电机了。第二个问题是控制电机的速度,在机器人上的实际表现就是机器人或者手臂的实际运动速度了,机器人走的快慢全靠电机的转速,这样,我们就要求控制卡对电机有速度控制。电机目前常用的有两种,步进电机和直流电机。下面我将就这两种电机进行介绍:

1直流电机:这是最最普通的电机了。直流电机最大的问题是你没法精确控制电机转的圈数,也就前面所说的位置控制。你必须加上一个编码盘,来进行反馈,来获得实际转的圈数。但是直流电机的速度控制相对就比较简单,用一种叫PWM(脉宽调速)的调速方法可以很轻松的调节电机速度。现在也有很多控制芯片带调速功能的。选购时要考虑的参数是电机的输出力矩,电机的功率,电机的最高转速。

    2步进电机:看名字就知道了,它是一步一步前进的。也就是说,它可以一个角度一个角度旋转,不象直流电机,你可以很轻松的调节步进电机的转角位置,如果你发一个转10圈的指令,步进电机就不会转11圈,但是如果是直流电机,由于惯性作用,它可能转11圈半。步进电机的调速是通过控制电机的频率来获得的。一般控制信号频率越高,电机转的越快,频率越低,转的越慢。选购时要考虑的参数是电机的输出力矩,电机的功率,每个脉冲电机的最小转角。

    还有就是关于输出的动力,要说明一下:一般情况下,电机都没法直接带动轮子或者手臂,因为速度过高力矩不够大,所以我们需要加上一个减速箱来增加电机的输出力矩,但是代价是电机速度的减小,比如一个1250的齿轮箱,会让你电机的输出力矩增大250倍,但是速度只有原来的1/250了。首先计算出机器人所需要的速度与力矩大小,然后根据速度与力矩去选择电机与减速器。

(四)、机器人的手臂——机械传动专制

机械传动专制就是,由电机驱动的一些杆件和机构(如:凸轮机构、螺杆机构等),用以实现机械手臂的上升、下降、伸缩、弯曲等动作。通常运用的机构有四杆机构、凸轮机构、螺杆机构、摇臂等。

(五)、机器人的心脏——电池

电池为机器人的控制系统与驱动系统提供能源供应。主要有:电瓶及可充电电池、电池。

前面介绍了机器人的一些基本知识,但这是远远不够的。机器人学科,是在多学科基础上发展起来的综合性技术。机器人技术涉及机械、电子、计算机、语言学和人工智能等许多学科。现在机器人已经应用在人类社会生活的各个领域,发挥着越来越重要的影响。

我利用暑假的时间设计了一个六足爬虫机器人,用日立(HITACHI)的录像机遥控器来对它进行控制。基本原理是:遥控器发出红外学号,机器人通过红外接收器接收倒红外信号后,对信号进行解码,并以存储的代码进行比较,确定指令的含义,后可以实现前进、后退、左转、右转及发声等功能。控制系统我使用的是AT89S51单片机,编程语言使用的是汇编语言,动力系统使用的是微型伺服马达,能源系统使用的是9V电池。下面我将就具体设计进行介绍。

 

 

一、AT89S51单片机简介

AT89S51 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,其内部程序代码容量为4KB

 

(一)、AT89S51主要功能列举如下:

1、为一般控制应用的 8 位单芯片

2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz

3、内部程式存储器(ROM)为 4KB

4、内部数据存储器(RAM)为 128B

5、外部程序存储器可扩充至 64KB

6、外部数据存储器可扩充至 64KB

732 条双向输入输出线,且每条均可以单独做 I/O 的控制

85 个中断向量源

92 组独立的 16 位定时器

101 个全多工串行通信端口

118751 8752 单芯片具有数据保密的功能

12、单芯片提供位逻辑运算指令

 

(二)、AT89S51各引脚功能介绍:

VCC:若图片无法显示请联系QQ3249114,本论文免费,转发请注明源于www.751com.cn

AT89S51 电源正端输入,接+5V

VSS

电源地端。

XTAL1

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有