首页 > 行业资讯 >减速电机
TECHNICAL SUPPORT

舵机控制算法完整解析:PWM脉冲周期、占空比设定与PID调参实操

发布时间: 2026-10-02

舵机控制的核心所在, 是通过精确地调节那个脉宽调制信号的占空比。这样做是为了驱动舵机到达目标角度。并且还要让舵机稳定地把这个状态保持住。无论是用在无人机云台、机械臂关节、还是车转向系统。舵机的响应速度、定位精度和抗干扰能力、全都直接取决于控制的设计质量怎么样。

PWM信号基础:周期与占空比决定舵机位置

一般的情况是, 像那些爱好级别的 15g 系列的标准舵机, 它们接收的信号周期是 20ms, 这个信号周期也就是对应着 50Hz 的频率。然后呢, 从占空比 0.5ms 到 2.5ms, 这个范围是对应着舵机从 0°的行程一直到 180°的行程。关于这个东西的计算方法的话, 它的计算公式为:

脉冲宽度(ms)等于<0.5>加上<目标角度>除以<180>, 然后乘以<2.0>。

比如说, 要是非得让舵机转到 90°, 那脉冲宽度就等于 0.5 加上括号里面的 90 除以 180, 然后乘以 2.0, 算出来等于 1.5ms。然后在 20ms 的这个周期里头, 发出 1.5ms 的高电平, 再配上 18.5ms 的低电平, 这舵机也就正好到了 90° 的位置。

有一个常见的错误案例, 就是许多开发者在调试云台机构的时候, 发现舵机在 90° 这个位置附近, 会反复出现"抖"的现象, 这个现象的根本原因呢, 是微控制器的定时器中断精度不够, 比如, 对于 8 位单片机的这种设备来说伟创动力,如果时钟频率是 16MHz 的话, 那么 20ms 的周期就只有 32000 个计数值, 这样的话分辨率还勉强够用, 但是, 如果我们是用 1MHz 的时钟的话, 那就不够了, 这种情况会导致占空比的计算出现 ±50μs 的跳变。

响应速度与保持精度的矛盾

PWM 信号本身是"开环"指令——你给出角度伟创动力舵机,舵机内部减速齿轮组驱动到该位置后靠摩擦自锁保持。这意味着:

舵机控制算法_舵机控制数码管教程_舵机pd控制技巧

响应速度受到了齿轮减速比的限制, 典型的15g舵机在全行程运转时大约需要0.12秒才能完成转动60度, 而在整个180度的范围内大概需要耗费1秒的时间。

在保持阶段存在±1°到2°的静态误差, 当受到外力扰动的时候就会偏离出数度的程度。

引入 PID 闭环:解决"抖慢偏"三大问题

当舵机被用在那些需要高精度以及快速响应的具体场景里的时候, 比方说飞行控制器用来做姿态补偿这一类事情, 如果光是使用纯粹的开环脉宽调制方式是不够的, 那么就另外加装角度编码器, 典型的例子比如 磁编这种设备, 进而构成闭环系统。

参数 作用 典型起始值 调参方向
P(比例) 误差×Kp 产生即时修正量 0.05~0.3 增大→响应快但易振荡
I(积分) 累积误差消除静态偏差 0.001~0.02 过大→过冲、低频振荡
D(微分) 误差变化率提供阻尼 0.0005~0.01 过大→对噪声敏感、高频抖动

实操步骤:

1. 设置积分环节系数I等于零, 同时设置微分环节系数D也等于零, 在此情况下仅对比例环节参数进行调节操作: 先将比例增益Kp的初始值设定为0.05这个数值, 之后每次将这个增益值增加0.02, 一直持续不断地增大参数数值, 直到观察到系统出现了持续的振荡现象为止, 一旦确认发生了持续的振荡, 就把当前的增益值回调, 将其调整到导致振荡的那个临界数值的百分之六十到百分之七十这个区间范围。

2. 把I那个东西加上去, 先是从0.001这么小的数开始起头, 然后一步一步去把它变大, 一直到那个稳态误差完全消失为止, 并且还要保证没有那种看起来很明显的过头冲出去的现象。

舵机控制数码管教程_舵机控制算法_舵机pd控制技巧

3. 在控制参数里加入D, 也就是微分分量, 让这个值从零点零零零五开始起步去观察高频抖动现象。如果发现噪声明显变大的状况出现的话, 就得想办法降低当前D值的大小, 或者再去增加一个截止频率为二十到五十赫兹的一阶低通滤波环节来应对这个问题。

常见疑难与对策

舵机会偶尔发出咔咔的声音: 多数情况是, PWM信号的周期没有严格保持20毫秒, 比如只有19.8毫秒, 从而导致齿轮组不断重复启动动作。应该把定时器的分频比固定下来。这样才能确保频率稳定在50赫兹, 并且误差范围不超过正负百分之0.5。

高速运动后回弹: 这种情况是 D 项不足或者齿轮间隙大所导致的, 我们要增加 D 值, 也可以在机械端加装消隙机构。

当多个舵机同时动作时,会造成电流冲击很大的情况: 我们需要将 PWM 的更新时刻错开 1~2ms, 这样能够避免峰值叠加的发生。

行动建议

不管是什么类型的位置控制器应用, 按照下面的步骤来操作, 可以最快让结果可以使用: 第一步, 把脉冲宽度调制信号的周期和占空比的计算方法定下来, 去验证开环控制的位置;第二步, 根据对精度的需要, 来决定是不是要加上编码器进行闭环控制;第三步, 在使用闭环系统的时候一定要按照先比例控制、再积分控制、微分控制的顺序来进行参数调整, 每一步只改变一个变量, 并且要把波形记录下来。

核心的原则是, 它始终都保持那一种不变的状态。占空比的精度, 这个决定了那个静态的误差。Pid这个参数, 它决定了动态的那个响应。这两个方面, 要分别地去进行处理。它们是绝对不可以相互混淆的。

为所有产品提供动力单元

联系伟创动力产品专家,为你的产品推荐合适的驱动系统所需部件。

在线留言
WhatsApp
+86 0769 8399 3238
 
kpowerMap