首页 > 行业资讯 >减速电机
TECHNICAL SUPPORT

SG90舵机程序怎么写?一张流程图讲清PWM控制全流程

发布时间: 2026-09-21

SG90舵机是最常见的微型伺服电机之一, 被广泛使用在机器人手臂、云台、平衡车等小型项目里面。它的程序设计核心主要是围绕PWM, 也就是脉冲宽度调制信号来展开的, 具体的做法是通过改变脉冲占空比的方式, 来实现对输出轴角度的精确控制。

这篇文章将从初始化步骤开始讲起, 接着说到信号生成、角度映射, 到方向判断, 把这整套SG90舵机程序的设计流程图完整拆解开来看, 其目的是为了帮助开发者能够快速搭建出一套能够运行的控制逻辑。

一、流程图五大核心步骤

标准的SG90舵机程序在设计过程中,它是包含有五个环节的伟创动力舵机, 这五个环节是要按照顺序去一步步执行的。

(1)进行硬件初始化, 配置PWM输出引脚, 设定信号频率为50Hz, 对应一个完整周期20ms。

(2)关于角度参数的映射过程是这样的, 它会将那些落在0°到180°这个区间里的角度值, 转换为相应的脉宽数据, 而转换后的脉宽范围是500μs到2500μs, 具体的映射公式就是脉宽等于500还要加上那个角度除以180之后再去乘以2000所算出来的结果。

(3)生成PWM波形, 根据目标角度计算脉宽, 在20ms周期内输出对应的高电平持续时间。

sg90舵机控制原理_sg90舵机接线图_sg90舵机程序设计流程图

(4)关于方向与速度的判断, 具体做法是比较目标角度和当前角度之间的大小关系, 从而确定应该往哪个旋转方向转动, 并且要根据这两个角度之间的差值的大小, 来设定旋转时每一步的步长。

(5)如果要持续运动的话就得进入循环检测, 要是只是单次定位的话那就执行一次之后就保持当前的脉宽不变。

二、典型案例:双舵机云台控制

拿大家常见的双SG90云台, 也就是水平加俯仰这种型号来做例子, 整个程序走的流程是这样的事情。主程序要把自己启动起来。接下来就要把两路PWM引脚给初始化好。然后就是读取传感器数据或者用户输入过来要的目标角度。

接着就要分别去调用那个映射函数, 用它来生成两路对应的脉宽值。生成好了以后就要把这个数值写入到PWM寄存器里面去。等到这一步做完以后, 云台就开始响应并且运动到位了。

如果说还要加入PID控制这个的话, 那在角度映射和方向判断这两个环节中间, 就得额外增加一个计算误差的地方, 同时也要加上用参数进行修正的这个步骤。这种情况是初学者通常情况下都会碰到的,把这种流程给搞清楚之后啊伟创动力, 再去搞那个多自由度的机械臂项目, 就可以很顺畅地扩展过去了。

三、牢记的硬件参数

sg90舵机控制原理_sg90舵机接线图_sg90舵机程序设计流程图

SG90这个舵机的电气参数, 直接决定了程序能不能跑起来。它的工作电压是在4.8到6.0伏之间, 推荐用的电压是5伏。PWM的频率就是50赫兹。转动的角度范围是从0度到180度。脉宽的范围在500微秒到2500微秒。

堵转的电流大概是2安培。要是供电的电压低于了4.8伏, 这个舵机经常就没办法转到极限的那个角度。要是PWM的频率偏离了50赫兹, 控制精度就会大大地变差。到时候就会出现抖动的情况, 或者是定位出现了偏移。

四、核心结论与行动建议

SG90舵机程序设计的核心内容, 就是使用频率为50赫兹的PWM信号, 并且把角度数值转换成对应的脉冲宽度数值, 这个过程是一个线性映射关系。

流程图的作用, 在于把那些看起来比较抽象的控制逻辑, 分解成一个个可以慢慢做出来的功能模块;这样做的好处, 是可以降低人们一次性去理解所有代码内容所面对的困难程度。

建议开发者按照接下来的路径去进行实践工作, 要做的步骤是用示波器或者用逻辑分析仪来验证50Hz方波输出是不是正确的, 然后再由着顺序逐步接入关于角度映射的逻辑以及方向判断逻辑。

在一步中把任务扩展至多舵机协同与PID闭环控制的范围里, 当你把流程图完整跑通一遍之后, SG90舵机的程序设计便不再显得复杂了, 其核心原因始终是那一个50Hz周期内的脉宽换算这一件事。

为所有产品提供动力单元

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

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