智能机器人跨专业公选实验_第1页
智能机器人跨专业公选实验_第2页
智能机器人跨专业公选实验_第3页
智能机器人跨专业公选实验_第4页
智能机器人跨专业公选实验_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能机器人跨专专业公选实验验实验指导书范守文 吴献钢钢 袁太文 陈畅电子科技大学机机械电子工程程学院2005年9月月机器人自己做,也也许你从小有有这样的一个个梦,在这里里,我们让你你梦想成真!第一篇 机器器人控制电路路基础图1 复位电路一、复位电路图1 复位电路任何单片机在工工作之前都要要有个复位的的过程,复位位是什么意思思呢?它就象象是我们上课课之前打的预预备铃。预备备铃一响,大大家就自动地地从操场、其其它地方进入入教室了,在在这一段时间间里,是没有有老师干预的的,对单片机机来说,是程程序还没有开开始执行,是是在做准备工工作。显然,准准备工作不需需要太长的时时间,复位只只需要5mss的时间就

2、可可以了。如何何进行复位呢呢?只要在单单片机的RSST引脚上加加上高电平,就就可以了,按按上面所说,时时间不少于55ms。为了了达到这个要要求,可以用用很多种方法法,这里提供供一种供参考考,见图1。图2 晶振电路这种复位电路的的工作原理是是:通电时,电电容两端相当当于是短路,于于是RST引脚上上为高电平,然然后电源通过过电阻对电容容充电,RSST端电压慢慢慢下降,降降到一定程序序,即为低电电平,单片机机开始正常工图2 晶振电路二、晶振电路图3 机器人驱动芯片AS611单片机是一种时时序电路,必必须提供脉冲冲信号才能正正常工作,在在单片机内部部已集成了振振荡器,使用用晶体振荡器器,接18、119

3、脚。只要要买来晶振,电电容,连上就就可以了,按按图2接上即可。图3 机器人驱动芯片AS611三、机器人驱动动芯片AS6611图3是机器人驱驱动芯片ASS611与551单片机连连接的电路原原理图AS611内部部包含4通道道逻辑驱动电电路,其额定工作作电流为1AA,最大可达达1.5A,VVss电压最最小4.5VV,最大可达达36V;VVs电压最大大值也是366V。下表是是其使能、输输入引脚和输输出引脚的逻逻辑关系(电电路按图3连接):EN A(B)IN1(IN33)IN2(IN44)电机运行情况HHL正转HLH反转H同IN2(INN4)同IN1(INN3)快速停止LXX停止四、74LS221四输入

4、与与门图4 74LS21四输入与门引脚图74LS21四四输入与门引引脚如图4所所示。图4 74LS21四输入与门引脚图五、LM3244四运放集成成电路图5 LM324四运放的组成与引脚图LM324是四四运放集成电电路,它采用用14脚双列列直插塑料封封装。它的内内部包含四组组形式完全相相同的运算放放大器,除电电源共用外,四四组运放相互互独立。图5 LM324四运放的组成与引脚图每一组运算放大大器可用图55a所示的符符号来表示,它它有5个引出出脚,其中“+”、“-”为两个信号号输入端,“V+”、“V-”为正、负电电源端,“Vo”为输出端。两两个信号输入入端中,Vii-(-)为为反相输入端端,表示运

5、放放输出端Voo的信号与该该输入端的相相位相反;VVi+(+)为为同相输入端端,表示运放放输出端Voo的信号与该该输入端的相相位相同。LLM324的的引脚排列见见图5b。图6 碰撞开关引脚与尺寸图123由于LM3244四运放电路路具有电源电电压范围宽,静静态功耗小,可可单电源使用用,价格低廉廉等优点,因因此被广泛应图6 碰撞开关引脚与尺寸图123当去掉运放的反反馈电阻时,或者说反馈馈电阻趋于无无穷大时(即即开环状态),理论上认认为运放的开开环放大倍数数也为无穷大大。此时运放放便形成一个个电压比较器器,其输出如如不是高电平平(V+),就就是低电平(VV-或接地)。当当正输入端电电压高于负输输入端

6、电压时时,运放输出出低电平。六、碰撞开关 碰撞开开关引脚与尺尺寸如图6所所示。引脚11为信号输出出脚,引脚22接地,引脚脚3接+5VV。七、红外发射管管图8 红外接收头引脚与尺寸图图7 红外发射管外形与电路符号红外发射管发出出的光是不可可见的,它发发出的峰值波波长在9000nm左右,属属于红外波段段,由于一般般半导体硅光光敏器件的峰峰值波长在9900nm左左右,因此可可以方便地构构筑红外传感感系统。智能能机器人实验验中使用的红红外发射管波波长为8800nm,其电电路符号及外外形如图7图8 红外接收头引脚与尺寸图图7 红外发射管外形与电路符号图9 红外传感器测障原理红外发射管的主主要优点是:体积

7、小、寿寿命长、功耗耗小、响应速速度快(可以以调制到几十十兆赫)等,因因此在光电控控制中被大量量采用。其主主要缺点是:有方向性、易易受环境温度度影响等。图9 红外传感器测障原理红外发射管工作作在正向电压压下,其正向向特征与普通通二极管一样样。对它施加加几伏正向电电压后,就会会发出不可见见的红外光,光光敏元件接收收到此红外光光后,就会输输出相应的信信号。由于红红外发射管在在正向电流下下工作,因此此发光强度随随正向电流的的增加而增加加,因此调整整流过红外发发射管的正向向电流,便可可以调整输出出光功率(即即发光强度),对对应地达到调调整有效检测测距离的目的的。八、红外接收头头红外接收头引脚脚与尺寸如图

8、图8所示。引引脚1为信号号输出脚,引引脚2接地,引引脚3接+55V。当接收收到红外信号号时,其信号号输出脚输出出为低电平。九、红外传感器器测障原理红外传感系统依依靠发射并接接收由障碍物物反射回来的的红外光来判判断是否有障障碍物。如图图9所示,红红外光以600的散射角向向外发射,阴阴影区域分别别是左右两个个红外发射管管的反射区域域,而红外接接收模块正好好处于左右两两个反射区域域内,能接收收到左右两个个红外发射管管的反射光,从从而可以判定定前方、左边边、右边有无无障碍物。图10 机器人控制板的电源十、机器人控制制板的电源图10 机器人控制板的电源机器人控制板的的电源部分分分两路,一路路直接由充电电

9、电池提供,主主要是提供给给电机使用,另另一路通过三三端稳压芯片片LM78005稳压成55伏直流电源源提供给单片片机系统使用用,右边两个个电容是5伏伏电源的滤波波电容,电阻阻和发光二极极管组成5伏伏电源的工作作指示电路,只只要电源部分分正常,发光光二极管组就就会点亮,我我们可以根据据这个发光二二极管组来判判断整个电源源部分是否工工作正常,左左侧的开关是是整个机器人人控制系统电电源的总开关关。第二篇 机器器人控制软件件基础一、中断服务程程序有关中断的概念念什么是中断,我我们从一个生生活中的例子子引入。你正正在家中看书书,突然电话话铃响了,你你放下书本,去去接电话,和和来电话的人人交谈,然后后放下电

10、话,回回来继续看你你的书。这就就是生活中的的“中断”的现象,就就是正常的工工作过程被外外部的事件打打断了。仔细细研究一下生生活中的中断断,对于我们们学习单片机机的中断也很很有好处。第一、什么可经经引起中断,生生活中很多事事件可以引起起中断:有人人按了门铃了了,电话铃响响了,你的闹闹钟闹响了,你你烧的水开了了.等等诸如如此类的事件件,我们把可可以引起中断断的称之为中中断源,单片片机中也有一一些可以引起起中断的事件件,80311中一共有55个:两个外外部中断,两两个计数/定定时器中断,一一个串行口中中断。第二、中断的嵌嵌套与优先级级处理:设想想一下,我们们正在看书,电电话铃响了,同同时又有人按按了

11、门铃,你你该先做那样样呢?如果你你正是在等一一个很重要的的电话,你一一般不会去理理会门铃的,而而反之,你正正在等一个重重要的客人,则则可能就不会会去理会电话话了。如果不不是这两者(即即不等电话,也也不是等人上上门),你可可能会按你通通常的习惯去去处理。总之之这里存在一一个优先级的的问题,单片片机中也是如如此,也有优优先级的问题题。优先级的的问题不仅仅仅发生在两个个中断同时产产生的情况,也也发生在一个个中断已产生生,又有一个个中断产生的的情况,比如如你正接电话话,有人按门门铃的情况,或或你正开门与与人交谈,又又有电话响了了情况。考虑虑一下我们会会怎么办吧。第三、中断的响响应过程:当当有事件产生生

12、,进入中断断之前我们必必须先记住现现在看书的第第几页了,或或拿一个书签签放在当前页页的位置,然然后去处理不不同的事情(因因为处理完了了,我们还要要回来继续看看书):电话话铃响我们要要到放电话的的地方去,门门铃响我们要要到门那边去去,也说是不不同的中断,我我们要在不同同的地点处理理,而这个地地点通常还是是固定的。计计算机中也是是采用的这种种方法,五个个中断源,每每个中断产生生后都到一个个固定的地方方去找处理这这个中断的程程序,当然在在去之前首先先要保存下面面将执行的指指令的地址,以以便处理完中中断后回到原原来的地方继继续往下执行行程序。具体体地说,中断断响应可以分分为以下几个个步骤:保护断点,即

13、保保存下一将要要执行的指令令的地址,就就是把这个地地址送入堆栈栈。寻找中断入口,根根据5个不同同的中断源所所产生的中断断,查找5个个不同的入口口地址。以上上工作是由计计算机自动完完成的,与编编程者无关。在在这5个入口口地址处存放放有中断处理理程序(这是是程序编写时时放在那儿的的,如果没把把中断程序放放在那儿,就就错了,中断断程序就不能能被执行到)。执行中断处理程程序。中断返回:执行行完中断指令令后,就从中中断处返回到到主程序,继继续执行。究究竟单片机是是怎么样找到到中断程序所所在位置。中断请求源:外中断请求源:即外中断00和1,经由由外部引脚引引入的,在单单片机上有两两个引脚,名名称为INTT

14、0、INTT1,也就是是P3.2、PP3.3这两两个引脚。在在内部的TCCON中有四四位是与外中中断有关的。IIT0:INNT0触发方方式控制位,可可由软件进和和置位和复位位,IT0=0,INTT0为低电平平触发方式,IIT0=1,IINT0为负负跳变触发方方式。IE00:INT00中断请求标标志位。当有有外部的中断断请求时,这这位就会置11(这由硬件件来完成),在在CPU响应应中断后,由由硬件将IEE0清0。IIT1、IEE1的用途和和IT0、IIE0相同。内部中断请求源源TF0:定定时器T0的的溢出中断标标记,当T00计数产生溢溢出时,由硬硬件置位TFF0。当CPPU响应中断断后,再由硬硬

15、件将TF00清0。TFF1:与TFF0类似。TTI、RI:串行口发送送、接收中断断。中断允许寄存器器IE 在MMCS511中断系统中中,中断的允允许或禁止是是由片内可进进行位寻址的的8位中断允允许寄存器IIE来控制的的。EA是总开关,如如果它等于00,则所有中中断都不允许许。ES 串行口口中断允许ET1定时器器1中断允许许EX1外中断断1中断允许许。ET0定时器器0中断允许许EX0外中断断0中断允许许。我们也可以用位位操作指令SETB EAASETB ETT1SETB EXX1来实现它。五个中断源的自自然优先级与与中断服务入入口地址外中断0:00003H定时器0:0000BH外中断1:0001

16、3H定时器1:0001BH串口 :00023H它们的自然优先先级由高到低低排列。写到到这里,大家家应当明白,为为什么前面有有一些程序一一始我们这样样写:ORG 00000HLJMP STTARTORG 00330HSTART:这样写的目的,就就是为了让出出中断源所占占用的向量地地址。图11 按键接口电路图12 按键的抖动波形二、按键接口与图11 按键接口电路图12 按键的抖动波形按键是单片机最最常用的输入入设备,用户户可以通过按按键向计算机机输入指令、地地址和数据,它它具有结构简简单,使用灵灵活等特点,因因此被广泛应应用于单片机机系统。按键开关的抖动动问题 组成键盘的按键键有触点式和和非触点式

17、两两种,单片机机中应用的一一般是由机械械触点构成的的。在图111中,当按键键未被按下时时,P1.00输入为高电电平,当按键键闭合后,PP1.0输入入为低电平。由由于按键是机机械触点,当当机械触点断断开、闭合时时,会有抖动动动,P1.0输入端的的波形如图112所示。这这种抖动对于于人来说是感感觉不到的,但但对计算机来来说,则是完完全可以感应应到的,因为为计算机处理理的速度是在在微秒级,而而机械抖动的的时间至少是是毫秒级,对对计算机而言言,这已是一一个“漫长”的时间了。前前面我们讲到到中断时曾有有个问题,就就是说按键有有时灵,有时时不灵,其实实就是这个原原因,你只按按了一次按键键,可是计算算机却已

18、执行行了多次中断断的过程,如如果执行的次次数正好是奇奇数次,那么么结果正如你你所料,如果果执行的次数数是偶数次,那那就不对了。为使CPU能正正确地读出PP1口的状态态,对每一次次按键只作一一次响应,就就必须考虑如如何去除抖动动。单片机中中常用软件法法,软件法其其实很简单,就就是在单片机机获得P1.0口为低的的信息后,不不是立即认定定S1已被按按下,而是延延时10毫秒秒或更长一些些时间后再次次检测P1.0口,如果果仍为低,说说明S1的确确按下了,这这实际上是避避开了按键按按下时的抖动动时间。而在在检测到按键键释放后(PP1.0为高高)再延时55-10个毫毫秒,消除后后沿的抖动,然然后再对键值值处

19、理。不过过一般情况下下,我们通常常不对按键释释放的后沿进进行处理,实实践证明,也也能满足一定定的要求。当当然,实际应应用中,对按按键的要求也也是千差万别别,要根据不不同的需要来来编制处理程程序,但以上上是消除键抖抖动的原则。按键编程方法示示例(通过按按键控制小车车前进、后退退、左转、右右转)ORG 00000hAJMP LL1ORG 00100hL1:MOVV A,P1JNB ACC.00,L2JNB ACC.11,L3JNB ACC.22,L4JNB ACC.33,L5 MOVV A,#0h ;停停止 MOVV P22,AAJMP L1L2:ACAALL DEELY10mms MOVV A,

20、P1JB ACC.00,L1 MOVV A,#27h ;前进 MOVV P22,A AJMMP L11L3:ACAALL DEELY10mmsMOV AA,P1 JB ACC.1,L1 MOVV A,#1bh ;后退 MOVV P22,A AJMMP L11L4:ACAALL DEELY10mmsMOV AA,P1 JB ACC.22,L1 MOVV A,#17h ;左转 MOVV P22,A AJMMP L11L5:ACAALL DEELY10mms MOVV A,P1JB ACC.33,L1 MOVV A,#2bh ;右转 MOVV P22,A AJMMP L11 DELY10mms: M

21、OOV RR6,#500 ;112M晶振,延延时10mssDL1: MOOV RR5,#1000DL2: DJJNZ RR5,DL22 DJJNZ RR6,DL11 REETEND第三篇 机器器人机械结构构图13 直流电机各种关系图一、机器人中的的电机图13 直流电机各种关系图电机在机器人驱驱动中起着重重要的作用。直直流电机的作作用原理是建建立在电与磁磁的相互转化化和相互作用用的基础上的的。它主要由由定子和转子子两大部分组组成。定子上上有励磁绕组组,由它产生生磁场。转子子与机械负载载相联,上面面安装有电枢枢绕组,并通通过电刷与直直流电源联接接,电枢绕组组上的电压称称为电枢电压压。电枢中由由于电

22、刷的作作用,被通以以交变的电流流,使转子在在磁场中连续续相对运动,输输出物理量转转速和转矩。由由此,转子便便带动机械负负载(如智能能机器人中的的主动轮)运运动。T0T0:为一定的转矩图14 直流电机转矩转速关系图T(转矩)n1n2n(转速)U2=12vU1=6v图13为直流电电机的电流、功功率、效率与与转速的关系系图。T为转转矩,n为转转速,P为功功率。当电机机无负载时转转速最快,转转矩越大转速速越小;功率率则是随转矩矩的增大而增增大,当功率率达到最大T0T0:为一定的转矩图14 直流电机转矩转速关系图T(转矩)n1n2n(转速)U2=12vU1=6v直流电机在一定定的电枢电压压下,转速与与转

23、矩成反比比。如果改变变电压,则转转矩/转速线线随着电压的的升降而升降降(如图144)。在智能能机器人负载载一定时(即即转矩一定时时),提高电电压,即电压压由u1到uu2,对应的的转速为n11和n2,可可见,n1n2,即当电电枢电压提高高时,电机转转子的转速便便也提高。所所以只要改变变直流电机电电枢电压的大大小,就可以以实现直流电电机的调速。图15 不同宽度的方波实现PWM控制直流电机能调速速,这点对于于控制机器人人的运动构件件非常重要,因因为只有当电电机的转动能能被控制成时时快、时慢、时时正、时反时时,机器人才才可能按照所所设计的运动动规律来动作图15 不同宽度的方波实现PWM控制智能机器人采

24、用用的是改变电电机电枢电压压的方式来改改变直流电机机的转速,这这种方式只是是直流电机调调速方式之一一,有关详细细资料可参考考有关资料。提提供给电机的的信号是方波波,不同的方方波,它的平平均电压不同同如图15所所示,u1u2u33,我们就利利用这一点来来进行智能机机器人的速度度控制。进而而调节电机的的转速,这就就是脉宽调制制技术(PWWM,Pullse Wiidth MModulaation)。二、机器人的传传动系统图16 齿轮机器人的运动由由两个主动轮轮的运动来完完成,而它们们分别由两套套完全一样的的驱动装置来来分别带动两两个驱动轮。在在机器人的驱驱动装置中,减减速器是主要要的机械部件件,它构

25、成了了机器人的传传动系统,下下面对减速器器进行介绍。图16 齿轮1、齿轮齿轮机构是现在在机械中应用用最为广泛的的一种传动机机构。他可以以用来传递空空间任意两轴轴间的运动和和力,而且传传动准确、平平稳、机械效效率高,使用用寿命长和工工作安全可靠靠。1)齿轮各部分分的名称齿轮上每个凸起起部分称为齿齿,齿轮的齿齿数用z表示示。其他参数数为:齿顶圆 过过所有齿轮顶顶端的圆称为为齿顶圆,用用半径ra表示,直直径用da表示。分分度圆和齿轮轮圆之间的径径向距离称为为齿顶高,用用ha表示。齿根圆 过过所有齿槽底底部的圆称为为齿根圆,用用半径rf表示,直直径用df表示。分分度圆和齿根根圆之间的径径向距离称为为齿

26、根高,用用hf表示。分度圆 齿齿顶圆和齿根根圆之间的一一个特殊定圆圆,用半径rr表示,直径径用d表示。全齿高 齿齿顶圆与齿根根圆之间的径径向距离称为为全齿高,用用半径h表示示,h=haa+hf。基圆 产生生渐开线的圆圆称为基圆,用用半径rb表表示,直径用用db表示。图17 齿轮中心距齿厚 每个个齿轮上的圆圆周弧长称为为齿厚。在半半径为rk的的圆周上度量量的弧长称为为该半径上的的齿厚,用ssk表示。在在分度圆上度度量弧长称为为分度圆槽宽宽,用e表示示。图17 齿轮中心距槽宽 两个个齿间齿槽上上的圆周弧长长称为槽宽。在在半径为rkk的圆周上度度量的弧长称称为该半径上上的槽宽,用用ek表示。在在分度

27、圆上度度量弧长称为为分度圆齿厚厚,用S表示示。齿距 相邻邻两个齿轮同同侧齿廓之间间的圆周弧长长称为齿距。在在半径为rkk的圆周上度度量的弧长称称为该半径的的齿距,用ppk表示,显显然pk=ssk+ek。在在分度圆上度度量的弧长称称为分度圆齿齿距,用p=s+e表示示。在基圆上上度量的弧长长称为基圆齿齿距,用pbb表示,pbb=sb+eeb,sb和和eb是基圆圆上的齿厚与与槽宽。法向齿距 相邻两个齿齿轮同侧齿廓廓之间在法线线方向上的距距离称为法向向齿距,用ppn表示。由由渐开线性质质可知:pnn=pb。中心距 中心心距是指相互互啮合的一对对齿轮,两齿齿轮的圆心之之间的距离,用用a表示,aa=r1+

28、rr2。如图117所示。2)基本参数为了计算齿轮各各部分几何尺尺寸,需要规规定若干基本本参数,对于于标准齿轮而而言,有以下下5个基本参参数:齿数z分度圆模数m 分度圆周周长d=zp,于于是可得: d=zp/ 由于于是无理数,分分度圆的直径径也将为无理理数,用一个个无理数的尺尺寸作为设计计标准,对设设计是很不利利的。为了方方便设计、加加工和检验,人人为地把分度度圆齿距与的比值用mm表示,并取取其为一理数数列,即:pp/=m m称为分分度圆模数,也也简称为模数数,单位为mmm。分度圆圆直径d=mmz,分度圆圆齿距p=m。分度圆压力角 过分度度圆与渐开线线交点作基圆圆切线得切点点N,该交点点与中心O

29、的的连线与NOO线之间的夹夹角用表示,其大大小等于渐开开线在分度圆圆圆周上压力力角的大小。为为方便起见,往往往用这个中中心角表示分分度圆压力角角。我过规定定分度圆压力力角标准值一一般为20。在某些装装置中,也有有用分度圆压压力角为144.5、15、22.55、和25等的齿轮。至至此,我们可可以给分度圆圆下一个完整整的定义:分分度圆就是齿齿轮中具有标标准模数和标标准压力角的的圆。齿顶高系数haa* 齿齿顶高ha用用齿顶高系数数ha*与模模数的乘积表表示,ha=ha*m顶隙系数c* 齿齿根高hf用用齿顶高系数数ha*与顶顶隙系数c*之和乘以模模数表示,hhf=( hha*+c*)m。我国定了齿顶高

30、高系数和顶隙隙系数的标准准值:图18 齿轮减速器正常齿制图18 齿轮减速器当m1mm时时,ha*1,c*=0.25当m1mm时时,ha*1,c*=0.35短齿制 ha*00.8,c*=0.33)渐开线标准准直齿轮的几几何尺寸和基基本参数的关关系渐开线标准直齿齿轮除了基本本参数是标准准值外,还有有两个特征:分度圆齿厚与槽槽宽相等,即即 s=ee=p/2=m/2具有标准的齿顶顶高和齿根高高,即 hha=ha*m hhf=( hha*+c*)m不具备上述特征征的称为非标标准齿轮。2、减速器减速器是指原动动机与工作机机之间独立的的闭式传动装装置,用来降降低转速和相相应的增大转转距。此外,在在某些场合,

31、用用来增速的。并并名为增速器器。减速器的种类很很多,常用的的减速器有齿齿轮及蜗杆减减速器。按其其传动和机构构的特点,大大致可以分为为三类:1)齿齿轮减速器 2)蜗杆杆减速器 3)行星减减速器。这里里仅讨论齿轮轮减速器,按按其减速齿轮轮的级数可以以分为一级、二二级、三级及及多级,如图图所示:按其轴在空间的的相互配置可可以分为立式式和卧式;按按其运动简图图的特点可以以分为展式、同同轴式和分流流式等。我国已将减速器器系列化了,而而且指定了某某些类型减速速器的标准系系列。在指定定标准系列时时,对减速器器的主要参数数,如中心距距,模数,齿齿宽系数及传传动比等,还还做了一系列列的规定。在在计算时须将将数值

32、转换成成与其相近的的标准值。现现将减速器的的常用参数计计算公式列表表如下:类型中心距符号总中心距传动比符号总传动比一级aa=a=1/2(d2+d1)ii=z从/z主主二级高速级afa=af+aas高速级ifi=if*iss低速级as低速级is三级高速级afa=af+aam+as高速级ifi=if*imm*is中速级am中速级im低速级as低速级is减速器的每级有有两个齿轮相相互啮合传递递动力,小齿齿轮为主动轮轮(Z1),大齿轮轮为从动轮(ZZ2),小齿轮轮转一周而大大齿轮则转不不到一周,故故而减速(反反之,便为增增速)。二、机器人的总总体结构机器人由机器人人小车、手臂臂、手爪等部部分组成,机机

33、器人小车、手手臂、手爪通通过螺纹连接接件连接装配配在一起。机机器人总体三三维结构如图图19所示,零零件之间的三三维装配关系系如图20所所示,手臂和和手爪通过电电机带动拉绳绳来驱动。电电机停止工作作时,在弹簧簧或橡皮筋的的拉动下,手手臂和手爪将将会回复原位位。以上机器器人手臂和手手爪的总体结结构图仅供同同学们参考,同同学们可以自自己创意设计计自己的机器器人手臂和手手爪的结构。三、机器人的手手臂结构(若干零件图,用用AutoCCAD软件绘绘制)四、机器人的手手爪结构(若干零件图,用用AutoCCAD软件绘绘制)图20 机器人装配关系示意图图19 机器人的总体结构图第四篇 机器器人实验图20 机器人

34、装配关系示意图图19 机器人的总体结构图实验一 基础础实验按照图21的电电路图连接各各电子元器件件,控制板上上元器件参考考布局如图222所示。上电之前请按照照以下步骤做做好电路检查查工作:确保电源正负极极之间没有短短路(一定要要慎重!)确保AT89CC51芯片、AAS611芯芯片相邻引脚脚之间没有短短接。AT89C511芯片的引脚脚20与电源源负极相连,AAT89C551芯片的引引脚31、440与电源正正极相连。AS611芯片片的引脚4、55、12、113与电源负负极相连,AAS611芯芯片的引脚88、16与电电源正极相连连。复位电路、晶振振电路按照电电路图正确连连接。AT89C511芯片的引

35、脚脚21、222、23、224分别与第第一块AS6611芯片的的引脚2、77、10、115相连,AAT89C551芯片的引引脚25、226、27、228分别与第第二块AS6611芯片的的引脚2、77、10、115相连。图21 实验一电路图输入以下的汇编编程序,编译译后将十六进进制代码程序序烧写进ATT89C511芯片,在电电路检查正确确的前提下,可可以尝试着上上电,观察运运行结果。如如果电机不动动,请立即断断电。再做进进一步的检查查或者请求教教师帮助。图21 实验一电路图ORG 00000hAJMP MAAINORG 01100hMAIN: MOV A,#09h ;二进进制数000001001

36、1b 小车车右转MOV PP2,A ACALL DDELYMOV AA,#06hh ;二进制数0000001110b 小车左转MOV PP2,A ACALL DDELYMOV AA,#05hh ;二进制数0000001101b 小车后退MOV PP2,A ACALL DDELYMOV AA,#0ahh ;二进制数0000010010b 小车前进MOV PP2,A ACALL DDELYMOV AA,#20hh ;二进制数0001000000b 手臂前进MOV PP2,A ACALL DDELYMOV AA,#10hh ;二进制数0000100000b 手臂后退MOV PP2,A ACALL D

37、DELYMOV AA,#80hh ;二进制数1100000000b 手爪松开MOV PP2,A ACALL DDELYMOV AA,#40hh ;二进制数0010000000b 手爪夹紧MOV PP2,A ACALL DDELYMOV AA,#0h ;所有电机停停MOV PP2,ASJMP MMAIN DELY: MOV R7,#100 ;122M晶振,延延时2秒DLY0: MOV R6,#100DLY1: MOV R5,#100DLY2: DJNZZ R5,DLY2 DJNZZ R6,DLY1 DJNZZ R7,DLY0 RETAT89C51AT89C51AS611AS611碰撞传感器接口手

38、爪驱动电机接口手臂驱动电机接口小车右电机接口小车左电机接口外接电池接口电源总开关红外接收头复位按钮手控手柄接口LM7805稳压芯片右红外发射管右发光二极管左发光二极管左红外发射管图22 控制板上元器件参考布局示意图 END以下是用单片机机C语言编写写的运动控制制程序,其运运动控制功能能与上面的汇汇编语言程序序相同。#includde#definee COUNNT0 1997#definee COUNNT1 1000unsigneed chaar bdaata mootorcttrl;/*底盘两个电电机对应的控控制位*/sbit INN1_Basse = mmotorcctrl00;sbit I

39、NN2_Basse = mmotorcctrl11;sbit INN3_Basse = mmotorcctrl22;sbit INN4_Basse = mmotorcctrl33;/*手臂电机对对应的控制位位*/sbit INN1_Armm = mmotorcctrl44;sbit INN2_Armm = mmotorcctrl55;/*手爪电机对对应的控制位位*/sbit INN3_Hannd = mmotorcctrl66;sbit INN4_Hannd = mmotorcctrl77;void deelayL(unsiggned cchar ccount22) smaall reeent

40、raant;void deelayM(unsiggned cchar ccount11) smaall reeentraant;void deelayS(unsiggned cchar ccount00) smaall reeentraant;void ruun(bitt motoor1, bbit diir1, bbit mootor2, bit dir2, bit motorr3, biit dirr3, biit mottor4, bit ddir4);void sttop(biit mottor1, bit mmotor22, bitt motoor3, bbit mootor4);m

41、ain() do run(11,0,1,1,0,00,0,0);/*右转转*/ delayyL(20);/*2ss*/ run(11,1,1,0,0,00,0,0);/*左转转*/ delayyL(20); run(11,0,1,0,0,00,0,0);/*后退退*/ delayyL(20); run(11,1,1,1,0,00,0,0);/*前进进*/ delayyL(20); stop(1,1,00,0); run(00,0,0,0,1,11,0,0);/*手臂臂前进*/ delayyL(20); run(00,0,0,0,1,00,0,0);/*手臂臂后退*/ delayyL(20);

42、stop(0,0,11,0); run(00,0,0,0,0,00,1,1);/*手爪爪松开*/ delayyL(20); run(00,0,0,0,0,00,1,0);/*手爪爪夹紧*/ delayyL(20); stop(0,0,00,1); whilee(1); void deelayS(unsiggned cchar ccount00) smaall reeentraant/*/* 短延时时函数 */* couunt0取值值范围: 00 2556 */* 延时计计算方法: countt0 x 55T + 22T 。 */* T:机机器周期(振荡周期的的1/12)。 */*/ while

43、e(-coount0);/* 对应的汇汇编代码 000A 150A DEEC 00AH ;T 000C AF0A MOOV R7,000AH ;T 000E EF MOOV A,R7 ;T 000F 70F9 JNNZ 0000AAH ;2T 0011 22 REET ;2T*/void deelayM(unsiggned cchar ccount11) smaall reeentraant/*/* 中延时时函数 */* couunt1取值值范围: 00 2556 */* 延时计计算方法: countt1 x ( 11T + dellayS(CCOUNT00) ) + 2T 。 */* T:机

44、机器周期(振荡周期的的1/12)。 */*/ whilee(-coount1) delaayS(COOUNT0);/* 对应的汇汇编代码 0109 150B DEEC 00BH ;T 010B AF0B MOOV R7,000BH ;T 010D EF MOOV A,R7 ;T 010E 6008 JZZ 001188H ;2TT 0110 750A664 MOOV 00AH,#064HH ;2TT 0113 120000A LCCALL 0000AAH ;2TT 0116 80F1 SJJMP 001099H ;2TT 0118 22 REET ;2TT*/void deelayL(unsi

45、ggned cchar ccount22) smaall reeentraant/*/* 长延时时函数 */* couunt2取值值范围: 00 2556 */* 延时计计算方法: countt2 x ( 11T + dellayM(CCOUNT11) ) + 2T 。 */* T:机机器周期(振荡周期的的1/12)。 */*/ whilee(-coount2) delaayM(COOUNT1);/* 对应的汇汇编代码 0119 150C DEEC 00CH ;T 011B AF0C MOOV R7,000CH ;T 011D EF MOOV A,R7 ;T 011E 6008 JZZ 001

46、288H ;2TT 0120 750B332 MOOV 00BH,#032HH ;2TT 0123 1201009 LCCALL 001099H ;2TT 0126 80F1 SJJMP 001199H ;2TT 0128 22 REET ;2TT*/void ruun(bitt motoor1, bbit diir1, bbit mootor2, bit dir2, bit motorr3, biit dirr3, biit mottor4, bit ddir4)/*/* 运行函函数 */* 电机选择择(motoor1,mootor2,motorr3,mottor4): */ /* 为为1表

47、示对应的的电机被选中中进行“运转”操作,为0则表示没有有被选中。 */* 运行方向向选择(diir1,diir2,diir3,diir4): */* 对对应的电机如如果被选中,为1表示按照正正方向运行,为0表示按反方方向运行。 */*/ if(mootor1)/*1#电电机*/ iif(dirr1) IN1_Base = 0; IN22_Basee = 1; eelse IN1_Base = 1; IN22_Basee = 0; if(mootor2)/*2#电电机*/ iif(dirr2)/*=1*/ IN3_Base = 0; IN44_Basee = 1; eelse IN3_Base

48、= 1; IN44_Basee = 0; if(mootor3)/*3#电电机*/ iif(dirr3) IN1_Arm = 0; IN2_Arm = 1; eelse IN1_Arm = 1; IN2_Arm = 0; if(mootor4)/*4#电电机*/ iif(dirr4)/*=1*/ IN3_Hand = 0; IN44_Handd = 1; eelse IN3_Hand = 1; IN44_Handd = 0; P2 = motoorctrll; retuurn;void sttop(biit mottor1, bit mmotor22, bitt motoor3, bbit m

49、ootor4)/*/* 停止函函数 */* 电机选择择(motoor1,mootor2,motorr3,mottor4): */ /* 为为1表示对应的的电机被选中中进行“停止”操作,为0则表示没有有被选中。 */*/ if(mottor1) IN1_BBase = IN2_Base = 0; if(mottor2) IN3_BBase = IN4_Base = 0; if(mottor3) IN1_Arm = IN2_Arm = 0; if(mottor4) IN3_Hand = IN44_Handd = 0; P2 = mmotorcctrl; returnn;图23 实验二电路图实验二

50、手控控机器人图23 实验二电路图按照图23连接接各电子元器器件,手控手手柄上按钮及及接口参考布布局如图244所示,将手手控手柄与机机器人控制板板通过手控手手柄接口用约约1.5米长长的排线连接接起来。输入入以下的汇编编程序,编译译后将十六进进制代码程序序烧写进ATT89C511芯片,观察察运行结果。通通过手控手柄柄控制机器人人小车的前进进、后退、左左转、右转运运动、手臂的的前后运动以以及手爪的夹夹持、松开等等动作。ORG 00000hAJMP LL1ORG 00100hL1:MOVV A,P1JNB ACC.00,L2JNB ACC.11,L3JNB ACC.22,L4JNB ACC.33,L5

51、JNB ACC.44,L6JNB ACC.55,L7JNB ACC.66,L8JNB ACC.77,L9 MOVV A,#0h ;停停止 MOVV P22,AAJMP L1手控手柄接口手控手柄接口小车前进小车后退小车左转小车右转手臂前伸手臂回缩手爪张开手爪闭合图24 手控手柄上按钮及接口参考布局图L2:ACAALL DEELY10mmsMOV AA,P1 JB ACC.0,L1 MOVV A,#0ah ;小车前进 MOVV P22,A AJMMP L11L3:ACAALL DEELY10mmsMOV AA,P1 JB ACC.1,L1 MOVV A,#05h ; 小车后退退 MOVV P22,

52、A AJMMP L11L4:ACAALL DEELY10mmsMOV AA,P1 JB ACCC.2,L11 MOVV A,#06h ; 小车左转转 MOVV P22,A AJMMP L11L5:ACAALL DEELY10mmsMOV AA,P1 JB ACCC.3,L11 MOVV A,#09h ; 小车右转转 MOVV P22,A AJMMP L11L6:ACAALL DEELY10mmsMOV AA,P1 JB ACC.4,L1 MOVV A,#20h ; 手臂前进进 MOVV P22,A AJMMP L11L7:ACAALL DEELY10mmsMOV AA,P1 JB ACCC.5

53、,L1 MOVV A,#10h ; 手臂后退退 MOVV P22,A AJMMP L11L8:ACAALL DEELY10mmsMOV AA,P1 JB ACCC.6,L1 MOVV A,#80h ; 手爪松开开 MOVV P22,A AJMMP L11L9:ACAALL DEELY10mmsMOV AA,P1 JB ACC.7,L1 MOVV A,#40h ; 手爪夹紧紧 MOVV P22,A AJMMP L11DELY10mms: MOOV RR6,#500 ;延延时10mssDL1: MOOV RR5,#1000DL2: DJJNZ RR5,DL22 DJJNZ RR6,DL11 REE

54、TEND以下是用单片机机C语言编写写的运动控制制程序,其运运动控制功能能与上面的汇汇编语言程序序相同。#includde#definee COUNNT0 1997#definee COUNNT1 1000unsigneed chaar bdaata mootorcttrl;/*底盘两个电电机对应的控控制位*/sbit INN1_Basse = mmotorcctrl00;sbit INN2_Basse = mmotorcctrl11;sbit INN3_Basse = mmotorcctrl22;sbit INN4_Basse = mmotorcctrl33;/*手臂电机对对应的控制位位*/s

55、bit INN1_Armm = mmotorcctrl44;sbit INN2_Armm = mmotorcctrl55;/*手爪电机对对应的控制位位*/sbit INN3_Hannd = mmotorcctrl66;sbit INN4_Hannd = mmotorcctrl77;unsigneed chaar bdaata SWW;/*8个手动按按钮对应的位位*/sbit SWW1 = SSW0;sbit SWW2 = SSW1;sbit SWW3 = SSW2;sbit SWW4 = SSW3;sbit SWW5 = SSW4;sbit SWW6 = SSW5;sbit SWW7 = SS

56、W6;sbit SWW8 = SSW7;void deelayL(unsiggned cchar ccount22) smaall reeentraant;void deelayM(unsiggned cchar ccount11) smaall reeentraant;void deelayS(unsiggned cchar ccount00) smaall reeentraant;void ruun(bitt motoor1, bbit diir1, bbit mootor2, bit dir2, bit motorr3, biit dirr3, biit mottor4, bit ddi

57、r4);void sttop(biit mottor1, bit mmotor22, bitt motoor3, bbit mootor4);main()while(1)L1:SWW = P11;if(SWW1 = 0)delaayM(100);SW = P1;if(SSW1 = 0)runn(1,1,1,1,00,0,0,0);/*前进*/gotto L1;if(SWW2 = 0)delaayM(100);SW = P1;if(SSW2 = 0)runn(1,0,1,0,00,0,0,0);/*后退*/gotto L1;if(SWW3 = 0)delaayM(100);SW = P1;if(

58、SSW3 = 0)runn(1,1,1,0,00,0,0,0);/*左转*/gotto L1;if(SWW4 = 0)delaayM(100);SW = P1;if(SSW4 = 0)runn(1,0,1,1,00,0,0,0);/*右转*/gotto L1;if(SWW5 = 0)delaayM(100);SW = P1;if(SSW5 = 0)runn(0,0,0,0,11,1,0,0);/*手臂前进*/gotto L1;if(SWW6 = 0)delaayM(100);SW = P1;if(SSW6 = 0)runn(0,0,0,0,11,0,0,0);/*手臂后退*/gotto L1;

59、if(SWW7 = 0)delaayM(100);SW = P1;if(SSW7 = 0)runn(0,0,0,0,00,0,1,1);/*手爪松开*/gotto L1;if(SWW8 = 0)delaayM(100);SW = P1;if(SSW8 = 0)runn(0,0,0,0,00,0,1,0);/*手爪夹紧*/gotto L1;stop(1,1,11,1);/*endd of wwhile*/ void deelayS(unsiggned cchar ccount00) smaall reeentraant/*/* 短延时时函数 */* couunt0取值值范围: 00 2556 *

60、/* 延时计计算方法: countt0 x 55T + 22T 。 */* T:机机器周期(振振荡周期的11/12)。 */*/ whilee(-coount0);/* 对应的汇汇编代码 000A 150A DEEC 00AH ;T 000C AF0A MOOV R7,000AH ;T 000E EF MOOV A,R7 ;T 000F 70F9 JNNZ 0000AAH ;2T 0011 22 REET ;2T*/void deelayM(unsiggned cchar ccount11) smaall reeentraant/*/* 中延时时函数 */* couunt1取值值范围: 00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论