【创客教育】伺服舵机介绍和接线方法
伺服舵机是一种非常常见的配件。这里以SG90为例。有多种选择,如可分为:90°、180°、360°。伺服舵机由PWM(脉冲宽度调制)信号控制,需要连接到PWM输出引脚。
·
伺服舵机是一种非常常见的配件。这里以SG90为例。有多种选择,如可分为:90°、180°、360°。伺服舵机由PWM(脉冲宽度调制)信号控制,需要连接到PWM输出引脚。
连线方式

此设备有三根引线:
红色(VCC):接正极(支持4.8V-6V,典型值为5V)
棕色(GND):接电源地(GND)
橙色(信号线):接微控制器(如Arduino、STM32、树莓派等)的PWM输出引脚
通过将电源引脚连接到 Arduino 5V 端子,并将地线连接到 Arduino 上的任一 GND 端子,来为设备供电。信号引脚连接到 Arduino 上支持 PWM 的任何输出(标有 ~)。
PWM信号要求
- 周期:20ms(频率50Hz)。
- 高电平脉宽:0.5ms-2.5ms,对应舵机角度0°-180°

代码(Arduino)
#include <Servo.h>
Servo myservo; // 创建舵机对象
void setup() {
myservo.attach(9); // 信号线接数字引脚9
}
void loop() {
myservo.write(0); // 0°
delay(1000);
myservo.write(90); // 90°
delay(1000);
myservo.write(180); // 180°
delay(1000);
}
注意:
- 确保你的Arduino开发环境中已经安装了 Servo 库,大多数标准的Arduino IDE版本默认已经包含了这个库。如果没有,可以在Arduino IDE中通过“工具” -> “库管理”进行安装。
- Arduino的Servo库默认使用引脚9和10输出PWM
代码二:
这段代码会初始化舵机,并使其在一个循环中从0度转到180度,然后再返回到0度。你可以根据需要修改角度范围或速度。
#include <Servo.h>
Servo myServo; // 创建一个 Servo 对象
void setup() {
myServo.attach(9); // 将舵机信号线连接到数字引脚9
}
void loop() {
for (int pos = 0; pos <= 180; pos += 1) { // 从0度到180度逐渐增加角度
myServo.write(pos);
delay(15); // 等待15毫秒
}
for (int pos = 180; pos >= 0; pos -= 1) { // 从180度到0度逐渐减小角度
myServo.write(pos);
delay(15); // 等待15毫秒
}
}
注意事项
- 电源电流:SG90工作电流可达200-300mA,建议独立供电,避免因电流不足导致抖动。
- 信号稳定性:PWM信号需严格保持20ms周期,脉宽误差需小于±0.1ms。
- 角度限制:避免机械超限(如强行超过180°),可能损坏齿轮。
扩展应用
- 360°舵机:通过调整脉宽控制转向和速度(0.5ms-1.5ms正转,1.5ms-2.5ms反转)。
- 多舵机控制:使用多路PWM输出或舵机控制器(如PCA9685)。
更多推荐



所有评论(0)