一. 学习目标
如果你对机器人、创客项目或者智能家居感兴趣,那么SG90舵机肯定不陌生!今天我们来聊聊这个小巧、实用的舵机,看看它是如何在各个领域发挥作用的。
1. 舵机的应用领域
-
机器人技术与创客项目: SG90常被用在机器人关节、手爪,甚至仿生机器人和Pan-Tilt云台上。它能为这些项目提供精确的运动控制。
-
模型与玩具: 在航模、无人机、车模、船模等领域,SG90也是常见的关键部件。它的小巧设计非常适合这些需要小型化、高精度的模型和玩具。
-
自动化与智能家居: 你知道智能窗帘、喂食器、分拣装置、指示仪表盘等设备背后可能有SG90在默默工作吗?它们的精确控制就是靠舵机来完成的。
-
教育与科研: 对于初学者和科研人员来说,SG90因其低廉的价格和简单的控制方式,成为学习和原型验证的常用工具。
二. 模块概述
1. 外观与结构
SG90看起来非常小巧,但却充满了大智慧!让我们来看看它的主要结构:
-
外壳: 通常采用轻质塑料,帮助减轻整体重量,确保它在各种应用中都能轻松适应。
-
尺寸与重量: 它的典型尺寸是23mm x 12.2mm x 29mm,重量仅为9克。对于需要节省空间和重量的项目,这个尺寸非常合适。
-
输出轴: 输出轴上带有十字盘,用于安装各种舵机臂,能够完成多种运动任务。
-
安装耳: 外壳两侧有带通孔的耳朵,方便通过螺丝将舵机固定在机体上。
-
线缆: 舵机连接到控制器的三线缆分别是:
- 棕色线(GND):接地线。
- 红色线(VCC):电源正极线,通常连接到+5V电源。
- 橙色线(Signal):控制信号线,用于接收PWM信号,控制舵机的转动。

2. 工作原理
SG90舵机内部是一个闭环自动控制系统,包含四个关键部分:
-
直流电机: 提供舵机的原始动力。
-
减速齿轮组: 将电机的高速、低扭矩转动转换为舵机输出轴的低速、高扭矩转动。
-
位置检测电位器: 连接在舵机的输出轴上,实时检测轴的旋转角度,并将电压值反馈给控制电路。
-
控制电路板: 舵机的"大脑",它根据接收到的PWM信号和反馈的电压值来计算目标角度,并控制电机转动到目标位置。
3. 性能参数
了解SG90的性能非常重要,尤其是在实际应用时。以下是它的几个主要电气特性:
-
工作电压: 一般工作电压为+5V,但它在3.5V至6V之间都能正常工作。不过,电压过低或过高会影响性能和扭矩。
-
工作电流: 空闲状态时约10mA,转动时约100-200mA,堵转时电流会更高。所以务必使用独立电源来供电,避免从开发板的5V引脚取电,否则可能烧坏电路。
-
扭矩: 在4.8V电压下,SG90的扭矩大约为1.5 kg·cm,而在6V电压下则可达到1.8 kg·cm。这意味着舵机可以驱动大约1.5-1.8公斤的物体。
-
转动速度: 每转动60度大约需要0.1秒,因此它的速度适中,但并不适合需要非常快速响应的应用。
-
转动角度: SG90舵机的转动范围是180度,因此可以在广泛的应用中进行调整。
4. 控制信号
SG90舵机通过PWM信号来控制转动。具体来说:
-
信号类型: 50Hz(周期为20ms)的PWM方波信号。
-
脉冲宽度与角度的关系: 每个周期中的高电平信号持续时间控制舵机的角度:
- 0.5ms:舵机转到0度。
- 1.5ms:舵机转到90度。
- 2.5ms:舵机转到180度。
-
注意事项: 如果脉冲宽度小于0.5ms或大于2.5ms,舵机的行为会不稳定,可能导致舵机停滞、抖动甚至损坏。

5. 优缺点总结
优点:
- 低廉的价格: 这是SG90最具竞争力的特点,适合各种预算。
- 结构紧凑,重量轻: 非常适合小型化项目。
- 易于控制,入门友好: 使用标准PWM接口,库支持完备,容易上手。
- 高集成度: 不需要用户自己设计复杂的控制系统。
缺点:
- 扭矩较小: 无法驱动重负载。
- 精度和一致性一般: 存在一定的死区,不同舵机的反应可能有所不同。
- 齿轮易损坏: 如果超负荷使用,塑料齿轮容易磨损或损坏。
- 抖动: 有时在目标位置会出现轻微的高频抖动。
- 速度较慢: 不适合需要快速响应的场合。
6. 选型与使用注意事项
- 替代选择: 如果你需要更高性能的舵机,可以考虑MG90S(金属齿轮)或DS系列舵机,这些舵机有更高的扭矩和精度。
- 供电: 一定要为舵机提供独立的电源,不要从开发板的5V引脚供电,以免损坏开发板。
- 保护: 避免舵机长时间处于堵转状态,安装机械限位,防止超负荷工作。
- 程序保护: 在程序中避免让舵机从0度直接转到180度,加入延时可以让运动更加平滑。
三. 接线图
SG90舵机的接线非常简单。按照以下接线方式连接到STM32开发板:
- **VCC(电源正极)**连接到5V(STLink 5V)。
- **GND(地线)**连接到GND。
- **Signal(信号线)**连接到B1引脚,用于接收控制信号。


四. CubeMX 配置
使用STM32时,我们可以通过CubeMX进行配置,设置PWM输出等功能。以下是CubeMX的一些配置截图,帮助你更好地理解舵机的控制方法。






五. 代码下载
通过网盘分享的文件:sg90.zip
链接: https://pan.baidu.com/s/1u_S9kg_WHDfS-93uWWGK_Q?pwd=jkcf 提取码: jkcf