
标准的舵机有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的竞赛级别房车,暴力型的飞机,可以选用数码舵机。所谓神经质配神经质,呵呵。
其实我个人选择舵机,更看重的是品牌和玩家反响,而不是某些山寨工厂一力鼓吹的什么狗屁数码
下面这篇文章,我大致看过,是符合科学原理的,想学习知识的可以看看。
注意吸收知识,要由根本上去分析,而不是以讹传讹!否则你必定就象很多人一样去坚守“数码舵机比模拟舵机快”这个完全错误的观点,呵呵,那会被真正掌握知识的人暗地里面耻笑的问题有误。舵机控制信号标准是周期20ms,中位脉冲是15ms。加减是05ms。那么你给它05它必然要转45度了!而不是所谓0度!
还有告诉你舵机的周期最小不能低过15毫秒!在15到20毫秒内舵机性能差别不大!只不过是周期短些反应速度要快些。先说你得信号用词不对,舵机的信号称为PPM。不是PWM,然后我个人也不是太赞成用PWM控制舵机,浪费。而具体对你得问题,要看你是什么舵机,但至少你牌子、类型说一下啊。\x0d\还有,舵机(不管是哪种)不要瞎用手拧,瞎拧的话容易打坏齿轮。\x0d\\x0d\从模拟的说起:如果是模拟舵机,电路上驱动电机的PWM其实就是PPM型号和电路本身的震荡电路的斩波结果,自然,一旦外部的PPM信号没有了,驱动电机的PWM也就没有了,舵机就随便拧了。高阻态、高电平、低电平时都一样的反应,没信号就随便拧。\x0d\\x0d\如果是数字舵机(按你的描述,你的舵机是数字舵机),这就要看人家单片机里的程序是怎么做的了。比如我手头上的,就属于上电没有位置信号时随便拧,给过信号就按信号的位置定死。\x0d\但数字舵机只要给出一个完整的信号,舵机就按这个信号定位置,就是说:假如给舵机一个15ms宽的高电平脉冲(中立位置),只给一个,然后再没有信号了,但舵机里的单片机已经记住这个15ms,他就转到中立位置上,除非再有信号,不然就一直保持中立位置。\x0d\数字舵机对于高阻态、低电平就相当于没信号,情况分析同上。\x0d\然后,对于高电平,因为舵机记得就是PPM信号的高电平时间,所以如果你给一个长时间的高电平,在最开始,它会以为这是一个信号,然后就计时,如果超出限制(比如是22ms)有的舵机就当做是无效信号,按上一次有效的处理,有的就做限制保护,只按22ms处理。之后因为你一直没有信号的变化,自然它也不会记时间,剩下的情况与前面一样。\x0d\\x0d\一般模拟舵机用三极管做H桥电路,这和它的电路特性有关,用三极管更容易调速。而数字舵机则用mos管,拧数字舵机时,电机相当于发电机,因为mos管内部自带的防反流二极管的作用,电机2端此时相当于短路,电机工作在4象限,即刹车状态。所以,数字舵机不容易拧动,自然是更容易打齿先说你得信号用词不对,舵机的信号称为PPM。不是PWM,然后我个人也不是太赞成用PWM控制舵机,浪费。而具体对你得问题,要看你是什么舵机,但至少你牌子、类型说一下啊。
还有,舵机(不管是哪种)不要瞎用手拧,瞎拧的话容易打坏齿轮。
从模拟的说起:如果是模拟舵机,电路上驱动电机的PWM其实就是PPM型号和电路本身的震荡电路的斩波结果,自然,一旦外部的PPM信号没有了,驱动电机的PWM也就没有了,舵机就随便拧了。高阻态、高电平、低电平时都一样的反应, 没信号就随便拧。
如果是数字舵机(按你的描述,你的舵机是数字舵机),这就要看人家单片机里的程序是怎么做的了。比如我手头上的,就属于上电没有位置信号时随便拧,给过信号就按信号的位置定死。
但数字舵机只要给出一个完整的信号,舵机就按这个信号定位置,就是说:假如给舵机一个15ms宽的高电平脉冲(中立位置),只给一个,然后再没有信号了,但舵机里的单片机已经记住这个15ms,他就转到中立位置上,除非再有信号,不然就一直保持中立位置。
数字舵机对于高阻态、低电平就相当于没信号,情况分析同上。
然后,对于高电平,因为舵机记得就是PPM信号的高电平时间,所以如果你给一个长时间的高电平,在最开始,它会以为这是一个信号,然后就计时,如果超出限制(比如是22ms)有的舵机就当做是无效信号,按上一次有效的处理,有的就做限制保护,只按22ms处理。之后因为你一直没有信号的变化,自然它也不会记时间,剩下的情况与前面一样。
一般模拟舵机用三极管做H桥电路,这和它的电路特性有关,用三极管更容易调速。而数字舵机则用mos管,拧数字舵机时,电机相当于发电机,因为mos管内部自带的防反流二极管的作用,电机2端此时相当于短路,电机工作在4象限,即刹车状态。所以,数字舵机不容易拧动,自然是更容易打齿VisionPro可以通过串口或者IO口控制舵机,具体步骤如下:
1 选择合适的舵机控制模块,比如常用的舵机驱动板,该板可以将串口信号转换为舵机控制信号。
2 在VisionPro中编写程序,通过串口或者IO口控制舵机。例如,如果您使用舵机驱动板,可以使用串口发送指令,驱动板会自动将指令转换为舵机控制信号。如果您使用IO口控制舵机,可以使用VisionPro内置的IO控制命令,将IO口输出高电平或低电平,从而控制舵机的方向和角度。
3 在程序中设置舵机的角度或者位置。可以使用VisionPro提供的命令或者函数来设置舵机的角度或者位置,例如"SetServoPosition"或者"SetServoAngle"等。
4 调试和优化程序。在测试舵机控制程序时,需要注意调试和优化程序,确保舵机能够按照预期的角度或者位置运动。可以使用调试工具或者示波器等设备来检查舵机控制信号的波形和参数,以确定参数设置是否正确。
需要注意的是,在控制舵机时,需要谨慎 *** 作,以免对舵机或者其他设备造成损坏。同时,舵机的角度或者位置控制也需要根据实际的应用需求进行调整和优化,以实现最佳的控制效果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)