本帖最后由 coleyao 于 2015-10-24 09:57 编辑
步进电机加减速效果较好的应该是S型加减速曲线加减速了,不过对于如何实现S型加减速曲线,各人有各人的方法,就我知道的,就有控制加速度曲线为梯形(三角形)、正弦波和PID调速这几种,不过这几种方式各自有什么优缺点一般就不清楚了,为此我专门改进了一个生成步进电机加减速曲线数据的小工具,可以图形方式显示各种步进电机控制方式的优劣,可用于简单的对步进电机加减速算法评估:
一)显示加速到的最大速度和加速过程中的最大加速度,因此可比较各种方式加速到同样的速度哪种方式需要的最大加速度较小,运行较平稳;
二)可将各种加速方式分段,以节约单片机资源或者降低加速所需的最大加速度;
三)工具软件中插播了一个小广告,是我家人的淘宝小店,在意的请勿下载!
另外,该工具软件的部分源码请参考另一个帖子!
http://www.amobbs.com/thread-5492742-1-1.html
pid是一种反馈控制方式,通常它根据反馈的误差与误差的积分和微分进行线性组合作为输出,对输出进行调节。而步进电机在运行过程中,忽略每一步的延时影响的话,当前位置都是实时可知的(因为走步脉冲都是自己发的,走了几步当然自己能知道),因此误差及其积分和微分都可以实时计算,套用pid公式进行反馈控制,就可以让升速曲线和常见的pid控制曲线一致,当然振荡的曲线肯定不能用,参数合适的话,曲线是接近S型的,并且它的适应范围广,在很大的速度范围都适用,另外它不用每一个脉冲实时计算而只需要几毫秒计算(准实时)一次就可以达到不错的效果!
总阶段数是什么意思 为什么我默认参数生成的是874个数据
只是参数过程还是不怎么熟悉,您能解释我上一楼提出的问题吗
半周期是速度上升过程,下降过程是另一个半周期,总阶段数是不想有874个数据那么多,比如压缩成87个数据,但每个数据期间速度相当于10个原来数据期间上升的幅度,这样可以略简化一下程序,当然效果也要差一些!
实时计算很费资源,不过pid方式是个不错的办法,可以准实时,对资源需求少,而且最大速度和最小速度可以调整!
一周热门 更多>