智能机器人跨专业公选实验.docx
- 文档编号:30054416
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:63
- 大小:734.91KB
智能机器人跨专业公选实验.docx
《智能机器人跨专业公选实验.docx》由会员分享,可在线阅读,更多相关《智能机器人跨专业公选实验.docx(63页珍藏版)》请在冰豆网上搜索。
智能机器人跨专业公选实验
智能机器人跨专业公选实验
实验指导书
范守文吴献钢袁太文陈畅
电子科技大学机械电子工程学院
2005年9月
机器人自己做,也许你从小有这样的一个梦,在这里,我们让你梦想成真!
第一篇机器人控制电路基础
一、复位电路
任何单片机在工作之前都要有个复位的过程,复位是什么意思呢?
它就象是我们上课之前打的预备铃。
预备铃一响,大家就自动地从操场、其它地方进入教室了,在这一段时间里,是没有老师干预的,对单片机来说,是程序还没有开始执行,是在做准备工作。
显然,准备工作不需要太长的时间,复位只需要5ms的时间就可以了。
如何进行复位呢?
只要在单片机的RST引脚上加上高电平,就可以了,按上面所说,时间不少于5ms。
为了达到这个要求,可以用很多种方法,这里提供一种供参考,见图1。
这种复位电路的工作原理是:
通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。
二、晶振电路
单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶振,电容,连上就可以了,按图2接上即可。
三、机器人驱动芯片AS611
图3是机器人驱动芯片AS611与51单片机连接的电路原理图
AS611内部包含4通道逻辑驱动电路,其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V;Vs电压最大值也是36V。
下表是其使能、输入引脚和输出引脚的逻辑关系(电路按图3连接):
ENA(B)
IN1(IN3)
IN2(IN4)
电机运行情况
H
H
L
正转
H
L
H
反转
H
同IN2(IN4)
同IN1(IN3)
快速停止
L
X
X
停止
四、74LS21四输入与门
74LS21四输入与门引脚如图4所示。
五、LM324四运放集成电路
LM324是四运放集成电路,它采用14脚双列直插塑料封装。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。
每一组运算放大器可用图5a所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
LM324的引脚排列见图5b。
由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。
当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态),理论上认为运放的开环放大倍数也为无穷大。
此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地)。
当正输入端电压高于负输入端电压时,运放输出低电平。
六、碰撞开关
碰撞开关引脚与尺寸如图6所示。
引脚1为信号输出脚,引脚2接地,引脚3接+5V。
七、红外发射管
红外发射管发出的光是不可见的,它发出的峰值波长在900nm左右,属于红外波段,由于一般半导体硅光敏器件的峰值波长在900nm左右,因此可以方便地构筑红外传感系统。
智能机器人实验中使用的红外发射管波长为880nm,其电路符号及外形如图7所示。
红外发射管的主要优点是:
体积小、寿命长、功耗小、响应速度快(可以调制到几十兆赫)等,因此在光电控制中被大量采用。
其主要缺点是:
有方向性、易受环境温度影响等。
红外发射管工作在正向电压下,其正向特征与普通二极管一样。
对它施加几伏正向电压后,就会发出不可见的红外光,光敏元件接收到此红外光后,就会输出相应的信号。
由于红外发射管在正向电流下工作,因此发光强度随正向电流的增加而增加,因此调整流过红外发射管的正向电流,便可以调整输出光功率(即发光强度),对应地达到调整有效检测距离的目的。
八、红外接收头
红外接收头引脚与尺寸如图8所示。
引脚1为信号输出脚,引脚2接地,引脚3接+5V。
当接收到红外信号时,其信号输出脚输出为低电平。
九、红外传感器测障原理
红外传感系统依靠发射并接收由障碍物反射回来的红外光来判断是否有障碍物。
如图9所示,红外光以60°的散射角向外发射,阴影区域分别是左右两个红外发射管的反射区域,而红外接收模块正好处于左右两个反射区域内,能接收到左右两个红外发射管的反射光,从而可以判定前方、左边、右边有无障碍物。
十、机器人控制板的电源
机器人控制板的电源部分分两路,一路直接由充电电池提供,主要是提供给电机使用,另一路通过三端稳压芯片LM7805稳压成5伏直流电源提供给单片机系统使用,右边两个电容是5伏电源的滤波电容,电阻和发光二极管组成5伏电源的工作指示电路,只要电源部分正常,发光二极管组就会点亮,我们可以根据这个发光二极管组来判断整个电源部分是否工作正常,左侧的开关是整个机器人控制系统电源的总开关。
第二篇机器人控制软件基础
一、中断服务程序
有关中断的概念
什么是中断,我们从一个生活中的例子引入。
你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。
这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。
仔细研究一下生活中的中断,对于我们学习单片机的中断也很有好处。
第一、什么可经引起中断,生活中很多事件可以引起中断:
有人按了门铃了,电话铃响了,你的闹钟闹响了,你烧的水开了….等等诸如此类的事件,我们把可以引起中断的称之为中断源,单片机中也有一些可以引起中断的事件,8031中一共有5个:
两个外部中断,两个计数/定时器中断,一个串行口中断。
第二、中断的嵌套与优先级处理:
设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?
如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。
如果不是这两者(即不等电话,也不是等人上门),你可能会按你通常的习惯去处理。
总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。
优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。
考虑一下我们会怎么办吧。
第三、中断的响应过程:
当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要回来继续看书):
电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的。
计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。
具体地说,中断响应可以分为以下几个步骤:
1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。
2、寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。
以上工作是由计算机自动完成的,与编程者无关。
在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。
3、执行中断处理程序。
4、中断返回:
执行完中断指令后,就从中断处返回到主程序,继续执行。
究竟单片机是怎么样找到中断程序所在位置。
中断请求源:
1.外中断请求源:
即外中断0和1,经由外部引脚引入的,在单片机上有两个引脚,名称为INT0、INT1,也就是P3.2、P3.3这两个引脚。
在内部的TCON中有四位是与外中断有关的。
IT0:
INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。
IE0:
INT0中断请求标志位。
当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。
IT1、IE1的用途和IT0、IE0相同。
2.内部中断请求源TF0:
定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。
当CPU响应中断后,再由硬件将TF0清0。
TF1:
与TF0类似。
TI、RI:
串行口发送、接收中断。
中断允许寄存器IE在MCS-51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来控制的。
EA是总开关,如果它等于0,则所有中断都不允许。
ES-串行口中断允许
ET1-定时器1中断允许
EX1-外中断1中断允许。
ET0-定时器0中断允许
EX0-外中断0中断允许。
我们也可以用位操作指令
SETBEA
SETBET1
SETBEX1
来实现它。
五个中断源的自然优先级与中断服务入口地址
外中断0:
0003H
定时器0:
000BH
外中断1:
0013H
定时器1:
001BH
串口:
0023H
它们的自然优先级由高到低排列。
写到这里,大家应当明白,为什么前面有一些程序一始我们这样写:
ORG0000H
LJMPSTART
ORG0030H
START:
…
这样写的目的,就是为了让出中断源所占用的向量地址。
二、按键接口与编程
按键是单片机最常用的输入设备,用户可以通过按键向计算机输入指令、地址和数据,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。
按键开关的抖动问题
组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。
在图11中,当按键未被按下时,P1.0输入为高电平,当按键闭合后,P1.0输入为低电平。
由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1.0输入端的波形如图12所示。
这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。
前面我们讲到中断时曾有个问题,就是说按键有时灵,有时不灵,其实就是这个原因,你只按了一次按键,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。
为使CPU能正确地读出P1口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动。
单片机中常用软件法,软件法其实很简单,就是在单片机获得P1.0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1.0口,如果仍为低,说明S1的确按下了,这实际上是避开了按键按下时的抖动时间。
而在检测到按键释放后(P1.0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。
不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。
当然,实际应用中,对按键的要求也是千差万别,要根据不同的需要来编制处理程序,但以上是消除键抖动的原则。
按键编程方法示例(通过按键控制小车前进、后退、左转、右转)
ORG0000h
AJMPL1
ORG0100h
L1:
MOVA,P1
JNBACC.0,L2
JNBACC.1,L3
JNBACC.2,L4
JNBACC.3,L5
MOVA,#0h;停止
MOVP2,A
AJMPL1
L2:
ACALLDELY10ms
MOVA,P1
JBACC.0,L1
MOVA,#27h;前进
MOVP2,A
AJMPL1
L3:
ACALLDELY10ms
MOVA,P1
JBACC.1,L1
MOVA,#1bh;后退
MOVP2,A
AJMPL1
L4:
ACALLDELY10ms
MOVA,P1
JBACC.2,L1
MOVA,#17h;左转
MOVP2,A
AJMPL1
L5:
ACALLDELY10ms
MOVA,P1
JBACC.3,L1
MOVA,#2bh;右转
MOVP2,A
AJMPL1
DELY10ms:
MOVR6,#50;12M晶振,延时10ms
DL1:
MOVR5,#100
DL2:
DJNZR5,DL2
DJNZR6,DL1
RET
END
第三篇机器人机械结构
一、机器人中的电机
电机在机器人驱动中起着重要的作用。
直流电机的作用原理是建立在电与磁的相互转化和相互作用的基础上的。
它主要由定子和转子两大部分组成。
定子上有励磁绕组,由它产生磁场。
转子与机械负载相联,上面安装有电枢绕组,并通过电刷与直流电源联接,电枢绕组上的电压称为电枢电压。
电枢中由于电刷的作用,被通以交变的电流,使转子在磁场中连续相对运动,输出物理量转速和转矩。
由此,转子便带动机械负载(如智能机器人中的主动轮)运动。
图13为直流电机的电流、功率、效率与转速的关系图。
T为转矩,n为转速,P为功率。
当电机无负载时转速最快,转矩越大转速越小;功率则是随转矩的增大而增大,当功率达到最大值后,功率则是随转矩的增大而减小;电流随转矩的增大而增大;效率则先增大,当达到最大值时又随之减小。
直流电机在一定的电枢电压下,转速与转矩成反比。
如果改变电压,则转矩/转速线随着电压的升降而升降(如图14)。
在智能机器人负载一定时(即转矩一定时),提高电压,即电压由u1到u2,对应的转速为n1和n2,可见,n1 所以只要改变直流电机电枢电压的大小,就可以实现直流电机的调速。 直流电机能调速,这点对于控制机器人的运动构件非常重要,因为只有当电机的转动能被控制成时快、时慢、时正、时反时,机器人才可能按照所设计的运动规律来动作。 智能机器人采用的是改变电机电枢电压的方式来改变直流电机的转速,这种方式只是直流电机调速方式之一,有关详细资料可参考有关资料。 提供给电机的信号是方波,不同的方波,它的平均电压不同如图15所示,u1 进而调节电机的转速,这就是脉宽调制技术(PWM,PulseWidthModulation)。 二、机器人的传动系统 机器人的运动由两个主动轮的运动来完成,而它们分别由两套完全一样的驱动装置来分别带动两个驱动轮。 在机器人的驱动装置中,减速器是主要的机械部件,它构成了机器人的传动系统,下面对减速器进行介绍。 1、齿轮 齿轮机构是现在机械中应用最为广泛的一种传动机构。 他可以用来传递空间任意两轴间的运动和力,而且传动准确、平稳、机械效率高,使用寿命长和工作安全可靠。 1)齿轮各部分的名称 齿轮上每个凸起部分称为齿,齿轮的齿数用z表示。 其他参数为: (1)齿顶圆过所有齿轮顶端的圆称为齿顶圆,用半径ra表示,直径用da表示。 分度圆和齿轮圆之间的径向距离称为齿顶高,用ha表示。 (2)齿根圆过所有齿槽底部的圆称为齿根圆,用半径rf表示,直径用df表示。 分度圆和齿根圆之间的径向距离称为齿根高,用hf表示。 (3)分度圆齿顶圆和齿根圆之间的一个特殊定圆,用半径r表示,直径用d表示。 (4)全齿高齿顶圆与齿根圆之间的径向距离称为全齿高,用半径h表示,h=ha+hf。 (5)基圆产生渐开线的圆称为基圆,用半径rb表示,直径用db表示。 (6) 齿厚每个齿轮上的圆周弧长称为齿厚。 在半径为rk的圆周上度量的弧长称为该半径上的齿厚,用sk表示。 在分度圆上度量弧长称为分度圆槽宽,用e表示。 (7)槽宽两个齿间齿槽上的圆周弧长称为槽宽。 在半径为rk的圆周上度量的弧长称为该半径上的槽宽,用ek表示。 在分度圆上度量弧长称为分度圆齿厚,用S表示。 (8)齿距相邻两个齿轮同侧齿廓之间的圆周弧长称为齿距。 在半径为rk的圆周上度量的弧长称为该半径的齿距,用pk表示,显然pk=sk+ek。 在分度圆上度量的弧长称为分度圆齿距,用p=s+e表示。 在基圆上度量的弧长称为基圆齿距,用pb表示,pb=sb+eb,sb和eb是基圆上的齿厚与槽宽。 (9)法向齿距相邻两个齿轮同侧齿廓之间在法线方向上的距离称为法向齿距,用pn表示。 由渐开线性质可知: pn=pb。 (10)中心距中心距是指相互啮合的一对齿轮,两齿轮的圆心之间的距离,用a表示,a=r1+r2。 如图17所示。 2)基本参数 为了计算齿轮各部分几何尺寸,需要规定若干基本参数,对于标准齿轮而言,有以下5个基本参数: (1)齿数z (2)分度圆模数m分度圆周长=πd=zp,于是可得: d=zp/π由于π是无理数,分度圆的直径也将为无理数,用一个无理数的尺寸作为设计标准,对设计是很不利的。 为了方便设计、加工和检验,人为地把分度圆齿距与π的比值用m表示,并取其为一理数列,即: p/π=mm称为分度圆模数,也简称为模数,单位为mm。 分度圆直径d=mz,分度圆齿距p=πm。 (3)分度圆压力角α过分度圆与渐开线交点作基圆切线得切点N,该交点与中心O的连线与NO线之间的夹角用α表示,其大小等于渐开线在分度圆圆周上压力角的大小。 为方便起见,往往用这个中心角表示分度圆压力角。 我过规定分度圆压力角标准值一般为20°。 在某些装置中,也有用分度圆压力角为14.5°、15°、22.5°、和25°等的齿轮。 至此,我们可以给分度圆下一个完整的定义: 分度圆就是齿轮中具有标准模数和标准压力角的圆。 (4)齿顶高系数ha*齿顶高ha用齿顶高系数ha*与模数的乘积表示,ha=ha*m (5)顶隙系数c*齿根高hf用齿顶高系数ha*与顶隙系数c*之和乘以模数表示,hf=(ha*+c*)m。 我国定了齿顶高系数和顶隙系数的标准值: 正常齿制 (1)当m≥1mm时,ha*=1,c*=0.25 (2)当m<1mm时,ha*=1,c*=0.35 短齿制ha*=0.8,c*=0.3 3)渐开线标准直齿轮的几何尺寸和基本参数的关系 渐开线标准直齿轮除了基本参数是标准值外,还有两个特征: (1)分度圆齿厚与槽宽相等,即s=e=p/2=πm/2 (2)具有标准的齿顶高和齿根高,即ha=ha*mhf=(ha*+c*)m 不具备上述特征的称为非标准齿轮。 2、减速器 减速器是指原动机与工作机之间独立的闭式传动装置,用来降低转速和相应的增大转距。 此外,在某些场合,用来增速的。 并名为增速器。 减速器的种类很多,常用的减速器有齿轮及蜗杆减速器。 按其传动和机构的特点,大致可以分为三类: 1)齿轮减速器2)蜗杆减速器3)行星减速器。 这里仅讨论齿轮减速器,按其减速齿轮的级数可以分为一级、二级、三级及多级,如图所示: 按其轴在空间的相互配置可以分为立式和卧式;按其运动简图的特点可以分为展式、同轴式和分流式等。 我国已将减速器系列化了,而且指定了某些类型减速器的标准系列。 在指定标准系列时,对减速器的主要参数,如中心距,模数,齿宽系数及传动比等,还做了一系列的规定。 在计算时须将数值转换成与其相近的标准值。 现将减速器的常用参数计算公式列表如下: 类型 中心距符号 总中心距 传动比符号 总传动比 一级 a a∑=a=1/2(d2+d1) i i=z从/z主 二级 高速级af a∑=af+as 高速级if i=if*is 低速级as 低速级is 三级 高速级af a∑=af+am+as 高速级if i=if*im*is 中速级am 中速级im 低速级as 低速级is 减速器的每级有两个齿轮相互啮合传递动力,小齿轮为主动轮(Z1),大齿轮为从动轮(Z2),小齿轮转一周而大齿轮则转不到一周,故而减速(反之,便为增速)。 二、机器人的总体结构 机器人由机器人小车、手臂、手爪等部分组成,机器人小车、手臂、手爪通过螺纹连接件连接装配在一起。 机器人总体三维结构如图19所示,零件之间的三维装配关系如图20所示,手臂和手爪通过电机带动拉绳来驱动。 电机停止工作时,在弹簧或橡皮筋的拉动下,手臂和手爪将会回复原位。 以上机器人手臂和手爪的总体结构图仅供同学们参考,同学们可以自己创意设计自己的机器人手臂和手爪的结构。 三、机器人的手臂结构 (若干零件图,用AutoCAD软件绘制) 四、机器人的手爪结构 (若干零件图,用AutoCAD软件绘制) 第四篇机器人实验 实验一基础实验 按照图21的电路图连接各电子元器件,控制板上元器件参考布局如图22所示。 上电之前请按照以下步骤做好电路检查工作: 1)确保电源正负极之间没有短路(一定要慎重! ) 2)确保AT89C51芯片、AS611芯片相邻引脚之间没有短接。 3)AT89C51芯片的引脚20与电源负极相连,AT89C51芯片的引脚31、40与电源正极相连。 4)AS611芯片的引脚4、5、12、13与电源负极相连,AS611芯片的引脚8、16与电源正极相连。 5)复位电路、晶振电路按照电路图正确连接。 6)AT89C51芯片的引脚21、22、23、24分别与第一块AS611芯片的引脚2、7、10、15相连,AT89C51芯片的引脚25、26、27、28分别与第二块AS611芯片的引脚2、7、10、15相连。 输入以下的汇编程序,编译后将十六进制代码程序烧写进AT89C51芯片,在电路检查正确的前提下,可以尝试着上电,观察运行结果。 如果电机不动,请立即断电。 再做进一步的检查或者请求教师帮助。 ORG0000h AJMPMAIN ORG0100h MAIN: MOVA,#09h;二进制数00001001b小车右转 MOVP2,A ACALLDELY MOVA,#06h;二进制数00000110b小车左转 MOVP2,A ACALLDELY MOVA,#05h;二进制数00000101b小车后退 MOVP2,A ACALLDELY MOVA,#0ah;二进制数00001010b小车前进 MOVP2,A ACALLDELY MOVA,#20h;二进制数00100000b手臂前进 MOVP2,A ACALLDELY MOVA,#10h;二进制数00010000b手臂后退 MOVP2,A ACALLDELY MOVA,#80h;二进制数10000000b手爪松开 MOVP2,A ACALLDELY MOVA,#40h;二进制数01000000b手爪夹紧 MOVP2,A ACALLDELY MOVA,#0h;所有电机停 MOVP2,A SJMPMAIN DELY: MOVR7,#100;12M晶振,延时2秒 DLY0: MOVR6,#100 DLY1: MOVR5,#100 DLY2: DJNZR5,DLY2 DJNZR6,DLY1 DJNZR7,DLY0 RET END 以下是用单片机C语言编写的运动控制程序,其运动控制功能与上面的汇编语言程序相同。 #include #defineCOUNT0197 #defineCOUNT1100 unsignedcharbdatamotorctrl; /*底盘两个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 机器人 专业 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)