OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12682|回复: 4

机器人总线舵机=简单的舵机+串口通信?非也?

[复制链接]

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1102
金钱
1102
注册时间
2016-4-3
在线时间
148 小时
发表于 2017-1-9 18:38:54 | 显示全部楼层 |阅读模式
本帖最后由 dasuantou 于 2017-1-9 20:59 编辑

继开源航模四轴飞行器带来的“无人机”热开始慢慢降温之后,又开始了所谓智能机器人的炒作热潮,书城的点读机加上几个舵机之后就叫做智能学习保姆机器人,实在是令人叹为观止,以为是二十年目睹之怪现状。
于是乎作为机器人驱动的关键部件之一的舵机也开始有很多人关注了。总的来说,感觉市面上的所谓机器人舵机无非就是把原来普通的舵机加了个串口通信而已,无非就是按着韩国DYNAMIXEL舵机的协议和改改开源的OPENSERVO而已。

在我看来,如果不用磁编码器想做好的机器人舵机简直就是扯蛋的事情。


这不,最近就有朋友想找我做个机器人总线舵机的DEMO玩玩,幸好去年花了2个多月的时间研究了一下简单的直流有刷伺服,于是怀着试试看的心理,也试试机器人舵机的水深。

当然了,既然是DEMO就不要指望做的很精细了,有效果就行,但试了一下实际效果,不会比原装的差很远。

这个舵机DEMO使用的STM32F031G6U6 QFN28的单片机,STSPIN230作为驱动器,加了个简单的3态总线缓冲器,所有连线使用杜邦线,哈哈。
还有所使用的舵机是深圳一家公司的产品,据说是结构改良版,不过就我的实际使用觉得,还是一如既往的渣!那个齿轮噪音简直就像在用这种方式表达着它的痛苦。
下面是拆下来的电路板,居然用的是C8051F850,超便宜的单片机,记得以前应该用的应该是STM32F031的片子,芯片被打磨了,但根据我对STM32单片机封装的了解和引脚特征,基本可以
肯定是STM32F031G6U6.

IMG_0595.jpg

IMG_0596.jpg

虽然我不是专业的PCB LAYOUT工程师,画的板也很渣,但我觉得这个板子做的还是不太美观,难道是想把PCB也做成机器人的圆圆的脑袋?以凸显是机器人专业控制板?
不得而知,不得而知。。。但可以看出这个画板子的工程师很有人文情怀。

IMG_0602.jpg
IMG_0603.jpg

IMG_0597.jpg

IMG_0604.jpg

下面是我画的渣渣板,好好的一个电机控制软件工程师活生生被逼成了一个PCB画板工程师,你说这不是逼良为娼么?

这个是模拟的主控板:
IMG_0599.jpg

焊好后的渣样:
IMG_0598.jpg

这个是所谓的舵机板:
IMG_0600.jpg

同样是焊好后的样子:
IMG_0601.jpg

单个接线的样子:
IMG_0605.jpg

真正装逼的总线舵机:
IMG_0607.jpg
差点忘记告诉一些细节了:
PWM频率为20KHZ,非常的安静,完全没有原装舵机那种高频的滋滋声和抖动,效果还是不错的!
串口通信速度为115200,10ms周期发送一次数据,考虑到数据回传没有界面,就免掉了,这个下次搞基于磁编的舵机时再搞,当然那个时候要搞上位机了。
数据包就简单的模拟一下dynamixel就行,搞了个简化版,当然,数据校验是一定要有的,没有的话就好像穿裤子不系皮带一样,严肃的说很不好。不用什么CRC了,就简单的校验和就行。
拜深圳制造的发达所赐,在华强PCB打个板实在是太方便了,画板子焊板子写软件,一气呵成,断断续续花了20几天的样子,提刀而立,为之四顾,为之踌躇满志,善刀而藏之。

使用简单的PID位置环,控制周期为1ms,效果已经差不多了。
舵机的电源电压用的是5V,根据实际使用效果,电压加的太高,会导致电机转速太快,会让单片机的换向中断太过频繁,被操的太累有点于心不忍哈。
对了,还有个问题可能会有兄弟会问:你是怎么确定马达霍尔相序的?
其实很简单,先通过板子上的霍尔插座判断出电机上电源引线后加个3.3V的电压,然后用自己的旺财板烧个无感方波的程序(要注意进角要设定为0进角,让波形对称,方便判断霍尔切换点),将马达以无感方式驱动后用示波器观察3个霍尔信号,然后记下马达相和霍尔信号的对应关系做个表格就行了。

下面是视频:
可以看出,按下控制板上的按钮后,对应舵机板上的LED灯会同时点亮。
用手旋转电位器时,对应的舵机摇臂会同时转动。
当然了,既然是总线舵机,那么同时旋转多个电位器时,对应的多个舵机也肯定是同步转动了。这个很简单,就是时分多址的搞法。
如果大家有兴趣,以后会做“真正的”3环控制,使用基于磁编的FOC伺服控制,基本的设计指标应该是非常的硬梆梆,用手扳动时都可以将误差控制在0.1度之内,快速无超调,稳定无抖动,带有双向控制的上位机,这应该算作是一个小目标吧!当然,也是DEMO,不是专业伺服哈!原理演示而已,好玩就行,专业伺服兄弟请原谅我的浅薄无知,我真的只是玩玩,不当正事的,所以请给我鼓励的眼神,谢谢!







正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2018-2-20
在线时间
5 小时
发表于 2017-1-16 09:11:38 | 显示全部楼层
非常支持楼主,换个地方继续看楼主的帖子,等了一年了,终于看到伺服的后续工作了,哈哈

写上位机需要帮忙的话可以继续找我啊
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2017-1-16
在线时间
24 小时
发表于 2017-3-9 03:20:20 来自手机 | 显示全部楼层
谢谢大神的分享!
回复 支持 反对

使用道具 举报

Konel 该用户已被删除
发表于 2017-3-19 14:25:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2019-5-22
在线时间
0 小时
发表于 2019-5-22 22:10:51 | 显示全部楼层
nice,陈述思路清晰
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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