关于步进电机控制的问题

2019-07-15 16:30发布

正在做一个单摆的实验,在控制步进电机的方面出了点问题:我通过一个重力传感器测量单摆的角度值,然后将角度传给步进电机,让它转动。问题在于,每10ms 传回来一个角度值,步进电机反应跟不上角度传来的速度。如果提高脉冲频率,控制脉冲个数:#define FOSC    18432000L
#define f      (FOSC / 4 / 5000)          //此处f为装入pca计数器的数值

像上面那样,使步进电机可以在10ms 内完成转动,会发生剧烈抖动,无法完成任务。

如果使用可变脉冲频率:

f=FOSC/(angle*23*100*4);
则会出现步进电机反应过慢,转动有明显延迟现象,可能是电机转动速度过慢,未能快速完成任务,也有可能是重力传感器在测量时就有延迟(重力传感器测量的角度曲线经过滤波,如果不滤波,角度值干扰过大)。

我想问一下·谁知道该怎么·改进·才能·让步进电机既可以高速转动又可以不抖动(这里主要的·抖动应该是·由于点击反复启停造成的)。


还有一个问题是我的步进电机是带减速器的,5.18:1,我想知道这个值是怎么产生的,这种比例无法算出准确的步距角啊。还有有时候根据给定值算出的步距角与实际转动步距角有较大误差,是因为频率过高,造成的失步现象严重造成的吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。