Simulink IGBT block control issue

55 views (last 30 days)
Kenny
Kenny on 8 Jul 2024
Edited: Kenny on 11 Jul 2024
Hi all!
I have a simulink project for just trying out IGBT blocks, where at a later stage I will use them for IGBT inverter simulations.
At the moment, I am just doing some testing, where it just looks like (or appears like) I can't turn off the IGBT transistors, no matter what gate 'voltage' I apply to their gates.
I have included an example (attached). When I 'run' my example simulink project, the voltage measurement scope will show zero volt - no matter what value of 'voltage' that I apply to the gate. In the project setup, I have arbitrary set the gate voltages to -500 (negative 500) volt.
I can get a 500 volt measurement to show on the scope only if I remove one of the IGBT blocks (or remove both IGBT blocks).
In my screenshot - I have added some comments to let everyone know the general details of the screenshot. I'm just attempting to find out the reason for the voltage measurement being zero volt, regardless of the applied gate voltage. I have found that the voltage measurement becomes 500V when one or both IGBT are removed.
Fig (above) - using project ibgt_switching.slx - has port 3 connected to GND, and 4 connected to -500 volt, with gate voltages connected to -500 volt. I am expecting the scope voltage measurement to be 500 volt. But the scope voltage measurement turns out to be zero volt.
Fig (above) - scope voltage measurement is showing zero volt.
The following screenshots (below) are for the case where I have removed one of the IGBT blocks from the vertical branch. The simulink project file for this is attached too. And it can be seen in the screenshots that we have 500 volt being measured by the scope.
Fig (above) - using project ibgt_switching_1.slx - showing one of the IGBT blocks removed. The simulation scope voltage gives the desired voltage of 500 volt.
Fig (above) - scope voltage measurement is showing 500 volt.
Also - related - but not directly to my main question. I notice that the gate of these IGBT blocks can be connected to a 'constant' block. But the gates of these IGBT blocks don't seem to be able to be connected to signal lines. For example, when I try to connect the gate of the IGBT to the lines connected to port #3 or port #4 etc, I find that the line connection cannot be made (ie. a black coloured line does not form). Could someone let me know as well if it is actually possible to connect the gate of these IGBT blocks to the usual signal lines?
Thanks very much!
  1 Comment
Kenny
Kenny on 11 Jul 2024
Edited: Kenny on 11 Jul 2024
Just adding this extra project file. Could someone please help me to take a look at the project file to see why the voltage across port 3 and 4 always remains zero?
That voltage remains zero - regardless of what signal value (eg. 0 or 1 etc) is applied to the gates of those IGBT/diode blocks. Also - I notice that the current measurement (from the scope) is always zero.
The two IGBT blocks appear to be behaving as short circuits, regardless of what signal value (0 or 1 etc) is applied to those gates. Can anyone shed provide clues about how to turn OFF either or both of those IGBT devices in my project file, so that they no longer behave as short circuits? Thanks all!

Sign in to comment.

Answers (2)

Umar
Umar on 8 Jul 2024
Hi Kenny,
Sorry to hear that you are having difficulties.
You mentioned, At the moment, I am just doing some testing, where it just looks like (or appears like) I can't turn off the IGBT transistors, no matter what gate 'voltage' I apply to their gates.I have included an example (attached). When I 'run' my example simulink project, the voltage measurement scope will show zero volt - no matter what value of 'voltage' that I apply to the gate. In the project setup, I have arbitrary set the gate voltages to -500 (negative 500) volt. I can get a 500 volt measurement to show on the scope only if I remove one of the IGBT blocks (or remove both IGBT blocks).In my screenshot - I have added some comments to let everyone know the general details of the screenshot. I'm just attempting to find out the reason for the voltage measurement being zero volt, regardless of the applied gate voltage. I have found that the voltage measurement becomes 500V when one or both IGBT are removed.
The most probable cause of this issue is a misconfiguration or a conflict within the IGBT blocks themselves. It seems that the IGBT blocks are not responding correctly to the gate voltage changes, leading to a constant zero voltage measurement.To address this issue, you can try the following steps:
Check Circuit Connections: Ensure that the connections between the IGBT blocks and ports 3 and 4 are correct and there are no short circuits.
Check IGBT Block Parameters: Verify the parameters of the IGBT blocks in the Simulink project. Ensure that the gate voltage settings are correctly configured.
Simulation Settings: Review the simulation settings to ensure that there are no constraints or limitations that might be preventing the IGBT transistors from turning off.
Gate Voltage Application: Double-check the method used to apply gate voltages to the IGBT transistors. Ensure that the values are being correctly passed and interpreted by the simulation.
Isolate Components: Remove any other components connected to ports 3 and 4 to isolate the measurement setup. This will help identify if any external factors are influencing the voltage readings.
Inspect Wiring: Examine the wiring for any signs of damage, wear, or incorrect routing. Faulty wiring can introduce interference or short circuits that affect voltage measurements.
Simulation Debugging: Use debugging tools within Simulink to track the behavior of the IGBT blocks during simulation. This can help identify any anomalies or unexpected behavior.
Regarding to query#2, Also - related - but not directly to my main question. I notice that the gate of these IGBT blocks can be connected to a 'constant' block. But the gates of these IGBT blocks don't seem to be able to be connected to signal lines. For example, when I try to connect the gate of the IGBT to the lines connected to port #3 or port #4 etc, I find that the line connection cannot be made (ie. a black coloured line does not form). Could someone let me know as well if it is actually possible to connect the gate of these IGBT blocks to the usual signal lines?
The root cause of this problem lies in the configuration of the IGBT block in Matlab Simulink. The gate of an IGBT block is typically connected to a 'constant' block for static input values. However, attempting to connect it directly to signal lines from specific ports results in connection failure.
To address this issue and enable the connection of the gate of an IGBT block to signal lines in Matlab Simulink, you can use a workaround by introducing a Signal Builder block. The Signal Builder block allows you to create custom signal waveforms that can be connected to the gate of the IGBT block.Here is an example code snippet demonstrating how to connect the gate of an IGBT block to a Signal Builder block in Matlab Simulink:
% Create a Signal Builder block
signal_builder_block = add_block('built-in/Signal Builder', 'YourModel/Signal Builder');
% Connect the Signal Builder block to the gate of the IGBT block
add_line('YourModel', 'Signal Builder/1', 'IGBT_Block/G');
% Configure the signal waveform in the Signal Builder block as needed
By using the Signal Builder block as an intermediary, you can establish a connection between the gate of the IGBT block and signal lines from specific ports in Matlab Simulink.
By implementing these solutions and preventive measures, you can effectively address the connection issue related to IGBT blocks in Matlab Simulink and enhance the functionality of your simulation models.
  1 Comment
Kenny
Kenny on 8 Jul 2024
Hi Umar! Thanks very much for your time. For the secondary part of my question - thanks for adding those nice details! I will try that approach for the secondary part.
For the primary (main) part of my question - I have checked the set-up a lot, and not yet able to find out why the presence of those IGBT blocks in the vertical branch is always causing the voltage measurement to be zero volt. I have included the project files you or anyone would like to jump in quickly to take a look -- just to see if you can spot anything that I should change. I find that no matter what voltage is applied to the IGBT gates, I'm always getting a scope voltage reading of zero volt.

Sign in to comment.


Umar
Umar on 8 Jul 2024
Hi Kenny,
To simulate a 500-volt reading on a scope using an IGBT block in Simulink, you need to correctly wire the gate, collector, and emitter terminals. Here's a detailed guide on how to achieve this:
Wiring Configuration:
Gate Terminal: The gate terminal of the IGBT block is used to control the switching behavior of the transistor. Connect an appropriate signal source (e.g., a Pulse Generator block) to the gate terminal to control the IGBT's switching.
Collector Terminal: The collector terminal is where the main current flows through the IGBT. Connect the load that you want to switch using the IGBT to the collector terminal.
Emitter Terminal: The emitter terminal is the reference point for the current flow. Connect the emitter terminal to the ground or reference node of your circuit.
Voltage Source:
To simulate a 500-volt reading on a scope, you need to provide a 500-volt input to the collector terminal of the IGBT. You can achieve this by connecting a DC Voltage Source block set to 500 volts to the collector terminal.
Scope Configuration:
Connect a Scope block to the collector terminal to monitor the voltage waveform. Configure the Scope block to display the voltage waveform in volts. Simulation:
Once you have wired the IGBT block and configured the voltage source and scope, run the simulation. The scope should display a 500-volt waveform corresponding to the input voltage provided to the collector terminal.
Follow these instructions and update me with test results.
  5 Comments
Umar
Umar on 10 Jul 2024
Hi Kenny,
I went through second time to review your comments to make sure if I missed anything, but then this comment caught my attention,” I am just doing some testing, where it just looks like (or appears like) I can't turn off the IGBT transistors, no matter what gate 'voltage' I apply to their gates.” As I mentioned before that I don’t have access to Simulink but still have experience to navigate you in the right direction. In order to turn turn off the IGBT transistors, you need to provide a control signal to the gate of the transistor. This control signal can be a logical signal (0 or 1) that determines the state of the IGBT (ON or OFF). Try generating a gate signal that transitions from ON to OFF. You can use a Signal Builder block, a Step block, or any other signal generation block to create this signal. Then, connect the gate signal to the gate input of the IGBT block in your Simulink model. This connection will control the switching behavior of the IGBT transistor. Run the simulation in Simulink to observe the behavior of the IGBT transistors, you should see the transistors turning off based on the gate signal you provided.
I do understand your concerns. My goal is to help people succeed, achieve their goals. Correct me if I am wrong but it sounds like this is what started the whole experiment with scope, deleting one IGBT block to pinpoint the root cause. Hope my suggestions and guidance can help you accomplish your goal now.
Kenny
Kenny on 10 Jul 2024
Edited: Kenny on 10 Jul 2024
Hi Umar, thanks again for your help and support. I think my issue is with the understanding of the requirements for driving the gate of simulink IGBT blocks. I previously assumed that I had to apply a suitable 'voltage' (just like an actual circuit, or like in a circuit simulator). So in all of the project files uploaded to here, I assumed that a 'voltage' of zero volt at the gate, with an emitter voltage at -500 volt would turn on the IGBT device.
However, after seeing your comments - I get the new impression that the simulink IGBT module is not supposed to be used in the way that I had assumed. So the 'gate' signal for this particular IGBT model is not a voltage as such, but is a value of 1 or 0, and the applied gate 'signal' (or value) does not need to be relative to the emitter voltage, or even relative to anything (such as ground). So the applied gate signal is sort of like logical/binary 1 or 0, right?
While the simulink block I am using is a "IGBT/diode" block, I was able to find details about a related simulink block called a "IGBT" block. The details about the gate for simulink's IGBT block at https://au.mathworks.com/help/sps/powersys/ref/igbt.html are : 'a switch controlled by a logical signal (g > 0 or g = 0)'. This does suggest the IGBT block is modelled simply as a switch with a logic level gate signal, such as zero for open circuit, and positive value for short circuit. Noting also that the particular block that I'm using is "IGBT/diode" - which doesn't appear to have details about the gate control. But I assume it will be logic level control too -- not voltage controlled.
I have included this third project file 'testing3.slx' - with a step block. And it looks like the IGBT block is indeed controlled by logic 1 or 0 (and not a 'voltage' that needs to be relative to the emitter voltage). So when we apply a value' of '1' to the gates of the IGBT, then that will turn on the IGBT devices, which leads to a large current through the IGBT devices. And since the vertical branch has relatively small resistance, then the voltage drop across that vertical IGBT branch will be relatively small. The relatively small voltage (scope measurement) at 1.5 seconds in the image below can be seen, which is when a 'value' of 1 is applied to the gates of the IGBTs.
Fig (above) voltage from simulink scope measurement.
Unfortunately - at the moment, when we go back to my original project file ibgt_switching.slx from the original post, I notice that the IGBT/diode blocks don't respond to any value of gate signal. Not even signals from a 'step' block (such as a transition of 0 to 1 from a step block, or vice versa). So for that particular project file ibgt_switching.slx, the only way I was able to get a non-zero voltage scope reading is by removing one or both fo the IGBT devices in that parallel branch of the opening post.
Thanks Umar.

Sign in to comment.

Tags

Products


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!