![]() |
SLIDE
3.0.0
A simulator for lithium-ion battery pack degradation
|
#include <Converter.hpp>
Public Member Functions | |
Converter () | |
void | setPower (double Pnom) |
double | getLosses (double Vin, double Iin) |
slide::Converter::Converter | ( | ) |
< should be larger than max battery voltage (15*20*4.2 = 1260)
< random guess, 5 * 380V (line voltage)
< 200 kWh from Schimpe etc.
double slide::Converter::getLosses | ( | double | Vin, |
double | Iin | ||
) |
< Unless stated otherwise, values are from Patsios et al double Iinold = Iin; //!< for printing
< We have muliple inverters, split the current between them
< the number of inverters needed to convert the power
< voltage drop over IGBTs from [69] from Schimpe https://www.infineon.com/dgdl/Infineon-FS150R12KE3-DS-v03_01-en_de.pdf?fileId=db3a304412b407950112b4311d745388 fig on p4, output characteristic IGBT at Vge = 15 and T = 125 (top right figure)
< V = 1 + (3-1)/(300-30)*(I - 30) and below 30A: V = I/30 V = a + b (std::abs(I) - c)
< current through rectifier = current of battery
< Note, that ref is a one-stage converter. The values for diodes are the by-pass diodes so might not be representative so just use values for the IGBTs for DC/DC converter too
< DC stage
< switching frequency, value from Schimpe
< voltage across the diode (i.e. resistive voltage drop across it, random guess about 0.1%)
< modulation ratio
< switch-on loss. 0 since this is a diode
< energy loss for switch off
< conduction losses
< switching losses
< current on the DC bus (ignoring losses)
< AC stage
< current through inverter = current of the DC link
< modulation ratio
< conduction losses (already has full current so already account for all 6 IGBTs)
< switching losses: 6 IGBTs for 3 phase full bridge converter
< double Iac = Idc * Vdc / Vac; //!< current on the AC side (ignoring losses)
< filter
< Value from Schimpe (for resistance of grid interface)
< DC link capacitance
< DC ripple voltage, wild guess since I can't find a value #TODO if is correct?
< value from Schimpe (resistance to grid)
< value from Schimpe (resistance to inverter)
< losses in capacitor on DC bus
< losses in L at the output of the inverter
< losses in L at the input of the rectifier
< total losses
< ensure all have same sign (some I^2, others I so if I < 0 they would have opposite sign)
< cout<<"Converter Vin = "<<Vin<<", Iin = "<<Iinold<<", ninverters are "<<nInverters<<" losses are "<<loss/std::abs(Vin*Iinold)*100<<" %"<<endl;
void slide::Converter::setPower | ( | double | Pnom | ) |