I want to do IGBT based motor control

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Submitted by Satyabrata on Thu, 04/10/2014 - 00:03

 

 

I don't see an 'IGBT' block in the VisSim library. I want to use IGBT switches in my motor control application. Please advise how to address this issue.

Tagged:

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited June 2016

    Submitted by pete on Thu, 04/10/2014 - 01:37.

    IGBTs are not a big deal. The way a motor inverter works, you use 2 PWM signals to control a motor phase voltage. You do this by switching quickly (20kHz or so) between a Vdc bus 'high' side and ground. The induction of the motor phase coil acts to smooth the rapid switching to a DC value. At 50% duty cycle a phase will see a DC voltage half way between Vdc and ground. By varying the duty cycle above and below 50%, you can make one phase positive or negative with respect to the others. FOC control relies on sinusoidally varying the average phase voltages. To do this, the pair of PWMs controlling the upper and lower switch on each phase 'leg' must be complementary so you only turn on one switch at any given instant.
    The diagram below shows a typical 3 phase inverter topology. There are three legs, A, B & C, with motor phases connected between the + and - switches on each leg resulting in phase voltage differentials Vab, Vca, Vbc.

     

    Three_leg_inverter.gif

     

    3-phase inverter image courtesy of Wikimedia

    The difference between IGBTs and the MOSFET switches found on the DRV83xx kits is that IGBTs take longer to turn off than to turn on. This means that when your PWM commands the high side on at the same time it commands the low side off, the IGBT switching the low side off is still on a bit when the high side comes on. This causes a short circuit of current to flow from the Vdc bus through the two IGBT switches to ground. The same applies when switching high side off and low side on. This wastes energy and shortens the lifespan of the IGBT.
    To fix this, you need to add some delay before switching on an IGBT leg when you switch the other one off. Fortunately, TI PWM units allow this. To configure the PWM deadband in VisSim, right click an ePWM block and configure the deadband section of the block which appears as below:

    PWMdeadbandConfig.png

     

    Deadband section of VisSim PWM configuration screen

    The above config will drive both outputs from compare register input A. It applies a deadband count of 15 to the rising and falling edge of the deadband input PWM signal. Each count takes one tick of the scaled system clock. So if the system clock is 100MHz and PWM scale factor is 1, then each tick takes 10ns. The Rising/Falling Edge Delay count of 15 above will result in a deadband of 150ns in this case. This results in the following waveforms:

    PWMdeadbandWaveforms.png

     

    Top waveform is input to deadband section of PWM unit, bottom 2 waveforms are outputs from deadband section