舵机和伺服电机舵机主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机发出讯号给舵机,经由电路板上的 IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。厂商所提供的舵机规格资料,都会包含外形尺寸(mm)、扭力(kg/cm)、速度(秒/60°)、测试电压(V)及重量(g)等基本资料。扭力的单位是 kg/cm,意思是在摆臂长度 1 公分处,能吊起几公斤重的物体。这就是力臂的观念,因此摆臂长度愈长,则扭力愈小。速度的单位是 sec/60°,意思是舵机转动 60°所需要的时间。 伺服电机又称执行电动机,在自动控制系统中,用作执行元件,把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降.
伺服主要靠脉冲来定位,基本上可以这样理解,伺服电机接收到1个脉冲,就会旋转1个脉冲对应的角度,从而实现位移,因为,伺服电机本身具备发出脉冲的功能,所以伺服电机每旋转一个角度,都会发出对应数量的脉冲,这样,和伺服电机接受的脉冲形成了呼应,或者叫闭环,如此一来,系统就会知道发了多少脉冲给伺服电机,同时又收了多少脉冲回来,这样,就能够很精确的控制电机的转动,从而实现精确的定位,可以达到0.001mm。
直流伺服电机分为有刷和无刷电机。有刷电机成本低,结构简单,启动转矩大,调速范围宽,控制容易,需要维护,但维护不方便(换碳刷),产生电磁干扰,对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。
舵机的认识和选购
isobot机器人玩具和不同大小的舵机
sr403p和其他舵机
直流伺服电机(舵机)
一般来讲,舵机主要由以下几个部分组成, 舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等
普通舵机拆解图
SR403p 拆解图
工作原理:
控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。
舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。给舵机一个位置信号,电机就要转动,然后带动齿轮组,把电位器转到对应角度,然后电机停止,相反当有外界力量干扰这个角度,电位器的位置就会改变,舵机内部检测电路就会再让电机重新转动,带动齿轮组把电位器转到信号指令位置,然后电机再停止,但电路检测一直检测电位器没到指定位置,就会直接让电机转动,这样噪声就产生,而且外界干扰力量越大,噪声越大,舵机内部电机需要的电流也越大,如果电流大于舵机内部电板的额定电流,电板就烧了.
舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。
下面是一段舵机测试代码,采用STC12C系列51单片机来实现舵机控制
可以制作出来当做舵机测试仪
#include < STC12C5A60S2.H>
//#include
#define Stop 0 //宏定义,停止
#define Left 1 //宏定义,左转
#define Right 2 //宏定义,右转
sbit ControlPort = P1^0; //舵机信号端口
sbit KeyLeft = P1^1; //左转按键端口
sbit KeyRight = P1^2; //右转按键端口
sbit KeyStop = P1^3; //归位按键端口
unsigned char TimeOutCounter = 0,LeftOrRight = 0; //TimeOutCounter:定时器溢出计数 LeftOrRight:舵机左右旋转标志
//[定时/计数器函数]
/*****************************************************************
名称:定时器0初始化
功能:20ms定时,11.0592M晶振
初值=65536-11059200*0.02/12=65536-18432=47104=0xB800 20ms
初值=65536-11059200*0.0001/12=65536-92.16=64430=0xFFA3 0.1ms
*****************************************************************/
/*****************************************************************
名称:定时器0初始化
功能:20ms定时,12M晶振
初值=65536-12000000*0.02/12=65536-20000=45536=0xB1E0 20ms
初值=65536-12000000*0.0001/12=65536-100=65436=0xFF9C 0.1ms
*****************************************************************/
/*tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
函数名:定时/计数器初始化函数
调 用:T_C_init();
参 数:无
返回值:无
结 果:设置SFR中T/C1和(或)T/C0相关参数
备 注:本函数控制T/C1和T/C0,不需要使用的部分可用//屏蔽
-----------------------------------------------------------------------------
M1 M0 方式 说明
0 0 0 13位T/C,由TL低5位和TH的8位组成13位计数器
0 1 1 16位T/C,TL和TH共16位计数器
1 0 2 8位T/C,TL用于计数,当TL溢出时将TH中的值自动写入TL
1 1 3 两组8位T/C
-----------------------------------------------------------------------------
ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt*/
/*t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0
函数名:定时/计数器0中断处理函数
调 用:[T/C0溢出后中断处理]
参 数:无
返回值:无
结 果:重新写入16位计数寄存器初始值,处理用户程序
备 注:必须允许中断并启动T/C本函数方可有效,重新写入初值需和T_C_init函数一致
t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0*/
void T_C0 (void) interrupt 1 using 1{ //切换寄存器组到1
TH0 = ( 65535 - 250 ) / 256;
TL0 = ( 65535 - 250 ) % 256;
TimeOutCounter ++;
switch ( LeftOrRight )
{
case 0 : //为0时,舵机归位,脉宽1.5ms
{
if( TimeOutCounter <= 6 )
{
ControlPort = 1;
}
else
{
ControlPort = 0;
}
break;
}
case 1 : //为1时,舵机左转,脉宽1ms(理论值),实际可以调试得出
{
if( TimeOutCounter <= 2 )
{
ControlPort = 1;
}
else
{
ControlPort = 0;
}
break;
}
case 2 : //为2时,舵机右转,脉宽2ms(理论值),实际可以调试得出
{
if( TimeOutCounter <= 10 )
{
ControlPort = 1;
}
else
{
ControlPort = 0;
}
break;
}
default : break;
}
if( TimeOutCounter == 80 ) //周期20ms(理论值),比较可靠,最好不要修改
{
TimeOutCounter = 0;
}
//函数内容
}
舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。但记住红色为电源,黑色为地线,一般不会搞错。
厂商所提供的舵机规格资料,都会包含外形尺寸(mm)、扭力(kg/cm)、速度(秒/60°)、测试电压(V)及重量(g)等基本资料。扭力的单位是 kg/cm,意思是在摆臂长度 1 公分处,能吊起几公斤重的物体。这就是力臂的观念,因此摆臂长度愈长,则扭力愈小。速度的单位是 sec/60°,意思是舵机转动 60°所需要的时间。 电压会直接影响舵机的性能,例如 Futaba S-9001 在 4.8V 时扭力为 3.9kg/cm、速度为 0.22 秒/60°,在 6.0V 时扭力为 5.2kg/cm、速度为 0.18 秒/60° 。若无特别注明,JR 的舵机都是以 4.8V 为测试电压,Futaba则是以 6.0V 作为测试电压。速度快、扭力大的舵机,除了价格贵,还会伴随著高耗电的特点。因此使用高级的舵机时,务必搭配高品质、高容量的电池,能提供稳定且充裕的电流,才可发挥舵机应有的性能。
数码舵机常见问题原理分析及解决:
一、数码舵机与模拟舵机的区别
传统模拟舵机和数字比例舵机(或称之为标准舵机)的电子电路中无MCU微控制器,一般都称之为模拟舵机。老式模拟舵机由功率运算放大器等接成惠斯登电桥,根据接收到模拟电压控制指令和机械连动位置传感器(电位器)反馈电压之间比较产生的差分电压,驱动有刷直流电机伺服电机正/反运转到指定位置。数字比例舵机是模拟舵机最好的类型,由直流伺服电机、直流伺服电机控制器集成电路(IC),减速齿轮组和反馈电位器组成,它由直流伺服电机控制芯片直接接收PWM(脉冲方波,一般周期为20ms,脉宽1~2 ms,脉宽1 ms为上限位置,1.5ms为中位,2ms为下限位置)形式的控制驱动信号,迅速驱动电机执行位置输出,直至直流伺服电机控制芯片检测到位置输出连动电位器送来的反馈电压与PWM控制驱动信号的平均有效电压相等,停止电机,完成位置输出。
数码舵机电子电路中带MCU微控制器故俗称为数码舵机,数码舵机凭借比之模拟舵机具有反应速度更快,无反应区范围小,定位精度高,抗干扰能力强等优势已逐渐取代模拟舵机在机器人、航模中得到广泛应用。
数码舵机设计方案一般有两种:一种是MCU+直流伺服电机+直流伺服电机控制器集成电路(IC)+减速齿轮组+反馈电位器的方案,以下称为方案1,另一种是MCU+直流伺服电机+减速齿轮组+反馈电位器的方案,以下称为方案2。市面上加装数码驱动板把模拟舵机改数码舵机属方案1
二、舵机电机调速原理及如何加快电机速度
常见舵机电机一般都为永磁直流电动机,如直流有刷空心杯电机。直流电动机有线形的转速-转矩特性和转矩-电流特性,可控性好,驱动和控制电路简单,驱动控制有电流控制模式和电压控制两种模式。舵机电机控制实行的是电压控制模式,即转速与所施加电压成正比,驱动是由四个功率开关组成H桥电路的双极性驱动方式,运用脉冲宽度调制(PWM)技术调节供给直流电动机的电压大小和极性,实现对电动机的速度和旋转方向(正/反转)的控制。电机的速度取决于施加到在电机平均电压大小,即取决于PWM驱动波形占空比(占空比为脉宽/周期的百分比)的大小,加大占空比,电机加速,减少占空比电机减速。
所以要加快电机速度:1、加大电机工作电压;2、降低电机主回路阻值,加大电流;二者在舵机设计中要实现,均涉及在满足负载转矩要求情况下重新选择舵机电机。
三、数码舵机的反应速度为何比模拟舵机快
很多模友错误以为:“数码舵机的PWM驱动频率300Hz比模拟舵机的50Hz高6倍,则舵机电机转速快6倍,所以数码舵机的反应速度就比模拟舵机快6倍” 。这里请大家注意占空比的概念,脉宽为每周期有效电平时间,占空比为脉宽/周期的百分比,所以大小与频率无关。占空比决定施加在电机上的电压,在负载转矩不变时,就决定电机转速,与PWM的频率无关。
模拟舵机是直流伺服电机控制器芯片一般只能接收50Hz频率(周期20ms)~300Hz左右的PWM外部控制信号,太高的频率就无法正常工作了。若PWM外部控制信号为50Hz,则直流伺服电机控制器芯片获得位置信息的分辨时间就是20ms,比较PWM控制信号正比的电压与反馈电位器电压得出差值,该差值经脉宽扩展(占空比改变,改变大小正比于差值)后驱动电机动作,也就是说由于受PWM外部控制信号频率限制,最快20ms才能对舵机摇臂位置做新的调整。
数码舵机通过MCU可以接收比50Hz频率(周期20ms)快得多的PWM外部控制信号,就可在更短的时间分辨出PWM外部控制信号的位置信息,计算出PWM信号占空比正比的电压与反馈电位器电压的差值,去驱动电机动作,做舵机摇臂位置最新调整。
结论:不管是模拟还是数码舵机,在负载转矩不变时,电机转速取决于驱动信号占空比大小而与频率无关。数码舵机可接收更高频率的PWM外部控制信号,可在更短的周期时间后获得位置信息,对舵机摇臂位置做最新调整。所以说数码舵机的反应速度比模拟舵机快,而不是驱动电机转速比模拟舵机快。
四、数码舵机的无反应区范围为何比模拟舵机小
根据上述对模拟舵机的分析可知模拟舵机约20ms才能做一次新调整。而数码舵机以更高频率的PWM驱动电机。PWM频率的加快使电机的启动/停止,加/减速更柔和,更平滑,更有效的为电机提供启动所需的转矩。就象是汽车获得了更小的油门控制区间,则启动/停止,加/减速性能更好。所以数码舵机的无反应区比模拟舵机小。
五、模拟舵机加装数码舵机驱动板并未提升反应速度
根据以上分析可知,模拟舵机加装数码舵机驱动板,要提升反应速度,PMW外部控制信号(如陀螺仪送来的尾舵机信号)的频率必须加快,如果还是50Hz,那舵机反应速度当然就没提升了。
六、舵机控制死区、滞环、定位精度、输入信号分辨率、回中性能的认识
每一个闭环控制系统由于信号的振荡等原因,输入信号和反馈信号不可能完全相等,这就涉及到控制死区和滞环的问题,系统无法辨别输入信号和反馈信号的差异范围就是控制死区范围。舵机自动控制系统由于信号震荡、机械精度等原因造成控制系统在控制死区范围外的小范围老是做调整,为使舵机在小范围内不对震荡做调整,这就需要引入滞环的作用了。滞环比控制死区大,一般控制死区范围为±0.4%,滞环可设置为±2%,输入信号和反馈信号的差值在滞环内电机不动作,输入信号和反馈信号的差值进入滞环,电机开始制动-停止。定位精度取决于舵机系统的整体精度:如控制死区、机械精度、反馈电位器精度、输入信号分辨率。输入信号分辨率指舵机系统对输入信号最小分辨范围,数码舵机输入信号分辨率大大优于模拟舵机。回中性能取决于滞环和定位精度。
七、舵机为何会老发出吱吱的响声
舵机老发出吱吱的来回定位调整响声,是由于有的舵机无滞环调节功能,控制死区范围调得小,只要输入信号和反馈信号老是波动,它们的差值超出控制死区,舵机就发出信号驱动电机。另没有滞环调节功能,如果舵机齿轮组机械精度差,齿虚位大,带动反馈电位器的旋转步,步范围就已超出控制死区范围,那舵机必将调整不停,吱吱不停。
八、为何有的舵机炸机易烧电路板
有的舵机选用的功率器件电流大同时系统中设计有或芯片自带有过流保护功能,能检测出堵转过流及短路状态迅速停止电机驱动信号。还有可在电机回路接压敏电阻防止瞬间过压及在功率器件前端设计有吸收电容。此类舵机炸机堵转不容易烧电路板和电机。与舵机是金属齿还是塑料齿并无绝对关系。
九、舵机为何抖舵
控制死区敏感,输入信号和反馈信号因各种原因波动,差值超出范围,舵臂动,所以抖舵。
十一、舵机为何抖舵
控制死区敏感,输入信号和反馈信号因各种原因波动,差值超出范围,舵臂动,所以抖舵。
舵机一般故障判断:
1)炸机后舵机电机狂转、舵盘摇臂不受控制、摇臂打滑------------------可以断定:齿轮扫齿了,换齿轮。
2)炸机后舵机一致性锐减,现象是炸坏的舵机反应迟钝,发热严重,但是可以随着控的指令运行,但是舵量很小很慢-------------基本断定:舵机电机过流了,拆下电机后发现电机空载电流很大(>150MA),失去完好的性能(完好电机空载电流≤60-90MA),换舵机电机。
3)炸机后舵机打舵后无任何反应---------------基本确定舵机电子回路断路、接触不良或舵机的电机、电路板的驱动部分烧毁导致的,先检查线路,包括插头,电机引线和舵机引线是否有断路现象,如果没有的话,就进行逐一排除,先将电机卸下测试空载电流,如果空载电流小于90MA,则说明电机是好的,那问题绝对是舵机驱动烧坏了,9-13克微型舵机电路板上面就有2个或四个小贴片三极管,换掉就可以了,有2个三极管的那肯定是用Y2或IY直接代换,也就是SS8550,如果是有四个三极管的H桥电路,则直接用2个Y1(SS8050)和2个(SS8550)直接代换,65MG的UYR ---- 用Y 1(SS8050 IC=1.5A); UXR------用Y2(SS8550,IC=1.5A)直接代换。
4)舵机故障是摇臂只能一边转动,另外一边不动的话-----------判断:舵机电机是好的,主要检查驱动部分,有可能烧了一边的驱动三极管,按照(3)维修即可。
5)维修好舵机后通电,发现舵机向一个方向转动后就卡住不动了,舵机吱吱地响--------------说明舵机电机的正负极或电位器的端线接错了,电机的两个接线倒个方向就可以了。
6)崭新的舵机买回来后,通电发现舵机狂抖,但用一下控的摇臂后,舵机一切正常----------说明舵机在出厂的时候装配不当或齿轮精度不够,这个故障一般发生在金属舵机上面,如果不想退货或者更换的话,自行解决的方法:卸下舵机后盖,将舵机电机与舵机减速齿轮分离后,在齿轮之间挤点牙膏,上好舵机齿轮顶盖,上好减速箱螺丝后,安上舵机摇臂,用手反复旋转摇臂碾磨金属舵机齿轮,直至齿轮运转顺滑、齿轮摩擦噪音减小后,将舵机齿轮卸下汽油清洗后,装齿轮上硅油组装好舵机,即可解决舵机故障。
7)有一种故障舵机表现很古怪:摇动控的遥感,舵机有正常的反应,但是固定控的遥感某一位置后,故障舵机摇臂还在慢慢的运行,或者摇臂动作拖泥带水,并来回动作------------------经过多次维修后发现问题所在:应该紧密卡在舵机末级齿轮中电位器的金属转柄,与舵机摇臂大齿轮(末级)结合不紧,甚至发生打滑现象,导致舵机无法正确寻找控发出的位置指令,反馈不准,不停寻找导致的,解决了电位器与摇臂齿轮的紧密结合后,故障可以排除。按照改方法检修后故障仍旧存在的话,也有可能是舵机电机的问题或电位器的问题,需要综合分析逐一排查!
8)故障舵机不停的抖舵,排除无线电干扰,动控摇臂仍旧抖动的话----------电位器老化,换之,或直接报废掉,当配件!
9)数码斜盘舵机装机过后发现舵机运行不正常,快慢不一,退回厂家,后来换回3个后还是一致性差,最后才知道是什么原因-----有些数码舵机对BEC要求,加装5.V3A 外置 BEC后,故障排除,与舵机质量无关。
舵机选购:
市场上的舵机有塑料齿、金属齿、小尺寸、标准尺寸、大尺寸,另外还有薄的标准尺寸舵机,及低重心的型号。小舵机一般称为微型舵机,扭力都比较小,市面上2.5g,3.7g,4.4g,7g,9g等舵机指的是舵机的重量分别是多少克,体积和扭力也是逐渐增大。微型舵机内部多数都是塑料齿,9g舵机有金属齿的型号,扭力也比塑料齿的要大些。futaba S3003,辉盛 MG995是标准舵机,体积差不多,但前者是塑料齿,后者金属齿,两者标称的扭力也差很多。春天sr403p,Dynamixel AX-12+是机器人专用舵机,不同的是前者是国产,后者是韩国产,两者都是金属齿标称扭力13kg以上,但前者只是改改样子的模拟舵机,后者则是RS485串口通信,具有位置反馈,而且还具有速度反馈与温度反馈功能的数字舵机,两者在性能和价格上相差很大。
除了体积,外形和扭力的不同选择,舵机的反应速度和虚位也要考虑,一般舵机的标称反应速度常见0.22 秒/60°,0.18 秒/60°,好些的舵机有0.12 秒/60°等的,数值小反应就快。
舵机虚位产生和舵机的扭力和制造工艺有关,扭力大相应的负载范围也大,虚位就相应小,普通舵机新的时候虚位一般比较小,也就是半个齿的角度,这个应该是机械加工的精度问题,好的舵机就比较小。但使用了一段时间以后,尤其是大扭距的舵机,虚位就越来越大了,这个应该不是齿轮磨损造成的,解剖了几个舵机,发现都是舵机盖的塑料材质不够硬,齿轮的的轴都是直接装在这个塑料盖上的,时间一长,这几个孔都被扩大成椭圆形了。一扳摇臂,齿轮的轴就会左右晃动,虚位就产生了。
现在市面上的舵机鱼龙混杂,总体来说仿品不如正品,便宜的不如贵的,塑料齿的不如金属齿的,老的不如新的,国内的不如外国的等等,大家不必过于追求极致,根据自身购买力选择够用的就行。
六足机器人动力的分析六足机器人采用了18个 舵机作为关节件,通过之前对舵机的介绍我们知道舵机是由直流电机,减速齿轮组, 电位器与相应控制电板组成,舵机里的耗电大户就是直流电机。9g舵机里的直流电机耗电量相对标准舵机里的要小,但18个舵机加起来仍然是很惊人的。9g舵机里的电机静载电流应该在100MA至150MA,而负载时电流会增大到500MA至600MA之间。这样18个舵机的电流需求范围大概就是2A至10A左右。
作为 六足机器人动力的来源一般分为两种,一种是转换市电的电源,一种就是自储电的电池。
电源又可以分 线性电源和 开关电源两种,线性电源是先将交流电经过 变压器降低电压幅值,再经过 整流电路整流后,得到脉冲直流电,后经滤波得到带有微小波纹电压的直流电压。要达到高精度的直流电压,必须经过 稳压电路进行稳压。开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率,维持稳定输出电压的一种电源,开关电源一般由脉冲宽度调制(PWM)控制IC和MOSFET构成。
简单来说,我们常用的电源一般都是 线性电源,体积小,价格便宜,但普遍输出功率不大,电流很小,一般为几百mA至几A,达不到机器人的供电要求。而 开关电源可以很轻易地进行高功率稳定输出,电流一般在几A至上百A,足够机器人供电使用。
电池种类有很多, 干电池, 铅蓄电池,镍镉, 镍氢电池,锂电池等等,干电池的放电电流小,可以供电一两个 舵机,但多了就不行了。铅蓄电池可以提供大电流放电,但体积比较大,不适合小型机器人携带。市面常用的镍镉,镍氢电池放电电流跟干电池一样,电流偏小,但也有模型厂商生产大电流放电的镍镉,镍氢电池,体积跟干电池差不多,可以用在机器人身上。
锂电池可以分为锂金属电池和 锂离子电池,锂金属电池由于危险性大,很少应用于日常电子产品,而锂离子电池则在生活中使用广泛,比如 手机电池和 笔记本电池。锂离子电池又分两种,液锂电池(Li-ion)和 锂聚合物电池( Li-polymer),液锂电池的形状类似 干电池,圆柱形,单节电压标称 3.7v,笔记本电池还有现在比较火的户外强光LED手电用的都是这种。而锂聚合物电池在形状上没有特别规定,一般是按电子产品的体积需求而定制,常见的形状就是扁长形,有正负金属电极引出,手机电池就是这种。日常应用的电子产品内部的锂离子电池同样也是小电流输出,而用在特殊模型上的锂离子电池就是大电流输出了,比如航模,车模。所以给机器人选择供电,不管什么电池,首要条件就是要看电池的放电电流大不大,能不能达到机器人的供电要求。
这里需要普及一下放电倍率的知识:电池的C值表示电池的放电率(电池放电倍率的简称);比如一个电池是1000MAH的容量,c值是15c,那么它最大放电电流就是1AX15=15A。大家在选择电池的时候可以计算一下,看看适不适合使用。
关于机器人的供电电压也要说一下,机器人使用的 舵机一般标称6V电压,这个标称电压实际并不准确,只是说明了舵机在这个电压左右能达到性能和烧毁几率的平衡性。各种大电流放电的充电电池实际电压都会高于这个标称电压,比如模型用的标称6V 镍氢电池组实际充满会在7v左右,而模型用的标称7.4v的 锂离子电池组充满会在8.4v左右。需要降压到6V左右才能供机器人使用,降压需要降压模块,比如7805,LM2596芯片的DC-DC直流转直流降压模块等等,但这些降压模块的输出电流普遍偏小,要选择大电流输出的降压模块才行,或者就是几个小电流的降压模块并连在一起扩流使用。
还一种方法就是利用二极管来降压,比如一个1N4007测试可以降0.3v,但一个二极管通过电流偏小,虽然标称1A,实际在500mA电流时发热量就很大了,所以要多个1N4007并联然后再串联多组,然后接到电池上才能既降压又能大电流输出。这是麻烦的方法,简单的就可以直接使用大功率整流桥,整流桥的内部是多个二极管交叉串并联,只需选择一组就行,比如D25XB80整流桥,标称25A的额定电流,实际接电池使用时发热量很小,锂电组充满8.4v接一片D25XB80 18个 舵机整体压降可以到6.9v,接两片可以降到6.5v,稍高于6v使用上没有问题。这里补充一下,整流桥就是整流桥,它不会神奇的变成一个高级的降压器件,在这个整体电路里是利用它在整体电路中发挥通过电流大,物理减压,限流的特点而使用的。(分析问题请结合上下文,考虑整体性)
最后要强调一下:最近发现大家都喜欢直接用电脑的USB供电来测试 舵机和舵机板,这样是绝对不行的。舵机的电流需求比较大,即使是9G的小舵机,电流需求也比usb的500ma电流要大,usb可以给一个舵机供电,但你会发现转起来比较慢,这就是供电不足,同时usb的电压也被拉低了,如果再多接几个舵机,要么烧舵机板,要么烧电脑的usb电板。
六足机器人动力的分析六足机器人采用了18个 舵机作为关节件,通过之前对舵机的介绍我们知道舵机是由直流电机,减速齿轮组, 电位器与相应控制电板组成,舵机里的耗电大户就是直流电机。9g舵机里的直流电机耗电量相对标准舵机里的要小,但18个舵机加起来仍然是很惊人的。9g舵机里的电机静载电流应该在100MA至150MA,而负载时电流会增大到500MA至600MA之间。这样18个舵机的电流需求范围大概就是2A至10A左右。
作为 六足机器人动力的来源一般分为两种,一种是转换市电的电源,一种就是自储电的电池。
电源又可以分 线性电源和 开关电源两种,线性电源是先将交流电经过 变压器降低电压幅值,再经过 整流电路整流后,得到脉冲直流电,后经滤波得到带有微小波纹电压的直流电压。要达到高精度的直流电压,必须经过 稳压电路进行稳压。开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率,维持稳定输出电压的一种电源,开关电源一般由脉冲宽度调制(PWM)控制IC和MOSFET构成。
简单来说,我们常用的电源一般都是 线性电源,体积小,价格便宜,但普遍输出功率不大,电流很小,一般为几百mA至几A,达不到机器人的供电要求。而 开关电源可以很轻易地进行高功率稳定输出,电流一般在几A至上百A,足够机器人供电使用。
电池种类有很多, 干电池, 铅蓄电池,镍镉, 镍氢电池,锂电池等等,干电池的放电电流小,可以供电一两个 舵机,但多了就不行了。铅蓄电池可以提供大电流放电,但体积比较大,不适合小型机器人携带。市面常用的镍镉,镍氢电池放电电流跟干电池一样,电流偏小,但也有模型厂商生产大电流放电的镍镉,镍氢电池,体积跟干电池差不多,可以用在机器人身上。
锂电池可以分为锂金属电池和 锂离子电池,锂金属电池由于危险性大,很少应用于日常电子产品,而锂离子电池则在生活中使用广泛,比如 手机电池和 笔记本电池。锂离子电池又分两种,液锂电池(Li-ion)和 锂聚合物电池( Li-polymer),液锂电池的形状类似 干电池,圆柱形,单节电压标称 3.7v,笔记本电池还有现在比较火的户外强光LED手电用的都是这种。而锂聚合物电池在形状上没有特别规定,一般是按电子产品的体积需求而定制,常见的形状就是扁长形,有正负金属电极引出,手机电池就是这种。日常应用的电子产品内部的锂离子电池同样也是小电流输出,而用在特殊模型上的锂离子电池就是大电流输出了,比如航模,车模。所以给机器人选择供电,不管什么电池,首要条件就是要看电池的放电电流大不大,能不能达到机器人的供电要求。
这里需要普及一下放电倍率的知识:电池的C值表示电池的放电率(电池放电倍率的简称);比如一个电池是1000MAH的容量,c值是15c,那么它最大放电电流就是1AX15=15A。大家在选择电池的时候可以计算一下,看看适不适合使用。
关于机器人的供电电压也要说一下,机器人使用的 舵机一般标称6V电压,这个标称电压实际并不准确,只是说明了舵机在这个电压左右能达到性能和烧毁几率的平衡性。各种大电流放电的充电电池实际电压都会高于这个标称电压,比如模型用的标称6V 镍氢电池组实际充满会在7v左右,而模型用的标称7.4v的 锂离子电池组充满会在8.4v左右。需要降压到6V左右才能供机器人使用,降压需要降压模块,比如7805,LM2596芯片的DC-DC直流转直流降压模块等等,但这些降压模块的输出电流普遍偏小,要选择大电流输出的降压模块才行,或者就是几个小电流的降压模块并连在一起扩流使用。
还一种方法就是利用二极管来降压,比如一个1N4007测试可以降0.3v,但一个二极管通过电流偏小,虽然标称1A,实际在500mA电流时发热量就很大了,所以要多个1N4007并联然后再串联多组,然后接到电池上才能既降压又能大电流输出。这是麻烦的方法,简单的就可以直接使用大功率整流桥,整流桥的内部是多个二极管交叉串并联,只需选择一组就行,比如D25XB80整流桥,标称25A的额定电流,实际接电池使用时发热量很小,锂电组充满8.4v接一片D25XB80 18个 舵机整体压降可以到6.9v,接两片可以降到6.5v,稍高于6v使用上没有问题。这里补充一下,整流桥就是整流桥,它不会神奇的变成一个高级的降压器件,在这个整体电路里是利用它在整体电路中发挥通过电流大,物理减压,限流的特点而使用的。(分析问题请结合上下文,考虑整体性)
最后要强调一下:最近发现大家都喜欢直接用电脑的USB供电来测试 舵机和舵机板,这样是绝对不行的。舵机的电流需求比较大,即使是9G的小舵机,电流需求也比usb的500ma电流要大,usb可以给一个舵机供电,但你会发现转起来比较慢,这就是供电不足,同时usb的电压也被拉低了,如果再多接几个舵机,要么烧舵机板,要么烧电脑的usb电板。
舵机控制板的认识和选购
舵机控制板字面意思就是用于控制舵机的板子,就像驱动直流电机一样,机器人使用的舵机也需要专门驱动,通过舵机的认知篇我们了解到舵机的驱动方法是单片机输出特定的PWM信号,舵机接收到信号后经舵机内部电路检测对比然后驱动内部的小型直流电机带动减速齿轮组使舵机的输出轴转动到特定角度位置。所以想控制舵机就需要学会单片机的程序开发,这对一般的机器人爱好者来说难度挺大,特别是没有接触单片机的。而做一个仿生机器人一般都需要几个十几个舵机,控制多个舵机的程序则更加复杂,这是大多数机器人爱好者在制作机器人的过程中都要遇到的一个大问题。为了使大多数不会编写舵机控制程序的机器人爱好者能够轻松的控制舵机,高手们就专门开发了用于多路舵机控制的硬件模块供其他不会编写程序的爱好者使用。
舵机控制板从硬件上来其实也就是一块单片机开发板,一片单片机加上一些外围电路,但由于开发者将多路舵机控制程序写入到单片机中,这个外表上看似普通的单片机开发板便有了不一样的价值,这就是软件开发的魅力所在。与许多技术一样,舵机控制板起源于国外,国外比较流行的就是开源的(SSC-32)32路舵机控制板,原理就是使用单片机的硬件PWM接口通过4个74HC595扩展成32路PWM输出,实现32路舵机控制。另一种方法就是通过单片机内部的定时器设置生成PWM,这样理论有多少I/O口就能产生多少路控制,但随着路数的增加控制精度就会下降,当然用高性能的单片机可以有效避免这个问题。
舵机控制板还有个方便之处在于有一套与之相对应的PC调试软件,面向用户界面,使用户能够更直观的操控舵机位移,而且还能把调整出来的动作保存下来,形成连贯的动作组,这样便使得爱好者设计机器人步态的过程变得简单化,让爱好者更快的享受制作机器人的乐趣。
简单来说,舵机控制板就是机器人的中枢神经,负责动作协调,另外的机器人主控就是大脑,负责处理外界信息,统一指挥,机器人扩展的传感器就是感官系统,负责接收外界信息。
下面这段是后加的,有时间再整理
(新手必看)简单说一下舵机控制板是什么:舵机控制板字面意思就是具有控制舵机能力的电路板,是一种写好舵机驱动控制程序的单片机成品模块,主要功能就是驱动多路舵机,然后内部程序又写好了与外部设备进行通讯的串口协议,这样外部设备就能发送特定的指令给舵机控制板,间接的控制多路舵机。舵机控制板就是这样的功能,它只是机器人控制系统的一部分,把舵机驱动控制的程序分离出来单独做成了一个软硬件模块,如果做过智能小车那就好理解了,舵机控制板在仿生机器人中的作用跟电机驱动模块在智能小车里的作用是一样了,只不过前者看着要比后者高级些。脱机运行:字面意思就是能脱离电脑运行,有两个方法,一个是按照仿生机器人的制作思路,在机器人主控的程序里写入调试好的动作,主控检测外界信息来触发相应的动作发送给舵机控制板,这样就实现了脱机运行;另外一种就是把调好的动作组存到舵机控制板上的存储器中,然后还是用外部设备来发送单个动作组指令给舵机控制板,或者设置存储的某个动作组在每次重新上电后运行。这两种方法区别就是后者省去了前者在主控程序里复制粘贴动作指令这个步骤。但实际上动作组存储这个功能只是在机器人入门中有点作用,而且还是懒人专用,在后期的高阶学习中,机器人主控需要不断检测各种传感器数据,分析融合,实时生成动作发给舵机控制板来控制机器人姿态。舵机控制板上存储的动作组只是事先预设的,在需要固定动作套路的场合是有用的,在无规律判断场合就没用了。
新设计的32路舵机控制器 arduino机器人控制器
参数:
1,舵机驱动MCU为32位ARM,高速处理数据,arduino主控为atmega328,32K程序空间,开源程序设计,让您的机器人不在傻傻的跳舞,更具个性化。
2,信号输出PWM,精度1us,分辨率0.08度。(友情提示,使用双电源比单电源信号稳定,如果控制精度比较高的伺服电机,舵机请用双电源模式)
3,串口通讯方式,TTL,USART,各种MCU(51,AVR,arduino,ARM,PC等)直接连接通讯
4,双稳压IC,单个芯片驱动电流可达850ma,外接功能模块无需为供电不足而影响模块工作而担心。
5,背面有双路自恢复保险丝,避免用户在无意间接反电极而烧毁板上电路。
6,双电源和单电源切换模式,双电源更稳定,单电源更轻便。
7,供电范围,V-m芯片供电6.5V~9V,V-s舵机供电6.5V~12V。(注意:普通舵机的供电范围最好控制在6.5v~7v左右,只有高压舵机可以接12v)
8,板基可以承受15A~25A大电流供电,普通的舵机板设计,板基铜箔很薄,最多只能通过2,3A的电流,如果让32路舵机全部一直工作,板基肯定会发热,这跟用细的电线烧水电线会发烫一个道理。适合发烧级大电流高压舵机。
9,板载256k动作组存储芯片,觉得容量小了?那我说大概可以存储4300条动作,按一个动作组10条动作来算,可以分成430个动作组。想想您的机器人可以有430组变化时,这该是多么灵巧善变的机器人呀^^。
10,sorry,我要说sorry了,因为我的板子不支持别家所谓的脱机模式,也就是上电后就傻傻的跳个舞。但是,板子一样可以实现上电就跳个舞的傻傻的功能,很简单。
11,固定波特率115200,因为舵机驱动MCU啦,处理高速数据不是问题。
12,板子尺寸为45×50cm,固定孔径3mm,孔距横向35mm,纵向45mm,斜向60mm,我又要说了,史上最小的arduino机器人控制器,32路舵机控制器。
13,完美的动作组执行能力,实时性媲美单条动作指令的发送,可连续接收动作组指令无缝执行,新指令快速变换。
14,32路同步驱动,32路舵机全速运动板子无压力,不发热。
15,支持PS2手柄,红外遥控,电脑遥控,姿态识别等,即插即用,无需额外电路。
16,板载arduino主控,开源程序设计,让您的机器人有一个聪明灵活的大脑。(友情提示,舵机控制板并不是仿生机器人的大脑,它只相当于智能小车里的电机驱动板,在仿生机器人里只负责驱动舵机关节,而大脑必须具备可操控性,修改性,学习性,一个完全开放的平台才是正确的选择,方便用户自定义自己的机器人,与众不同)
17,通讯协议,PC串口助手:单条动作格式 #1P1000#2P1500#3P2000..........#32P2500T300后面键盘快捷键ctrl+enter,动作组格式#1G2C后面键盘快捷键ctrl+enter。
51单片机:单条动作格式“#1P1000#2P1500#3P2000..........#32P2500T300\r\n” 动作组格式“#1G2C\r\n”.
arduino:单条动作格式 Serial.print“#1P1000#2P1500#3P2000..........#32P2500T300\r\n” 动作组格式Serial.print“#1G2C\r\n”, 或者Serial.println“#1P1000#2P1500#3P2000..........#32P2500T300”,
动作组格式Serial.println“#1G2C”
新设计的32路舵机控制器 arduino机器人控制器
参数:
1,舵机驱动MCU为32位ARM,高速处理数据,arduino主控为atmega328,32K程序空间,开源程序设计,让您的机器人不在傻傻的跳舞,更具个性化。
2,信号输出PWM,精度1us,分辨率0.08度。(友情提示,使用双电源比单电源信号稳定,如果控制精度比较高的伺服电机,舵机请用双电源模式)
3,串口通讯方式,TTL,USART,各种MCU(51,AVR,arduino,ARM,PC等)直接连接通讯
4,双稳压IC,单个芯片驱动电流可达850ma,外接功能模块无需为供电不足而影响模块工作而担心。
5,背面有双路自恢复保险丝,避免用户在无意间接反电极而烧毁板上电路。
6,双电源和单电源切换模式,双电源更稳定,单电源更轻便。
7,供电范围,V-m芯片供电6.5V~9V,V-s舵机供电6.5V~12V。(注意:普通舵机的供电范围最好控制在6.5v~7v左右,只有高压舵机可以接12v)
8,板基可以承受15A~25A大电流供电,普通的舵机板设计,板基铜箔很薄,最多只能通过2,3A的电流,如果让32路舵机全部一直工作,板基肯定会发热,这跟用细的电线烧水电线会发烫一个道理。适合发烧级大电流高压舵机。
9,板载256k动作组存储芯片,觉得容量小了?那我说大概可以存储4300条动作,按一个动作组10条动作来算,可以分成430个动作组。想想您的机器人可以有430组变化时,这该是多么灵巧善变的机器人呀^^。
10,sorry,我要说sorry了,因为我的板子不支持别家所谓的脱机模式,也就是上电后就傻傻的跳个舞。但是,板子一样可以实现上电就跳个舞的傻傻的功能,很简单。
11,固定波特率115200,因为舵机驱动MCU啦,处理高速数据不是问题。
12,板子尺寸为45×50cm,固定孔径3mm,孔距横向35mm,纵向45mm,斜向60mm,我又要说了,史上最小的arduino机器人控制器,32路舵机控制器。
13,完美的动作组执行能力,实时性媲美单条动作指令的发送,可连续接收动作组指令无缝执行,新指令快速变换。
14,32路同步驱动,32路舵机全速运动板子无压力,不发热。
15,支持PS2手柄,红外遥控,电脑遥控,姿态识别等,即插即用,无需额外电路。
16,板载arduino主控,开源程序设计,让您的机器人有一个聪明灵活的大脑。(友情提示,舵机控制板并不是仿生机器人的大脑,它只相当于智能小车里的电机驱动板,在仿生机器人里只负责驱动舵机关节,而大脑必须具备可操控性,修改性,学习性,一个完全开放的平台才是正确的选择,方便用户自定义自己的机器人,与众不同)
17,通讯协议,PC串口助手:单条动作格式 #1P1000#2P1500#3P2000..........#32P2500T300后面键盘快捷键ctrl+enter,动作组格式#1G2C后面键盘快捷键ctrl+enter。
51单片机:单条动作格式“#1P1000#2P1500#3P2000..........#32P2500T300\r\n” 动作组格式“#1G2C\r\n”.
arduino:单条动作格式 Serial.print“#1P1000#2P1500#3P2000..........#32P2500T300\r\n” 动作组格式Serial.print“#1G2C\r\n”, 或者Serial.println“#1P1000#2P1500#3P2000..........#32P2500T300”,
动作组格式Serial.println“#1G2C”