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.

DRV8711: Internal stall detection

Part Number: DRV8711

Hi Team, 

Good day! Please help our customer regarding the internal stall detection for the DRV8711 IC. We have NEMA23 motor, which runs at 60 rpm with a 5 A current. I have set Torque Register as 0X3FF and STALL Register as 0x7FF. When the motor starts it detects an unnecessary stall, Do you have any suggestion or solution for this?

Thank you in advance for the support.

Best regards,

Jonathan

  • Hi Jonathan,

    Can you please provide more information? What is the voltage at the BEMF and STALLn/ BEMFVn pins during the false STALL detection? 

    Regards,

    Pablo Armet

  • Hi Pablo,

    STALLn/ BEMFVn 19 is at 2.5V

    BEMF 20 is at 500mV to 1V.
     
    If you need any other details, please let me know. 
    Best regards,
    Jonathan
  • Hi Jonathan,

    Thank you for the details.

    I believe your SMPLTH is too low. The BEMF is sampled at the end of the SMPLTH. During initial motor startup, the BEMF slowly rises and a false stall can be detected is the SMPLTH is too low. Can you set SMPLTH to the max value and try if this solves the problem.

    Regards,

    Pablo Armet

  • Hi Pablo,

    Good day! Here is the response of our customer. 

    Torque Register as 0X7FF and STALL Register as 0x3FF.
    I have already set SMPLTH as the highest value.  
    Best regards,
    Jonathan
  • Hi Jonathan,

    Thanks for the comment. 

    Is there a possibility in the customer system to overload the motor during initial startup? 

    Regards,

    Pablo Armet

  • Hi Pablo,

    Asp er our customer, they have tested the motor without load and with load also, in both conditions, they see stall LED is always ON unless they clear the stall flag. 

    Best regards,

    Jonathan

  • Hi Jonathan,

    Here are a couple more things to try:

    1. Make sure that there is a 1nF low leakage capacitor on BEMF. The BEMF value after SMPLTH is stored in this capacitor so it is important that this capacitor is 1nF.
    2. Increase the SDTHR bits values to increase the stall detection point. Maybe this value is too low for this motor. This value has to be experimentally measured by forcing the motor to stall and slowly increasing it until it does not detect a stall. The SDTHR should be lower than the point at which stall is not detected but high enough to prevent any false stall detection. 
    3. Increase the value of SDCNT so that a stall is detected after more than one measurement. SDCNT determines after how many measurements the nSTALL will assert. If SDCNT=2'b11, the STALLn will assert after 8 successive steps. 
    4. Decrease the VDIV so that the BEMF value is not too small.

    What is the step rate and speed (rpm) of the stepper. Driving at low speeds, the accuracy of the stall detection decreases due to the lower BEMF. 

    I believe the problem here is the stall detection parameters (SDTHR, VDIV, SDCNT) not properly tuned for the motor. The customer needs to experiment with these parameters to properly configure the stall detection and eliminate the possibility of false detections.

    Regards,

    Pablo Armet

  • Hi Pablo,

    Thank you so much for the support, now the customer is running the motor in half-step mode with 200 rpm, and the reset register value are as follows:
        ctrl   = 0xC07;
        torque = 0x7FF;
        off    = 0x0FF;
        blank  = 0x0FF;
        decay  = 0x510;
        stall  = 0xFF8;
        drive  = 0xA59;
    Now, The issue is that, motor runs without stall however, it detect stall too early. Kindly help.
    Best regards,
    Jonathan
  • Hi Jonathan,

    The SDTHR is probably too low. Please slowly increase the SDTHR until no premature stall is detected.

    Regards,

    Pablo Armet

  • Hi Pablo,

    Thanks a lot. Could you please help to provide our customer a sample code for stall detection. 

    Best regards,

    Jonathan

  • Hi Jonathan,

    The only sample code we have is the one for the DRV8711EVM. The firmware can be downloaded from the ti product page

    I recommend for future debugging to use the DRV8711EVM.

    Regards,

    Pablo Armet