搜索
bottom↓
回复: 56

请教大家,搞机器人的话,CAN总线用什么协议比较好?

[复制链接]

出0入79汤圆

发表于 2020-4-14 21:49:06 | 显示全部楼层 |阅读模式
本帖最后由 motor_control 于 2020-4-14 21:50 编辑

        以前玩过一点带总线控制的舵机,TTL和RS485的控制其实差不多,就是一个主从的分时控制,写起来也不是很复杂。
        现在感觉CAN总线比较好些,但以前一直没有用过CAN总线,感觉有点复杂,请问有没有简单点的,够用的协议可以参考的?
        目前才调通2个板子之间的通信,还没有涉及到一主多从的控制。

        机器人要求实时性比较好些,就是发送位置、速度等命令,然后对应的舵机回传实际位置、速度、状态等数据,能达到这些要求就可以了。现在看到大疆做的机甲大师的直驱轮毂都是用的CAN通信,感觉还是有必要不上CAN通信这门课。

        谢谢!

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入8汤圆

发表于 2020-4-14 21:49:43 | 显示全部楼层
CANOPEN      

出0入79汤圆

 楼主| 发表于 2020-4-14 21:52:12 | 显示全部楼层
本帖最后由 motor_control 于 2020-4-14 21:57 编辑


多谢!我马上查一下。

出20入12汤圆

发表于 2020-4-14 21:58:45 | 显示全部楼层
要求不高的话自定义吧

出0入79汤圆

 楼主| 发表于 2020-4-14 22:22:22 | 显示全部楼层
qianj1986 发表于 2020-4-14 21:58
要求不高的话自定义吧


刚刚看了一下,CANOPEN协议还是蛮复杂的,我想还是放弃了吧,因为我喜欢简单的东西,而且我也不知道以后在8位单片机上还能不能使用这种复杂的协议。

所以,我还是听从你的建议,要么自定义,要么回到RS485上。现在我倒觉得RS485还是简单易懂些,内心没那么大的压力,搞技术本来就是让自己开心的嘛!

出0入0汤圆

发表于 2020-4-14 22:26:38 | 显示全部楼层
大疆的不是开源SDK了,里面找找看

出0入0汤圆

发表于 2020-4-14 22:30:17 | 显示全部楼层
一直用自定义

出0入0汤圆

发表于 2020-4-14 22:34:35 来自手机 | 显示全部楼层
CAN除了一次传输的字节数少点,比485强多了。

出0入0汤圆

发表于 2020-4-14 22:38:36 来自手机 | 显示全部楼层
can的优势是消息优先级硬件肿裁,协议嘛canopen确实复杂,自定义协议就好了

出0入0汤圆

发表于 2020-4-14 22:41:48 | 显示全部楼层
motor_control 发表于 2020-4-14 22:22
刚刚看了一下,CANOPEN协议还是蛮复杂的,我想还是放弃了吧,因为我喜欢简单的东西,而且我也不知道以后 ...

他说的那个是汽车上用的,记得CAN有标准协议啊,自己对接数据就行。

出0入0汤圆

发表于 2020-4-14 22:42:51 来自手机 | 显示全部楼层
tdh03z 发表于 2020-4-14 22:34
CAN除了一次传输的字节数少点,比485强多了。

为啥说can一次传的字节数少?can一次传送一个邮箱8字节,比usart一个字节多啊

出0入4汤圆

发表于 2020-4-14 22:43:43 | 显示全部楼层
lostid 发表于 2020-4-14 22:42
为啥说can一次传的字节数少?can一次传送一个邮箱8字节,比usart一个字节多啊 ...

我觉得是CAN废话太多

出0入0汤圆

发表于 2020-4-14 22:53:35 来自手机 | 显示全部楼层
YZ_SQS 发表于 2020-4-14 22:43
我觉得是CAN废话太多

何意

出0入8汤圆

发表于 2020-4-14 22:55:14 来自手机 | 显示全部楼层
嫌弃canopen复杂的,可以做一个类似于canopen的协议,要不做modbus也行

出0入0汤圆

发表于 2020-4-14 23:06:39 | 显示全部楼层
本帖最后由 jjj206 于 2020-4-14 23:07 编辑

不是有那种总线的数字舵机买么。。。有公开协议的

出0入25汤圆

发表于 2020-4-14 23:09:35 | 显示全部楼层

嫌canopen 复杂 看看ZLG的ican协议

出10入29汤圆

发表于 2020-4-14 23:12:41 | 显示全部楼层
自定义协议效率最高&自由度最高。
把CANID弄为可任意配置,即可兼容任意的can总线设备,不需要canopen这么复杂的玩意儿。

出0入0汤圆

发表于 2020-4-14 23:21:24 | 显示全部楼层
CAN还是不错的,可以自定义协议,如果要做到兼容性好,还是建议CANOPEN

出0入0汤圆

发表于 2020-4-15 00:24:03 来自手机 | 显示全部楼层
canopen 不错,通用性也强

出0入0汤圆

发表于 2020-4-15 01:06:13 | 显示全部楼层
EtherCAT 最好的吧

出0入0汤圆

发表于 2020-4-15 01:06:43 | 显示全部楼层
你要多大的带宽啊,机器人传输距离很近,20K没问题啊

出0入0汤圆

发表于 2020-4-15 01:44:12 来自手机 | 显示全部楼层
can的硬件接口本身也没有绝对标准,不喜欢canopen,喜欢自定义协议

出0入0汤圆

发表于 2020-4-15 06:40:26 来自手机 | 显示全部楼层
Can:一帧数据最长8字节 CanFD:一帧数据最长64字节。

出0入0汤圆

发表于 2020-4-15 08:05:48 | 显示全部楼层
canopen 有点复杂的,如果不考虑国际兼容,自定义ID就好,还有感觉CAN 2.0 就能满足,不需要CAN-FD,以前移植过canfestival,开源的canopen协议实现,稳定性不知道怎么样,或者看看周立功的 iCan协议,ethercat可能大型的现场用的比较多一些吧,而且难度很大,还需要考虑应用层协议,canopen也是可以运行在ethercat上面的

出0入0汤圆

发表于 2020-4-15 08:06:40 | 显示全部楼层
“感觉还是有必要不上CAN通信这门课”  感觉你像是学生?

出0入0汤圆

发表于 2020-4-15 08:08:04 来自手机 | 显示全部楼层
CAN没有主从,只有ID优先级概念,主要是实时性好,抗干扰性强

出0入0汤圆

发表于 2020-4-15 08:08:53 来自手机 | 显示全部楼层
难点在于定协议和诊断这一块。

出0入4汤圆

发表于 2020-4-15 08:11:40 | 显示全部楼层

就是为了发8个字节的数据,需要发很多别的固定数据

出1310入193汤圆

发表于 2020-4-15 08:12:44 | 显示全部楼层
CAN通信  开始时候 看其通讯协议会被卡住    和modbus完全不是一个档次的东东   

出0入79汤圆

 楼主| 发表于 2020-4-15 09:48:24 | 显示全部楼层
本帖最后由 motor_control 于 2020-4-15 09:53 编辑

感谢大家的讨论。
我想了一下,还是先使用RS485,使用类似韩国ROBITIS的那种协议,毕竟人家做机器人舵机也是用的这种方式,还是很靠谱的。而且为了能够使用不带CAN的8位或是M0单片机,用UART接口是很通用的,就算使用外挂的SPI接口的CAN处理芯片,还是麻烦,还不如使用带CAN的芯片直接了当。

现在去淘宝买个便宜的MG995什么的舵机尝试自制控制板,以前也尝试过开源的算法,但效果不佳,现在应该有足够的开发能力来自制了。

为了实现简单的双向数据通信,只要约定好了数据格式,比如韩国的公开的协议,实时性也是一样的,我想就算是CANOPEN,他也只是一个通道,也只能分时使用,在自己的系统里,不用考虑什么兼容性、标准性问题,所以用RS485应该够可以了。等真的有必要用CANOPEN了,那就意味着我发达了,可以叫懂CANOPEN的工程师来做这个事了。

出0入79汤圆

 楼主| 发表于 2020-4-15 09:54:24 | 显示全部楼层
jjj206 发表于 2020-4-14 23:06
不是有那种总线的数字舵机买么。。。有公开协议的

国外的太贵,国内的很垃圾。

出0入0汤圆

发表于 2020-4-15 10:02:11 | 显示全部楼层
motor_control 发表于 2020-4-15 09:54
国外的太贵,国内的很垃圾。

打算自己做舵机吗?

出0入79汤圆

 楼主| 发表于 2020-4-15 10:04:01 | 显示全部楼层
本帖最后由 motor_control 于 2020-4-15 10:24 编辑
jjj206 发表于 2020-4-15 10:02
打算自己做舵机吗?


是的,问题主要是没有结构的配合,只能买X宝上的现成舵机自己改造了。

出0入4汤圆

发表于 2020-4-15 10:12:04 | 显示全部楼层
motor_control 发表于 2020-4-15 09:48
感谢大家的讨论。
我想了一下,还是先使用RS485,使用类似韩国ROBITIS的那种协议,毕竟人家做机器人舵机也是 ...

最终你会发现CAN比485好用

出0入0汤圆

发表于 2020-4-15 10:23:37 | 显示全部楼层
lostid 发表于 2020-4-14 22:42
为啥说can一次传的字节数少?can一次传送一个邮箱8字节,比usart一个字节多啊 ...

效率问题,UART传输一包数据,基本利用率能在80%以上,但你看下CAN协议,真正有用就中间8个数据位,利用率比较低,标准帧情况下在60%不到,还有各种较验,时间上慢多了。

以前做过基于CAN的MCU固件升级,相对UART协议,时间长了一倍。

出0入79汤圆

 楼主| 发表于 2020-4-15 10:27:17 | 显示全部楼层
clesun 发表于 2020-4-15 10:12
最终你会发现CAN比485好用

你是说收发控制吗?
这个也对喔!我再考虑下,多了解下CAN,但CANOPEN协议就不打算搞了。

出0入0汤圆

发表于 2020-4-15 10:28:18 | 显示全部楼层
自己定个协议就行了。我们用的CAN-FD,不知道你单片机支持不支持。

出0入0汤圆

发表于 2020-4-15 10:34:30 | 显示全部楼层
机器人的话 用什么CAN 用ethercat啊

出40入42汤圆

发表于 2020-4-15 10:34:40 | 显示全部楼层
CAN硬件差分抗干扰好些,控制器有仲裁机制,可靠性高些,相对的速率也会慢些,成本贵些

出40入42汤圆

发表于 2020-4-15 10:37:08 | 显示全部楼层
阿豪博士 发表于 2020-4-15 10:34
机器人的话 用什么CAN 用ethercat啊

楼主CANopen都不想搞了,干嘛还整EtherCAT?

出0入79汤圆

 楼主| 发表于 2020-4-15 10:59:43 | 显示全部楼层
本帖最后由 motor_control 于 2020-4-15 11:09 编辑
落叶知秋 发表于 2020-4-15 10:37
楼主CANopen都不想搞了,干嘛还整EtherCAT?


同意兄弟的意见,就是搞个简单的好用的舵机就行了,哪还用整那么复杂!
再说了,就算会整EtherCAT了,也不见得会做机器人呀,感觉这种东西就和所谓的LINUX一样。

我还是先搞下经典PID再说,以前搞的简单PID用来控制舵机,也试了开源的OPENSERVO,感觉都不行。不是有过冲,就是锁的不够紧,还有振荡,什么问题都有。
但商用的控制芯片就很稳定,经过一段时间的研究和实践,发现其实看似简单的PID控制,还有三环控制,说起理论来很多人一套一套的,但真正要理解深入,还真的不容易。

日本的Dr.Guero博士,这是真正的博士,不是国内的普通博士,用普通的舵机就可以做出令国内难以企及的水平,昨天又看到了新出的视频,距离上一个视频有1年了!人家这才是研究啊!
现在他的机器人可以展开双臂靠惯性原地旋转,但人家缺的是时间和资金,但有钱的优必选不知道要花多少年月才能搞成这种水平。

出0入0汤圆

发表于 2020-4-15 11:13:58 | 显示全部楼层
clesun 发表于 2020-4-15 10:12
最终你会发现CAN比485好用

如果是主从结构的话485要比CAN好用的多,CAN的唯一优势就是多主结构应用

出0入0汤圆

发表于 2020-4-15 11:16:53 | 显示全部楼层
motor_control 发表于 2020-4-15 10:04
是的,问题主要是没有结构的配合,只能买X宝上的现成舵机自己改造了。

...

最好找那种全金属的,连外壳都是金属的,用过KST舵机,效果很好。

出0入79汤圆

 楼主| 发表于 2020-4-15 11:53:55 | 显示全部楼层
本帖最后由 motor_control 于 2020-4-15 12:01 编辑
jjj206 发表于 2020-4-15 11:16
最好找那种全金属的,连外壳都是金属的,用过KST舵机,效果很好。


全金属的确实很结实,但感觉重量很大,我看日本人做的机器人好像是塑料的。
KST的没用过,但根据我的了解,90%的舵机厂商都是做结构,控制板都是买的,什么KC9806之类的,我拆过好几个舵机了,都一样。
你说感觉很好用,可能是我们的用途不一样吧,模型舵机主要是小摆臂大扭矩,但机器人却是长摆臂,而且带个摆杆往上提时还算可以,但快速往下放时,就会一顿一顿的,没法用,这就是我为什么想自己DIY的原因之一。

模型舵机基本就是个简单的位置环控制,想通过慢慢移动位置来达到慢速的效果是不行的,空载还好,带载就不行,那种网上卖的什么大力舵机,动不动400公斤,听听就好了,很多人用它做机器人的控制,经常出现的问题就是不住的抖动。

现在无刷的全金属我就不想了,贵的不像话。以前模型都是科技爱好,大家自己动手动脑,要不了几个钱,现在搞得像奢侈品一样,玩家基本都没有什么可以自己动手的地方了。你看什么机甲大师、四轴飞行器什么的,基本就是纯玩,没有什么可以自己搞的余地,编什么程的那纯属扯蛋。我觉得这条路肯定是走不远的。

做机器人,很大程度上就是做舵机,这是很多做机器人的工程师说的。

出0入0汤圆

发表于 2020-4-15 13:11:47 | 显示全部楼层
本帖最后由 jjj206 于 2020-4-15 13:13 编辑
motor_control 发表于 2020-4-15 11:53
全金属的确实很结实,但感觉重量很大,我看日本人做的机器人好像是塑料的。
KST的没用过,但根据我的了解 ...


我用kst的就是做蜘蛛机器人用的,用国产的会抖,换成kst的就完全没那回事。另外你自己开发舵机,也是需要虚位小的机械结构调试,我是让你拆kst用

出0入79汤圆

 楼主| 发表于 2020-4-15 13:37:03 | 显示全部楼层
jjj206 发表于 2020-4-15 13:11
我用kst的就是做蜘蛛机器人用的,用国产的会抖,换成kst的就完全没那回事。另外你自己开发舵机,也是需要 ...

好的,但KST的也不便宜呀!

我只是顺便发表一下我对国产舵机的看法,真的怕了。谢谢兄弟建议哈!

出0入0汤圆

发表于 2020-4-15 14:02:02 | 显示全部楼层
motor_control 发表于 2020-4-15 13:37
好的,但KST的也不便宜呀!

我只是顺便发表一下我对国产舵机的看法,真的怕了。谢谢兄弟建议哈! ...

一个半个用来调程序也不贵,便宜的一百多,贵的才200左右。

出0入79汤圆

 楼主| 发表于 2020-4-15 14:44:26 | 显示全部楼层
jjj206 发表于 2020-4-15 14:02
一个半个用来调程序也不贵,便宜的一百多,贵的才200左右。

你说的是有刷全金属的吧?给个型号我看看。

出0入0汤圆

发表于 2020-4-15 15:48:10 | 显示全部楼层
opencan 没意义 臃肿  can只是物理层 协议层自定义就可以了 你说的ROBITIS 也是可以移植到can上的

出0入79汤圆

 楼主| 发表于 2020-4-15 16:13:50 | 显示全部楼层
凌海滨 发表于 2020-4-15 15:48
opencan 没意义 臃肿  can只是物理层 协议层自定义就可以了 你说的ROBITIS 也是可以移植到can上的 ...


我觉得也是。又不搞什么国际化兼容,不搞什么标准,够用就行。

出0入0汤圆

发表于 2020-4-15 16:25:44 | 显示全部楼层
一直都是自定义协议 精简

出0入0汤圆

发表于 2020-4-15 18:04:51 | 显示全部楼层
motor_control 发表于 2020-4-15 14:44
你说的是有刷全金属的吧?给个型号我看看。

我记得当时是用了空心杯的,但查了一下订购单是用了KST BLS825,这个是无刷的,价格当时是800一个,抱歉价格记错了,以为是200。

出0入79汤圆

 楼主| 发表于 2020-4-15 18:08:22 | 显示全部楼层
jjj206 发表于 2020-4-15 18:04
我记得当时是用了空心杯的,但查了一下订购单是用了KST BLS825,这个是无刷的,价格当时是800一个,抱歉 ...

没关系,我总觉得坛友们做事就是负责。

无刷的真的太贵,据说结构成本都要接近200多,但电路板我想应该是不贵的,目前能用的就只能是有刷舵机改造,淘宝很多。

出0入0汤圆

发表于 2020-4-15 19:12:30 | 显示全部楼层
motor_control 发表于 2020-4-15 18:08
没关系,我总觉得坛友们做事就是负责。

无刷的真的太贵,据说结构成本都要接近200多,但电路板我想应该 ...

可以先找个便宜的调试的,某宝上看到有拆机的机器人用的总线舵机卖,铜齿轮的,价格超级便宜,才9.5元,囊中羞涩的话可以试一下拿来拆零件调试。

出0入79汤圆

 楼主| 发表于 2020-4-15 19:39:51 | 显示全部楼层
jjj206 发表于 2020-4-15 19:12
可以先找个便宜的调试的,某宝上看到有拆机的机器人用的总线舵机卖,铜齿轮的,价格超级便宜,才9.5元, ...

为了研究,付出代价是值得的。
只是觉得国内的舵机质量对不起它的价格。

出0入0汤圆

发表于 2020-4-15 19:52:17 | 显示全部楼层
motor_control 发表于 2020-4-15 19:39
为了研究,付出代价是值得的。
只是觉得国内的舵机质量对不起它的价格。 ...

部分原因是一味追求低成本的结果。。。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-25 13:03

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

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