So you can't exactly force it to start from a full-step position without first manually positioning it at a cog position when you start (i.e. do this programmatically)?* I was hoping that if you were stepping at half-steps and then tell the drive to go to full-steps, it would automatically align with a full-step cog position and then from there you can go back to half-steppinng from a known full-step position. But I can understand why that wouldn't be the case, plus you'd lose your positioning if that happened.mawyatt wrote:Cam,kaleun96 wrote:At risk of derailing this thread any further - how can you force a stepper into its cog position, or in the case of microstepping, force it to stop at a 1/4 step or 1/2 step position while running at 1/8, 1/16, etc microsteps?
The stepper "cog" position is the natural unpowered rotor position, this is where the permanent magnetic fields align, and the rotor has a "detent". So with a 200 step motor, there are 200 of the cog detent positions. You can feel these detent cog positions by rotating the rotor by hand. If you do this under power you can feel the detent being stronger due to the added electro-magnetic field induced by the motor current. Some motors have a stronger unpowered detent, the various motors I have vary about 3X in detent strength.
You can make a 1/2 step position by moving 1/2 step from a cog, 1/4 step move for 1/4 step position. If you are using 1/16 controller micro-steps this would take 8 micro-steps (8/16 = 1/2) and 4 micro-steps from a cog position for 1/4 step (4/16 = 1/4).
Hope this helps.
Best,
Though I guess steppers naturally start at a cog position when powered up, at which point you can then use that as the reference and change to half-stepping and know you're half-stepping from a cog position, or quarter-stepping etc.
*edit: just to clarify, I more mean that you can't force a stepper into a cog position mid-program (after you've lost the initial reference to the cog position due to microstepping).