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.

DRV8889-Q1: ENABLE proper time for the driver

Part Number: DRV8889-Q1

Tool/software:

Hello, I'm running a step motor by manufacturing a PCB using DRV889 products.
But I'm worried because of the frequent degeneration phenomenon.
I describe it as the time required to drive the motor by not giving a signal to the STEP pin but only giving a current by sending it to ENABLE before driving the motor.
I give this time to 30ms short and I'm running the motor by activating the step pin. Repeat the normal rotation > stop > reverse rotation > reverse rotation for a short time.
Does it help to drive the motor if you don't activate the STEP pin and only activate the ENABLE pin for a short time? If so, is there an appropriate time??
Most of the values are being used as default values with SPI, and only current is limited SW.

  • Hello Jongyeon,

    Thank you for posting in this forum.

    Does it help to drive the motor if you don't activate the STEP pin and only activate the ENABLE pin for a short time? If so, is there an appropriate time??

    The DRVOFF pin (1 = H-bridges disable, 0 = H-bridges enable) only disables the output H-bridges when disabled. The internal logic of the DRV8889-Q1 will continue to work even though the H-bridges are disabled and the motor will not be running. The DIS_OUT bit in the CTRL2 register also has the same function.

    This pin can be activated and deactivated with no issues. However this would not be the preferred method to run and stop the stepper motor for two reasons. 1) When H-bridges are disabled the stepper motor can lose position due to system inertia or gravity and 2) the controlling MCU cannot keep track of the number of steps moved for position control. Thanks.

    Regards, Murugavel 

  • Hello, first of all, thank you for your response.
    I do basic setup with SPI first and wake up IC with nSleep pins before activating DRVOFF pins and STEP pins.
    Then, turn on the DRVOFF pin (H bridge ON) and turn on the DIR and STEP after 30 ms.
    Rather than turning on the H bridge and turning on the STEP pin immediately to operate the motor
    I thought it would be a little more stable to operate the motor by turning on the H bridge and giving a little time to turn on the STEP pin.

    My motor operation process is to turn on the H bridge and wait for 30ms, turn on the DIR and STEP to rotate the motor, turn off the DRVOFF and the STEP pin, turn on the DRVOFF again, set the DIR in the opposite direction after 30ms, turn on the STEP pin, and repeat this action a few times to save the position (step number). However, if you give 30ms to longer time, I felt that what I could call motor shock or vibration when I stopped after normal rotation and reverse rotation? I felt it getting bigger and weaker when I gave shorter time than 30ms.
    What is your opinion? Just turn on DRVOFF and DIR STEP PIN at the same time
    Do you think it's the right way to use it and it'll show better motion if it's right to do it right away > stop > reverse rotation ??
    Or do I have to keep the H-bridge until I enter SLEEP mode because the conditions are satisfied? If so, do I not keep using the current even when the motor is not rotating? Apologies if the question was complicated and difficult.

    The reason I came to this idea was that I used software for EVM products provided by TI company, not PCBs manufactured at first.
    When I pressed the DRIVER OUTPUT button, I thought that the motor does not rotate, but as the current goes up, it supplies power to the magnet in the motor so that the rotor is not in the middle of the magnet, but in the right place. Until I pressed the START STEP button. I thought the DRIVER OUTPUT button was the function to turn on the DRVOFF, or H bridge, of the IC. Is that right?

  • Hello Jongyeon,

    Thank you for further details. I understand what you were trying to do and the reason for it.

    I do basic setup with SPI first and wake up IC with nSleep pins before activating DRVOFF pins and STEP pins.
    Then, turn on the DRVOFF pin (H bridge ON) and turn on the DIR and STEP after 30 ms.
    Rather than turning on the H bridge and turning on the STEP pin immediately to operate the motor
    I thought it would be a little more stable to operate the motor by turning on the H bridge and giving a little time to turn on the STEP pin.

    This is totally fine. A lot of mechanical stability related settling comes from the mechanical inertia of a system. So if this works for your system behavior this is good practice. When the device wakes up and enabled for the first time before issuing step pulses the indexer will start at home position of 45° electrical angle with both coils A and B at 71 % of the target current. See below table from the datasheet. Depending on the last position of the stepper motor rotor the motor may move a little to align the poles for this excitation. This is normal behavior of a stepper motor.

    My motor operation process is to turn on the H bridge and wait for 30ms, turn on the DIR and STEP to rotate the motor, turn off the DRVOFF and the STEP pin, turn on the DRVOFF again, set the DIR in the opposite direction after 30ms, turn on the STEP pin, and repeat this action a few times to save the position (step number). However, if you give 30ms to longer time, I felt that what I could call motor shock or vibration when I stopped after normal rotation and reverse rotation? I felt it getting bigger and weaker when I gave shorter time than 30ms.
    What is your opinion? Just turn on DRVOFF and DIR STEP PIN at the same time
    Do you think it's the right way to use it and it'll show better motion if it's right to do it right away > stop > reverse rotation ??
    Or do I have to keep the H-bridge until I enter SLEEP mode because the conditions are satisfied? If so, do I not keep using the current even when the motor is not rotating?

    When you're stopping the motor from running by stopping the step pulses use the following sequence. First stop issuing the STEP pulses. The indexer will stop and the coils will have current defined by the indexer position. Note, it may not be the home position. At this point the H-bridge would be still active and the stepper motor will have some hold torque. This will dampen vibrations. After 30 ms (or whatever delay works best for your system) the H-bridge can be disabled to avoid motor heating. 

    For changing direction you can follow similar sequence. Stop step pulses -> wait for 30 ms (don't need to disable H-bridge if you are changing the direction and running immediately) -> change direction (because index position will not change without step pulses the motor will not have any unwanted movement) -> issue step pulses to start the motor in the new direction or disable H-bridge if motor does not need to run at this point. 

    If you enter sleep mode after disabling the H-bridge the indexer will always reset to home position and start in home position when you awake the device. If you do not enter sleep mode after disabling the H-bridge the indexer will remain in the last stopped position. The benefit of this would be the stepper motor will not have a rotor re-alignment when H-bridge is enabled again. 

    Until I pressed the START STEP button. I thought the DRIVER OUTPUT button was the function to turn on the DRVOFF, or H bridge, of the IC. Is that right?

    Yes this is correct. Thank you.

    Regards, Murugavel