5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 5478|回复: 22
打印 上一主题 下一主题

DIY五轴摇头机——紧凑型一体式闭环步进电机的制作

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-21 15:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 targus2009 于 2019-5-21 15:41 编辑

       这个一体式闭环步进最早是从国外一个叫Mechaduino的开源项目中看到的,正好它是开源的(开源网址:https://github.com/jcchurch13/Mechaduino-Firmware),于是就下载下来研究了一下发现程序很简单,于是决定自己也仿做一个。等到实际自己做好上机测试的时候才发现原版问题一大堆,于是自己重起炉灶,前前后后改了好几版终于差不多算完工了。
       首先讲一下二相步进电机闭环驱动和开环驱动的区别。假设现在上位机主机发DIR/STEP指令给步进驱动器的指令角度是90.5度。开环的驱动器收到指令后即根据细分电流表调整步进电机的两相电流,将电流矢量也指向90.5度,然后步进电机永磁转子就会在电磁力作用下运动到90.5度这个位置上了,这其中步进电机AB两相的驱动电流在设置好后就不变了,只要接下来没有新的角度指令那就一直保持原样不改变。闭环控制器则不然,当闭环控制器收到90.5度的指令角度时,首先利用角度传感器(编码器)测出步进电机现在的实际角度假设是90度,然后跟开环的驱动器一样根据细分电流表调整步进电机的两相电流,但是要将电流矢量指向91.8度(指令角度比实际角度大那就在实际角度上加1.8度,反之减1.8度),与开环控制器不同的是闭环的驱动电流大小不是恒定不变的,而是根据角度误差经过PID算法计算出来的,简单的讲就是指令角度和实际角度的误差大那驱动电流就大相反误差小驱动电流就小,误差为0那驱动电流就为0(这就是闭环步进低发热省电的原因)。闭环驱动和开环驱动的最大区别大体上就是这样,当然想要了解具体的细节的还得看源程序,这里限于篇幅就不再多说。
       接下来讲一下我自己做的这个闭环步进和原版的区别,先讲硬件上的。主控芯片用价格4.5块的STM32F030C8T6代替了价格25块钱的ATSAMD21G18A,省钱的同时性能有增无减。驱动芯片用两颗最大驱动电流为3.5A的A4950代替了原来的最大驱动电流为2A的单颗A4954芯片,原版的这颗A4954驱动芯片标的最大驱动电流可以达到2A,实际测试最大也就1.2A左右只能勉强用来驱动3D打印机用的42小步进。因为这颗芯片内部驱动MOS管内阻过大有0.8欧姆以上,导致发热非常严重,电流一大芯片温度就飙升,然后芯片就停机过热保护了,有一次上机测试过程中Z轴就因此停机导致直接撞坏了一把4mm的铣刀。编码器方面用英飞凌的TLE5012B代替了原版的AS5047D,原版的这款编码器芯片货源很不稳定经常会买不到,代替用的TLE5012B是15位更高一级精度的,而且是汽车工业标准的,可靠性和工作容许温度比消费级标准的来的更高。然后加入高速隔离光耦TLP2168,没光耦作隔离的话万一步进驱动器出问题连带烧了雕刻器的驱动板那就得不偿失了。还有一些稳压芯片也作了调整,基本上硬件方面的芯片算是全换了遍。
       软件方面也是完全重新编写,编程软件用官方专业软件KEIL-MDK替代了玩具级编译软件ARDUINO。程序里加入了开环模式,虽然闭环优点多多但开环也非一无所长,这样即使编码器坏了还可以切到开环模式继续使用。然后加入了拨码盘的细分选择项,可以利用拨码选择不同细分选向。不管是原版的还是我这修改版的驱动器在初次安装或者二次安装后都要就行编码器芯片的角度校正,因为这种磁编码器芯片都有近2度的非线性误差所以不能直接使用需要二次校正才行,校正的另外一个作用是让编码器的0度位置和步进电机的电位角0度位置对齐。校正的原理是让步进电机在开环的情况下以整步跑1到2圈,因为现在市面上的步进电机都能做到整步5%以下(0.09度)的精度,据此就可以校正编码器芯片。原版的校正过程非常麻烦,需要连着电脑通过串口发指令然后还要二次编程烧录程序等等,我这边程序优化直接拨码盘拨好位置后上电,其它工作全部由程序自动完成。为了加强产品的可靠性,程序中加入看门狗,工控产品没看门狗怎么能行呢。
       上叙的都是一些程序中的小升级部分,相应的增加了一部分功能和提高了使用便捷性。除此之外程序中最大的升级优化则在于精度、速度的提高和噪声、振动的减小。国外版的编码器校正程序有一个大的BUG,校正完后编码器的0度位置和步进电机的电位角0度之间有0.3度以上的误差。这个误差值对闭环步进的实际使用性能影响非常大,理论上越接近0度越好,误差值大了导致步进电机左转和右转性能不一,往往一边转动时很平顺但向另一边转动时振动就很大,两边转动时的最高转速和扭矩也不一样,极限情况下甚至会导致步进电机向一个方向乱转无法正常工作。我这边重新改写了编码器校正程序,新的校正程序可以将误差角度值降低到0.1度以下。顺便再说一下现在市面上现在的闭环步进用的是光电编码器(1000线为主),这一对齐编码器的0度位置和步进电机的电位角0度位置的活是在出厂前用专业设备(编码器相位检测器)配合专门的电机驱动来完成的,所以千万不要乱拆闭环步进的编码盘。程序中另外一个大的升级之处是采用了可变PID控制角代替了原版固定的1.8度PID控制角。固定的1.8度PID控制角会产生两个非常严重的问题,第一是步进电机低速运行时振动非常大甚至比开环驱动器驱动时振动更大,另外一个问题是高速时转速上不去,原版的程序驱动普通48mm长度的42步进电机实测最高转速400RPM都达不到,再高的话就会因为电机实际转速跟不上指令转速而导致失步。采用升级后的可变PID控制角算法则可以将转速提高到近800RPM而不失速,与此同时在低速时振动和噪声可以做得很小几乎可以跟伺服电机的振动和噪声程度相媲美。
       最后再总结一下闭环步进和开环步进的优缺点吧:闭环步进的优点是扭矩大、振动小、精度高不易失步缺点是可靠性稳定性低价格贵;开环步进的优点是可靠性稳定性高价格便宜。这里再着重讲一下转速这个问题,很多淘宝商家都宣称他们的闭环步进转速比一般开环步进高很多可以工作在1500RPM,其实两相闭环步进相较与开环步进在工作转速上基本是只低不高,现在市面上卖的加长两相57闭环步进最高工作转速也就600RPM左右,再高就会失步。想要更高工作转速的就必须花更多的钱买3相的闭环步进或者5相闭环步进。
       建了个QQ技术交流群,群号1001482975,欢迎各位技术大佬小白进群交流,开源的闭环步进软硬件资料群内分享。

欢迎继续阅读楼主其他信息

沙发
发表于 2019-5-21 16:31 | 只看该作者
         
3
发表于 2019-5-21 20:27 | 只看该作者
TLE5012B线性测试过吗,来个图看看
4
发表于 2019-5-21 23:06 | 只看该作者
牛  懂电子的我都佩服   
来自安卓客户端来自安卓客户端
5
发表于 2019-5-21 23:31 | 只看该作者
厉害,网上有这种闭环板子,价格差不多都是一百多两百多的价格,楼主这个准备卖吗,价格定了没有,还有这个驱动模块用tb67s109是不是可以强一点
6
发表于 2019-5-22 08:08 | 只看该作者
佩服楼主强大的理论知识和动手能力,你研究过日本东方的两相闭环步进吗?它的反馈器件有点类似小的步进电机,精度杠杠的,空载转速可以到3000左右。
7
 楼主| 发表于 2019-5-22 09:08 | 只看该作者
KServer 发表于 2019-5-21 23:31
厉害,网上有这种闭环板子,价格差不多都是一百多两百多的价格,楼主这个准备卖吗,价格定 ...

网上的现在都是山寨照抄国外那版的,我买过也测过效果很不理想,tb67s109可以做但效果很差,是我的淘汰方案
8
 楼主| 发表于 2019-5-22 09:11 | 只看该作者
西南小刘 发表于 2019-5-22 08:08
佩服楼主强大的理论知识和动手能力,你研究过日本东方的两相闭环步进吗?它的反馈器件有点类似小的步进电机 ...

东方能跑3000rpm的是5相步进来着,两相的也不是说一定跑不到那么高,但市面上的两相闭环步进最多也就只能跑600rpm
9
发表于 2019-5-22 10:37 | 只看该作者
楼主功力深厚啊
10
发表于 2019-5-22 20:27 | 只看该作者
技术贴,必须顶
11
发表于 2019-5-22 22:14 | 只看该作者
技术贴,厉害!
来自安卓客户端来自安卓客户端
12
发表于 2019-5-22 22:18 | 只看该作者
楼主很棒,给你点赞
13
发表于 2019-5-23 20:04 | 只看该作者
好久没象样的技术帖了  赞!
LZ大牛
14
发表于 2019-5-24 01:55 | 只看该作者
佩服向大佬学习了
15
发表于 2019-5-28 14:33 | 只看该作者
楼主厉害,我最近也开始学stm32感觉很痛苦,看到楼主又有点动力了
16
发表于 2019-5-28 19:16 | 只看该作者
码盘在什么位置安装呢   我不懂 看不到呢?
17
发表于 2019-6-18 17:47 | 只看该作者
非常佩服楼主的水平
18
发表于 2019-6-20 11:40 | 只看该作者
有技术就是好
19
发表于 2019-6-23 10:28 | 只看该作者
原理没搞懂,没有编码器?
20
 楼主| 发表于 2019-6-23 16:03 | 只看该作者
arp 发表于 2019-6-23 10:28
原理没搞懂,没有编码器?

当然有编码器 15位绝对值磁编码器
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

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