接着(十二)里面讲的两个问题点:
1:运动中电机停车,线圈里还存在电流,这些电流会驱使电机继续转动;
2:电机内部,包括减速机等等的机械部分,以及与电机连接的外部机械,都是机械品,不可避免会有磨损等现象,出现间隙;
(十二)里面说精细化控制,今天想起来,在具体一些,免得后面我忘记了。
比方说,电机正常的启动加速阶段,正常控制是1ms一次,1ms调整一次。最后的减速,乃至刹车阶段,都是1ms一次,这个时候如果没到位置就停下来了,或者卡顿严重,说明减速阶段和刹车阶段,制动力道太猛了,可以调整制动力道进行调整。
这样做有一点不好,就是适应性可能会差一些,可能这个惯性的运行起来还行,惯性大一些或者小一些,效果都会变差。
所以,我选择的做法是制动力道还是那个力道,缩短制动的时间,比方说原先是1ms调整一次,就是说制动力道施加一次1ms,后面9ms施加最小可以正常运行的占空比;更改为现在制动施加500us,后面500us+9ms施加最小可以正常运行的占空比。这样的方式,理论山只要编码器精度足够,那么就能够适应任何惯性的运动。
其实这边,还是可以做一个动态的学习过程。最后的刹车阶段和减速阶段,无论采取怎样的制动,最终后果就三个,a:没有到位置就停了;b:刚好到位置停止;c:冲过头;这三种状态还是可以监测出来的,可以微调施加制动的时间,来动态微调。
最后再说一点,作为一个ending。作为这种硬件开发,控制的方式有很多,就说这个电机驱动开发,最终的加速,匀速,减速,方案也有很多,其实就看最终的效果哪种最好。就开发情况看下来,其实简单的PWM控制,可以满足我的一个实际控制扇门的需求,从前期我的开发过程,以及友商的开发来看,确实是如此。现在回想起来,前期开发,确实有一个阶段扇门运行效果挺好的。后期开发想在实际应用中引入一些高阶算法,增加一些趣味性以及烧脑性,好的效果确实没有前期的简单做法好调。
但是只要定下心来,仔细思考调整,好的效果还是会出来的。毕竟是个算法,别然后回头人家问起来,就回答一个PWM调整,好歹上个算法溜溜,哈哈哈。