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.

DRV8452: Regarding setting for ATQ

Part Number: DRV8452
Other Parts Discussed in Thread: DRV8462

Tool/software:

Hi support team all.

Can you help me set the auto torque for DRV8462?

My customer is testing the auto torque function of DRV8452DDW and is having trouble.

When the auto torque is activated under the following operating conditions, the motor steps out at start-up.

Looking at the current waveform, the current decreases as the motor accelerates, and at about 3A, the motor steps out, probably due to insufficient torque.

I would appreciate some advice on adjusting the auto torque.

<Operating conditions>

Motor voltage: 42V

IFS: 4.2A

STEP frequency: 160000pps

Microstep: 1/32

Other settings: Please refer to the attached csv file.

Please let me know if there is any information missing.

Best regards,

 regigter settings.xlsxHiga

  • Hi Daisuke-San,

    Thank you for posting question in this forum. 

    ATQ learning process should be done carefully to be functional. The application note, accessible here shows the correct sequence of commands should be applied to enable automatic learning. 

    As a quick summary, following sequence should be done!

    1. Write 1b to ATQ_EN.

    2. Run the motor with no load.

    3. Program ATQ_LRN_MIN_CURRENT.

    4. Program ATQ_LRN_STEP.

    5. Program ATQ_LRN_CYCLE_SELECT.

    6. Write 1b to ATQ_LRN_START.

    7. The algorithm runs the motor with initial current level for ATQ_LRN_CYCLE_SELECT number of electrical half cycles.

    8. Next, the algorithm runs the motor with final current level for ATQ_LRN_CYCLE_SELECT number of electrical half cycles.

    • After learning is complete: – ATQ_LRN_START bit is auto cleared to 0b – ATQ_LRN_DONE bit becomes 1b • ATQ_LRN_CONST1 and ATQ_LRN_CONST2 are populated in their respective registers • Motor current goes to ATQ_TRQ_MAX Once the ATQ_LRN_CONST1 and ATQ_LRN_CONST2 are known from the prototyping tests, they can be used for mass production without invoking the learning routine again. The following sequence of commands should be applied in mass production:

    Also, the flowchart below shows the steps:

    Please go through the flowchart and double check criteria mentioned in application note. 

    Please let us know in case you have any more questions. 

    Best regards

    Mojtaba.

  • Hi Mojtaba-san

    Thank you for your reply.

    However, I don't think there's a problem with auto-learning.
    The reason is that the settings are made in advance using the GUI.
    Are you saying there could be a problem with the GUI?

    When you switch the auto-torque function from ON to OFF, the current waveform at startup changes.
    Therefore, I think there is a problem with the auto-torque parameter settings.

    Best regards,

    Higa

  • Hi Daisuke-San,

    Thank you for your clarification. Does the auto leaning stage have the same speed as their operation. because re-learning should be done if the motor is changed, or the motor speed changes by ± 10%.

    Best regards, 

    Mojtaba.

  • Hi mojtaba-san

    you said :

    Does the auto leaning stage have the same speed as their operation.

    ->Yes.

    We are working very hard to find a solution.
    We don't think there is a problem with the auto-learning settings, so why do you think there is a problem with auto-learning?

    Regards,

    Higa

  • Hi Daisuke-San,

    Thank you for the update.

    Would you please check the followings:

    1- The ATQ_CTRL_6 (ATQ_UL) should be higher than ATQ_CTRL_7 (ATQ_LL). In your settings are 5 and 7, respectively.

    2- Would you please check the ATQ_CTRL_11 and 12 values. It shows that the minimum current is set at 223 and max is 255. Please check that it matches with your load pattern. 

    Please refer to 2.2.1 Setting Current Control Parameters of application note AutoTorque to set the correct values. 

    please check the above points and update me. 

    Best regards, 

    Mojtaba.

  • Hi Mojtaba-san

    Thank you for your advice.

    1- The ATQ_CTRL_6 (ATQ_UL) should be higher than ATQ_CTRL_7 (ATQ_LL). In your settings are 5 and 7, respectively.

    [ans]

    Changed to ATQ_CTRL6>ATQ_CTRL7.

    2- Would you please check the ATQ_CTRL_11 and 12 values. It shows that the minimum current is set at 223 and max is 255. Please check that it matches with your load pattern.

    [ans]

    When the motor is under load, it loses step-out during acceleration (0pps -> 160kpps in 80ms).
    I adjusted it according to the flow below, and got the following values.
    IFS=4.3A
    ATQ_CTRL_11=255 -> 4.3A
    ATQ_CTRL_12=223 -> 3.66A

    Setting ATQ_CTRL_12 to a value smaller than this will cause step-out.
    The current can probably be made smaller in the constant rotation and deceleration sections, but it cannot be made any smaller because there is insufficient torque at startup.

    With the current settings, the motor driver heats up and thermal shutdown is activated.

    The problem is when accelerating.
    My question is, how should flow ⑦ and ⑧ be set when accelerating?

     

    Best regards,

    Higa

  • Hi Daisuke-San,

    Thank you for your update. 

    When the motor is under load, it loses step-out during acceleration (0pps -> 160kpps in 80ms).
    I adjusted it according to the flow below, and got the following values.
    IFS=4.3A
    ATQ_CTRL_11=255 -> 4.3A
    ATQ_CTRL_12=223 -> 3.66A

    Setting ATQ_CTRL_12 to a value smaller than this will cause step-out.

    ATQ_CTRL11 is ATQ _TRQ_MIN. in your application is 255

    ATQ_CTRL12 is ATQ _TRQ_MAX. in your application is 223

     ATQ _TRQ_MIN should be lower than ATQ _TRQ_MAX. Please set it correctly. 

    The current can probably be made smaller in the constant rotation and deceleration sections, but it cannot be made any smaller because there is insufficient torque at startup

    Is the ATQ_EN = 1 during startup? if yes, can you please make it disabled during startup and enable it again at its steady state. Because any ± 10%. changes in motor speed will affect on the auto torque performance. 

    The problem is when accelerating.
    My question is, how should flow ⑦ and ⑧ be set when accelerating?

    This flow should be done at constant speed. 

    please check the above points and update me. 

    Best regards, 

    Mojtaba.

  • Hi Mojtaba-san

    Sorry, that was a typo.

    ATQ_CTRL_11=223 -> 3.66A
    ATQ_CTRL_12=255 -> 4.2A

    Can I set it at a constant speed so that it can be applied when accelerating as well?

    Regards,

    Higa

  • Hi Higa, 

    Yes, it should work under the accelerating as well. My concern is that the auto torque cannot increasing the current quickly enough to meet motor torque demand during acceleration.  Can you please:

    1- reduce the acceleration rate?

    2- try to disable auto torque during acceleration and enable it after acceleration.

    3 - increase the minimum current?

    Best regards, 

    Mojtaba

  • Hi Mojtaba-san

    Thank you for your adovice.

    1- reduce the acceleration rate?

    [ans]

    Lowering the acceleration is not acceptable.

    2- try to disable auto torque during acceleration and enable it after acceleration.

    [ans]

    We believe this method is realistic.
    However, the customer would like to know to what extent auto torque can update the torque curve during acceleration.

    3 - increase the minimum current?

    [ans]

    We believe that a large margin must be set for the minimum value due to variations in the torque generated by the motor and structural torque unevenness, and since we can no longer expect the loss reduction effect of auto torque, we are considering turning it off only during acceleration.

    [Additional question]

    What is the update period for the torque count value?

    Best regards,

    Higa

  • Hi Higa-san, 

    Thank you for your update. 

    However, the customer would like to know to what extent auto torque can update the torque curve during acceleration.

    The Auto torque algorithm uses a hysteresis control with the hysteresis band boundary equal to ATQ_UL- ATQ_LL. Under a fast load transient, higher value of ATQ_UL can stall the motor. Can you try a lower ATQ_UL and see how it behaves under accelerations?

    You can Also play with PD Control Loop. Would you please check different values for KP, KD, ATQ_AVG[2:0] and ATQ_FRZ[2:0] as explained in section 2.3 of auto torque application note https://www.ti.com/lit/an/slvaff1/slvaff1.pdf

    What is the update period for the torque count value?

    It is defined by design team. However, as it is read from ATQ_CTRL4, it should be updated every nCSC frequency.  

    please check the above points and update me. 

    Best regards, 

    Mojtaba.

  • Hi Mojtaba-san

    Thank you for your advise.

    I will try lowering the ATQ_UL value.

    You said : It is defined by design team. However, as it is read from ATQ_CTRL4, it should be updated every nCSC frequency.  

    [ans]

    I apologize my explanation was insufficient.
    What I want to know is the update cycle for the ATQ_CNT (ATQ_CTRL1) value.

    Best regards,

    Higa

  • Hi,

    Thank you for your questions. Our expert Mojtaba will feedback to you.

  • Hi Higa-san,

    Thank you for your update. 

    I will try lowering the ATQ_UL value.

    Sure! Please update me about the results. 

    What I want to know is the update cycle for the ATQ_CNT (ATQ_CTRL1) value.

    The ATQ_CNT is updated after each electrical half-cycle (180 degree electrical angle).

    Best regards, 

    Mojtaba

  • Hi Mojtaba-san

    Thank you for confirming.

    I will update you the result.

    Thanks.

    Regards,

    Higa