MG90S 舵机使用
MG90S 是常见的 9 克金属齿轮舵机,适合在树莓派上进行角度控制实验。本文件介绍基本接线和 Python 控制示例。
控制原理
舵机通过脉宽调制(PWM)信号来设定转动角度。树莓派通常以约 50Hz 的频率(周期约20ms)输出控制波形,改变高电平持续时间即可改变位置:
- 脉宽约 0.5ms 表示转到极限一端(约 0°)
- 脉宽约 1.5ms 为中间位置(约 90°)
- 脉宽约 2.5ms 表示另一端(约 180°)
舵机内部带有电位器反馈,控制电路会根据脉宽自动调节马达,直到输出轴停在相应角度。实际数值可能因品牌型号略有差异,可在该范围内微调。
硬件连接
MG90S 引脚 | Raspberry Pi 引脚 |
---|---|
棕线 (GND) | GND (任意针脚) |
红线 (VCC) | 5V (Pin 2 或 4) |
橙线 (信号) | GPIO18 (Pin 12) |
建议单独给舵机供电,并与树莓派共地,避免电流过大造成系统不稳定。
安装所需库
sudo apt update
sudo apt install python3-gpiozero
gpiozero + lgpio 示例
若已安装 lgpio
库(可执行 sudo apt install python3-lgpio
),可以将
gpiozero
的 pin factory 切换为 LGPIOFactory
,以使用 lgpio
的 PWM 实现:
from gpiozero import Device, Servo
from gpiozero.pins.lgpio import LGPIOFactory
from time import sleep
Device.pin_factory = LGPIOFactory()
servo = Servo(18)
while True:
servo.mid()
sleep(1)
servo.min()
sleep(1)
servo.max()
sleep(1)
更多脚本与示例可在 pi5-mg90s-tools 仓库获取。