舵机和机械手臂
舵机的结构和原理:工作流程为:
舵机的接线舵机采用上线接线法。电源线(+5V,红色),地线(GND棕色)和PWM控制线(黄色)。
舵机的控制舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5范围,总间隔为2ms。脉冲的宽度将决定马达转动的距离。例如:1.5毫秒的脉冲,电机将转向90度的位置(通常称为中立位置,对于180°舵机来说,就是90°位置)。如果脉冲宽度小于1.5毫秒,那么电机轴向朝向0度方向。如果脉冲宽度大于1.5毫秒,轴向就朝向180度方向。以180度舵机为例,对应的控制关系是这样的:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
Arduino驱动舵机实验下面我们就用ArduinoUNO驱动一个舵机,每隔一段时间旋转固定角度。
硬件设备:
ArduinoUNO控制器×1
9g舵机×1
电源×1
接线:
舵机电流较大,建议单独5V供电,信号线接ArduinoUNO数字3引脚,舵机和单片机共地。
程序:
Arduino有专门驱动舵机的库,导入后就可以轻松驱动舵机了。
#;//创建舵机intdeg=30;//设定角度值voidsetup(){(3);//舵机1接口3(deg);//初始角度}voidloop(){deg=50;(deg);//旋转到50度delay(1000);//延迟i秒deg=110;(deg);//旋转到110度delay(1000);//延迟i秒}舵机的选择数字舵机和模拟舵机:
两者在基本机械结构方面是完全一样的,主要由马达、减速齿轮、控制电路等组成,而数字舵机和模拟舵机的最大区别则体现在控制电路上:
数字舵机的控制电路比模拟舵机多了微处理器和晶振。不要小看这一点改变,它对提高舵机的性能有着决定性的影响。数字舵机与模拟舵机的不同主要体现在以下两个方面:
1.处理接收机的输入信号的方式,数字舵机只需发送1次PWM信号就能保持在规定的某个位置,而模拟舵机是需要多次发送PWM信号才能够保持在规定的位置上,实现对舵机的控制,按照规定的要求进行的速度进行转动。
2.控制舵机马达初始电流的方式,数字舵机减少无反应区(对小量信号无反应的控制区域),增加分辨率以及产生更大的固定力量。
模拟舵机的1个“缺点”
假设一个短促的动力脉冲,紧接着很长的停顿,并不能给马达施加多少激励,使其转动。这意味着如果有一个比较小的控制动作,舵机就会发送很小的初始脉冲到马达,这是非常低效率的。这也是为什么模拟舵机有“无反应区”的存在。比如说,舵机对于发射机的细小动作,反应非常迟钝,或者根本就没有反应。
数字舵机的2个“优势”
1、数字舵机是新型时代出现的舵机,因此数字在反应速度方面与模拟舵机相比是有优势的。因为微处理器的关系,数字舵机可以在将动力脉冲发送到舵机马达之前,对输入的信号根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能。
2、数字舵机以高得多的频率向马达发送动力脉冲。就是说,相对于传统的50脉冲/秒,现在是300脉冲/秒。虽然,因为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的激励信号,并转动得更快。这也意味着不仅仅舵机马达以更高的频率响应发射机的信号,而且“无反应区”变小;反应变得更快;加速和减速时也更迅速、更柔和;数字舵机能提供更高的精度和更好的固定力量。
常用的舵机:
SG909g舵机:
SG90
型号:SG90
重量:9g
扭矩:1.6kg*cm
使用温度:-30℃~+60℃
死区设定:5微秒
舵机类型:模拟舵机
工作电压:3-7.2V
结构材质:塑料齿
适用范围:固定翼、直升机kt、小型机器人机械手等
MG9014g舵机:
MG90S
型号:MG90S
重量:13.6g
扭矩:2.0kg*cm
使用温度:0℃~+55℃
死区设定:5微秒
舵机类型:数字/模拟舵机
工作电压:4.8V
结构材质:金属铜齿
适用范围:450电直、固定翼、直升机kt、小型机器人机械手等
MG99555g舵机:
MG995
型号:MG995
重量:55g
扭矩:13kg*cm
使用温度:-30℃~+55℃
死区设定:4微秒
舵机类型:模拟舵机
工作电压:3-7.2V
结构材质:金属铜齿
适用范围:双足机器人、机械手、遥控船
DynamixelAX-12A舵机:(这个有点贵哦)
DynamixelAX-12A
型号:AX-12A
重量:54.6g
扭矩:1.5N*m
使用温度:-5℃~+70℃
死区设定:4微秒
舵机类型:数字舵机
工作电压:9-12V
结构材质:金属齿
适用范围:机器人专用舵机