发布时间: 2026-04-06
有一种执行器叫舵机,它能够对旋转角度进行精确控制,在机器人关节、航模舵面、摄像头云台等常见场景广泛被应用。若要正确去操作舵机,你得掌握三根线的连接方法,还得掌握PWM(脉冲宽度调制哪)信号的控制参数,以及角度跟脉冲宽度的对应关系。本文是基于标准舵机协议(像、JR等通用规范那样),提供了一套让人可直接上手那操作流程,能帮助你从零基础开始完成舵机的角度控制。
全都标准的模拟舵机,以及多数的数字舵机,均采用三根线,色相遵循行业通用基准(然而不同的品牌有可能存在细微些的不一致,还得以实际的标识作为依据)。于操作之前,要去确认你那舵机线颜色所对应的功能:
常见接线案例:
制作一个小型机械臂期间,用户把棕色线连到电源负极排针,将红色线连到5V稳压输出,把黄色线连到单片机比如常见的STM32或兼容板的9号引脚。
倘若舵机在接通电源之后呈现出抖动或者不转动的状况,百分之九十的缘由是电源电量不够。标准舵机堵转的时候电流能够达到一安以上,千万不要直接从单片机IO口获取电力,要用独立的电源(像是4.8V到6V的电池或者稳压模块)给舵机的红线供应电力,并且要和控制器共同接地(也就是GND相连)。
舵机的角度是由PWM信号的高电平时间也就是脉宽来决定的,并非占空比,所有的标准舵机都遵循以下时间基准,这个时间基准源自无线电遥控通用标准。
信号周期:20ms(即50Hz频率)。
高电平时间范围:0.5ms ~ 2.5ms。
角度对应关系(以0°~180°舵机为例):
0° → 脉宽 0.5ms
90° → 脉宽 1.5ms
180° → 脉宽 2.5ms
要留意,有一部分360°能够连续旋转的舵机,并非采用角度模式,而是借助脉宽去控制转速以及方向(停止状态是1.5ms),此篇文章着重关注的是最常被使用的0°至180°位置控制的舵机。
![]()
就拿最为司空见惯的C语言风格来说,像 IDE或者STM32 HAL这种,其中核心的操作是去生成周期为20ms并且脉宽能够进行调整的方波。以下是能够直接拿来重复使用的逻辑步骤:
1. 设置定时器为50Hz(20ms周期),PWM模式。
2. 计算占空比:
脉宽为0.5毫秒,进而得出占空比等于0.5除以20,其结果为2.5%。
脉宽为1.5毫秒,进而得出占空比等于1.5除以20,其结果是7.5%。
脉宽为2.5微秒,进而占空比等于2.5除以20,其结果为12.5%。
3. 通过修改比较寄存器值输出对应脉宽。
实际代码逻辑示例(伪代码,适用于各类C环境):
// 假设PWM分辨率为1000(0~1000对应0%~100%占空比)
(20000); // 周期20000微秒
// 0度:脉宽500微秒 → 占空比 500/20000=0.025 → 计数值25
(25);
(500); // 等待舵机转到0度
// 90度:脉宽1500微秒 → 计数值75
(75);
(500);
// 180度:脉宽2500微秒 → 计数值125
(125);
于实际项目里,你仅依照所运用开发板的PWM分辨率,比如8位对应的是0至255 ,这般进行等比例换算便可。
当你的购买需求并非是用于编程时,那么你能够去购置一个舵机测试仪,其市面正常售卖价格一般是二十~五十元币。有关其操作的具体步骤为:
1. 将舵机三线插入测试仪对应接口(防呆设计)。
2. 给测试仪供电(5V或根据舵机要求)。
3. 旋转电位器旋钮,脉宽实时变化伟创动力舵机伟创动力,舵机角度随之改变。
4. 测试仪通常还提供“自动往复”模式,用于观察舵机运动范围。
常见问题解决:
碰到舵机不转这种情况,要去查看电源电压是不是处于4.8V至6.0V这个范围之内,要特别注意的是如果是高压舵机有可能要求的是7.4V,这种情况需要去查阅数据手册。
![]()
出现抖动,或者出现发热的情况,是因为脉宽超出了0.5ms至2.5ms的范围,又或者是更新频率低于30Hz,而标准是50Hz。
角度存在着偏差,不同品牌的舵机,其处于中位时的脉宽,有可能是1.52ms,能够借助实际测量来进行校准。
在实际操作前,请逐项确认以下事项,可避免90%的故障:
把舵机标称值(常见的有4.8V、6V以及7.4V)作为标准,电源电压与之相适应,达到符合的状态。
[ ] 电源能提供至少1A连续电流(单个舵机)。
[ ] 控制器与舵机电源共地(GND连接在一起)。
[ ] 信号线未接错到电源正极(否则烧毁控制电路)。
使用万用表,在首次进行上电之前,去测量舵机红线以及棕线之间此刻的电压,判定其是否处于正常状态。
由[ ]发出的 PWM 脉宽,被严格限定于 0.5ms 至 2.5ms 的范围之内,此情况能够借助示波器或者逻辑分析仪予以验证。
舵机操作的实质是这样的,要正确地连接电源以及地线,要在信号线上施加周期为20ms、脉宽处于0.5ms至2.5ms范围的PWM波形,脉宽跟角度呈现线性对应关系。不管你运用的是单片机,还是舵机测试仪,亦或是遥控接收机,只要符合上述三个条件,任何标准舵机都能够被精准地控制。
1. 马上着手,寻一只标准舵机,像 SG90、MG995 这类常见型号的,依照本文接线图去连接 5V 电源以及控制器。
2. 先要进行中位的测试,发送一个脉宽为1.5ms的信号,以此来搞清楚或者肯定舵机所指向的是九十角度。要是出现了偏差的情况,那就记录下实际的中位脉宽,比如说为1.52ms,后来按照这个偏移量去校准。
3. 在成功将单只舵机予以控制之后,着手尝试通过多路PWM输出达成机械臂或者机器人关节的联动。
4. 在碰到问题之际,要去查看电源共地情况,接着还要核查脉宽范围情形,而这两项内容实则占据了实际出现故障状况的80%。
依据上述四步的操作方式,你能够仅凭借自身力量,在30分钟这个时间段之内,单独完成对一只舵机角度的控制。一定要先从低电压(5V)以及短时间的测试着手进行,以此来保证安全。