本帖最后由 coleyao 于 2018-11-23 08:40 编辑
分享一个运动控制器的半成品的视频,做过步进电机PID控制和温度PID控制,本来以为做伺服电机随动的运动控制器是手到擒来,没想到还是费了很多周折(伺服电机驱动器MR-J2S-40A和电机是三菱的,运动控制器的单片机是stm32F103):
一、一开始,板子焊好,写好程序,排除掉编译错误后运行发现马达只能往一边运行,并且零位时有蠕动现象,这个找马达驱动器资料,上官网(这里编码器的差分驱动转单端驱动是个坑);
二、解决了马达只能单方向转动和零位蠕动之后发现,用EXcel数据表仿真好的PID参数实际运行时完全不对,具体表现是运行跟随模式时可以较好地跟随,但本应静止时高速抖动,并且一开机就会抖动,感觉像自激,但是和仿真结果不符,找不到原因(思路:读取一路编码器,计算其位置和速度,再读取另外一路编码器的位置和速度,让一路编码器的位置始终跟随另一路编码器的位置,误差越小越好,按理说只要做位置PID伺服就可以了,结果使用Excel表格数据仿真效果较理想如附图,但实际运行时马达运动时正常,本应静止的时候却总是剧烈抖动,仿真与实际运行完全不符,有谁知道原因的,麻烦告知一下,虽然我不一定听得懂);
三、最终只能改变PID调节策略,由单独的位移PID伺服改成位移PID伺服加上速度PID伺服双重PID伺服,改完后效果如附件内动画所示(驱动器上后2-3位数闪是因为马达自带的编码器线数很高,是131072脉冲每圈)。
以上作为一个阶段笔记,也是想感慨一下每一个小东西看起来简单,其实或多或少都有它的独特的难点需要花时间和精力去克服!
另外,附件中mp4文件没有转成gif文件是因为转换后文件太大,传不上来,最终只能压缩后传附件!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
手上的是编码器,马达跟着手上的编码器转动,两者转速相同,用于马达同步,这个机械结构应该也能实现,通过电路和程序实现,应该是灵活性更好吧!运动控制器是用来发脉冲控制伺服电机的,本来伺服电机应该是三种脉冲方式都可以的,因为我以前搞过步进电机,对步进电机控制方式比较熟悉,所以先搞兼容步进电机控制的这一种方式,另外还有正负脉冲和编码器脉冲方式后面看有没有必要用。
还有,以前没有用过伺服电机,所以不想花太多时间,我的想法是用伺服电机驱动器默认的参数,用运动控制器这边的PID参数,实现伺服马达平稳运行。看起来简单,实际跑起来问题还是蛮多的:位移精度能否达到(运动中的位置差)?跟随精度是否达到(运动中两者的时间差)?运行和静止时是否稳定(参数没调好时会有抖动,有的轻微抖动,有的抖动很大,甚至还有出现过马达驱动器报超速的)? 要想几个指标都很满意,难度还是蛮高的。理论上反馈越强,位移精度和跟随精度越高,但是我现在的负反馈系数只试到150左右,刚开始50000也是可以运行的,后来整理了一下代码,1000的负反馈系数都上不去了,这些有时间的话还要仔细推敲!
这个估计只有专业的伺服驱动人员知道了吧,滞后是必然的。。就看滞后几秒了。
可以做的很好的,就看伺服的性能和伺服的参数了
一周热门 更多>