发布时间: 2026-05-23
舵机角度是由 PWM(脉冲宽度调制) 来进行控制的,其实际上是借助不同宽度的电脉冲信号伟创动力,向舵机内部的电路传达“我要转到哪个位置”的信息。你无需去理解那些复杂的电子公式,只需记住一个核心逻辑就可以:对于舵机而言,它关注的是脉冲的宽度(也就是高电平持续的时间),而非电压的高低。
舵机内部存在一个基准电路,该基准电路会持续不断地产生一个周期为20毫秒(ms)的参考信号。外部输入的是PWM信号,此PWM信号属于这个周期的控制信号。舵机内部的比较器会针对这两个信号展开对比:
要是外部脉冲的宽度比内部参考数值大,那么电机就会朝着正方向转动,角度也会随之增大。
若外部传来的脉冲宽度比内部所设定的参考值小,那么电机就会进行反转,其角度会减小。
倘若二者处于相等的状态,运转着的电机进入停止的情形,操控着的舵机被锁定在了当前时刻的角度范围之内。
故而,你给予舵机一个周期为20ms的PWM波,借由更改其中高电平的持续时长(占空比),便能够精准控制角度。
许许多多的标准舵机,像SG90、这类,依照以下的对应关系。要留意,不一样品牌或者工业级的舵机,也许存在细微的差别,不过原理是完全相同的:
| 目标角度 | 脉冲宽度(高电平时间) | 占空比(20ms周期下) |
|---|---|---|
| 0° | 0.5ms ~ 1.0ms | 2.5% ~ 5% |
| 90° | 1.5ms | 7.5% |
| 180° | 2.0ms ~ 2.5ms | 10% ~ 12.5% |
常见误区澄清:
并非所有的0°都是0.5ms,有部分舵机在出厂时校准的是0.6ms。在实际进行使用的时候,先通过程序微调找到真实的0°和180°边界这一做法是被建议的。
倘若你所给予的脉冲宽度超越了舵机能够允许的范围,举例来说,像是给予了3ms,那么舵机要不然就会出现堵转进而发热,要不然其内部电路就会启动保护机制导致停机,并且不会转动到“更为远些”的角度。
1. (周期):绝大多数舵机运用50Hz(也就是20ms周期),假如频率过高(像是100Hz这般),舵机会持续处于抖动或者没有办法定位的状况,要是频率过低(如同30Hz那样),响应就会变得迟缓。
2. 占空比分辨率:控制精度是由你所配备的控制器(包括单片机、、STM32 这类)能够输出的最小占空比步进所决定的。8 位 PWM仅仅可以输出 256 级 ,这般便对应着大约 0.7°的步进。要是有 0.1°精度的要求 ,那就得借助 16 位 PWM 或者软件定时器来达成。
3. 死区(Dead Band),舵机内部有个“不敏感”范围,当脉冲宽度变动小于大概5至10微秒时,舵机不会有动作,这是用来避免微小信号抖动致使电机频繁启停,高端舵机会借助软件来缩小死区。
问题1:舵机抖动不停,无法稳定停在某个角度
PWM信号不稳定,这是一个原因,或者电源供电不足,这也是一个原因。抖动的时候,电流会突然下降,将会导致控制芯片复位。
将一个470μF至1000μF的电解电容,并联于舵机电源引脚,同时要保证电源电流,起码是舵机峰值电流的两倍 ,来解决问题。
问题2:舵机只能转到某个范围(比如只能到0°~90°),无法达到180°
![]()
缘由是,脉冲宽度的设定并未将整个范围完全覆盖,去查看一下你的程序,是不是仅仅输出了从1.0毫秒至1.5毫秒的范围呢。
处理:于程序里把脉冲宽度由0.5毫秒一步一步加至2.5毫秒,与此同时借助示波器或者逻辑分析仪去确认实际的波形。
问题3:更换舵机后,同样的程序无法正常控制
缘由是,各不同品牌的舵机,其脉冲宽度映射情况不一样,举例来说呀伟创动力舵机,存在一些工业舵机,其中0°所对应的是0.7ms,而180°所对应的则是2.3ms。
第一步要做到读取,什么呢,读的是舵机说明书里提及的“脉冲宽度范围”,之后呢要进行重新校准的操作,针对什么重新校准呢,是程序里面所包含的映射函数。
刚刚着手学习PWM控制舵机,采用以及SG90舵机,直接运用Servo库,它能够主动处理50Hz周期以及脉冲宽度映射,你只要写上servo.write(90)就行。
要是你有高精度控制方面的需求,比如说针对机械臂关节这种情况,那一定要使用分辨率为16位或者更高的PWM控制器,例如 ,并且要结合角度传感器来进行闭环反馈,仅仅依靠开环PWM是没办法对抗负载变化所带来的误差的。
要是你于工业场景里运用,那就挑选那种支持PWM输入的工业级舵机,像那种支持0至10V或者4至20mA转换的型号,而且要保证信号线屏蔽接地,防止电机电磁干扰致使角度出现跳变。
将核心观点再次着重强调:PWM对舵机角度进行控制的实质,乃是借助脉冲宽度向舵机传达“转动到此处”的指令。你无须成为电子工程师,然而领会脉冲宽度、周期以及死区这三个关键参数。在实际开展调试工作时,99%的问题皆是出自电源不稳定、脉冲范围不匹配或者频率出现错误的情况。当遭遇问题之际,应优先针对这三项开展检查工作之时。



