机器人舵机说明
一、舵机简介
舵机,顾名思义,大海航行靠舵手,舵机早期是应用在航模中控制方向的,在航空模型中,飞行器的飞行姿态是通过调整发动机和各个控制多面来实现的,后来有人发现这种机器的体积小、重量轻、扭矩大、精度高,由于具备了这样的优点,很适合应用在机器人身上作为机器人的驱动。
二、舵机的分类
按照舵机的转动角度分有180度舵机和360度舵机。
180度舵机只能在0度到180度之间运动,超过这个范围,舵机就会出现超量程的故障,轻则齿轮打坏,重则烧坏舵机电路或者舵机里面的电机。360度舵机转动的方式和普通的电机类似,可以连续的转动,不过我们可以控制它转动的方向和速度。
按照舵机的信号处理分为模拟舵机和数字舵机,它们的区别在于,模拟舵机需要给它不停的
发送PWM信号,才能让它保持在规定的位置或者让它按照某个速度转动,数字舵机则只需要发送一次PWM信号就能保持在规定的某个位置。关于PWM信号在3.4节将会介绍。
三、舵机的内部结构
一般来说,我们用的舵机有以下几个部分组成:直流电动机、减速器(减速齿轮组)、位置反馈电位计、控制电路板(比较器)。舵机的输入线共有三根,红在中间,为电源正极线,黑线是电源负极(地线)线,黄或者白线为信号线。其中电源线为舵机提供6V到7V左右电压的电源。
图1 舵机的内部结构
四、舵机的工作原理及控制方法
4.1 舵机运动的对应关系
在对机器人进行动作编程之前我们需要知道,机器人有许多个关节,每一个关节我们称为一个自由度。一般的机体,都有十几个自由度,这样才能够保证动作的灵活性。在机器人机体上,我们通常使用舵机作为每一个关节的连接部分。它可以完成每个关节的定位和运动。舵机的控制信号相对简单,控制精度高,反应速度快,而且比伺服电机省电。这些优点是非常突出的。在下面的论述中,会涉及到舵机相关的控制原理,读者应反复详细阅读。
舵机的外观入下图所示:
图2 舵机外观
这里可以看到,舵机体积十分小巧。机器人使用它是非常合适的。
一般的舵机可以旋转185左右,我们这里留一些余量,算做180度。八位单片机的精度是256,我们也留一些余量,算作250。这样我们可以得到一个基本的对应关系:
舵机转动角度Φ:0-180度
单片机数值 N:0-250
在程序中我们为舵机赋予不同的数值,舵机便能转动到对应的角度。
图3 舵机转动角度示意图
4.2 舵机工作原理
1、舵机PWM信号定义
PWM信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。
小学生安全常识目前,HG14-M舵机可能是这个过渡时期的产物,它采用传统的PWM协议,优缺点一目了
然。优点是已经产业化,成本较低,旋转角度大(目前所生产的都可达到185度);缺点是控制比较复杂,毕竟采用PWM格式。
但是它是一款数字型的舵机,其对PWM信号的要求较低:
(1) 不用随时接收指令,减少CPU的疲劳程度;
(2) 可以位置自锁、位置跟踪,这方面超越了普通的步进电机;
图4
其PWM格式注意的几个要点:
(1) 高电平最少为0.5mS,为0.5-2.5mS之间;(对应舵机旋转0-180度)
(2) HG14-M汽车离合器图片数字舵机下降沿时间没要求,目前采用0.5Ms就行;也就是说PWM波形可以是一个周期1mS的标准方波。
2、PWM信号控制精度制定
上面已经提到了八位单片机,我们的舵机需要的是方波信号。单片机的精度直接影响了舵机的控制精度,这里就详细的说明一下。
我们采用的是8位STC12C5410ADCPU,其数据分辨率为256,那么经过舵机极限参数实验,得到应该将其划分为250份。
那么0.5mS---2.5Ms的宽度为2mS = 2000uS帝王权术。
2000uS÷250=8uS
则:PWM的控制精度为8us
我们可以以8uS为单位递增控制舵机转动与定位。
舵机可以转动185度,那么185度÷250=0.74度,
则:舵机的控制精度为0.74度
图5
我们在这里做了一些名词上的定义。DIV是一个时间位置单位,一个DIV等于8us,关系入公式:
实际寄存器内的数值为:(#01H)01 ———(#0FAH)250。
共185度,分为250个位置,每个位置叫1DIV。则:
PWM高电平函数: 0.5mS + N×DIV
0uS ≤ N×DIV ≤ 2mS
0.5mS ≤ 0.5Ms+N×DIV ≤ 2.5mS
根据这些知识,我们就可以开始编程,并做一些初步的实验了,学会舵机控制是研究机器
人的一个比较技术手段,需要完全掌握。
4.3 单舵机的控制程序
我们已经知道了舵机的工作与控制原理,我们现在可以通过一个简单的程序来控制单个舵机的运转。如果您手头上有控制板和舵机,而且已经熟悉了KEIL软件和STC烧录软件,马上就可以试试了,如果您还不满足这些条件的话,也没什么关系,先来分析一下这段程序。
延时程序:用于产生所需的PWM信号
;; ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
; void delay_8us( )
RSEG ?PR?delay_8us?Robot
delay_8us: ;延时8US子程序 24周期
MOV R1,#3
LP2_8us: MOV R2,#3
LP1_8us: DJNZ R2,LP1_8us
香酥鸭 DJNZ R1,LP2_8us
RET
; void delay_500us( )
RSEG ?PR?delay_500us?Robot
delay_500us: ;延时500US子程序 1500周期
MOV R1,#32
LP2_500us: MOV R2,#45
LP1_500us: DJNZ R2,LP1_500us
DJNZ R1,LP2_500us
RET
;; ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈; void delay_500ms( )室内设计师
RSEG ?PR?delay_500ms?Robot
delay_500ms: ;延时500MS子程序 1500000周期
温州旅游景点哪里好玩 MOV R0,#242
LP3_500ms: MOV R1,#242
LP2_500ms: MOV R2,#24
LP1_500ms: DJNZ R2,LP1_500ms
DJNZ R1,LP2_500ms
DJNZ R0,LP3_500ms
RET
;; ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
END
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论