欢迎光临
我们一直在努力

9g 14g舵机 示例教程 适用于Arduino平台

1. 产品图片

2. 产品购买地址点我购买

3. 产品概述
舵机使你可以准确的控制物理运动,因为它们通常移动到一个位置,而不是连续旋转。它们很适合物体在0-180°的范围内旋转。舵机很容易连接和控制,因为电机驱动器已经内置于舵机。
舵机包含一个小型电动机通过齿轮连接到输出轴上。输出轴驱动舵机臂,同时还连接着一个电位器,以提供位置反馈到内部电路。
舵机会响应脉冲持续时间的变化,1ms或者更短的脉冲会使舵机旋转到一个极端;2ms左右的脉冲持续时间将舵机转到另一个极端。介于这些值范围内的脉冲将使舵机旋转到与脉冲宽度成比例的位置。没有标准的脉冲和位置之间的确切关系,你可能需要调整你的程序的命令来调整舵机的范围。
虽然脉冲的持续时间是受调制(控制)的,舵机于鏊求的脉冲和从analogWrite输出的脉冲宽度调制(PWM)不同。如果你把舵机连接到analogWrite的输出端,你可能会损坏它,请使用Servo库。

4. 产品参数
重量:9g(克)/14g
尺寸:2312.229mm
无负载操作速度:0.12秒/60度(4.8V);0.10秒/60度(6.0V)
扭矩:1.6KG·cm(4.8V)
使用温度:零下30℃-60℃
死区设定:5微秒
工作电压:3.5V-6.0V

5. 工作原理
控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就像我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。

6. 控制原理
舵机的控制一般需要一个20MS左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms————0度
1.0ms————45度
1.5ms————90度
2.0ms————-135度
2.5ms————-180度

7. 接线方式
内含物品:三种功能舵角、固定螺丝、9g舵机+连接线
连接线:红色:正极;橙色:信号线;棕色:地线

舵机红线5V接UNO的5V、舵机棕线GND接UNO的GND、舵机橙线PWM接UNO的PIN9

8. 示例程序

//中贝斯特UltiRobot舵机示例教程
//程序效果:舵机正转180度后反转180度。
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com

#include <Servo.h>
Servo myservo;  // 创建舵机对象来控制舵机
int pos = 0;    // 用来存储舵机位置的变量
void setup()
{
myservo.attach(9);  // 把连接在引脚9上的舵机赋予舵机对象
}
void loop()
{
for(pos = 0; pos <= 180; pos += 1) // 从0度到180度
{                                  // 步长为1度
myservo.write(pos);              // 告诉舵机到达位置变量‘pos’
delay(15);                       // 舵机命令之间等待15ms
}
for(pos = 180; pos>=0; pos-=1)     // 从180度到0度
{
myservo.write(pos);              // 在相反的方向上移动舵机
delay(15);                       // 舵机命令之间等待15ms
}
}

9. 函数解释
本例让舵机在0-180°之间扫描。你可能需要告诉库调整最低和最高位置,让你得到你想要的运动范围。使用可选参数最小和最大位置去调用Servo.attach将调整范围运动:

myservo.attach(9,1000,2000); //使用引脚9,设置最小为1000us,最大为2000us 

因为典型的舵机只对微秒脉冲而不是度数做出响应,引脚数后面的参数告知舵机Servo库当0°或180°被要求是要用到多少微妙。不是所有的舵机都会在一个完整的180°的范围内移动,所以你需要实验你的舵机以得到你想要的范围。
servo.attach 所需的参数(引脚、最小、最大)解释如下:
Pin:舵机链接的引脚号(可以使用任何数字引脚)
Min:对应于舵机最小(0°)角度时的脉冲宽度,以微妙为单位(默认值544us)
Max:对应于舵机最大(180°)角度时的脉冲宽度,以微妙为单位(默认为2400us)

10. 注意事项
1、Servo库在大多数的Arduino板上最多可支持12个舵机,在Arduino Mega板子可支持48个。如Uno这样的标准版上,使用该库将禁用在引脚9和10上的analogWrite()(PWM)功能,无论是否这些引脚上链接有舵机。
2、连接多个舵机时,你可能需要5V或6V的外部电源,如果你想用电池电源,4节AA电池就可以胜任。电池盒本店(zhongbest.taobao.com)有售。请记住,你必须把外部电源的接地连接到Arduino的地线。
3、库文件为官方编译器(IDE)自带库文件,无需手动下载和添加。

未经允许不得转载:Arduino-Maker » 9g 14g舵机 示例教程 适用于Arduino平台

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育