This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Losing pulses in a stepper motor angular positioning using the DRV8824

Other Parts Discussed in Thread: DRV8824
I have some problems to control a stepper motor connected as "bipolar serial" (4 wires, A-A', B-B') with a step angle of 1'8º/pulse.

To test the application, I have settled up a demo rig with a DRV8824 Evalution Module which is controlled throughout a Tegra processor.
In this application, we have to move the motor exactly  an angle 180º (half a revolution) at regular intervals, always in the same clockwise direction (CW).
Therefor, we generate a perfect PWM pulse beacon of 100 cycles that we send to the STEP signal of the DRV8824. Each cycle includes a 2 ms ON time square wave followed by a 2 ms OFF time. We also control the DIRECTION (DIR) signal to set the motor direction (CW by default, when drived to GND).
The issue arises depending on the direction we choose. If we toggle the direction with every beacon (one beacon CW, next ACW, next CW, next ACW, etc...) using the DIRECTION signal, we can do thousands of 180º cycles without losing the initial reference position.
However, if we send all beacons without changing the direction (all of them always CW or always ACW), we start to lose the original 0º or 180º positions in a few cycles, acting as if the motor receives more or less of the 100 rising edges sent within every beacon. We can check that each beacon exactly contains the required 100 pulses, neither 1 more or 1 less, watching the entire beacon in the oscilloscope.
Have you got any idea for the reason of this behaviour? Any suggestion to work it out?
Thank you in advance for your collaboration.

Best regards,

Iñaki
  • Iñaki,

    What's your setting of MODE0/1/2?

    If I understand correctly, 100 rising edges = 1 beacon = 180 degrees.  1 beacon followed by reversing DIR and sending a 2nd beacon gets you back to 0 degrees, but 2 beacons with the same DIR does not end up at 0 degrees.  Is that right?

    Is there a time delay between the 2 beacons, and is it the same in both cases?

    Best regards,
    RE

  • Iñaki,

    Ross is asking for your MODE settings to determine the level of micro-stepping you are using,  If you are having resonsance issues, you may be missing a step in which case micro-stepping would improve this.

    Since you mention 100 steps moves 180 degrees, I can infer your MODE settings and you are using full step.  I suggest moving to 1/2 step or 1/4 step.  In which case, you would double your step input to 200 steps (for 180 degrees) and 400 steps for 1/4 step 180 degrees.

     

  • Deadly right, Ross.

    What you mention is exactly what happens, even if we control the DRV8824 Evaluation Module from a PC with your configuration software for Windows, instead of using our own processor and program.

    MODES 0, 1 and 2 are set by us by default to 0V (full step), since we use a 4 wired bipolar stepper motor.

    If we change this set up to Half Step and multiply by 2 the number of pulses in every beacon, we get the same results, losing position if we keep always  the same direction.

    Between 2 beacons there is a fixed delay of 1 second. Does not affect to the positioning results if we increase it to 2 or 3 seconds.

    Best regards,

    Iñaki

  • Iñaki, thanks for the additional info.

    I am wondering if something in the physical motor between 180-360 degrees is to blame.  Does the position always get lost when the motor spins through this region?  Has the issue been observed on multiple motors?

    Best regards,
    RE

  • Thank you very much for your interest, Ross.

    Following your suggestions, we have focused our investigation in the mechanical environment and arrived at the conclusion that it is a MECHANICAL PROBLEM.

    Nothing to do with the control. This is good news for us.

    If we check everything with the stepper motor disconnected from the mechanical load (i.e., motor shaft in the air), the half revolution is always completed even if the direction signal remains fixed at clockwise for all the turns.

    We guess that there is some kind of blockage that causes loss of pulses due to incapabality of the motor to overcome that obstacle when it turns clockwise.

    Thank you again for your interest and collaboration.

    Best regards,

    Iñaki

  • Iñaki, you might be able to increase your motor's torque and ability to overcome the load by increasing its current.  Consider trying different VREF or RISENSE.

    Best regards,
    RE

  • Thank you, Ross.

    We increase the VREF adjustment getting more torque, enabling to overcome the obstacles.

    Best regards,

    Iñaki