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.

DRV8461EVM: Need assistance configuring Silent Step Decay and Auto-torque mode

Part Number: DRV8461EVM

Tool/software:

Hi,

I have a few questions about Silent Step Decay mode and Auto-torque mode.

Silent Step Decay mode:

Im trying to figure out the correct parameters for this mode. I have a motor, that should run with speeds from 4 to 10240 steps per second (1/8 steps) in auto microstepping mode (1/256).

Until which speed should I use this mode?

With this formula: fSTEP = (SS_THR * 1000 * usm) / 256 fSTEP is 10240 at highest speed and usm is 256, so SS_THR should be 10Hz?

And with VM=24V, L=2.8mH, R=1.8Ohm and UGB = 200Hz

KP = 6 * π * UGB * LMOTOR / VM = 0.44

KI = KP * RMOTOR / (FPWM * LMOTOR) = 11.31

With these values, which values do I have to set for SS_KP and SS_KI?

Auto-torque mode:

I understood, that I should run the learning mode without load and that I have to run it again if the speed changes by +-10%. We have different fixed speeds, so I could run it for these speeds and change the configuration via SPI if another speed mode was selected to the corresponding measured values.

But to which values do I have to set ATQ_LRN_MIN_CURRENT and ATQ_LRN_STEP?

In the manual this is mentioned: It is recommended to select the initial current level between 30% to 50% of the maximum operating current.

But which current? The full scale current? In mA or A? And to which value do I have to set it, if the max. current is e.g. 1.7A?

Best regards

Thilo

  • Hi Thilo,

    Thank you for your post.

    I have a motor, that should run with speeds from 4 to 10240 steps per second (1/8 steps) in auto microstepping mode (1/256).

    If I understood correctly, the microstepping mode was set to 1/8, auto-microstepping was enabled and set at 1/256. The STEP frequency input and output step rate will continue to follow the 1/8 microstep speeds at 10240 steps/s. With a1/8 μSteps one electrical cycle (one full sine wave of the current) would have 8 x 4 = 32 steps. So, 10240 steps/s = 320 Hz. This would not change with the auto-microstepping mode enabled, because while interpolating to 256, i.e. x32 from 1/8 mode the step rate will be multiplied by the same amount x32 with coil current following 256 μSteps. 

    Until which speed should I use this mode?

    The SS_THR can be set up to 510 Hz electrical frequency of the coil current.

    With this formula: fSTEP = (SS_THR * 1000 * usm) / 256 fSTEP is 10240 at highest speed and usm is 256, so SS_THR should be 10Hz?

    Like mentioned about if auto-microstepping sets usm = 256 from 1/8 μSteps mode it would still remain at 1/8 μSteps step rate for calculations purpose, so 320 Hz. You can have SS_THR set to 510 Hz so at 320 Hz, SS will remain enabled. 

    And with VM=24V, L=2.8mH, R=1.8Ohm and UGB = 200Hz

    KP = 6 * π * UGB * LMOTOR / VM = 0.44

    KI = KP * RMOTOR / (FPWM * LMOTOR) = 11.31

    With these values, which values do I have to set for SS_KP and SS_KI?

    KI = 0.44 * 1.8 / (25000 * 2.8E-3) = 0.0113, assuming default fPWM = 25 kHz was set.

      

    Following the lead of the below example from the datasheet you can calculate SS_KP, SS_KP_DIV_SEL and SS_KI, SS_KI_DIV_SEL. (SS_KP/SS_KP_DIV_SEL) = 0.44 and (SS_KI/SS_KI_DIV_SEL) = 0.0113. Find the ratio that offers the result accuracy as close as possible to the desired fraction. These would be a good starting point. After setting these values you could fine tune SS_KP and SS_KI with small increments or decrements to render the output sine current with minimum distortion and proper IFS amplitude. Note, because SS mode operates with fixed PWM tON and tOFF the current regulation is based on the closed loop SS parameters. 

    SS_KP = 14, SS_KI_DIV_SEL = 32 would be 14/32 = 0.4375 (closest to 0.44)

    SS_KI = 3, SS_KI_DIV_SEL = 256 would be 3/256 = 0.0117 (closest to 0.0113)

    Auto-torque mode:

    I understood, that I should run the learning mode without load and that I have to run it again if the speed changes by +-10%. We have different fixed speeds, so I could run it for these speeds and change the configuration via SPI if another speed mode was selected to the corresponding measured values.

    But to which values do I have to set ATQ_LRN_MIN_CURRENT and ATQ_LRN_STEP?

    In the manual this is mentioned: It is recommended to select the initial current level between 30% to 50% of the maximum operating current.

    But which current? The full scale current? In mA or A? And to which value do I have to set it, if the max. current is e.g. 1.7A?

    If the IFS current setting is 1.7 A, then learn initial current would be between 0.3 x 1.7 = 0.51 A and 0.5 x 1.7 = 0.85 A. This video might be helpful to you, https://www.ti.com/video/6338844235112?keyMatch=TI%20precision%20labs%20stepper%20auto%20torque&tisearch=universal_search.  

    Regards, Murugavel 

      

  • Thank you.

    I have watched the video and followed the configuration steps, but the "Auto Torque Count" value never changes, it stays at 0.

    For the test without load I've set the minimum current limit to 50% (128) and initial learning current to 16.

  • Hi Thilo,

    What was the VREF setting? I assume you were using external VREF (default). VM voltage used. Could you please share the stepper motor datasheet? Also screen shots (each tab) of the GUI setting would be helpful to debug. Thanks. 

    Regards, Murugavel 

  • Hi,

    I have found out what the problem is. In contrast to the video, I first have to set the Auto Torque Count Upper Limit to a value greater than 0 so that the Auto Torque Count shows any value again. Then I can determine the correct parameters.

    But it looks like the load for our application does not fluctuate as much as expected. To ensure that the pump runs smoothly at all times, there is only a fluctuation of up to 40mA possible. We should then consider whether we should do without this feature in order to save the time required for configuration at all speed levels.

    But I have another issue with the silent step decay mode:
    On higher speeds (starting at around 3000 steps/s, ca. 100Hz) , as soon as I add load, the motor stalls. If I then increase the current, it works again but I need more current than without this mode and on the highest speed (10240 steps/s) I can't increase the current enough (tested until 3A).
    Is there anything I can do or do we have to live with the fact that more current is needed with this mode and we have to do without it at the highest speed?

    Best regards

    Thilo

  • Hi Thilo,

    Glad you located the issue.

    But it looks like the load for our application does not fluctuate as much as expected. To ensure that the pump runs smoothly at all times, there is only a fluctuation of up to 40mA possible. We should then consider whether we should do without this feature in order to save the time required for configuration at all speed levels.

    For such applications this feature would not make a difference, it will not make sense to do the tuning at various speeds like you mentioned.

    On higher speeds (starting at around 3000 steps/s, ca. 100Hz) , as soon as I add load, the motor stalls. If I then increase the current, it works again but I need more current than without this mode and on the highest speed (10240 steps/s) I can't increase the current enough (tested until 3A).
    Is there anything I can do or do we have to live with the fact that more current is needed with this mode and we have to do without it at the highest speed?

    While in SS mode current regulation is done by the SS loop control and not by VREF based ITRIP comparators, although VREF must be present. See below control block diagram. This may be the reason you had to set a higher current. Did you look at the actual current waveforms to see if there is reduced torque in SS mode compared to 256 microstep mode? Thank you.

    Regards, Murugavel 

  • Thank you. I will look further into how the SS decay mode works (are there any additional resources?) and check the current wave form.
    On further tests, it suddenly worked for the greatest speed with the maximum of 3A, but the average current is lower than in microstep mode (measured with a multimeter). So it is quieter and more efficient than the microstep mode, but I need to make sure that the 3A full scale current is really sufficient for the highest speed mode and understand why I need to set it that high.

  • Hi Thilo,

    Fine tuning the KI and/or KP values could increase the average current. But the trade off would be the quietness. This depends on the specifics of the stepper and its operating conditions. Thanks for the update.

    Regards, Murugavel