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.

Control of High Current ACI Motors

Hello InstaSPIN community,

We are using the  F2806x ISO controlCARD connected in a power board with the circuit below (Fig. 1) connected in an AC Induction Motor 4KW – 28V – 117A – 2530 RPM, my VDC is a battery 48V – 500Ah . And all the labs worked well.

In the circuit of the Fig.1-  Phase A of the power board. The time to the power mos-fets (Q1-Q2)  turn on is longer than to turn off.

Lab2b - 3a - 3b - 5c - 5d - 5e - 12a - 12b worked well

Then we develop our power board with the circuit below  (Fig. 2). And the labs worked well until lab 12a, the lab 12a doesn't work (the motor does not spin).

In the circuit of the Fig.2-  Phase A of the power board. The time to the power mos-fets turn on is the same that to turn off.

Lab2b - 3a - 3b - 5c - 5d - 5e worked well. And Lab12a  didn't work.

We have tried to change the dead time HAL_PWM_DBFED_CNT  and HAL_PWM_DBRED_CNT without success.

Is there any parameter that I can change to the lab 12a works with the circuit of the Fig. 2 ?

Thanks in Advance !

  • Paulo,

    Can you repost your images, they don't seem to be showing up.

    Do you have an encoder connected to this motor?  Did you setup the encoder in the user.h file?

  • Adam,

    I am sorry. Can you see the images now ?

    Yes, I have an encoder connected and all the labs worked well with the first circuit (Fig. 1). I think it is because the time the power mos-fets turn on and off are differents.

    But in the second circuit (Fig.2) the lab 12a doesn't work.

    My question is why the lab12a works with the first circuit and does not work with the second circuit ?
  • Paulo,

    Yes I can see the images thanks.

    I have no idea why the second circuit wouldn't work if the first circuit works. I would be surprised if it was anything specifically related to lab 12a or sensored motor control.

    When you start lab 12a the motor shouldn't spin initially. It should only spin after you setgMotorVars.SpinTAC.RunVelId to true. Is this your experience?
  • Adam,

    Yes this is my experience, when I set the gMotorVars.SpinTAC.RunVelId the motor does not spin. It seems to be locked or with a very bad control.
    The current sensors and the user.h settings are the same.
  • Paulo,

    Does the motor spin in the same direction in the labs 2-10 with circuit 1 and circuit 2? My thinking is that there might be a difference in the alignment between motor direction and encoder direction.
  • Adam,

    I did the tests again with lab3a and the motor spin in the same direction with both circuits.
  • Adam,

    Below are the images of the:

    Phase - Pink

    Low Side PWM output (GPIO-01)  - Red

    Gate of the Power Mos-fets - Blue


    This picture corresponds to the Circuit of the Fig1. All the labs are working.

    This picture corresponds to the Circuit of the Fig 2. Lab 12a does not work.


    Dou you have any idea or suggestion ?


    Thanks !

  • Paulo,

    Thanks for the scope captures.  In looking at the differences in the gate signal I had a thought.  It is possible that the Fig 2 circuit could be introducing more electrical noise into the QEP than the Fig 1 circuit.  I've included a procedure below on how to test this.

    1. Add st_obj.vel.conv.Pos_erev into the watch window, this is an IQ24 variable

    2. Set gMotorVars.enableSys to 1

    3. Set gMotorVars.Run_Identify to 1

    4. Watch the value in "st_obj.vel.conv.Pos_erev" it should not be changing, if it is changing this indicates that there is some electrical noise on your encoder lines that is causing the angle to be wrong.

  • Adam,

    The st_obj.vel.conv.Pos_erev isn't changing and the lab12a isn't working.

    We have tested another board with the same circuit and it worked.

    Now we are doing some modifications in our board.

    Thank You !
  • Paulo,

    Glad you were able to get it working!