Switching Converter Power Supplies
Sorry, Input Voltage must be positive./n"); exit; } if ($Vout < 0) { // Inverter $TopologyName = "Boost-Buck, or Inverting"; $Topology = 1; $Duty = (-$Vout + $Vd) / (-$Vout + $Vd + $Vin - $Vtrans); if ($Vout < 0) $Voutabs = -$Vout; $Ton = $Duty / $F; $Toff = (1 - $Duty) / $F; if ($UseRipple == 1) { $ILpp = $R / 100 * $Iout; } else if ($UseRipple == 2) { $ILpp = 2 * $Ioutmin; } $L = ($Vin - $Vtrans) / $ILpp * $Ton; $ILmin = $Iout - $ILpp / 2; $ILmax = $ILdc + $ILpp / 2; $Irms = sqrt($ILmin * $ILmin + $ILpp * $ILpp / 12); $Vripple = $Voutabs * $VRipplePercent / 100; $C = $Iout * $Ton / $Vripple; // $C= ($ILpp-$Iout)*($ILpp-$Iout)*$Td/($Vripple*2*$ILpp); } else if ($Vout > $Vin) { // Boost $TopologyName = "Boost"; $Topology = 2; $Duty = ($Vout - $Vin + $Vd) / ($Vout + $Vd - $Vtrans); $Ton = $Duty / $F; $Toff = (1 - $Duty) / $F; if ($UseRipple == 1) { $ILpp = $R / 100 * $Iout; } else if ($UseRipple == 2) { $ILpp = 2 * $Ioutmin; } $L = ($Vout - $Vin + $Vd) * $Toff / $ILpp; //$Td= $Ton*$Vin/($Vout-$Vin); $ILmin = $Iout - $ILpp / 2; $ILmax = ($Vout - $Vin + $Vd) * $Toff / $L / 2 + $Iout; // Idelta/2+ Iload $Irms = sqrt($ILmin * $ILmin + $ILpp * $ILpp / 12); $Vripple = $Vout * $VRipplePercent / 100; $C = $Iout * $Ton / $Vripple; } else { // Buck $TopologyName = "Buck - Step Down"; $Topology = 3; $Duty = ($Vout - $Vd) / ($Vin - $Vtrans - $Vd); $Ton = $Duty / $F; if ($UseRipple == 1) { $ILpp = $R / 100 * $Iout; } else if ($UseRipple == 2) { $ILpp = 2 * $Ioutmin; } $ILmax = $Iout + $ILpp / 2; $ILmin = $Iout - $ILpp / 2; $Irms = sqrt($ILmin * $ILmin + $ILpp * $ILpp / 12); $L = ($Vin - $Vout - $Vtrans) / $ILpp * $Ton; $Vripple = $Vout * $VRipplePercent / 100; $C = $Iout * $Ton / $Vripple; } print(""); print(" Topology: $TopologyName\n"); print("
"); if ($UseRipple == 1) { print("Inductance based on the specified minimum load current.\n"); } else if ($UseRipple == 2) { print("Inductance based on the specified ripple current percentage.\n"); } else { print("UseRipple= $UseRipple"); } print('
Item | Value | Units |
---|---|---|
Volts In | $Vin | V |
Volts Out | $Vout | V |
Load Current | $Iout | A |
Freq. | " . $F / 1000 . " | KHz |
Vripple | $Vripple | V |
Duty Cycle | " . $Duty * 100 . " | % |
Ipp Inductor | $ILpp | A |
Ipk Inductor | $ILmax | A |
Irms | $Irms | A |
L | " . $L * 1000000 . " | uH |
C | " . $C * 1000000 . " | uF |
The design equations for which this calculator is based can be found at: