ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:430.05KB ,
资源ID:2321125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2321125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机器人舵机说明.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机器人舵机说明.docx

1、机器人舵机说明机器人舵机说明一、舵机简介舵机,顾名思义,大海航行靠舵手,舵机早期是应用在航模中控制方向的,在航空模型中,飞行器的飞行姿态是通过调整发动机和各个控制多面来实现的,后来有人发现这种机器的体积小、重量轻、扭矩大、精度高,由于具备了这样的优点,很适合应用在机器人身上作为机器人的驱动。二、舵机的分类按照舵机的转动角度分有180度舵机和360度舵机。180度舵机只能在0度到180度之间运动,超过这个范围,舵机就会出现超量程的故障,轻则齿轮打坏,重则烧坏舵机电路或者舵机里面的电机。360度舵机转动的方式和普通的电机类似,可以连续的转动,不过我们可以控制它转动的方向和速度。按照舵机的信号处理分

2、为模拟舵机和数字舵机,它们的区别在于,模拟舵机需要给它不停的发送PWM1号,才能让它保持在规定的位置或者让它按照某个速度转动,数字舵机则只需要发送一次PWM1号就能保持在规定的某个位置。关于PWM1号在3.4节将会介绍。三、舵机的内部结构一般来说,我们用的舵机有以下几个部分组成:直流电动机、减速器(减速齿轮组)、位置反馈电位计、控制电路板(比较器)。舵机的输入线共有三根,红色在中间,为电源正极线,黑色线是电源负极(地线)线,黄色或者白色线为信号线。其中电源线为舵机提供6V到7V左右电压的电源。四、舵机的工作原理及控制方法4.1舵机运动的对应关系在对机器人进行动作编程之前我们需要知道,机器人有许

3、多个关节,每一个关节我们称为一个自由度。一般的机体,都有十几个自由度,这样才能够保证动作的灵活性。在机器人机体上,我们通常使用舵机作为每一个关节的连接部分。它可以完成每个关节的定位和运动。舵机的控制信号相对简单,控制精度高,反应速度快,而且比伺服电机省电。这些优点是非常突出的。在下面的论述中,会涉及到舵机相关的控制原理,读者应反复详细阅读。舵机的外观入下图所示:图2舵机外观图3舵机转动角度示意图这里可以看到,舵机体积十分小巧。机器人使用它是非常合适的。一般的舵机可以旋转185左右,我们这里留一些余量,算做180度。八位单片机的精度是256,我们也留一些余量,算作250o这样我们可以得到一个基本

4、的对应关系:舵机转动角度:0-180度单片机数值N:0-250T注:在代码编写及调试过程中要时刻注意舵机的转动角度,在各关节不发生干涉的情况下也要保证其输出角度不要超出预设范围:0-180度(单片机对应取值:0-250)。4.2舵机工作原理1、舵机PW此号定义PWM1号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。目前,HG14-M它机可能是这个过渡时期白产物,它采用传统的PWM、

5、议,优缺点一目了然。优点是已经产业化,成本较低,旋转角度大(目前所生产的都可达到185度);缺点是控制比较复杂,毕竟采用PWM&式。但是它是一款数字型的舵机,其对PWM1号的要求较低:不用随时接收指令,减少CPU勺疲劳程度;可以位置自锁、位置跟踪,这方面超越了普通的步进电机;N451-250OmSO,SMsxDIV25nS其PWM&式注意的几个要点:高电平最少为0.5mS,为0.5-2.5mS之间;(对应舵机旋转0-180度)HG14-M数字舵机下降沿时间没要求,目前采用0.5Ms就行;也就是说PWMfc形可以是一个周期1mS勺标准方波。2、PWW号控制精度制定上面已经提到了八位单片机,我们的

6、舵机需要的是方波信号。单片机的精度直接影响了舵机的控制精度,这里就详细的说明一下。我们在这里做了一些名词上的定义。DIV是一个时间位置单位,一个DIV等于8us,关系入公式:1DIV=8uS250DIV=2mS实际寄存器内的数值为:(#01H)01(#0FAH250。共185度,分为250个位置,每个位置叫1DIV。则:185+250=0.74度/DIVPWMK电平函数:0.5mS+NXDIV0uSNXDIV2mS0.5mS0.5Ms+NXDIV2.5mS根据这些知识,我们就可以开始编程,并做一些初步的实验了,学会舵机控制是研究机器人的一个比较技术手段,需要完全掌握。4.3单舵机的控制程序我们

7、已经知道了舵机的工作与控制原理,我们现在可以通过一个简单的程序来控制单个舵机的运转。如果您手头上有控制板和舵机,而且已经熟悉了KEIL软件和STC烧录软件,马上就可以试试了,如果您还不满足这些条件的话,也没什么关系,先来分析一下这段程序。延时程序:用于产生所需的PWM&号;voiddelay_8us()RSEG?PR?delay_8us?Robotdelay_8us:;延时8US子程序24周期.MOVR1,#3LP2_8us:MOVR2,#3LP1_8us:DJNZR2,LP1_8usDJNZR1,LP2_8usRET;voiddelay_500us()RSEG?PR?delay_500us?

8、Robotdelay_500us:;延时500US子程序1500周期一MOVR1,#32LP2_500us:MOVR2,#45LP1_500us:DJNZR2,LP1_500usDJNZR1,LP2_500usRET;voiddelay_500ms()RSEG?PR?delay_500ms?Robotdelay_500ms:;延时500MS子程序1500000周期MOVR0,#242LP3_500ms:MOVR1,#242LP2_500ms:MOVR2,#24LP1_500ms:DJNZR2,LP1_500msDJNZR1,LP2_500msDJNZR0,LP3_500msRETEND单舵机P

9、WM&号产生函数:voidPWM(ucharfoot,ucharspeed)(uchari,j;for(i=0;ifoot;i+)/将P1.0口拉高/延时foot*8us/将P1.0口拉低延时speed*0.5ms(P1|=0x01;delay_500us();for(j=0;ji;j+)(delay_8us();.P1&=0xfe;for(j=0;jspeed;j+)(delay_500us();一上面函数的参数foot,是控制舵机转动的度数,A=foot*0.72(度),speed控制的是舵机转动的速度。4.4多路舵机并行控制方法上一小节中比较详细的讲解了单舵机是怎么控制的,但是在机器人运

10、动过程中,必须让多个舵机同时协作的运动,要想实现这个目标,我们必须有个精致的并行控制算法。假设我们现在要控制8个舵机联动,并且这八个舵机所要到达的位置各不相同,我们应该怎么做呢?首先我们用逆向思维思考一下,假设这八个舵机的PWMS号同时进入上升沿(既单片机上对应的八个输出引脚同时拉高),那么它们进入下降沿的时间顺序是怎样的呢?我们很容易知道舵机所要到达的位置与0度位置的夹角w越小(既高电平宽度),它进入下降沿就越早,这一点不难理解。假设我们机器人身上有8个舵机,它们要到达的位置参数(n的值)分别是45,30,15,60,80,98,135,155,为了方便,我们将这些数存到一个取名为posit

11、ion的数组里,既position8=45,30,15,60,80,98,135,155为了使这八个舵机和单片机上相应的管脚对应起来,我们又设置了一个数组kouchu8,初始化为kouchu8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f),为了方便起见,下面列了一个表格。表1舵机程序控制数据对照表-1数组名-0-1234567position453015608098135155kouchu(16进制)0xfe0xfb0xfd0xf70xef0xbf0xdf0x7f这八个舵机对应的理想波形如下:positiontl=3。position2=15ir60*8us

12、Aposition=80图7舵机控制理想输出波形-1我们将这八个舵机对应的数组position8各个元素从大到小排序,同时将数组kouchu8的各个元素也进行相应的调换,这样做的原因是不使单片机各引脚对舵机的对应控制关系不打乱,以前是怎么一一对应的,现在还是那样的对应,排序之后的列表如下:表2舵机程序控制数据对照表-201234567position155135988060453015kouchu0x7f0xbf0xdf0xef0xf70xfe0xfd0xfb下图是排序后所对应的PWMS想波形:position同二乂positiontl.=13511111_12135*Suspositioii

13、L2=98111:9e*Suspositian3=80position4=60position5=45卜*45*8匚Apositioti6=30dobition7=15图8舵机控制理想输出波形-2通过对这一系列波形的观察,我们可以这样实现它,先将单片机上控制舵机的八路引脚电平同时间拉高,经过延时500+15*8(us)后,将pos市on口对应的舵机信号输出引脚拉低,再经过(30-15)*8us后拉低position6对应的舵机信号输出引脚,这样就依次求差延时,逐个拉低,知道所有的舵机都到达自己所要到达的位置。这牛的话,我们在对position8数组排序之后还要进行一个求差处理。上面说的是8个舵

14、机并行控制的原理,但在实际应用中,由于有些机器人身上的舵机数目远不止8个,所以写程序时还设置了一个paixu_ncha8数组,用来提供排序空间。具体做法如下:ucharposition24;uchar既无符号字符型ucharkouchu8;ucharpaixu_ncha8;第一步:定义数组第二部:给各个数组赋值为了方便起见,这里的position24的值是一组假设值。表3position24数据对照表下标01234567元素值M2010014535210F195127551下标89101112131415元素值1243679316723515587下标国17181192012122231元素值6215

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1