一、简介
舵机是一种用于控制机械装置角度位置的设备,通常被用于机器人、遥控模型和机械臂等设备中。舵机内部包含一个电机和一组精密齿轮,能够通过电信号控制电机的转动角度,从而驱动舵机输出轴精准地旋转到指定的位置。舵机通常具有高精度、高扭力、高速度、高可靠性等特点,被广泛应用于控制和定位系统。
SG90舵机
SG90舵机是一种小型、经济实惠的舵机,常用于模型飞机、汽车、船、机器人等小型物体中。它在重量、体积、价格等方面具有优势,可承受较大的负载和惯性力,并具备一定稳定性,控制精度高。SG90舵机的控制方式为PWM脉宽调制,具有较好的响应速度和实时性。它的工作电压为4.8V-6V,输出扭矩为1.8kg/cm,工作温度为0℃-55℃。舵机的接线方式为红色线为正极、棕色线为负极、橙色线为信号线。
SG90工作原理
SG90舵机的控制信号是基于PWM模式的,即脉冲宽度调制。控制信号脉冲的宽度决定了舵机的位置,其中一个完整的脉冲周期称为一个时基脉冲。SG90舵机的时基脉冲周期为20毫秒,即每个时基脉冲持续20毫秒。
在20毫秒的时基脉冲中,控制信号的脉冲宽度决定了舵机的旋转角度。SG90舵机的旋转角度范围为0度到180度,对应的脉冲宽度范围约为0.5毫秒到2.5毫秒。具体而言:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
因此,控制SG90舵机旋转到特定角度时,需要发送相应宽度的脉冲信号。
Arduino程序实例
#include <Servo.h>
#define SERVO_PIN 3 //舵机引脚
Servo myservo;
void setup() {
//启动舵机
myservo.attach(SERVO\_PIN); // 启动舵机库
}
void loop() {
myservo.write(177);
delay(1000);
myservo.write(5);
delay(1000);
myservo.write(90);
delay(5000);
}