首页 > 行业资讯 >无刷电机
TECHNICAL SUPPORT

双轴舵机控制原理:从PWM信号到双轴同步

发布时间: 2026-04-13

01双轴舵机控制原理:从PWM信号到双轴同步

你有没有碰到过这种情形:正在构建一个具备两自由度的云台,想着使摄像头既能够朝左右方向进行旋转,又能够做上下角度的俯仰动作,然而却发觉两个舵机各干各的,没办法共同协作开展工作?又或者你购置了双轴舵机,却弄不明白它究竟应该采用几路PWM信号去实施控制?本文会从实际运用的角度出发,全面剖析双轴舵机的控制原理、接线的方式以及编程的要点,助力你一下子就掌握双轴舵机的全部控制技术。

一、核心原理:双轴舵机本质是两个独立舵机的整合

双轴舵机的控制核心得出这样的结论,双轴舵机内部有着两套完全独立的电机,还有减速齿轮组以及角度反馈电位器,你得经由两路独立的PWM信号分别去控制其X轴的转动角度以及y轴的转动角度,每个轴的控制方式和标准单轴舵机完全一样,二者相互之间不存在电气方面的耦合关系,也不存在信号上的耦合关系。

所依据的权威内容为:依照伺服电机控制技术规范(GB/T 16439 2022),位置伺服系统的基础控制逻辑,对控制信号与执行角度存在线性对应关系提出要求。双轴舵机其本质是什么呢,是把两套伺服系统整合于同一壳体内,信号控制部分遵循同一种行业标准。

于实际项目里,像搭建一个简易的两自由度机械臂这般,X轴舵机承担着水平旋转的职责,其旋转范围是0°至180°,Y轴舵机负责垂直抬升,范围同样是0°至180°。当你有需求要把末端移至“左上方”位置时,你得在同一时刻对X轴舵机发送对应“左”的角度PWM信号,并且向Y轴舵机发送对应“上”的角度PWM信号,这即是双轴控制的基本逻辑

二、PWM信号控制参数(核心操作标准)

控制信号针对每个轴而言,皆是标准的PWM(脉宽调制)信号,严格依照以下参数:

参数项目 标准值范围 说明
信号周期 20ms(50Hz) 绝大多数商用舵机的标准周期,偏离此值可能导致舵机抖动或无法响应
高电平脉宽 0.5ms ~ 2.5ms 对应最小角度到最大角度的完整行程
0°对应脉宽 0.5ms(部分型号为1.0ms) 需查阅具体舵机规格书确认零点定义
90°对应脉宽 1.5ms 中位角度的标准脉宽
180°对应脉宽 2.5ms(部分型号为2.0ms) 满量程角度的标准脉宽
电压范围 4.8V ~ 7.2V(常见) 低于4.8V可能导致扭矩不足,高于7.2V可能烧毁内部电路
工作电流 100mA~500mA(空载) 带载时电流会显著增大,需按负载峰值配置电源

角度与脉宽的线性换算公式:

目标脉宽(ms) = 最小脉宽 + (目标角度 / 最大角度) × (最大脉宽  最小脉宽)
示例:标准0°~180°舵机,目标90°:
脉宽 = 0.5 + (90/180) × (2.5  0.5) = 0.5 + 0.5 × 2 = 1.5ms

三、双轴舵机的接线方法(完整操作路径)

3.1 典型接线方案(以6线双轴舵机为例)

绝大多数双轴舵机引出6根线,分为两组,每组3根:

线色(常见) 功能 连接目标
红色(第一组) X轴电源正极(VCC) 控制器5V/6V输出或独立电源正极
棕色/黑色(第一组) X轴电源负极(GND) 控制器GND或独立电源负极
橙色/黄色(第一组) X轴PWM信号线 控制器PWM输出引脚(如GPIO 9)
红色(第二组) Y轴电源正极(VCC) 与X轴共用同一电源正极
棕色/黑色(第二组) Y轴电源负极(GND) 与X轴共用同一电源地线
橙色/黄色(第二组) Y轴PWM信号线 控制器PWM输出引脚(如GPIO 10)

关键操作要点:

电源以及地线倘若存在着两轴情况,能够将其并联至同一个电源之处,然而信号线却各自去连接到两个不一样了PWM引脚之上

电源得能够,在双轴同时开启着工作的状况下,供应峰值电流,(这里建议,按照这样的方式来配置,也就是单轴工作电流乘以二之后,再在此基础上乘以一点五倍的余下量)

严禁在舵机运转时拔插信号线,否则可能损坏控制器引脚

3.2 常见接线错误及后果

错误操作 具体表现 后果
两轴信号线接到同一PWM引脚 两个轴完全同步转动 无法独立控制,双轴舵机退化为单轴效果
电源电流不足 启动时电压骤降,舵机抖动或重启 控制失效,可能烧毁舵机内部驱动芯片
共地不共源 两个轴使用不同电源但GND未连接 信号参考电位不一致,产生不可预测的抖动
脉宽超出2.5ms 舵机持续向极限位置施压 齿轮组卡死或电位器损坏

四、双轴独立控制的编程实现(可直接使用的代码框架)

举例如下,展示怎样同时操控X轴以及Y轴抵达特定角度,该情况适用于,适用于ESP32这样的常见平台、。

// 双轴舵机控制示例代码
# 
Servo ;  // 创建X轴舵机对象
Servo ;  // 创建Y轴舵机对象
// 定义信号引脚
const int pinX = 9;   // X轴PWM引脚
const int pinY = 10;  // Y轴PWM引脚
void setup() {
  .(pinX);
  .(pinY);
  // 可选:设定脉宽范围(非标准舵机需要手动设置)
  // .(pinX, 500, 2500);  // 500us~对应0~180度
  // .(pinY, 500, 2500);
}
void loop() {
  // 示例1:X轴从0°转到180°,Y轴保持90°不变
  for (int angle = 0; angle <= 180; angle++) {
    .write(angle);   // 设置X轴角度
    .write(90);      // Y轴固定在中位
    delay(15);             // 等待舵机转到目标位置
  }
  delay(1000);
  // 示例2:双轴同时运动,形成对角线轨迹
  for (int angle = 0; angle <= 180; angle++) {
    .write(angle);   // X轴角度递增
    .write(180  angle); // Y轴角度递减
    delay(15);
  }
  delay(1000);
}

关键编程要点:

双轴舵机控制原理_原理控制双轴舵机转速_原理控制双轴舵机的方法

1. 写函数 servo.write(angle) ,它能够自动地把角度,也就是范围处于 0 至 180 之间这样范围的角度,转变为与之对应的脉宽。

2. 两个舵机对象独立调用,互不影响,实现了真正的双轴独立控制

3. 那运动速度是由delay()的时长来决定的,对于舵机而言,15ms到20ms这个范围是比较常见的响应周期。

4. 要是有进一步、更高频率的控制需求,像是进行实时追踪这种情况,那么建议采用定时器中断,而不是使用delay() 来处理。

五、双轴同步运动的核心技术

当存在这样一种情况,即需要两个轴依照特定的轨迹来协同运动,比如说要让机械臂的末端作出画圆或者走直线这样的动作时 ,那“时间同步”这项问题就得去解决。

5.1 匀速直线运动的插补

假如存在要从一个记为点A(其坐标为x1, y1)的位置移动至另一个记为点B(其坐标为x2, y2)的情况,并且期望末端所走过的路径是呈直线形态的轨迹。

操作步骤:

1. 计算X轴总行程:Δx = x2 x1

2. 计算Y轴总行程:Δy = y2 y1

3. 取较大行程作为总步数N = max(|Δx|, |Δy|)

4. 每隔一定的控制周期(举例来说像20毫秒这样的时长),各自去计算X轴以及Y轴当下的目标角度。

X轴当前角度 = x1 + (Δx × step / N)

Y轴当前角度 = y1 + (Δy × step / N)

现实存在实例,有一个具备两个自由度的云台,其要从左上角位置即(30°, 150°)之处移动到右下角位置,也就是(150°, 30°)那里。依据上述所讲,控制程序会生成100个中间的点,每一个单独的点都会同时去发送X以及Y两个方向的角度指令,最终由此而形成一条呈现平滑状态的对角线轨迹。

5.2 同步控制的常见问题与

问题现象 根本原因
两轴启动时间不一致 程序中的delay()导致顺序执行 使用非阻塞编程(()或定时器)同时发送指令
运动轨迹呈阶梯状 角度分辨率不足(1°步进过大) 使用微步进(0.5°或更小),或使用()直接控制脉宽
运动过程中抖动 电源电压不稳定或PWM频率冲突 增加电源滤波电容(1000μF以上),检查PWM频率是否为50Hz
角度漂移 电位器磨损或齿轮间隙 执行归零校准,在程序中加入位置闭环修正

六、双轴舵机的校准方法(消除角度误差)

6.1 零位校准步骤

1. 断开负载(拆下舵机臂)

2. 发送1.5ms脉宽信号(90°中位)

3. 将舵机臂以尽可能接近垂直的角度安装

4. 分别对 0°这个处于 0.5 毫秒状态时的位置进行测试,还要对 180°这个处于 2.5 毫秒状态时的位置进行测试,之后记录实际出现的角度偏差。

5. 在程序中建立偏差映射表进行补偿

6.2 行程范围校准

有部分并非严格处于0°至180°范围的双轴舵机,其实际行程情况, 能够借助以下这些方式来测定实际所涵盖的范围:

把发送脉宽,从0.5毫秒,逐步地增加到2.5毫秒,其间记录舵机开始转动的脉宽值,以及停止转动的脉宽值。

把实际存在的脉宽范围代入到名为的函数,该函数作用在特定引脚,带有最小脉宽和最大脉宽这两个参数。

七、选型与故障排查指南

7.1 双轴舵机选型核心指标

指标 检查要点 对控制的影响
扭矩 单轴扭矩 ≥ 负载扭矩×安全系数(1.5) 扭矩不足会导致定位不准或堵转烧毁
精度 死区范围 ≤ 5μs 死区过大会产生角度静差
响应速度 60°/s 以上(中高端型号) 响应慢会导致轨迹跟踪滞后
齿轮材质 金属齿轮 > 塑料齿轮 塑料齿轮在负载下易打滑或断裂

7.2 常见故障的排查顺序

1. 舵机呈现出完全静止不转动的状态,这种情况下,需要去检查电源的电压以及极性,还要对红色线与棕色线之间予以测量,判别衡量其两端彼此之间是否存在5V以上这样一个电压数值。

2. 若单个轴处于不转动的状态 ,那就进行交换X与Y信号线的测试操作 ,以此来判别究竟是舵机内部出现故障了 ,还是信号输出方面存在问题。

3. 经由抖动或者嗡嗡声,推断出电源电流不足,或者PWM信号存在干扰,针对此情况,采取添加电容的举措,或者缩短信号线长度的办法。

4. 角度不准 → 执行归零校准,检查脉宽范围是否与舵机规格匹配

5. 两个轴出现干涉情况,那就去检查一下机械结构是不是存在硬限位,要保证这两个轴的转动范围不存在物理方面的冲突。

八、核心观点

双轴舵机的控制,本质上就是同时管理两路独立的PWM信号,每路信号遵循完全相同的参数标准(20ms周期、0.5~2.5ms脉宽对应0~180°),控制程序通过两个独立的舵机对象分别发送角度指令,即可实现双轴的独立或协同运动。

九、行动建议

基于以上原理,请按以下步骤执行你的双轴舵机控制项目:

1. 是第一步,这一步是验证接线伟创动力舵机,需要去连接单个轴,接着要发送1.5ms信号,以此来确认舵机能稳定地停在90°中位。

2. 第二步,进行针对双轴的测试,要把两个轴一块儿连接起来,还要分别去发送不一样的固定角度,像是X轴为0°,Y轴是180°,之后要去确认这两个轴能够分别独立地进行定位。

3. 按照编程运动的第三步,最开始要进行的初步顺序活动是这样的,假设当X轴开展全程移动的时候,Y轴处于固定状态伟创动力,之后再循序渐进地向同步插补运动进行转变。

4. 第四步呢属于电源确认环节,在这个环节当中,需要借助万用表去测量,测量的是什么呢是工作时候的电源电压降,要做到确保其数值不会低于4.8V。

5. 第五步(负载测试):安装实际负载后,重新校准零位和行程范围

依照上述步骤,你能够于2小时之内达成从接线直至双轴同步运动的整个流程验证。要是在任一环节碰到异常,那就返回本文第七节的故障排查表,依照顺序逐个排查。

为所有产品提供动力单元

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

发送邮件
在线留言
WhatsApp
+86 0769 8399 3238
 
kpowerMap