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.

Reverse of the BLDC motor



Hello

I'm working on the  control of  BLDC motor,and i'm using Texas Instrument's High Voltage Digital Motor Control Kit v1.7

and Code compose studio V6..How to reverse motor while it's running?  Do i have to change source file in Code Composer Studio,or...

My BLDC motor is BLWS23 Series - Brushless DC Motors,Anaheim Automation.

please help

  • Hi,

    You will have to change the code to reverse the commutation sequence. The zero crossing points indicate impending commutation in reverse sequence. Did you manage to reverse the motor without swapping motor wires? This will be a good exercise to do, that will give you an idea of how to reverse it on the fly.

    rgds,

    ramesh

  • I didn't manage reverse the motor without swapping wires.Maybe I have changed my piece of code that is intended for commutation states.Does anybody have an idea? The source code was like this:
    if (ClosedFlag==TRUE) {

    if (hall1.CmtnTrigHall==0x7FFF) {

    PreviousState = pwm1.CmtnPointer;

    // Comment the following if-else-if statements in case of
    // inverted Hall logics for commutation states.

    if (hall1.HallGpioAccepted==5)
    pwm1.CmtnPointer = 0;

    else if (hall1.HallGpioAccepted==1)
    pwm1.CmtnPointer = 1;

    else if (hall1.HallGpioAccepted==3)
    pwm1.CmtnPointer = 2;

    else if (hall1.HallGpioAccepted==2)
    pwm1.CmtnPointer = 3;

    else if (hall1.HallGpioAccepted==6)
    pwm1.CmtnPointer = 4;

    else if (hall1.HallGpioAccepted==4)
    pwm1.CmtnPointer = 5;


    /*

    // Comment the following if-else-if statements in case of
    // non-inverted Hall logics for commutation states.
    if (hall1.HallGpioAccepted==2)
    pwm1.CmtnPointer = 0;

    else if (hall1.HallGpioAccepted==6)
    pwm1.CmtnPointer = 1;

    else if (hall1.HallGpioAccepted==4)
    pwm1.CmtnPointer = 2;

    else if (hall1.HallGpioAccepted==5)
    pwm1.CmtnPointer = 3;

    else if (hall1.HallGpioAccepted==1)
    pwm1.CmtnPointer = 4;

    else if (hall1.HallGpioAccepted==3)
    pwm1.CmtnPointer = 5;

    */
    } //hall1.CmtnTrigHall == 0x7FFF
    } // ClosedFlag==TRUE