Skip to main content
Submitted by JohnDobbins on Thu, 01/25/2018 - 13:24

I have an application in which I move two stepper motors by identical amounts. Each motor has an encoder and I want to be sure that both motors are moving and that thee difference in their reported encoder positions throughout the move is less than a chosen maximum.

My understanding: The OE command would do this, except is doesn't work for stepper motors unless one is using Stepper Position Maintenance Mode, YS =1. However in SPM, the error which triggers OE is a preset limit of three full motor steps. This seems to be too restrictive,, i.e. I always trigger OE when commanding a move. If OE is not enabled the moves complete with little error.

I am wondering what the best way of monitoring the difference between the two encoder might be? Should I create a second task to do this? Or is sufficient to create a loop which executes after begin motion, checking encoder difference and whether motion is complete.

Ideas, advice appreciated. I am relatively new to programming Galil motion controllers.

Thanks

Comments 1

andriys on 01/26/2018 - 08:44

Hello JohnDobbins,
In order to assist you better, we would need to know more information about your application and the hardware you are using.
Please contact Galil by calling or emailing support at galil.com
Thank you,
Andriy Stasyuk
Applications Engineer
Galil Motion Control