0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

舵机控制原理与单舵机调速算法解析

GReq_mcu168 来源:未知 作者:佚名 2017-12-29 09:00 次阅读

一、舵机原理简述

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系是这样的:

0.5ms--------------0度;

1.0ms------------45度;

1.5ms------------90度;

2.0ms-----------135度;

2.5ms-----------180度;

(1)舵机的追随特性

假设现在舵机稳定在A点,这时候CPU发出一个PWM信号,舵机全速由A点转向B点,在这个过程中需要一段时间,舵机才能运动到B点。

保持时间为Tw

当Tw≥△T时,舵机能够到达目标,并有剩余时间;

当Tw≤△T时,舵机不能到达目标;

理论上:当Tw=△T时,系统最连贯,而且舵机运动的最快。

实际过程中w不尽相同,连贯运动时的极限△T比较难以计算出来。

当PWM信号以最小变化量即(1DIV=8us)依次变化时,舵机的分辨率最高,但是速度会减慢。

二、舵机PWM信号介绍

1.PWM信号的定义 PWM 信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。 目前 舵机可能是这个过渡时期的产物,它采用传统的 PWM 协议,优缺点一目了然。优点是已经产业化,成本低,旋转角度大(目前所生产的都可达到 185 度); 缺点是控制比较复杂,毕竟采用 PWM 格式。 但是它是一款数字型的舵机,其对 PWM 信号的要求较低: (1) 不用随时接收指令,减少 CPU 的疲劳程度; (2) 可以位置自锁、位置跟踪,这方面超越了普通的步进电机

0Z44UW1-1.png
其 PWM 格式注意的几个要点: (1) 上升沿最少为 0.5mS,为 0.5mS---2.5mS 之间; (2) HG14-M 数字舵机下降沿时间没要求,目前采用 0.5Ms 就行;也就是说 PWM 波形可以是一个周期 1mS 的标准方波; (3) HG0680 为塑料齿轮模拟舵机,其要求连续供给 PWM 信号;它也可以输入一个周期为 1mS 的标准方波,这时表现出来的跟随性能很好、很紧密。

2.PWM信号控制精度制定

如果采用的是 8 位单片机AT89C52CPU,其数据分辨率为256,那么经过舵机极限参数实验,得到应该将其划分为 250 份。 那么 0.5mS---2.5Ms 的宽度为 2mS = 2000uS。2000uS÷250=8uS,则:PWM 的控制精度为 8us。我们可以以 8uS 为单位递增控制舵机转动与定位。 舵机可以转动 185 度,那么185 度÷250=0.74 度,则:舵机的控制精度为 0.74 度。

0Z44S0a-2.png
1 DIV = 8us ; 250DIV=2ms时基寄存器内的数值为:(#01H)01 ----(#0FAH)250。 共 185 度,分为 250 个位置,每个位置叫 1DIV。则:185÷250 = 0.74 度 / DIV PWM 上升沿函数: 0.5ms + N×DIV 0us ≤ N×DIV ≤ 2ms 0.5ms ≤ 0.5ms+N×DIV ≤ 2.5ms

二.单舵机拖动及调速算法

1.舵机为随动机构(1)当其未转到目标位置时,将全速向目标位置转动。 (2)当其到达目标位置时,将自动保持该位置。所以对于数字舵机而言,PWM 信号提供的是目标位置,跟踪运动要靠舵机本身。 (3)像 HG0680 这样的模拟舵机需要时刻供给 PWM 信号,舵机自己不能锁定目标位置。所以我们的控制系统是一个目标规划系统。 (1)HG14-M舵机的位置控制方法 舵机的转角达到 185 度,由于采用 8 为 CPU 控制,所以控制精度最大为 256 份。目前经过实际测试和规划,分了 250 份。将 0—185° 分为 250 份,每份 0.74 度。控制所需的 PWM 宽度为 0.5ms—2.5ms,宽度 2ms。 2ms÷250=8us;所以得出:PWM 信号 = 1 度/8us;

0Z44UK2-3.png
(2)舵机的运动协议

0Z44Ub6-4.png
运动时可以外接较大的转动负载,舵机输出扭矩较大,而且抗抖动性很好,电位器的线性度较高,达到极限位置时也不会偏离目标。

2、目标规划系统的特征

(1)舵机的追随特性

0Z44R193-5.png
① 舵机稳定在 A 点不动; ② CPU 发出 B 点位置坐标的 PWM 信号; ③ 舵机全速由 A 点转向 B 点; △ф = фB - фA △T = △ф÷ω ④ CPU 发出 B 点 PWM 信号后,应该等待一段时间,利用此时间舵机才能转动至 B 点。那么,具体的保持(等待)时间如何来计算,如下讲解: 令:保持时间为 Tw 当 Tw≥△T 时,舵机能够到达目标,并有剩余时间; 当 Tw≤△T 时,舵机不能到达目标; 理论上:当 Tw=△T 时,系统最连贯,而且舵机运动的最快。 实际过程中由于 2 个因素: ① 1 个机器人身上有多个舵机,负载个不相同,所以ω不同; ② 某个舵机在不同时刻的外界环境负载也不同,所以ω不同; 则连贯运动时的极限△T 难以计算出来。 目前采取的方法是经验选取ω值。

(2)舵机ω值测定 舵机的ω值随时变化,所以只能测定一个平均值,或称出现概率最高的点。 依据

① 厂商的经验值; ② 采用 HG14-M 具体进行测试; 测试实验:

① 将 CPU 开通,并开始延时 Tw; ② 当延时 Tw到达后,观察舵机是否到达目标; 测定时采用一段双摆程序,伴随示波器用肉眼观察 Tw与△T 的关系。 (3)舵机ω值计算 一般舵机定为 0.16--0.22 秒/60 度; 取 0.2 秒/60 度 >> 1.2 秒/360 度 >> 0.617 秒/185 度 则ω为 360 度/1.2 秒,2Π/1.2 秒 ω=300 度/秒 那么 185 度转动的时间为 185 度÷360 度/1.2 秒 = 0.6167 秒。 (4)采用双摆试验验证

0Z44S054-6.png
3.DAV的定义将 185 度的转角分为 250 个平均小份。 则:每小份为 0.74 度。 定义如下:DAV = 0.74 度 由于:ω = 0.2 秒/60 度 则:运行 1 DAV 所需时间为:0.72 度*0.2 秒/60 度 = 2.4 ms;

4.DIV的定义舵机电路支持的 PWM 信号为 0.5ms—2.5ms,总间隔为 2ms。 若分为 250 小份,则 2ms÷250 = 0.008 ms = 8us。 定义如下:DIV = 8us。

0Z44V3H-7.png
5.单舵机调速算法

0Z44V136-8.png
测试内容:将后部下降沿的时间拉至 30ms 没有问题,舵机照样工作。

将后部下降沿的时间拉至 10ms 没有问题,舵机照样工作。 将后部下降沿的时间拉至 2.6ms 没有问题,舵机照样工作。 将后部下降沿的时间拉至 500us 没有问题,舵机照样工作。 实践检验出:下降沿时间参数可以做的很小。目前实验降至 500uS,依然工作正常。 原因是:

(1)舵机电路自动检测上升沿,遇上升沿就触发,以此监测 PWM 脉宽“头”。 (2)舵机电路自动检测下降沿,遇下降沿就触发,以此监测 PWM 脉宽“尾”。

(1)舵机转动时的极限下降沿PWM脉宽

0Z44W422-9.png0Z44WL0-10.png
令人质疑的地方为 1.1ms 时的表现,得出的 Tw≈ △T; 也就是说 1.1ms = 2.467ms,显然存在问题。 经过考虑重新观察 PWM 波形图发现,电机真正的启动点如下图:

0Z44T359-11.png
实际上由 A 到 B 的运动时间为:△T = Tw +(B 点的)PWM

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28396

    浏览量

    206979
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5186

    浏览量

    213835
  • 舵机
    +关注

    关注

    17

    文章

    269

    浏览量

    41021

原文标题:舵机的原理和控制

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ***的步进电机调速算法~ 精选资料推荐

    [导读] 大家好,我是逸珺。今天想分享一种超级实用的步进电机调速算法,这种算法在步进电机调速方案中可以说是一种非常优异的方案。梯形调速算法 为啥需要设计一个
    发表于 09-01 07:53

    分享一种超级实用的步进电机调速算法

    ,中间做一个匀速控制。这就是比较常见的梯形调速控制算法。这样一个梯形调速算法,相当于步进电机的运动过程包含
    发表于 09-03 09:05

    舵机控制方法

    舵机控制方法。
    发表于 03-21 15:46 14次下载

    智能车舵机控制算法详解

    控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。本文介绍了舵机的原理和控制,另外还详细介绍了智能车舵机控制
    的头像 发表于 05-11 10:22 3w次阅读
    智能车<b class='flag-5'>舵机</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>详解

    基于模糊控制算法的智能车转向舵机控制

    本文首先介绍了模糊控制算法的概念,其次介绍了模糊控制的工作原理,最后详细介绍了基于模糊控制算法的智能车转向
    的头像 发表于 05-11 10:48 1.1w次阅读
    基于模糊<b class='flag-5'>控制</b><b class='flag-5'>算法</b>的智能车转向<b class='flag-5'>舵机</b><b class='flag-5'>控制</b>

    arduino如何控制舵机及详细步骤

    本文首先介绍了舵机控制方法,其次阐述了Arduino控制舵机的两种方法,最后详细阐述了arduino控制
    的头像 发表于 05-11 14:28 16.5w次阅读
    arduino如何<b class='flag-5'>控制</b><b class='flag-5'>舵机</b>及详细步骤

    舵机如何控制_舵机原理是什么

    本文首先介绍了舵机的工作原理,其次介绍了舵机控制方法,最后阐述了舵机的速度控制
    发表于 05-11 15:51 4.1w次阅读
    <b class='flag-5'>舵机</b>如何<b class='flag-5'>控制</b>_<b class='flag-5'>舵机</b>原理是什么

    舵机控制原理是什么_舵机控制方法

    本文首先介绍了舵机工作原理,其次阐述了舵机控制原理及舵机的追随特性,最后介绍了舵机控制方法和
    的头像 发表于 05-30 11:13 14.3w次阅读
    <b class='flag-5'>舵机</b><b class='flag-5'>控制</b>原理是什么_<b class='flag-5'>舵机</b>的<b class='flag-5'>控制</b>方法

    数字舵机控制原理是什么_数字舵机与模拟舵机的区别

    数字舵机(Digital Servo)和模拟舵机(Analog Servo)在基本的机械结构方面是完全一样的,主要由马达、减速齿轮、控制电路等组成,而数字舵机和模拟
    的头像 发表于 05-30 16:29 6.3w次阅读

    舵机是由什么组成_舵机的结构及原理

    本文首先介绍了舵机的组成及结构原理,其次介绍了舵机控制及追随性,最后介绍了舵机接线方法(三线接线法)以及安装。
    的头像 发表于 05-30 16:59 22.1w次阅读
    <b class='flag-5'>舵机</b>是由什么组成_<b class='flag-5'>舵机</b>的结构及原理

    舵机是什么_数字舵机与模拟舵机有的区别

    本文首先介绍了舵机的概念,其次介绍了舵机的类型,最后阐述了数字舵机与模拟舵机有的区别。
    的头像 发表于 03-21 09:59 2.7w次阅读

    舵机怎么控制正反_舵机怎么使用

    本文主要阐述了舵机控制正反的方法及舵机的使用方法。
    的头像 发表于 03-21 10:05 2.5w次阅读

    舵机的基本结构和原理,以及如何通过PWM信号控制舵机

      目录 什么是舵机? 伺服控制 硬件连接 舵机规格 SG90 MG90S MG996R 总结 什么是舵机舵机是伺服电机的一种,伺服电机
    的头像 发表于 12-22 17:29 2.2w次阅读

    STM32控制舵机的方法及实例

    STM32控制SG90舵机 在这篇博客中,我讲解的是SG90的180°型号的舵机。其它型号的舵机也可以参考。首先,舵机
    发表于 12-24 19:30 127次下载
    STM32<b class='flag-5'>控制</b><b class='flag-5'>舵机</b>的方法及实例

    舵机控制原理资料

    舵机控制原理
    发表于 09-21 09:33 2次下载