舵机知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
舵机是遥控模型控制动作的动力来源,不同类型的遥控模型所需的舵机种类也随之不同。
如何审慎地选择经济且合乎需求的舵机,也是一门不可轻忽的学问。
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。
目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。
舵机是一种俗称,其实是一种伺服马达。
舵机最早出现在航模运动中。
在航空模型中,飞行机的飞行姿态是通过调节发动机和各个控制舵面来实现的。
举个简单的四通飞机来说,飞机上有以下几个地方需要控制:
1.发动机进气量,来控制发动机的拉力(或推力);
2.副翼舵面(安装在飞机机翼后缘),用来控制飞机的横滚运动;
3.水平尾舵面,用来控制飞机的俯仰角;
4.垂直尾舵面,用来控制飞机的偏航角;
遥控器有四个通道,分别对应四个舵机,而舵机又通过连杆等传动元件带动舵面的转动,从而改变飞机的运动状态。
舵机因此得名:控制舵面的伺服电机。
不仅在航模飞机中,在其他的模型运动中都可以看到它的应用:船模上用来控制尾舵,车模中用来转向等等。
由此可见,凡是需要操作性动作时都可以用舵机来实现。
一般来讲,舵机主要由以下几个部分组成,舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。
舵机的基本结构是这样,但实现起来有很多种。
例如电机就有有刷和无刷之分,齿轮有塑料和金属之分,输出轴有滑动和滚动之分,壳体有塑料和铝合金之分,速度有快速和慢速之分,体积有大中小三种之分等等,组合不同,价格也千差万别。
例如,其中小舵机一般称作微舵,同种材料的条件下是中型的一倍多,金属齿轮是塑料齿轮的一倍多。
需要根据需要选用不同类型。
为了适合不同的工作环境,有防水及防尘设计的舵机;并且因应不同的负载需求,舵机的齿轮有塑胶及金属之区分,金属齿轮的舵机一般皆为大扭力及高速型,具有齿轮不会因负载过大而崩牙的优点。
较高级的舵机会装置滚珠轴承,使得转动时能更轻快精准。
滚珠轴承有一颗及二颗的区别,当然是二颗的比较好。
目前新推出的FET 舵机,主要是采用FET(Field Effect Transistor)场效电晶体。
FET 具有内阻低的优点,因此电流损耗比一般电晶体少。
工作原理控制电路板接受来自信号线的控制信号(具体信号待会再讲),控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。
舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。
( 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。
它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。
最后,电压差的正负输出到电机驱动芯片决定电机的正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。
就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。
)
遥控模型车的控制是由接收机发出讯号给舵机,经由电路板上的IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。
位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,
藉由检测电阻值便可知转动的角度。
一般的伺服马达是将细铜线缠绕在三极转子上,当电流流经线圈时便会产生磁场,与转子外围的磁铁产生排斥作用,进而产生转动的作用力。
依据物理学原理,物体的转动惯量与质量成正比,因此要转动质量愈大的物体,所需的作用力也愈大。
舵机为求转速快、耗电小,于是将细铜线缠绕成极薄的中空圆柱体,形成一个重量极轻的五极中空转子,并将磁铁置於圆柱体内,这就是无核心马达。
舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。
也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。
舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。
由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。
比方说机器人的关节、飞机的舵面等。
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。
以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
小型舵机的工作电压一般为4.8V或6V,转速也不是很快,一般为0.22/60度或0.18/60度,所以假如你更改角度控制脉冲的宽度太快时,舵机可能反应不过来。
如果需要更快速的反应,就需要更高的转速了。
要精确的控制舵机,其实没有那么容易,很多舵机的位置等级有1024个,那么,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为2000/1024us约2us。
如果你拿了个舵机,连控制精度为1度都达不到的话,而且还看到舵机在发抖。
在这种情况下,只要舵机的电压没有抖动,那抖动的就是你的控制脉冲了。
而这个脉冲为什么会抖动呢?当然和你选用的脉冲发生器有关了。
一些前辈喜欢用555来调舵机的驱动脉冲,如果只是控制几个点位置伺服好像是可以这么做的,可以多用几个开关引些电阻出来调占空比,这么做简单吗,应该不会啦,调试应该是非常麻烦而且运行也不一定可靠的。
其实主要还是他那个年代,单片机这东西不流行呀,
哪里会哟!
使用传统单片机控制舵机的方案也有很多,多是利用定时器和中断的方式来完成控制的,这样的方式控制1个舵机还是相当有效的,但是随着舵机数量的增加,也许控制起来就没有那么方便而且可以达到约2微秒的脉宽控制精度了。
听说AVR也有控制32个舵机的试验板,不过精度能不能达到2微秒可能还是要泰克才知道了。
其实测试起来很简单,你只需要将其控制信号与示波器连接,然后让试验板输出的舵机控制信号以2微秒的宽度递增。
为什么FPPA就可以很方便地将脉宽的精度精确地控制在2微秒甚至2微秒以下呢。
主要还是delay memory这样的具有创造性的指令发挥了功效。
该指令的延时时间为数据单元中的立即数的值加1个指令周期(数据0出外,详情请参见delay指令使用注意事项)因为是8位的数据存储单元,所以memory中的数据为(0~255),记得前面有提过,舵机的角度级数一般为1024级,所以只用一个存储空间来存储延时参数好像还不够用的,所以我们可以采用2个内存单元来存放舵机的角度伺服参数了。
常见的舵机厂家有:日本的Futaba、JR、SANWA等,国产的有北京的新幻想、吉林的振华等。
现举Futaba S3003来介绍相关参数,以供大家设计时选用。
之所以用3003是因为这个型号是市场上最常见的,也是价格相对较便宜的一种(以下数据摘自Futaba产品手册)。
尺寸(Dimensions):40.4×19.8×36.0 mm
重量(Weight):37.2 g
工作速度(Operating speed):0.23 sec/60°(4.8V)
0.19 sec/60°(6.0V)
输出力矩(Output torque):3.2 kg.cm (4.8V)
4.1 kg.cm (6.0V)
厂商所提供的舵机规格资料,都会包含外形尺寸(mm)、扭力(kg-cm)、速度(秒/60°)、测试电压(V)及重量(g)等基本资料。
扭力的单位是kg-cm,意思是在摆臂长度 1 公分处,能吊起几公斤重的物体。
这就是力臂的观念,因此摆臂长度愈长,则扭力愈小。
速度的单位是sec/60°,意思是舵机转动60°所需要的时间。
电压会直接影响舵机的性能,例如Futaba S-9001 在4.8V 时扭力为3.9kg、速度为0.22 秒,在6.0V 时扭力为5.2kg、速度为0.18 秒。
若无特别注明,JR 的舵机都是以4.8V 为测试电压,Futaba则是以6.0V 作为测试电压。
所谓天下没有白吃的午餐,速度快、扭力大的舵机,除了价格贵,还会伴随著高耗电的特点。
因此使用高级的舵机时,务必搭配高品质、高容量的镍镉电池,能提供稳定且充裕的电流,才可发挥舵机应有的性能。
舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。
电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。
另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。
但记住红色为电源,
黑色为地线,一般不会搞错。
舵机的控制信号是一个脉宽调制信号,很方便和数字系统进行接口。
只要能产生标准的控制信号的数字设备都可以用来控制舵机,比方PLC、单片机等。
因为在脉冲信号的输出可以用定时器的溢出中断函数来处理,时间很短,因此在精度要求不高的场合可以忽略。
通过编程就可以让舵机从0度变化到180度。
另外要记住一点,舵机的转动需要时间的,因此,程序中时间的变化不能太快,不然舵机跟不上程序。
根据需要,选择合适的延时,返复调试,可以让舵机很流畅的转动,而不会产生像步进电机一样的脉动。
这些还需要实践中具体体会。
舵机的速度决定于你给它的信号脉宽的变化速度。
如果你要求的速度比较快的话,舵机就反应不过来了;将脉宽变化值线性到你要求的时间内,一点一点的增加脉宽值,就可以控制舵机的速度了。
当然,具体这一点一点到底是多少,就需要做试验了,不合适的话,舵机就会向步进电机一样一跳一跳的转动了,尝试改变这“一点”,使你的舵机运动更平滑。
还有一点很重要,就是舵机在每一次脉宽值改变的时候总会有一个转速由零增加再减速为零的过程,这就是舵机会产生像步进电机一样运动的原因。
电压会直接影响舵机的性能,例如Futaba S-9001 在4.8V 时扭力为3.9kg、速度为0.22 秒,在6.0V 时扭力为5.2kg、速度为0.18 秒。
若无特别注明,JR 的舵机都是以4.8V 为测试电压,Futaba则是以6.0V 作为测试电压。
所谓天下没有白吃的午餐,速度快、扭力大的舵机,除了价格贵,还会伴随著高耗电的特点。
因此使用高级的舵机时,务必搭配高品质、高容量的镍镉电池,能提供稳定且充裕的电流,才可发挥舵机应有的性能。
舵机的性能及安装舵机是遥控模型无线电操纵系统中很重要的部件。
如果不了解它的性能,不讲究正确的安装方法,轻则影响模型的飞行姿态,重则如果卡住模型则无法操纵,造成事故的发生。
所以,在使用舵机前,了解它的性能和安装方法是必要的。
日前市场上出售的模型舵机,主要是比例式的,类型有普通型、超小型,强力型和特殊用途型等几种。
普通型:
45克,0.2秒/60度,力矩3千克·厘米。
这种舵机各方面性能都比较适中,一般用在尺寸不是很大的P3A-1、2和P2B-1、2等模型上。
超小型:
20克,0.15秒/60度,力矩2千克·厘米。
它的体积小、重量轻,输出力矩小,通常用于小尺寸、舵面阻力相对小的模型上,如P5A、小型电动类模型等。
强力型:
100克,0.2秒/60度,力矩9千克·厘米。
这种舵机输出力矩大,可以克服高速、大舵面带来的阻力大的缺点。
主要用于尺寸和飞行重量大,速度快,舵面阻力大的模型,如F3A、大型仿真飞机模型、现代特技飞机模型、喷射模型飞机和F4级模型等。
特殊用途型:
多数特殊用途的舵机,其性能与强力型相似。
通常用于专项任务,如收索机(帆船)、起落架蛇机等。
另外,还有—些耐高温和可防水的舵机,主要用于科学研究和工业方面,一般模型很少采用,但近年来这种舵机随着模型产品的发展在民用模型领域发展迅速。
—般的舵机内部的电路和齿轮等零什都是很精细的,自己较难制作,多采用成品舵机。
日产成品舵机品质较好,剩余功率大,不易打齿、比较耐用。
国产舵机质量有的也不错。
安
装舵机也很重要,安装方法主要有三种:
(1)用胶直接把舵机粘在模型上。
要求帖接技术较高,不能更换,通常用于一些简单模型。
(2)对好舵机两边的安装孔,用螺钉固定。
这种方法的好处是容易更换。
(3)利用配套的固定片及减震片固定。
对丁装大容积内燃机的模型,为了减少振动对舵机的损害,多采用这种方法。
舵机的安装位置应尽量靠近模型的重心。
有条件时,舵机和接收机应尽量分别使用电源。
电源电压不足时,应立即更换,以免舵机操纵失灵导致空中停机。
舵机输出盘(摇臂)不同的角度和力臂孔,应尽量选择力臂大的,这样可以减小舵机负荷。
输出盘与舵面,可以专用联杆或钢丝连接,前者效果较好
最后说明一下,对于—些电动模型的动力电机控制,原来用一个舵机作开关,但作用不大,后来有些人用直接粘一个电位器的办法来对电机进行无级操纵。
现在,有些厂家已生产出成品的无级变速器(现在叫电调),直接插在一个通道中,对电机进行加、减速等无级控制,既轻巧,又经济。
不过,为了考虑车、船模使用,变速器有顺、逆转功能,而在航模上只允许用顺转功能。
因此,用在航模上时,最好请专人对它的电路进行一下改装,防止操纵失误。
变速器最好单用一组动力电源,如果同时使用接枚机电源,将会影响接收机的工作和舵机的动作
附1:用单片机实现舵机控制编程举例
正是舵机的控制信号是一个脉宽调制信号,所以很方便和数字系统进行接口。
只要能产生标准的控制信号的数字设备都可以用来控制舵机,比方PLC、单片机等。
这里介绍利用51系列单片机产生舵机的控制信号来进行控制的方法,编程语言为C51。
之所以介绍这种方法只是因为笔者用2051实现过,本着负责的态度,所以敢在这里写出来。
程序用的是我的四足步行机器人,有删改。
单片机并不是控制舵机的最好的方法,希望在此能起到抛砖引玉的作用。
2051有两个16位的内部计数器,我们就用它来产生周期20 ms的脉冲信号,根据需要,改变输出脉宽。
基本思路如下(请对照下面的程序):
我用的晶振频率为12M,2051一个时钟周期为12个晶振周期,正好是1/1000 ms,计数器每隔1/1000 ms计一次数。
以计数器1为例,先设定脉宽的初始值,程序中初始为1.5ms,在for循环中可以随时通过改变a值来改变,然后设定计数器计数初始值为a,并置输出p12为高位。
当计数结束时,触发计数器溢出中断函数,就是void timer0(void) interrupt 1 using1 ,在子函数中,改变输出p12为反相(此时跳为低位),在用20000(代表20ms 周期)减去高位用的时间a,就是本周期中低位的时间,c=20000-a,并设定此时的计数器初值为c,直到定时器再次产生溢出中断,重复上一过程。
# include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint a,b,c,d;
/*a为舵机1的脉冲宽度,b为舵机2的脉冲宽度,单位1/1000 ms */ /*c、d为中间变量*/
/*以下定义输出管脚*/
sbit p12=P1^2;
sbit p13=p1^3;
sbit p37=P3^7;
/*以下两个函数为定时器中断函数*/
/*定时器1,控制舵机1,输出引脚为P12,可自定义*/
void timer0(void) interrupt 1 using 1
{p12=!p12; /*输出取反*/
c=20000-c; /*20000代表20 ms,为一个周期的时间*/
TH0=-(c/256); TL0=-(c%256); /*重新定义计数初值*/
if(c>=500&&c<=2500)c=a;
else c="20000-a"; /*判断脉宽是否在正常范围之内*/
}
/*定时器2,控制舵机2,输出引脚为P13,可自定义*/
void timer1(void) interrupt 3 using 1
{p13=!p13;
d=20000-d;
TH1=-(d/256); TL1=-(d%256);
if(d>=500&&d<=2500)d=b;
else d="20000-b";
}
/*主程序*/
void main(void)
{TMOD=0x11; /*设初值*/
p12=1;
p13=1;
a=1500;
b=1500; /*数值1500即对应1.5ms,为舵机的中间90度的位置*/
c=a;d=b;
TH0=-(a/256); TL0=-(a%256);
TH1=-(b/256); TL1=-(b%256); /*设定定时器初始计数值*/
EA=1;
ET0=1; TR0=1;EX0=1;EX1=1;
ET1=1; TR1=1;
PX0=0;PX1=0;PT1=1;PT0=1;/*设定中断优先级*/
for(;;)
{
/*在这个for循环中,可以根据程序需要
在任何时间改变a、b值来改变脉宽的输
出时间,从而控制舵机*/
}
}
因为在脉冲信号的输出是靠定时器的溢出中断函数来处理,时间很短,因此在精度要求不高的场合可以忽略。
因此如果忽略中断时间,从另一个角度来讲就是主程序和脉冲输出是并行的,因此,只需要在主程序中按你的要求改变a值,例如让a从500变化到2500,就可以让舵机从0度变化到180度。
另外要记住一点,舵机的转动需要时间的,因此,程序中a 值的变化不能太快,不然舵机跟不上程序。
根据需要,选择合适的延时,用一个a递增循环,可以让舵机很流畅的转动,而不会产生像步进电机一样的脉动。
这些还需要实践中具体体会。
舵机的速度决定于你给它的信号脉宽的变化速度。
举个例子,t=0试,脉宽为0.5ms,t=1s时,脉宽为1.0ms,那么,舵机就会从0.5ms对应的位置转到1.0ms对应的位置,那么转动速度如何呢?一般来讲,3003的最大转动速度在4.8V时为0.23s/60度,也就是说,如果你要求的速度比这个快的话,舵机就反应不过来了;如果要求速度比这个慢,可以将脉宽变化值线性到你要求的时间内,做一个循环,一点一点的增加脉宽值,就可以控制舵机的速度了。
当然,具体这一点一点到底是多少,就需要做试验了,不然的话,不合适的话,舵机就会向步进电机一样一跳一跳的转动了,尝试改变这“一点”,使你的舵机运动更平滑。
还有一点很重要,就是舵机在每一次脉宽值改变的时候总会有一个转速由零增加再减速为零的过程,这就是舵机会产生像步进电机一样运动的原因。
附2:传统舵机、数字舵机与纯数字舵机
传统舵机的控制方式以20ms 为一个周期,用一个1.5ms±0.5ms 的脉冲来控制舵机的角度变化,随着以CPU 为主的数字革命的兴起,现在的舵机已成为模拟舵机和数字舵机并存的局面,但即使是现在的数字舵机,其控制接口也还是传统的1.5ms±0.5ms 的模拟控制接口,只是控制芯片不再是普通的模拟芯片而已;不能完全发挥现代数字化控制的优势,这在传统的遥控竞赛等领域,为了保持产品的兼容性,不得不保留模拟接口,而在一些新兴的领域完全可以采用新型的全数字接口的纯数字舵机。
纯数字舵机采用全新的单线双工通讯协议,不仅能执行普通舵机的全部功能,还可以作为一个角度传感器,监测舵机的实际位置,而且可以多个舵机并联互不影响。
在未来的自动化控制领域有着不可估量的优势。
采用纯数字舵机构建的自动化控制系统,不仅可以大幅提升系统性能,而且可以降低系统的生产维护成本,提高产品性价比,增强市场竞争力。
简单认识数码舵机一个数十元的伺服器与数百元的伺服器在外表上并没有多大的分别,但是数码化舵机比上一代传统的普通舵机有更快的反应、更精确以及更为紧凑的效率。
为何数码是较佳的?
一个数码化的舵机内置了微型的处理器,这正是数码舵机优点所在。
这个微型处理器可以因应所接收的讯号而作出指令,至於传统的舵机则经常只是检查自己的位置是否正确并作出更正。
传统的舵机将指令的动作传至输出轴,指令是来自接收器的脉冲,每秒每秒中约有四十至五十次的调整。
但是数码化舵机的输出轴每秒约有三百次的调整,足足较传统的伺服器,快了六倍之多·这也表示了数码舵机调整输出轴的位置较传统的达六倍之多,所以它肯定是较传统的舵机有更快的反应。
这个快速的更正也可以让你感觉到舵机是较为“强”的、如果你尝试去扭动已启动的数码舵机输出臂离开指令位置的话的话,你会发觉它有更强的能力
去保持原来的位置,这也是由於舵机非常迅速地为输出轴的位置作出更正调节。
这正适合模型需要强大的回中能力。
传统的舵机要在偏离原来指定的位置较远才能发挥较大的扭力,相反地,数码舵机的输出轴只要略略偏离指令的位置便能够发挥最大的扭力,所以它能够提供较大的动力以及更为精确。
当你启动了数码舵机之後,它会发觉他不断发出齿轮的声音,这表示了它正在努力地去将输出轴维持在命令的位置。
数码舵机不能与普通舵机混合使用在更换舵机的时候请注意,如果你的直升机或飞机使用的是普通舵机,那么在更换其中某个舵机的时候,不能将普通舵机与数码舵机混合使用.要么全部使用普通舵机,要么全部使用数码舵机。