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: DRV8711

Part Number: DRV8711
Other Parts Discussed in Thread: TM4C1294NCPDT,

Hi Everyone.,

I am using TM4C1294NCPDT Microcontroller and DRV8711 Stepper Driver IC. In my code, we using the the stepper motor in SPI configuration, this motor can move three positions like, top, center and bottom. while running randomly motor stops suddenly and not responding to any command either forward or reverse. During the time we re not getting fault or STALL state. In this situation, once the Reset bit high manually, the stepper motor can be run 50 to 60 sequences. Please give me the solution for Motor stopping without STALL or Fault state.

If the motor can move these positions motor will be stop. But motor was not getting fault or STALL state. In this situation, once the Reset bit high manually,the stepper motor can be run 50 to 60 sequenxes.Please give me the solution for Motor stopping without STALL or Fault state.

When the Motor stops,we manually set the Reset Pin high,

Eg:  if(g_Cal_LSU_Economizer_Motor.Reset==1)

  • Hey Tom, 

    Could you post an oscilloscope shot of this happening?  Would be great if you could capture the time where it stops working, but even a normal running capture would be useful so we can see the waveform shape, VM rail, etc.  Try to include VM, nFAULT, STEP signal, and the current in one phase of the motor.  

    What microstepping level are you using?  

    It would also be useful if you could provide your circuit schematic, along with motor specs (mainly the inductance and parasitic capacitance of it).  

    Regards,

    Jacob

  • Hey Tom,

    Were you able to solve your issue, or are you still working on it?  If solved, I will close this thread soon. 

    Regards,

    Jacob

  • Dear Jacob.,

    Sorry for delay. Here by i attached the schematic of stepper motor.

    We write the current in Torque register is:  

    g_LSU_SuctionArm_Motor_Torque_Register.TORQUE   = 0xF0;

    We use the micro stepping:

      g_LSU_SuctionArm_Motor_Control_Register.MODE    = 0x02;(1/4 step)

    My problem is randomly the stepper motor is in stall state. How could i avoid this stall state of stepper motor.

    Thank you

  • Hi Tom,

    My problem is randomly the stepper motor is in stall state. How could i avoid this stall state of stepper motor.

    Since you have the MCU writing commands to the driver using SPI bus, so it is impossible to know what commands that the MCU sent to the driver that might cause it to stop or lock up, unless you can post a capture of the SPI's CLK, MOSI, CS.

    Can you try to input STEP and DIR instead and see if the same problem happen?

    Brian

  • Hey Tom, 

    Sorry for the delay, thanks for the schematic! I looked through it and everything looks good on it.  

    What is the value of your sense resistors? 

    What value of ISGAIN are you setting?  So that we can calculate the IFS it's aiming for:.  Your TORQUE = 0xF0 = 240.  

    And final question, are you using Internal or External stall detection?   7.3.10.1 Internal Stall Detection It might be worth trying some different settings for SDTHR (Stall detection threshold) and SDCNT (Stall detection count)

    Regards,

    Jacob

  • Dear Jacob.,

    Thank you for your response. 

    Control_Register.EXSTALL = 0x00;

    we use internal Stall Detection.

    And also i attached image for your reference.

    Thank you.,

  • Hey Tom,

    Give me just another day to look into this and confer with more experienced coworkers on this specific part.  

    Thanks!

  • Please Take your time.Good day!!

  • Hey Tom,

    Can you read back the register status of all the registers when this stalled condition occurs?  I know you said nFAULT is not going low, but it is worth checking all the fault registers.  RESET will set everything back to default and clear the faults, so good for getting out of the error state but doesn't help to identify the initial cause.  The fact that you issue a RESET and all is well again seems to point to some configuration issue or fault condition.  

    Also can you post a picture of the top of a DRV8711 chip or two?  I want to rule out counterfeit chips as an issue.  

    Regards,

    Jacob

  • Thank You Jacob.,

    I am clearly checked all fault registers,its not in  low state. And also the STALL=0(Stall state) can occurred in running state,the motor will stop.In good condition Stall is to be 1(Stall =1).when the Stall=0 occurs, we changed our code be like.,

    Stepper_SleepMode_Input_Low;
    Stepper_Motor.Reset=1;

    We call the Reset=1 function, when the stall=0 occurs in motor running state. But Motor can be Stall again. And also i attached picture for your reference.

    DRV8711

    16TG4

    C3ZH

    If you need more details please let me know.

    Thank you

  • Hey Tom,

    Very odd.  What external FETs are you using?  Wondering about their gate charge.  Does the DRV8711 device get hot when running? 

    I checked our lot tracing and that chip is legitimate. No problems there.    

    Could you get one of our EVM's and test it with your motor on the EVM?  That way we could help identify if it is the motor specs relating to your driver configuration, or the FETs etc.  This chip has a lot of settings to change - tDEAD, tDRIVE source/sink, decay modes, etc.  Have you tried changing those settings, especially auto-mixed decay mode? 

    Regards,

    Jacob

  • Okay i wil try with Auto-Mixed decay mode.

  • Hey Tom,

    Did you resolve your issue?  

    Regards,

    Jacob