jaky80000 发表于 2009-9-10 11:05:59

有没有人做过步进电机这样控制的,总感觉这样会有很多不合理的地方,请进。。

控制要求:电机加了外部细分器,且细分器的细分是固定的(这些没有问题)
1、要求电机运转时间可调----Ttotal
2、要求控制整个过程的圈数是固定的 -----X。
3、步进电机的每一圈转的步数是固定的 -----N。
从以上的三个要求就能确定的数据有
电机每走一步电机所要用的时间:Tper = (Ttotal / X) / N;所以这样的话,就有可能造成电机是一顿一顿的运转,这样就造成了电机的不连续,不平滑了对吧。而且因为是以电机跑的圈数决定整个控制过程的,所以在运行过程中就必须计算电机跑了多少步了,也就是说必须计算送了多少个脉冲了,这样就不能用MCU的PWM脚来做了,只能用IO口模拟PWM了(虽然可以用PWM,通过计算PWM的时间以及定时来计算电机走的步数,但是我感觉误差会比较大的,所以用模拟的话就能精确的知道电机走了多少步了)。用IO模拟的话,也是只能用定时器控制每个脉冲的时间,但是因为总的时间是由人为的输入的,所以定基准时间不好定(比如定1ms为一个基准时间),如果时间短了,当由于总运行时间很长,那么电机每走一步的时间就会比较长,那样的话就有可能造成程序中变量的溢出,如果总运行时间小了,也许1ms就太长了。(以上的电机速度是在不失步的情况的)
请教大家,如果碰到这样的控制方式,有什么更好的方法?

jaky80000 发表于 2009-9-10 12:18:42

找了许多帖子都没有看到象我这种情况的

armok 发表于 2009-9-10 12:21:01

TRINAMIC 发表于 2009-9-14 17:15:13

由于步进电机是一种阶跃式的相应过程,所以如果输入电机线圈的频率太低电机难免会一顿一顿的,普通的输入到电机线圈的波形是梯形波这一点也导致了低频共振现象,解决的办法是增加斩波细分功能,
目前国内最大的细分数在256,推荐下面的产品该驱动器控制运行比较平滑的驱动器的细分都达到1024,
基于正弦波的波形控制,另外内部具有专利技术混合衰减功能可以保证即使在低速时电机也不会震动.
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_480901.gif
(原文件名:2.gif)

http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_480902.gif
(原文件名:1.gif)

对于楼主提出控制方式,您感觉到使用PWM或IO无法作到定量控制,
而上面推荐的是集成了控制+驱动功能,比如您让电机运行到什么位置直接输入数值就可以了,在运行过程中可以即时更改任何参数,甚至是目标位置

NJ8888 发表于 2009-9-14 18:42:47

楼主理解有错,PWM控制电流来细分,64次细分意味64个PWM变化走一整步,你只要控制PWM更新频率就控制了转速,PWM变化总次数就是对应转动角度

ada1983 发表于 2009-9-15 09:22:43

若电机转动速度低于电机正常启动速度,那么没有问题,电机按照设定的CP频率走就可以了。

如果速度较高,电机必须是有一个加速过程的,那么最终转过这个固定圈数的时间就不太好控制,可能有一个较小的误差。如果只是跑一个速度可以微调加速最后一步的速度来使得时间平衡,如果速度经常变,可能时间就不太好控制(或者花较大的计算量算出来)。

做过电机300转/分左右速度的定时控制,没去管那个误差,圈数越大,误差越小,最大的误差大概0.2%。

shinehjx 发表于 2009-9-15 10:05:34

细分不高可以用PWM(PFM)+中断方式发脉
页: [1]
查看完整版本: 有没有人做过步进电机这样控制的,总感觉这样会有很多不合理的地方,请进。。