搜索
bottom↓
回复: 47

关于机器人专用舵机的讨论

[复制链接]

出0入0汤圆

发表于 2009-12-20 22:51:20 | 显示全部楼层 |阅读模式

     以前舵机是用在航模上的,现在大家应用在机器人DIY上,自然会发现航模舵机用来做机器人关节,其结构和性能有很多欠缺的地方,比如:航模舵机一般转角范围不超180°;只有一个转轴端;速度不能控制;位置没有反馈……
     现在虽然有些宣称是机器人专用数字舵机加大了旋转范围,在另一端做了虚轴,有的还带有位置和温度反馈,但总觉得改得还不彻底,距离想象中的机器人关节舵机还差一些东西。
     普通航模舵机不合适,目前的专用数字舵机也不尽满意,而且价格很贵,一般爱好者承受不起。
     大家讨论下心目中的机器人关节舵机什么样子,能不能用现有廉价航模舵机改造呢。

     推荐大家一个开源设计舵机控制板的参考网站:http://www.openservo.com/

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-12-20 23:02:51 | 显示全部楼层
楼主OUT了,关心舵机的没人不知道openservo。不过,话说我压根没好好看过那个程序,全英文,太累。

改造当然是可以的。
低压直流电机的控制实在没什么难点,你自己把PID程序写好就是了。
至于180、外壳的定位轴之类的,厂家就直接开模,个人就完全是看你的动手能力。

所以,你的期望不是可不可行的问题,而是想不想做和有没有能力做的问题。明白?想好了就动手做吧,没什么好讨论的。

出0入0汤圆

 楼主| 发表于 2009-12-21 20:41:55 | 显示全部楼层

    哈,1楼 flyunlimit 飞行无极 批评得很对,搞技术除了理论知识,最关键还在于动手能力。
    只可惜这两点本人目前都还很欠缺,电子方面也算刚入门级,英文基础也很差,动手能力有一些,但不是很勤快,逐项努力吧!

    本人也是三四个月前才刚刚接触到舵机,试制四自由度双足过程中有些心得感悟,不免想说出来,寻求同道中高人一起讨论,互相学习一下。

    首先提出一个问题:普通舵机定位一个角度也需要控制板上MCU不间断地给出控制信号,造成MCU负担过重,影响处理其他信号的效率。能不能改造舵机内控制板芯片程序,把驱动信号锁存,这样只有在需要改变角度时,MCU才给舵机发一个驱动脉冲,MCU的工作量就小多了,自制机器人对舵机的控制编程也变得容易了。
    有高手能实现吗?

出0入0汤圆

 楼主| 发表于 2009-12-30 22:08:20 | 显示全部楼层

    刚订购了减速电机。希望有高手指点如何做好驱动板。

出0入0汤圆

 楼主| 发表于 2010-1-14 21:30:52 | 显示全部楼层

    今天调通了atmega16的T/C1的PWM输出,通过调整脉冲占空比输出了300Hz的调幅脉冲,来控制直流电机变速。
    变速延时调用了T/C0的CTC中断做的0.1ms时间片,自己觉得应该比_delay_ms()库函数要精确一些,不知道对不对。

    下一步就是做AD练习。通过检测电位器的上的输出电压来锁定电机轴的旋转位置。
    至于对定位的PID控制,还差很远呢,哈。一步步来吧。

出0入0汤圆

发表于 2010-1-14 21:44:36 | 显示全部楼层
回复【2楼】aydali

    哈,1楼 flyunlimit 飞行无极 批评得很对,搞技术除了理论知识,最关键还在于动手能力。
    只可惜这两点本人目前都还很欠缺,电子方面也算刚入门级,英文基础也很差,动手能力有一些,但不是很勤快,逐项努力吧!
    本人也是三四个月前才刚刚接触到舵机,试制四自由度双足过程中有些心得感悟,不免想说出来,寻求同道中高人一起讨论,互相学习一下。
    首先提出一个问题:普通舵机定位一个角度也需要控制板上MCU不间断地给出控制信号,造成MCU负担过重,影响处理其他信号的效率。能不能改造舵机内控制板芯片程序,把驱动信号锁存,这样只有在需要改变角度时,MCU才给舵机发一个驱动脉冲,MCU的工作量就小多了,自制机器人对舵机的控制编程也变得容易了。
    有高手能实现吗?

-----------------------------------------------------------------------
普通舵机定位一个角度也需要控制板上MCU不间断地给出控制信号,不用,你1秒给一次,数码舵机是可以的,模拟的不知道,好像不行

出0入0汤圆

 楼主| 发表于 2010-1-15 11:53:08 | 显示全部楼层

    数码舵机还没有用过,相比模拟的应该有功能上的完善。但是,数码舵机价格太高,而且和自己想象的机器人关节舵机还是有不少区别的。

    自己设计制作会有很多好处,我就不说了。哈,欢迎有兴趣的一起讨论。

出0入0汤圆

发表于 2010-1-15 12:10:14 | 显示全部楼层
数码舵机接收到一个脉冲宽度记录下来后,内部一直在与反馈位置比较直到到位,所以不必要20ms发一次,模拟的因为靠20ms的信号比较,每次产生一个延时(线性不好),这个时间电机通电,但是20ms不够跟踪到位,所以要靠一连串相同位置对应脉冲去驱动,如果1秒一次,模拟的肯定没到位,但是数字的能到位

出0入0汤圆

 楼主| 发表于 2010-1-21 20:27:36 | 显示全部楼层

    报告最新进展:用 ATMEGA16+一片LB1838+一个减速电机+一个单圈电位器 组装出来的舵机模型今天调试出定位功能,还像那么回事。
    后面工作就是要改进细节,最后才可以设计封装套件。


    最终的舵机应该是不需要20ms,也不需要1s的驱动信号,而是靠TWI双向通讯及串联。

出0入0汤圆

发表于 2010-1-25 09:43:25 | 显示全部楼层
首先提出一个问题:普通舵机定位一个角度也需要控制板上MCU不间断地给出控制信号,造成MCU负担过重,影响处理其他信号的效率。能不能改造舵机内控制板芯片程序,把驱动信号锁存,这样只有在需要改变角度时,MCU才给舵机发一个驱动脉冲,MCU的工作量就小多了,自制机器人对舵机的控制编程也变得容易了。  
    有高手能实现吗?  

————————这个问题我也考虑过,这要修改舵机控制芯片。如果改成功,主芯片可以少事的多。其实改也不是太复杂,因为舵机的控制很简单。可能开展这方面的讨论,你这是一个好贴。

出0入0汤圆

发表于 2010-1-25 21:15:45 | 显示全部楼层
回复【9楼】hpm88
首先提出一个问题:普通舵机定位一个角度也需要控制板上MCU不间断地给出控制信号,造成MCU负担过重,影响处理其他信号的效率。能不能改造舵机内控制板芯片程序,把驱动信号锁存,这样只有在需要改变角度时,MCU才给舵机发一个驱动脉冲,MCU的工作量就小多了,自制机器人对舵机的控制编程也变得容易了。   
    有高手能实现吗?   
————————这个问题我也考虑过,这要修改舵机控制芯片。如果改成功,主芯片可以少事的多。其实改也不是太复杂,因为舵机的控制很简单。可能开展这方面的讨论,你这是一个好贴。

-----------------------------------------------------------------------

买数字舵机或自己做

出0入0汤圆

 楼主| 发表于 2010-1-26 13:37:35 | 显示全部楼层

    我尝试做了分段驱动处理,误差角度D>36°的全速,36°>D>18°的速度作了比例P调节,18°>D>3.6°的半速,3.6°>D>0.75°的0.4倍速。测试时直观看着还行,显示误差±0.75°。
    只尝试在中间段用了PID的P调节,还没想出办法怎么评估这种处理的性能指标。

    还在学习PID,我想最终也许还是要用上PID才算成熟吧。

出0入0汤圆

 楼主| 发表于 2010-2-1 21:17:04 | 显示全部楼层

    抽空在啃openservo项目开源的c代码,由于英文水平不高,avr也刚接触就跌跌撞撞地想跑,好费力啊。
    好希望能有看过这个开源项目代码的朋友给予指导。

出0入0汤圆

发表于 2010-2-2 18:08:03 | 显示全部楼层
速度可以自己根据舵机特点调,位置反馈更容易了,拆开舵机一看都明白了

出0入0汤圆

 楼主| 发表于 2010-2-2 21:47:12 | 显示全部楼层

    openservo上的代码目前第三版本,是基于ATmega168的。虽然很多模块支持多个MCU类型,但好像pwm.c模块只是针对ATmega168设计。我想用ATmega8来做,怎样才可以得到合适的代码模块?

出0入0汤圆

 楼主| 发表于 2010-2-2 22:09:37 | 显示全部楼层
:
    另外,有谁可以讲解一下基于曲线的运动控制是怎么一回事吗?

出0入0汤圆

 楼主| 发表于 2010-2-7 22:27:47 | 显示全部楼层

    半懂不懂很费劲地看了几个openservo论坛上的帖子,发现也有人问到pwm.c模块支持ATmega8的问题,作者回复说在1.16版里。哈,原来问题如此简单。
    再去看网站列的版本清单,1.1版是支持ATtinyX5的,1.10增加对ATmega168的支持,1.12可以支持ATmega8了,1.16还增加对ATmega88的支持……
    虽然下了一些C模块在费力地啃,可对整个程序流程还不是很懂。哎,有高手能粗略介绍一下吗?

出0入0汤圆

发表于 2010-2-10 13:04:48 | 显示全部楼层
想让舵机给一个脉冲信号,之后就不用再给舵机控制信号而让多及锁定住,这个跟厂家联系下,他们出厂时给你改了程序就好了。
不过你要是只要几个,不知道能不能给你改程序。

出0入0汤圆

发表于 2010-2-10 13:24:40 | 显示全部楼层
昨天看舵机的时候看到的,105元HITEC 机器人专用舵机,你可以试试。
我的收藏,一般我不告诉他。。。

http://item.taobao.com/auction/item_detail-db1-de37a4887869f522b2c29bf53207c2ab.jhtml
HSR-8498HB数字电机是Hitech公司专门为RoboNova机器人开发的,不但有非常强大的扭矩,同时也有非常精确的位置控制能力以及多种数据反馈,包括位置,电压以及电流。

技术规格:

工作电压: 6 - 7.4Vdc
9.0 kg /cm @ 7.4 V
60 度 0.18 秒 @ 7.4 V
HiTEC 多协议接口
PWM 接口 (RC standard)
重量: 55 克
尺寸: 40 x 20 x 47mm

出0入0汤圆

发表于 2010-2-16 22:34:39 | 显示全部楼层
回复【15楼】aydali
-----------------------------------------------------------------------

有谁可以讲解一下基于曲线的运动控制是怎么一回事吗?

说简单点就是舵机的调速控制的问题,如果你用过舵机做机器人,你就会发现舵机转动时动作很生硬,原因是舵机控制中没有速度的变化,可以看一下我做的舵机机器人的视频:http://u.youku.com/user_show/id_UNjg5NTgyOTI=.html。而一般人的运动有起始的加速过程和末尾的减速过程,这样看起来就比较自然。基于曲线的控制就是说舵机运动速度不是直线,而是曲线,也就是说舵机速度不是恒速的。至于说采用什么样的曲线,那是根据需要定的。我最近正在搞舵机调速的程序,在网上我只看到了一篇关于舵机调速的文章,看来这个知识还不太普及。hpm88@126.com

出0入0汤圆

发表于 2010-2-16 22:48:10 | 显示全部楼层
回复【17楼】guozs1984
想让舵机给一个脉冲信号,之后就不用再给舵机控制信号而让多及锁定住,这个跟厂家联系下,他们出厂时给你改了程序就好了。
不过你要是只要几个,不知道能不能给你改程序。-----------------------------------------------------------------------

关于舵机的锁定控制,在下最近有个新想法,就是在普通舵机上加一个制动器,在有输入脉冲是,制动器分离,脉冲过后,制动器合上定位。这个制动器可以在电机轴上加一个摩擦轮,用一个弹簧片压在上边,再加一小电磁铁,有信号时弹簧片离开摩擦轮。因为舵机有减速增力的齿轮,这个制动器只需要很小的摩擦力,所以可以设计的很轻巧。欢迎大家对我的这个想法讨论和试验,把结果告诉我和这里的各位玩家。

出0入0汤圆

发表于 2010-2-17 08:29:03 | 显示全部楼层
回复【20楼】hpm88
回复【17楼】guozs1984  
想让舵机给一个脉冲信号,之后就不用再给舵机控制信号而让多及锁定住,这个跟厂家联系下,他们出厂时给你改了程序就好了。  
不过你要是只要几个,不知道能不能给你改程序。-----------------------------------------------------------------------
关于舵机的锁定控制,在下最近有个新想法,就是在普通舵机上加一个制动器,在有输入脉冲是,制动器分离,脉冲过后,制动器合上定位。这个制动器可以在电机轴上加一个摩擦轮,用一个弹簧片压在上边,再加一小电磁铁,有信号时弹簧片离开摩擦轮。因为舵机有减速增力的齿轮,这个制动器只需要很小的摩擦力,所以可以设计的很轻巧。欢迎大家对我的这个想法讨论和试验,把结果告诉我和这里的各位玩家。
-----------------------------------------------------------------------

你加个MCU,记忆接收机出来的脉冲宽度,然后按20ms(不非常严格)周期自动重复,就可用普通舵机了

出0入0汤圆

发表于 2010-2-17 10:13:34 | 显示全部楼层
你加个MCU,记忆接收机出来的脉冲宽度,然后按20ms(不非常严格)周期自动重复,就可用普通舵机了

---------------这种做法我也想过,甚至想用录音模块来记录脉冲,但终就不如机电方法简单和成本低。所以就有上述想法。加MCU还不如改写原来的芯片程序。再说那样就是搞数码舵机了,数码舵机价格太高了。

出0入0汤圆

 楼主| 发表于 2010-2-21 22:13:05 | 显示全部楼层

    谢谢楼上几位的分享!
    在普通舵机板上加一个MCU做信号锁定的想法难度低一些,容易动手实现,但是这个方案是权宜之法,改造得不彻底,而且成本要增加(十几个自由度的机器人就要多增加十几块MCU,不如增加一块多路舵机驱动板的方案经济简洁)。所以,大家有兴趣的话,还是一起搞搞openservo的程序更能体现DIY的乐趣和水平。
    hpm88加制动器的想法可以尝试,关键在于机构要简单巧妙,不影响舵机的整体大小和结构,又易于实现。

出0入0汤圆

 楼主| 发表于 2010-2-21 22:20:27 | 显示全部楼层

    18楼fsclub 绿林好汉 的数字舵机很不错,只可惜一百多元一个的价格还是超出我的价格定位。
    我的目标是:造出成本在20元以内的小型机器人专用舵机。这样整个小机器人的成本控制在300元,预售价在500-800元,会有一部分中国的小孩子能够玩得起。

出0入0汤圆

发表于 2010-3-2 11:54:40 | 显示全部楼层
现在的舵机太贵!

出0入0汤圆

发表于 2010-3-2 18:44:12 | 显示全部楼层
回复【24楼】aydali

    18楼fsclub 绿林好汉 的数字舵机很不错,只可惜一百多元一个的价格还是超出我的价格定位。
    我的目标是:造出成本在20元以内的小型机器人专用舵机。这样整个小机器人的成本控制在300元,预售价在500-800元,会有一部分中国的小孩子能够玩得起。
-----------------------------------------------------------------------

一年前吉林振华特价卖普通舵机,10元一个

出0入0汤圆

 楼主| 发表于 2010-3-2 19:56:14 | 显示全部楼层

    记得有个航模论坛里大家分析过辉盛那种12元左右的小舵机的成本,有人说大概6元就能生产,似乎还有不少同意的。
    我说的成本20元,当然用料和质量要比现在售价20元到30,40元的那些舵机都要好才行。

出0入0汤圆

发表于 2010-9-18 22:14:18 | 显示全部楼层
回复【27楼】aydali
-----------------------------------------------------------------------

还在研究openservo,能不能一起探讨一下啊,qq34750541

出0入0汤圆

发表于 2010-9-18 22:48:04 | 显示全部楼层
个人观点:1.普通的模拟舵机是可以调速的(舵机的转速与角度偏
            差成比例,偏差大,转速大,如低速 用控制信号角度自增)
          2.普通的模拟舵机是可以角度反馈的(当前控制角度,
            基本就是当前舵机角度,在控制速度不太大的情况下)
          3.普通的模拟舵机还能实现一定的力矩反馈(但不太可靠,
             还没想到好的算法纠正干扰)

出0入0汤圆

发表于 2010-9-18 22:50:02 | 显示全部楼层
角度反馈更可直接引出电位器引线

出0入0汤圆

 楼主| 发表于 2010-9-19 20:59:33 | 显示全部楼层
:
    都是抽空搞,进展很慢。
    这大半年尝试自己写驱动,发觉真的不是那么容易的事。除了PID还有滤波等软知识,还要有H桥的硬知识,比如死区时间。我就因为自己不太懂细节,烧掉了十来片H桥了,呵呵。
    目前自己组装的模型还是仅仅一个演示级别,离实用还有很大差距。
    搞得实在有些累了,忍不住又花钱买了十来个MG995,准备先组装一个像样的双足,鼓舞一下自己的干劲。另外的用意就是想作对比用,看看自己做出来的在性能上和MG995有什么改进没。
    这几天就在自己设计舵机测试装置,好检测一下买的这批MG995怎么样,也为和将来自己做出来的舵机作对比用。

出0入0汤圆

 楼主| 发表于 2010-9-19 21:04:42 | 显示全部楼层

    国庆节前后又要休假一段时间忙家里的事,又没时间搞了。
    很希望看到有进展的朋友能发表自己的成果,共同学习。

出0入0汤圆

 楼主| 发表于 2010-9-19 21:30:35 | 显示全部楼层

    回复29楼

    1,普通舵机调速是靠控制主板进行差值运算,然后改变间隔延时实现不同速度的,这种调速方式的缺点很明显:占用很大主控板资源;差值方式是离散的;由于是PID方式运动,差值间隔近的话驱动力变弱;多舵机控制会变得复杂等。
    2,理论上只有在额定负荷且慢速控制的情况下,舵机的控制角度才等于当前角度。而机器人各关节的负荷有时是很大的,且是快慢变速的,所以普通舵机的用在机器人上,控制角度可不等于当前角度。
    3,你说的力矩反馈是不是靠电流&速度推算出来?这点我想可以实现吧。

    回复30楼

    引出电位器引线,还要让主控板做AD处理。还有29楼的第3点,也需要主控板做运算,这种方式不太适合多舵机系统,主控板负担太大。


    之所以自己设计,就是想搞出一种主控板很容易编程控制的舵机,具备控制简单,可以调速,还有反馈等优点。

出0入0汤圆

发表于 2010-9-27 18:07:14 | 显示全部楼层
回复【33楼】aydali
-----------------------------------------------------------------------

参考一下北京博创科技的机器人舵机:
CDS5516/CDS5500,单价240左右
http://robot.up-tech.com/ch/ProductView.asp?ID=58

http://robot.up-tech.com/ch/DownList.asp?SortID=20


以及春天模型的SR-518机器人舵机,单价330左右
http://www.springrc.com/

有兴趣的话可以联系我。alphis@163.com

出0入0汤圆

发表于 2010-10-11 23:47:59 | 显示全部楼层
做机器人的还是用RBOTICS的舵机好了。

出0入0汤圆

发表于 2010-11-3 17:27:56 | 显示全部楼层
mark~

出0入0汤圆

发表于 2010-11-3 18:59:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-24 20:57:24 | 显示全部楼层
楼主我也对舵机设计感兴趣,请问如何联系您。

出0入0汤圆

 楼主| 发表于 2011-5-6 22:54:00 | 显示全部楼层
【39楼】 langyidao
:
    这里是开源论坛,大家在这里讨论吧。我还是刚入门,自认为还未修炼到技术保密的阶段,呵呵。

出0入0汤圆

发表于 2011-5-7 06:12:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-15 17:08:11 | 显示全部楼层
顶,对我很有用,正是想要的

出0入0汤圆

发表于 2011-6-16 16:47:18 | 显示全部楼层
做更大功率的舵机有市场么?
我们也在做电机伺服控制器,应用CAN控制会非常方便,对于设计那种半米以上高度的机器人,大功率的场合,基本没有舵机可用,全需要自己重新设计关机伺服系统。。。。设计的很吃力啊

出0入4汤圆

发表于 2016-5-27 06:52:14 | 显示全部楼层
现在已经是2016年了,不知道国内对openservo数字舵机开源项目研究消化得怎样了?

出0入0汤圆

发表于 2016-7-4 11:03:17 | 显示全部楼层
我也正在研究舵机,目前做到把电位器的电压值给pwm,但速度不够快!楼主有方法吗?

出0入0汤圆

发表于 2016-8-24 03:29:49 | 显示全部楼层
舵机这种东西做机器人算了吧 齿轮间隙够呛

出0入135汤圆

发表于 2016-8-24 17:09:58 | 显示全部楼层
舵机内部是有反馈的,只是这个反馈没告知出来,如果还需要反馈,那就不是在用舵机了,而是在研发舵机了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 19:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表