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.

CCS/DRV8846EVM: Vref Vint voltages problem to drive motor

Part Number: DRV8846EVM
Other Parts Discussed in Thread: DRV8846

Tool/software: Code Composer Studio

Hi Sir,

While trying to drive motor we are facing a problem that every time after giving Vref externally we have to press reset of MCU evm only then stepper starts rotating. But this cannot be done ideally. can you please tell us why is this happening.

We even tried to give configuration like reset through firmware even then same issue.

Regards,

Saloni Tiwari

  • Hi Saloni,

    There could be an issue with the order of steps.

    Can you please provide the exact steps that you take to configure the VREF.

    Also, did you remove the resistor pack R5 which connects VREF back to the mcu, or cut the trace between R5 and the VREF header pin?

  • Hi,

    Thank you for the reply.

    VREF = HIGH

    DEC0 = LOW

    DEC1 = LOW

    DIR = HIGH

    I0 = LOW

    I1 = LOW

    M0 = LOW

    M1 = LOW

    nENBL = LOW

    nSLEEP = HIGH

    ADEC = LOW

    while()

    {

    STEP = HIGH

    Delay

    STEP = LOW

    Delay

    }

    These are the steps we used to configure.

    Also we have removed the resistor pack R5 because we wanted to interface the IC with our MCU. But we have given Vref pin to our MCU as well. What is the step that we are missing in the process.

  • Hi Saloni,

    With VREF = HIGH, your target current is ~1.4A or more through the stepper windings. Is this what you want?

    You could see more current because slow decay may not remove enough current during the decay time. This is especially true if TOFF_SEL = Z (10us). You can try setting TOFF_SEL to 1 (30us) which will allow more current to be removed during the decay time.

    Have you examined the nFAULT pin? The settings used could be causing the device to enter an overcurrent condition. Resetting the mcu may allow the motor to rotate before the overcurrent condition occurs.

    If you are seeing nFAULT assert (please be sure nFAULT has a pullup resistor to observe the voltage) for ~1.6ms, this is an overcurrent condition. You can try setting the ADEC pin high which will adjust the decay modes automatically. ADEC must be set prior to exiting sleep mode.

    Assuming ADEC high corrects the issue, you can then try various decay modes 

  • Hi Saloni,

    Do you have any updates?

  • Hi Rick,

    Thank you for reply.

    Our worry is that the same configurations that we sent you the motor rotates properly when using DRV8846 eval and our controller, but without eval same configurations don't work.

    The only difference is sense resistors that we use have power rating of 0.25W whereas in eval it is 1W. Is it because of that the board do not get proper refernce?

    Meanwhile we will try setting TOFF_SEL as you said and check.

    Regards,

    Saloni  

  • Hi Saloni,

    The power rating of the sense resistor is too low assuming you are using VREF = 3.3V and a 0.25 Ohm resistor.

    The power rating of the resistor should be at least 0.5W when the motor is running, and up to 1W if the motor stops at 100%.

    Please measure all the inputs of the DRV8846 on the working eval board and compare them with the inputs on your board. Ideally you should check them at the pin of the DRV8846.

    If you find any differences, please let us know.

  • Hi Saloni,

    Have you found any differences between the working eval board and your board?

  • Hi Rick,

    Yes it got solved. It was majorly due to current sense resistor rating.

    Thank you for your reply.

  • Hi Saloni,

    We are glad to hear you were able to solve your problem.

    And thank you for providing the solution.