发布时间: 2026-04-16
核心结论:舵机的旋转角度完全由PWM信号的高电平脉宽决定。对于最常见的舵机,使用周期为20ms(频率50Hz)的PWM信号,高电平脉宽在0.5ms至2.5ms之间变化时,舵机轴会从0度旋转至180度。其中,1.5ms的脉宽对应90度中位。
PWM信号,也就是脉冲宽度调制信号,通过在一个固定周期之内,改变高电平持续的时长,也就是脉宽,来向舵机内部的控制电路传递角度指令。舵机内部电路把输入的脉宽跟内部基准电路作比较,产生电压差去驱动电机,最终让输出轴停止在指定角度。
关键事实是,舵机对PWM信号的占空比百分比并不关注,它只在意高电平的绝对持续时间,也就是微秒或者毫秒。只要脉宽精准无误,即便周期在一定范围之内出现波动,通常是允许在18ms到25ms之间波动,舵机依旧能够正常运行。
有这样一些参数,这些参数是适用于市面上超过90%的标准模拟舵机以及数字舵机的,而这些舵机的电源电压范围是4.8V到6.0V ,具体如下:
0度:高电平脉宽 = 0.5ms(500μs)
45度:高电平脉宽 = 1.0ms(1000μs)
90度:高电平脉宽 = 1.5ms(1500μs)
135度:高电平脉宽 = 2.0ms(2000μs)
180度:高电平脉宽 = 2.5ms(2500μs)
注意,有部分二百七十度舵机,其零点五毫秒至二点五毫秒对应着零至二百七十度,且线性度是相同的,还有少数三百六十度连续旋转舵机,将一点五毫秒用作停止点,脉宽一旦偏离一点五毫秒,便会产生速度控制,请以舵机附带的规格书为准。
![]()
有三根被称为引线的存在于每一个舵机之中,对于那个颜色而言它是遵循着行业标准的(在少数品牌那里或许会存在差异,这种情况下要以实物所标识的内容作为标准进行判断)。
重要安全提示:
在多个舵机一同进行工作之际,要运用独立的外接电源,也就是电池或者稳压模块,不要去依靠控制板所输出的5V,不然的话就会致使控制板出现复位或者被烧毁的情况。存在着常见的案例:有一个机器人制作的初学者,其同时去驱动4个舵机,因控制板USB供电不足,舵机产生剧烈颤动并且无法维持角度。
信号线直接连接控制板PWM引脚,无需串联电阻。
下述伪代码将核心逻辑予以呈现,能够直接被移植至平台,亦能够直接被移植至STM32平台,还能够直接被移植至ESP32等平台。
// 定义PWM输出引脚和参数
int = 9;
int = 20000; // 周期20ms = 20000μs
// 角度转脉宽函数(0180度 > 5002500μs)
int (int ) {
// 线性映射:0度=500μs,180度=2500μs
500 + ( * 2000 / 180);
}
// 设置舵机角度
void (int angle) {
int = (angle);
// 产生PWM信号:高电平持续微秒,然后低电平至周期结束
(, HIGH);
();
(, LOW);
( );
}
// 使用示例:让舵机在0度、90度、180度之间循环
void loop() {
(0);
delay(1000);
(90);
delay(1000);
(180);
delay(1000);
}
在实际开展项目期间,提议运用硬件 PWM 库(像是 的 Servo.h那样的),以此来防止软件延时对 CPU 造成占用。
分析其原因在于,PWM信号的周期呈现出不稳定的状况,或者脉宽出现了过大程度的跳变,同时电源电压也处于不足的情形。
检查PWM波形的办法是,通过示波器或逻辑分析仪来进行。有个常能见到的案例是,某爱好者采用软件延时去模拟PWM,由于中断干扰致使脉宽误差达到了±100μs,进而造成舵机出现抖动情况。在改用硬件PWM之后,该问题得到了解决。与此同时,要确定舵机电源电流是足够的,对于单舵机来说是0.5A 1A,而大扭矩舵机则需要2A以上。
供电电压处于过低的状况,或者机械出现阻碍无法正常运转,这是原因之一;脉宽的数值超出了合理的区间范围,具体来说数值方面存在低于0.3毫秒数值、高于2.7毫秒数值这样的情况,这也是原因之一。
用来解决问题的办法是测量红色与棕色线之电压为高于4.5V,检查脉宽是否处于0.5ms至2.5ms区间,手动旋转舵机输出轴来确认是否因齿轮卡死。
![]()
问题缘由剖析:PWM信号线路存在接触不良状况,或者控制板输出的电平处于异常状态,像是一直维持在高电平现象。
解决办法:运用万用表去测量信号线与地之间的电压,在正常开展工作时它应该是存在跳变情况的。常见事例:在某一个机器人项目当中,信号线的插头出现了氧化现象,进而使得高电平仅仅只有2.5V,这使得舵机错误地判断为最小脉宽。在进行了排线替代操作之后就恢复正常了。
1. 使用示波器或逻辑分析仪验证PWM信号
连接舵机之前,要先用示波器去进行测量,测量控制板输出的PWM波形,要对其周期予以确认,确认周期处于20ms±2ms这个范围,脉宽要在0.5ms 2.5ms范围内,并且能够连续调整,进行上述动作那才是避免烧毁舵机的最有效手段。
2. 独立供电原则
舵机的电源正极,与电源负极采取并联方式相连,之后接到外接稳压电源上,像4.8V 6V镍氢电池组,或者5V/3A稳压模块。控制板的GND,要和舵机电源GND共地,也就是连接在一起,不然信号无法形成回路。
3. 首次测试时使用最低电压和最小脉宽
把舵机电源安排设定成4.8伏特,去发送对应0度的脉宽(0.5毫秒)那个数值,查看舵机是不是转动到机械限位之处。要是舵机朝着相反方向转动或者传出不正常的声响,马上切断电源,核查脉宽映射逻辑。
4. 重复核心观点:舵机角度 = f(高电平脉宽)
无论你选用何种单片机,无论你采用何种编程语言伟创动力舵机,最终所要进行输出的,就是一类符合周期稳定要求、脉宽精确规定的方波信号。只要脉宽处于正确状态,舵机便会停止在与之对应的规定角度。请记住这样一个等式:0.5ms的脉宽会对应0°的角度,1.5ms的脉宽会相应于90°的角度,2.5ms的脉宽会等同于180°的角度。
5. 保存本指南中的参数对照表
把“角度和脉宽精确对应关系”的表格打印出来伟创动力,或者截图保存,将其用作后续项目的快速参考依据。当你有需要让舵机停留在特定角度的情况时,直接通过线性插值来计算脉宽就行。
结论:掌握PWM信号脉宽跟舵机角度的直接对应关联,且提供稳定电源以及正确接线,如此你便能精确控制任意标准舵机。从今日开始,用示波器去验证你的首个PWM信号,你将会发觉舵机控制变得极为简单可靠。