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.

DRV8312-C2-KIT reverse motor direction

I am attempting to spin the brushless DC motor included in the DRV8312-C2-KIT in the reverse direction using the Hall Effect sensors.  I do not believe this functionality is exposed by the TI motor control libraries, so I am trying to add it.  I am interfacing the kit with an external microcontroller, and I can spin the motor in the forward direction.  To reverse the direction, I inverted the drive waveforms.  For example, in switch state 2, Phase A should be HI, and Phase C should be LO for forward operation.  I am now driving LO on Phase A and HI on Phase C with B still held in reset.  After this modification to all six states, the motor spins in the reverse direction at a much reduced speed.

Anaheim Automation claims that I should see equivalent performance in both rotation directions, so I assume that my drive waveforms are incorrect.  Have you seen this behavior before?  Do you know what the correct waveforms should be? Is there anything I should try?

Thanks,

Zachary Clifford

  • Zachary,

     

    I have asked one of my application engineers to take a look at this.  We have not had this problem before with the motor.  

     

     

  • Zachary,

    Are you also going in the reverse order through your state machine? i.e. if you are going in this order for the forward direction 1->2->....5->6  you would then be going 1->6->...3->2 for the reverse direction. This would explain why the motor is spining slower then in the forward direction since you have to go through all 6 states before you finally reach the state your sensing.

    Let me know if this is not the problem,

    LT

  • Hi LT,

    Thanks for the suggestion!  I double checked, but I am doing a simple lookup table to compute the proper commutation state based on the input Hall sensor states.  It has no concept of order between the states.

    I've done some more investigation, and I've come up with a few ideas.  The difference is around 15%-20% when the motor is running within its RPM spec, so it may be a mechanical tolerance issue.  When I move forward, I get a switching waveform like this:

     

    5672.TEK00007.TIF

     

    Channel 1 is the I_TOTAL testpoint, channel 2 is FB_IA, channel 3 is OUTA, and channel 4 is PWMA.

    In reverse, the same signals look like this (note the scaling change to channel 1):

     

    4405.TEK00008.TIF


    It appears to be commutating at different parts of the current cycle, and the shaft speed is somewhat lower.

    I found that I could change the motor wiring (A->B, B->C, C->A), and change my drive waveform to invert the polarities.  When I did that, the reverse current waveform closely matched the forward one.  The shaft speed was closer to the same, but there is still some difference.

    I'm afraid that the winding change might be a specific tweak to this motor that enables it to run better.  Unless something looks really wrong, I'm going to assume that I am seeing a mechanical mismatch and that it may not be the same with my final motor.

  • Zachary,

    The top graph looks correct. When you changed the motor wiring did you also change the Hall Effect Sensors too? When the motor and hall sensor are not correctly wired there is a couple of things that can happen:

    The motor will not communtate at all

    or the motor will commuuntate in one direction with little torque and in the oppisite direction with a lot of torque

    Is your wiring the same as this document?

    LT

  • Hi LT,

    Thanks for pointing me to that document.  I checked, and my wiring matches the TI how-to guide, but it does not match the motor.  In the TI guide with the eval kit, Yellow is Phase C, Red is Phase B, and Black is Phase A.  The motor claims that Yellow should be A, Red should be B, and Black should be C.  However, the same B-C swap is also made to the Hall connection, so the motor still spins properly.  I'm not sure it that makes a difference, but I will try it and see what happens.

    Thanks again!

    Zach