Description
This block processes the communication between the RT-Lab model and the FPGA inverter solver. It also initialises the inverter solver with the user inverter specification.
The inverter solver can work in 3 modes:
- 2 inverters + 1 DC source
- 2 inverters + 1Boost Converter
- 2 inverters + 1DC Filter
A relay can be switched on/off to enable/disable the battery.
It supports faults:
- Short switch
- Open Igbt
- Open switch (=open Igbt+Diod)
Mask Parameters
Simulation Settings tab
Mode: The user has to select the mode he wants the solver to perform. There are 3 different modes supported:
Provide iabc debug input: Check box to enable the iabc debug input.
Solver Time step: [sec] Time step of the solver. The minimum value depends on the mode selected in the simulation settings panel.
Be aware that it is advised the motor solver coupled to the inverter solver might need a time step which is a multiple of the inverter solver's to operate correctly. Default 250ns.
Mode: The use has to select the mode he wants the solver to perform. There are 2 different modes supported:
Inverter1/2 Settings tabs
IGBT Ron/Roff: [ohm]Values of the internal resistance of the inverter's IGBTs when they are on (switch close) and off (switch open). Because these values are physical, they cannot be a negative/null value. Roff can still be set to infinite.
IGBT Snubber Resistance: [ohm] Value of the inverter's IGBTs snubber resistance (rsnub). Because this value is physical, it cannot be a negative/null value.
IGBT Snubber Capacitance: [F] Value of the inverter's IGBTs snubber capacitance (csnub). Because this value is physical, it cannot be a negative/null value.
IGBT Model
Note: The snubber resistance and capacitance depends on the IGBT arm state.
When both IGBT lower and upper are open (HizhZ mode), the resistance and capacitance values switch to the (HighZ only) set of values. It helps to have stable snubber values in HighZ mode and more efficient values in active mode.
Changing snubbers and ron/roff values can make the solver unstable. Modify these if only the inverter results are initially unstable or the inverter has a lot of power losses.
DC Link Settings tab
DC capacitor: [F] Value of the DC capacitor (cdc). Because this value is physical, it cannot be a negative/null value.
DC capacitor bleeding resistance: [ohm] Value of the DC capacitor bleeding resistance (rcdc). Because this value is physical, it cannot be a negative/null value.
DC Link Settings tab
Battery capacitor: [F] Value of the battery capacitor (cbat). Because this value is physical, it cannot be a negative/null value.
Battery capacitor bleeding resistance: [ohm] Value of the battery capacitor bleeding resistance (rcbat). Because this value is physical, it cannot be a negative/null value.
Relay Ron: [ohm] (when OFF, resistance = inf) Value of the relay resistance when closed ON (rel). Because this value is physical, it cannot be a negative/null value.
DC Source internal resistance: [ohm]Value of the DC source internal resistance (rbat). Because this value is physical, it cannot be a negative/null value.
Boost Converter Settings tab
IGBT Ron/Roff: [ohm]Values of the internal resistance of the boost converter IGBTs when it's on (switch close) and off (switch open). Because these values are physical, they cannot be a negative/null value. Roff can still be set to infinite.
IGBT Snubber Resistance: [ohm] Value of the boost converter IGBTs snubber resistance (rsnub). Because this value is physical, it cannot be a negative/null value.
IGBT Snubber Capacitance: [F] Value of the boost converter IGBTs snubber capacitance (csnub). Because this value is physical, it cannot be a negative/null value
Inverter Circuit with boost converter
Boost Inductor: [Henry] Value of the boost inductor (L). Because this value is physical, it cannot be a negative/null value.
Boost Inductor internal resistance: [ohm] Value of the boost inductor resistance (rL). Because this value is physical, it cannot be a negative/null value.
Boost Inductor internal parallel resistance: [ohm] Value of the boost inductor parallel resistance(rLp). Because this value is physical, it cannot be a negative/null value.
Filter Settings tab
Inverter Circuit with Filter
Filter Inductor: [Henry] Value of the filter inductor (L). Because this value is physical, it cannot be a negative/null value.
Filter Inductor internal resistance: [ohm] Value of the filter inductor resistance (rL). Because this value is physical, it cannot be a negative/null value.
Filter Inductor internal parallel resistance: [ohm] Value of the Filter inductor parallel resistance(rLp). Because this value is physical, it cannot be a negative/null value.
Filter Capacitor: [F] Value of the filter Capacitor (Cfilter). Because this value is physical, it cannot be a negative/null value.
Filter Capacitor parallel resistance: [ohm] Value of the filter Capacitor parallel resistance (rCfilter). Because this value is physical, it cannot be a negative/null value.
General tab
Block Index: This value is used to index initialization data when the same solver is used several times in the FPGA. For example, to make sure that subsystem A does not receive data from subsystem B. This value must be between 0 and 15.
Data In/Load In/Data Out port number:Number of communication ports from/to FPGA to send/receive solver data. Port numbers depend on the bitstream (See bitstream technical documentation to know the right port numbers). If your bitstream was modified, consult its technical note for the port numbers associated to the Inverter Solver function.
Controller Name: FPGA controller name that refers to the motor model bitstream (in OpCtrl or Oplnk block. Usual name = 'OpCtrl'.).
Inputs
Vbat: Input DC voltage of the battery. This voltage is referenced to the negative rail of the DC Bus.
Sh_switch_faults: This block can handle faults. The Short switch fault corresponds to a short circuit action with a very small resistor on the specified switches.
This port has to be driven by a 14element Simulink vector, each element corresponding to a switch as described in table below.
Vector id | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Inverter # | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | Boost | Boost |
IGBT Label | Aup | Alo | Bup | Blo | Cup | Clo | Aup | Alo | Bup | Blo | Cup | Clo | Up | Low |
To apply a fault on a specified switch, the user needs to input a value higher than .5 at the switch index. Note that the user can do multiple fault at the same time on different switches.
So if the value supplied at the fault input is "[0 0 1 0 0 1 1 0 0 0 0 0 0 1]", the short fault will occur on switches Blo and Aup of inverter1, Clo of inverter2 and the higher switch of the boost converter.
op_switch_faults: The open switch fault corresponds to an open circuit action on the specified switches. It opens the IGBT and the diod.
op_IGBT_faults: The open switch fault corresponds to an open circuit action on the specified IGBT. However, contrary as the open switch fault, the diode will still operate correctly after this fault occurs.
Disable_relay: When this input is higher than .5, the battery relay (rel) is opened. This input is only used with the modes "1Boost Converter + 2Inverters" and "1DC Filter + 2Inverters".
Rst: Reset of the FPGA inverter solver. This action clears all current solver states to 0 and reset the instruction timer to its initial position. This is a double signal. The reset is active when input crosses 0.5.
Iabc_dbg_input: Debug input to send current values that can replace the motors current feedback. It must be driven by a 6 elements double array.
Outputs
Inverter Out1/2: This bus regroups all inverter's signals available in the RT-Lab. They are coming directly from the FPGA.
Signal Label | Signal Description | Unit |
Va/Vb/Vc | Output Voltage of the inverter on Arm a/b/c | Volts |
Vcap | Voltage on the DC Bus (only if the solver is in 2independant inverter mode) | Volts |
IswAup/IswBup/IswCup | Current through arm a/b/c upper IGBT (the positive direction is from Collector to Emitter) | Amps |
IswAlo/IswBlo/IswClo | Current through arm a/b/c lower IGBT (the positive direction is from Collector to Emitter) | Amps |
Boost/Filter Out: (only if the solver is in 1 Boost Converter or 1 DC Filter + 2 Inverters modes)
Signal Label | Signal Description | Unit |
Vcdc | Voltage on the DC Cap across the DC Link capacitor | Volts |
Isw2 | Current through the Boost bottom switch (from the collector to emitter) | Amps |
Vcbat | Voltage across the input capacitor | Volts |
Ibat | Current entering the battery | Amps |
Vsw2 | Voltage across the Boost bottom switch | Volts |
Icdc | Current entering the DC Link capacitor | Amps |
IL | Current through the Boost/Filter inductor (from DC link to Battery is the positive direction) | Amps |
spare | Unassigned (for Debug Only) | NA |
Power: This port gathers power measurements
Signal Label | Signal Description | Unit |
PowerDC_inv1|2 | Power going to inverter 1|2 (consuming when positive, generating when negative) | Watts |
PowerDC_Cbat | Power entering the boost/filter inductor (generating when positive, consuming when negative) | Watts |
PowerDC_bat | Power consumed on the battery (charging when positive, consuming when negative) | Watts |
PowerSW2 | Power consumption of the boost bottom switch (to evaluate the Boost IGBT losses) | Watts |
Warning: these signals are subject to aliasing (particularly switching signals). To have a high fidelity acquisition of these signals, it is recommended to use the hardware outputs of your simulator and an external scope.
Characteristics and limitations
Offline simulation: This block is not capable of offline simulation.
Communication delays: The block latency is 2 CPU Time steps.
Direct Feedthrough | NO |
Discrete sample time | YES |
XHP support | YES |
Work offline | NO |
If you require more information, please contact https://www.opal-rt.com/contact-technical-support/.