关于DRV8711驱动步进电机(两相四线),电机发生失步或者过冲后是否会影响电机下一步动作?
你好!目前我在做控制步进电机的驱动,动作为往复运动,属于轻载的机构,设置行程如果超过机械结构后,就会一直处于工作在失步或者不稳定状态,但是如果行程范围有足够空间,电机运行比较稳定,无失步过冲等现象。
从我的加减速曲线来说,当设置超过行程,第一下撞到因为减速未到稳定停止的频率,使得过冲失步等现象应属正常,可是一旦撞上接下来好几次的动作都不正常,好像电机的力矩响应变慢了一样。故请问下这是否有可能是芯片的响应问题,或者是我参数设置不好造成,从手册上未发现关于电机响应的参数?
步进电机有最高启动频率,在行进中堵转后是不能自己再恢复的,也就是不管什么载荷下,你要是强制其堵住或失步以后,它就没有办法在继续运转了,直到有一个较低的输入频率将它从新低速同步上,再加速到工作转速。
所以,设计上一定不能让电机的负载触及物理极限位置,那样就和开环工作的步进电机“失联”了,即使没有停死,所有的步子计数也不对了。
一般只有在不得以的回原点动作中才让步进电机触及机械原点(也不推荐,最好有软件,硬件两级行程控制,物理极限只是为了安全和机架本身的要求)。
非常感谢你的回复与指点!那目前发生的现象正如你所说,如果碰撞或者强行发生堵转与失步而停止后,等待足够的时间,再次从启动频率开始加速,能正常吗?如果能的话,大概这个恢复时间是多少,目前能做的等待时间大概在15ms到20ms。
第二点是你说到可以采用新低速(低于我正常启动频率),恢复正常;比如我的启动频率设置为4K(8细分),为了保证碰撞后正常起来,故在加速曲线前段加几个从1k到2k的跳跃点,来同步可以吗?考虑到运行时间受限,不降低启动频率,只是前级加几个低频的跳跃点,这样有用吗?
这个不行的,之所以要做加减速,要做低速启动,都是为了迎合电机的机械特性,配合转动惯量。至于电路指令的频率其实是没有实际意义的,比如高速运行中突然插入一个低频率输入,只会造成电机无法响应,打乱本来的节拍,轻则抖动,重者停转。
在步进电机驱动的全计数周期内(需要保持位置的连续性),都应该彻底避免失步现象,就是一定要加加速。
一般电机的机械特性是不一样的,能够适应的加减范围也不一样,通常至少是需要几十到几百毫秒。一切以不失步且有一定带载也不失步的余量为准
可能我的表述有问题,并不是在高速运转中插入低速频率输入,而是将启动频率再次降低,但是为了减少时间浪费,前级这几个速度跳跃比较大,比如说本来4k启动,现在我改为2k,但是跳跃可能以500Hz的间隔。目前是出现这样一个现象,先加速再对等减速,如果行程设置过大,在减速还没减到稳定停止的频率时候就已经碰撞造成失步,过冲等现象,机构强停了之后(停止时间大概15ms左右),会影响下一次的动作(目前动作是周期性往复动作)。有时候下一次或者下几次都一直不能正常动作,出现持续失步。当加速度设置小点会好些,只要无外力阻电机运动,还是能稳定运行,感觉好像电机或者8711芯片,一旦出现失步,性能会下降。对于此我该怎么处理:1是选择更小加速度的曲线(速度被迫降低,产品规格有点不达标了)?2芯片上某个参数可以调节改善?