文章目录
舵机(Servo)
1、舵机构造
1.1 组成
由外壳、直流电机、减速齿轮组、位置检测传感器和控制电路组成。
1.2 原理
其工作原理是由接收机发出讯号给舵机,经由电路板上的 IC驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。简而言之,通过发送信号,指定输出轴旋转角度。一般有最大旋转角度(如180度)
1.3 与直流电机区别
(1)直流电机转动一圈,舵机在一定角度内转动。
但数字舵机可以在舵机模式和电机模式中切换,没有这个问题。
(2)普通直流电机无法反馈转动的角度信息,舵机可以;
(3)用途不同,普通直流电机整圈转动作动力用,舵机控制某物体转动一定角度(比如机器人关节)
2. 舵机信号线
2.1 区分舵机信号线
舵机内部有驱动电路,所以信号线可以直接接普通I/O口。
如果控制部分和电源部分是分开的,两者一定要共地(GND要一起)
2.2 舵机信号线的作用
舵机用信号线的颜色区分功能,红色线为正极,棕色线为负极,橙色线为控制线。
3. 舵机的规格和选型
舵机有模拟舵机和数字舵机之分.
3.1 规格
舵机的规格主要有几个方面:转速、转矩、电压、尺寸、重量、材料等。
转速
转速由舵机无负载的情况下转过60。角所需时间来衡量,常见舵机的速度一般在0.11/60‘~0.21S/60^之间。
转矩
舵机扭矩的单位是KG.CM,这是一个扭矩单位。可以理解为在舵盘上距舵机轴心水平距离1CM处,舵机能够带动的物体重量。
电压
舵机推荐的电压一般都是4.8V 或6V。
尺寸、重量和材质
4. 舵机编程
#include <Servo.h> // 声明调用Servo.h库
Servo myservo; // 创建一个舵机对象
int pos = 0; // 变量pos用来存储舵机位置
void setup() {
myservo.attach(9); // 将引脚9上的舵机与声明的舵机对象连接起来
}
void loop() {
for(pos = 0; pos < 180; pos += 1){ // 舵机从0°转到180°,每次增加1°
myservo.write(pos); // 给舵机写入角度
delay(15); // 延时15ms让舵机转到指定位置
}
for(pos = 180; pos>=1; pos-=1) { // 舵机从180°转回到0°,每次减小1°
myservo.write(pos); // 写角度到舵机
delay(15); // 延时15ms让舵机转到指定位置
}
}