模拟舵机和数字舵机的使用方法

模拟舵机和数字舵机的使用方法,第1张

一、舵机的原理
标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2所示。
以日本FUTABA-S3003型舵机为例,图1是FUFABA-S3003型舵机的内部电路。
3003舵机的工作原理是:PWM信号由接收通道进入信号解调电路BA6688的12脚进行解调,获得一个直流偏置电压。该直流偏置电压与电位器的电压比较,获得电压差由BA6688的3脚输出。该输出送入电机驱动集成电路BAL6686,以驱动电机正反转。当电机转动时,通过级联减速齿轮带动电位器Rw1旋转,直到电压差为O,电机停止转动。
舵机的控制信号是PWM信号,利用占空比的变化,改变舵机的位置。
有个很有趣的技术话题可以稍微提一下,就是BA6688是有EMF控制的,主要用途是控制在高速时候电机最大转速。
原理是这样的:
收到1个脉冲以后,BA6688内部也产生1个以5K电位器实际电压为基准的脉冲,2个脉冲比较以后展宽,输出给驱动使用。当输出足够时候,马达就开始加速,马达就能产生EMF,这个和转速成正比的。
因为取的是中心电压,所以正常不能检测到的,但是运行以后就电平发生倾斜,就能检测出来。超过EMF判断电压时候就减小展宽,甚至关闭,让马达减速或者停车。这样的好处是可以避免过冲现象(就是到了定位点还继续走,然后回头,再靠近)
一些国产便宜舵机用的便宜的芯片,就没有EMF控制,马达、齿轮的机械惯性就容易发生过冲现象,产生抖舵
电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用围3来表示。
二、数码舵机 VS 模拟舵机
数码舵机比传统的模拟舵机,在工作方式上有一些优点,但是这些优点也同时带来了一些缺点。
传统的舵机在空载的时候,没有动力被传到舵机马达。当有信号输入使舵机移动,或者舵机的摇臂受到外力的时候,舵机会作出反应,向舵机马达输出驱动电压。由第一节的电路分析我们知道——马达是否获得驱动电压,取决于BA6688的第3脚是否输出一个电压信号给BAL6686马达驱动IC。
数码舵机最大的差别是在于它处理接收机的输入信号的方式。相对与传统的50脉冲/秒的PWM信号解调方式,数码舵机使用信号预处理方式,将频率提高到300脉冲/秒。因为频率高的关系,意味着舵机动作会更精确,“无反应区”变小。
以下的三个图表各显示了两个周期的开/关脉冲。
图1是空载的情况;图2是脉冲宽度较窄,比较小的动力信号被输入马达;图3是更宽,持续时间更长的脉冲,更多的输入动力。
您可以想象,一个短促的脉冲,紧接着很长的停顿,这意味着舵机控制精度是不够高的,这也是为什么模拟舵机有“无反应区”的存在。比如说,舵机对于发射机的细小动作,反应迟钝或者根本就没有反应。
而数码舵机提升了脉冲密度,轻微的信号改变都会变的可以读取,这样无论是遥控杆的轻微变动,或者舵机摇臂在外力作用下的极轻微变动,都会能够检测出来,从而进行更细微的修正。
三、数码舵机的缺点:
以上我们已经知道数码舵机会更精确这个优点,那么我们来看数码舵机的缺点
1、数码舵机需要消耗更多的动力。其实这是很自然的。数码舵机以更高频率去修正马达,这一定会增加总体的动力消耗。
2、相对教短的寿命。其实这是很自然的。马达总在转来转去做修正,这一定会增加马达等转动部位的消耗。
四、拟人化比喻
技术性的东西说了这么多,也许很多对电路原理不熟悉的朋友还是不明白,呵呵,举个简单的例子来说明吧!
比如遥控器是老师,舵机控制电路是家长,舵机的马达是小孩
现在的任务是老师要求家长辅导孩子做一个动作,比如倒立
以数字舵机而言,家长自主地给这个动作设置了非常非常严格的标准,他要求孩子倒立时在鞋面上摆一个竖立的硬币,然后盯着硬币,硬币向左一震动他在右边给孩子一鞭子,硬币向右一震动他在左边给孩子一鞭子总之他要求的不再是老师要求的“倒立”,而是倒立以后顶一枚不倒的硬币
模拟舵机的家长部分则是柔和派,老师要求倒立是吧?他忠实地按老师的要求,让孩子倒立起来,孩子身体的轻微调整他不去关注了,他只关心是不是偏移了老师的标准,呵呵
五、实际应用选择
我们已经知道模拟舵机对于极轻微的外力干扰导致舵机盘移位的敏感度,和舵机执行命令的精确度,是不如数码舵机的了,那么我们是不是应该尽量使用数码舵机呢???我个人而言不是这么认为。
首先——舵机的素质,其实不单纯是电路决定的,还有舵机的齿轮精度,还有非常非常关键的舵机电位器的精度。一颗质量上乘的模拟舵机,往往比电路虽然是数码但是零件却是普通货色的数码舵机更准确,更不会抖舵。
其次,要知道我们在模型车上应用的时候,很多时候太高的精度并不是好事!比如你玩1/8的车,特别是大脚车和越野车,那么烂的路面导致车时而滑动适合腾空,动不动就是零点几秒、N公分的偏差,舵机的微秒级别敏感、微米级别精度对整个事件能起怎么改善??那叫神经质的舵机反应
其实应用在1/8车辆上,一颗01秒反应的模拟舵机是更合适的搭配。它会更省电,更顺滑,不会那么神经质。而且最重要的——它不会在一台转向虚位有几毫米的1/8越野车上,去不停地吱吱叫着去找那01毫米的居中(其实你即使把舵机连杆给它拆掉,让舵机空转,它也往往找不到那01毫米的居中,只是自己不停地吱吱叫着折腾自己而已,哈哈)
实际的应用上,我建议是1/10的竞赛级别房车,暴力型的飞机,可以选用数码舵机。所谓神经质配神经质,呵呵。
其实我个人选择舵机,更看重的是品牌和玩家反响,而不是某些山寨工厂一力鼓吹的什么狗屁数码
下面这篇文章,我大致看过,是符合科学原理的,想学习知识的可以看看。
注意吸收知识,要由根本上去分析,而不是以讹传讹!否则你必定就象很多人一样去坚守“数码舵机比模拟舵机快”这个完全错误的观点,呵呵,那会被真正掌握知识的人暗地里面耻笑的

舵机最早出现在航模运动中。在航空模型中,飞行机的飞行姿态是通过调节发动机和各个控制舵面来实现的。举个简单的四通飞机来说,飞机上有以下几个地方需要控制:1发动机进气量,来控制发动机的拉力(或推力);2副翼舵面(安装在飞机机翼后缘),用来控制飞机的横滚运动;3水平尾舵面,用来控制飞机的俯仰角;4垂直尾舵面,用来控制飞机的偏航角;遥控器有四个通道,分别对应四个舵机,而舵机又通过连杆等传动元件带动舵面的转动,从而改变飞机的运动状态。舵机因此得名:控制舵面的伺服电机。不仅在航模飞机中,在其他的模型运动中都可以看到它的应用:船模上用来控制尾舵,车模中用来转向等等。由此可见,凡是需要 *** 作性动作时都可以用舵机来实现。2、结构和控制一般来讲,舵机主要由以下几个部分组成, 舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。工作原理:控制电路板接受来自信号线的控制信号(具体信号待会再讲),控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。舵机的基本结构是这样,但实现起来有很多种。例如电机就有有刷和无刷之分,齿轮有塑料和金属之分,输出轴有滑动和滚动之分,壳体有塑料和铝合金之分,速度有快速和慢速之分,体积有大中小三种之分等等,组合不同,价格也千差万别。例如,其中小舵机一般称作微舵,同种材料的条件下是中型的一倍多,金属齿轮是塑料齿轮的一倍多。需要根据需要选用不同类型。舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是48V,一是60V,分别对应不同的转矩标准,即输出力矩不同,60V对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔。另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。但记住红色为电源,黑色为地线,一般不会搞错。

三线舵机内部包含了驱动板,五线的驱动芯片在插接的主板上。所以找到主板上驱动芯片的上一级就可以了。通常是:5线舵机-》舵机驱动芯片-》通道解析MCU芯片-》无线接收芯片-》天线类电路。用表量下通道解析MCU芯片-》无线接收芯片这中间的接线就可以找到,如果没有多层走线也许能直接看出来。稍微有点电子电路基础你应该能成功的。
还有一种方法能够确定是MCU的哪个引脚,就是测管脚电压,要带电配遥控,然后你推遥控对应要改的通道摇杆。你发现动杆子时,对应电压会改变的那个管脚就是你要接的信号线位置了。
电源通常5V,找到地线接好就OK了。

舵机,是指在自动驾驶仪中 *** 纵飞机舵面( *** 纵面)转动的一种执行部件。分有:①电动舵机,由电动机、传动部件和离合器组成。接受自动驾驶仪的指令信号而工作,当人工驾驶飞机时,由于离合器保持脱开而传动部件不发生作用。②液压舵机,由液压作动器和旁通活门组成。当人工驾驶飞机时,旁通活门打开,由于作动器活塞两边的液压互相连通而不妨害人工 *** 纵。此外,还有电动液压舵机,简称“电液舵机”。[1]
舵机的大小由外舾装按照船级社的规范决定,选型时主要考虑扭矩大小。如何审慎地选择经济且合乎需求的舵机,也是一门不可轻忽的学问。

舵机频率为50hz 一般是固定的吧,你需要调节的是PWM波的占空比,通过调节占空比来控制它,给你个别人写的stm32 库函数 pwm波

库函数版:
void TIM3_PWM_Init(u16 arr,u16 psc)
{  
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
TIM_OCInitTypeDef  TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能定时器3时钟
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC  | RCC_APB2Periph_GPIOB  |RCC_APB2Periph_AFIO, ENABLE);  //使能GPIO外设和AFIO复用功能模块时钟

GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3部分重映射  TIM3_CH2->PB5    


//设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形 GPIOB5 GPIOB4
GPIO_InitStructureGPIO_Pin = GPIO_Pin_5|GPIO_Pin_0; //TIM_CH2|TIM_CH1
GPIO_InitStructureGPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
GPIO_InitStructureGPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO

   //初始化TIM3
TIM_TimeBaseStructureTIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructureTIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 
TIM_TimeBaseStructureTIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructureTIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位

//初始化TIM3 Channel2 PWM模式  
TIM_OCInitStructureTIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2
  TIM_OCInitStructureTIM_OutputState = TIM_OutputState_Enable; //比较输出使能
TIM_OCInitStructureTIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高
TIM_OC2Init(TIM3, &TIM_OCInitStructure);  //根据T指定的参数初始化外设TIM3 OC2
TIM_OC3Init(TIM3, &TIM_OCInitStructure);

TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);  //使能TIM3在CCR2上的预装载寄存器
TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable);
TIM_Cmd(TIM3, ENABLE);  //使能TIM3
}
用法:库和寄存器一样    TIM3_PWM_Init (19999,71);
调占空比CCR的值选是19500~17500之间,库用TIM_SetCompare2(TIM3, "CCR" );     算法是 20000-(500+text78125);   text范围是0~256;

*** 作步骤:
1 单片机,舵机,电源共地;
2 用两个稳压芯片进行供电,将电源分开来;
3 舵机信号端没有直接连接单片机IO口,我串了一个10K的电阻,也就是这一步之后就可以控制舵机。

舵机一般用单片机或者数字电路控制。
舵机工作主要跟控制线的高电平持续时间有关系,一般按05ms(毫秒)划分,如果持续时间为05ms,1ms,15ms,2ms,25ms时,舵机会转过不同的角度。
不过具体控制起来非常复杂,教学书里对舵机的控制能写上10来页,而且有图,这么多的东西,要在这里说清楚,不太可能。还是建议你去百度文库里找找,也可以去找找图书馆或者书店。
《新概念51单片机C语言教程:入门、提高、开发、拓展全攻略》
郭天祥 电子工业出版社 (2009-01出版),这本书里我记得有。
舵机的控制不简单,一般的话属于大学二、三年级的水平了,电子电气专业的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13386510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存