首页 > 行业资讯 >定制驱动模组
TECHNICAL SUPPORT

舵机来回旋转的两种控制方法:PWM信号与循环程序

发布时间: 2026-04-21

01如何让舵机来回旋转:完整操作指南

不少人于制作机器人手臂、自动门或者智能小车之际,会碰到一项基础却关键的要求情形,那便是要让舵机仿如钟摆那般反复地来回进行旋转动作,而全然不是仅仅转到一个固定角度之后便停止而不再转动。这篇文章是依据标准舵机(PWM脉冲宽度调制控制)的工作原理状况,给出具备两项经过验证的可靠办法措施之举,以此协助你能够快速达成舵机的连续往复运动之效果。

一、核心原理:舵机如何“听懂”你的指令

标准舵机,存在以0至180度或者0至360度这两种情况的,它借助接收周期是20毫秒也就是50赫兹的PWM信号,以此来达成对角度的控制。其中:

高电平时间0.5ms → 对应0度位置

高电平时间1.5ms → 对应90度中间位置

高电平时间2.5ms → 对应180度位置

若要达成“来回旋转”这一效果伟创动力,其本质在于伟创动力舵机,使单片机或者控制器,循环地输出,自最小角度起始直至最大角度的PWM信号,而后再进行反向输出。

二、方法一:使用或通用单片机(最常用)

上述方案是针对电子爱好者以及学生在实验过程当中,最为稳定且可靠的一种实验方案。接下来以平台当作示例,在此需要说明的是,其逻辑对于其他单片机而言是通通适用的,只不过在引脚定义方面会存在略微的差异。

1. 所需硬件与接线

标准SG90或MG995舵机(任何品牌均可,接线颜色统一)

昂杜伊诺开发板(有乌诺型、纳米型、专业迷你型等等)。

如果舵机的电流比500mA还要大,那么外接5V电源的时候,千万不要从开发板那里获取电力,不然的话可能会出现重启状况,或者导致烧毁现象发生)

标准接线(颜色从左到右):

舵机线颜色 功能 接线目标
棕色/黑色 GND(地线) GND
红色 VCC(电源) 外接5V正极(与共地)
橙色/黄色 信号线 数字引脚9(支持PWM)

旋转回舵机来让电机转动_如何让舵机来回旋转_全回转舵机

针对这样一个案例,有一位学生,当这位学生在制作简易机械爪这种物体的时候,这位学生没有去使用外接电源,进而致使舵机出现旋转无力这种状况,并且还导致出现反复重启这种现象,之后接入独立的5V/2A电源以后,问题就被完全解决了。

2. 完整示例程序(实现连续来回旋转)

# 
Servo ;
int pos = 0;          // 当前角度
int step = 1;         // 每次变化步长(1度为平滑)
int  = 0;     // 最小角度(可改为20度避免堵转)
int  = 180;   // 最大角度
void setup() {
  .(9);  // 信号线接引脚9
}
void loop() {
  // 从最小角转到最大角
  for(pos = ; pos <= ; pos += step) {
    .write(pos);
    delay(15);        // 控制转速,数值越小转得越快(但需大于10ms)
  }
  // 从最大角转回最小角
  for(pos = ; pos >= ; pos = step) {
    .write(pos);
    delay(15);
  }
}

参数调整说明

改变旋转速度能够通过修改delay(15)来达成,越慢的来回情况是由越大的数值导致的,10ms是数值最小的建议数量。

要是舵机于0度或者180度的位置发出那种“滋滋”的异常声响,那就把设定成10,将设定成170,以此来防止机械限位导致堵转,避免出现问题。

3. 上传后无反应?检查清单

确认舵机红色线电压为5V(用万用表测量)

确认开发板与舵机GND已连接(共地)

,要去确认,信号线所连接的位置,是在PWM引脚这里,而在 Uno里边,引脚3、5、6、9、10、11这些引脚是支持的

三、方法二:使用555定时器搭建硬件电路(无编程)

要是你不存在单片机,或者并不期望去编写代码,那么能够经由纯粹的硬件电路达成舵机来回摆动。这种方法适用于教学演示,也适用于简单自动化场景。

电路核心元件

NE555定时器芯片 ×1

10kΩ电阻 ×2

100kΩ可调电阻 ×1

10μF电容 ×2

0.1μF电容 ×1

二极管 ×2(保护舵机)

工作原理

旋转回舵机来让电机转动_如何让舵机来回旋转_全回转舵机

555定时器被配置成无稳态多谐振荡器,能够输出频率大概为50Hz的方波,借助两个可调电阻来改变高电平时间,该高电平时间处于0.5ms至2.5ms范围,致使输出脉宽在周期里反复进行变化,进而驱动舵机做往复运动。

常见的问题是这样的,手动焊接而成的555电路,它是有可能出现舵机抖动这种情况的。经过测试之后才发现,在输出引脚跟舵机信号线之间串联一个1kΩ电阻,并且在舵机电源端并联一个1000μF电解电容,如此做就能大幅提升稳定性。

四、不同场景下的建议

你的需求场景 推荐方法 关键注意事项
学习机器人控制、需要随时调整角度和速度 方法一(编程) 使用delay(15)配合步长1度,避免角度突变导致抖动
制作低成本自动演示,不想写代码 方法二(555) 确保电源稳定,建议使用电池供电而非USB口
需要舵机360度连续旋转(非标准来回) 使用360度舵机 360度舵机无法控制角度,只能控制转速和方向,请勿混用

五、核心观点重申与行动建议

其核心观点为,要令舵机作来回旋转之动作,究其实质乃循环性地去改变PWM信号的高电平时间,从而让该信号于最小脉宽(对应0度)与最大脉宽(对应180度)之间进行往复性的变化。其中编程控制属于最为灵活且最为可靠的方式,然而纯硬件电路则适用于不存在编程的环境。

立即行动步骤

1. 确认你的舵机类型(标准0180度舵机才适用上述方法)。

2. 预备好开发板,以及5V外接电源,就算当下手里没有,也能够用手机充电宝搭配5V升压模块进行临时替换。

3. 将上文示例程序直接进行复制,上传之后,先使得舵机摆动一回,接着把delay值以及角度范围予以调整,直至达到满意状态

4. 要是舵机出现剧烈抖动的情况,那就得查看电源电流是不是低于1A,并且要在舵机红色线与棕色线之间并联一个电容,这个电容的大小范围是220μF到1000μF

若依照上述步骤去进行操作,那么你会在十分钟里头成功达成舵机的稳定地来回转动。一旦碰到任何异常状况,请要优先排查“共地”以及“电源电流”这两个最为经常出现的失败缘由。

为所有产品提供动力单元

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

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