Peak Current Resistor Selection

I_peak is in amps.

(%i1) I_peak: 0.1;

Result

R_iset is in ohms.

(%i2) R_iset: I_peak * 10^6;

Result

V_in is in volts

(%i3) V_in: 130;

Result

V_out is in volts

(%i4) V_out: 12;

Result

freq is in Hertz. This value is entered and will be optimized iteratively. I will start with 100kHz as a first estimate.

(%i5) freq: 200000;

Result

Calculate inductor value (L) in Henries based on switching frequency, input and output voltages

(%i6) L: (V_out/(freq*I_peak))*(1-(V_out/V_in));

Result

Define minimum on time per datasheet page 11

(%i7) t_on_min: 150*10^-9;

Result

Ensure that inductance satisfies minimum value criteria

(%i8) L_test1: ((V_in*t_on_min)/I_peak)*1.2;

Result

(%i9) L_test2: ((V_out*3.5e-6)/1)*1.2;

Result

Select actual inductor that satisfies the critera and is approximately close to the calculated value

(%i10) L_actual: 500*10^-6;

Result

Cin and Cout Selection

Define allowable input ripple voltage. I will assume a small value of 25mV since the source is sufficiently stiff.

(%i11) delta_V_in: 25*10^-3;

Result

Therefore, the minimum input capacitor criteria is defined by:

(%i12) Cin: (L*I_peak^2)/(2*V_in*delta_V_in);

Result

For sufficient margin, a 1uF capacitor will be used. The capacitor will be ceramic for low ESR and power dissipation due to ripple.

(%i13) C_in_actual: 1*10^-6;

Result

Calculate RMS ripple input current in the input capacitor:

(%i14) I_RMS_in: I_peak*(V_out/V_in)*sqrt((V_in/V_out)-1);

Result

Convert to floating point...

(%i15) float(%), numer;

Result

Define acceptable ripple voltage. I will assume 50mV for these calculations as this is a good practical number.

(%i16) delta_V_out: 50*10^-3;

Result

Calculate the minimum output capacitance according to the criterion that [in farads]:

(%i17) C_out_min: ((L_actual/2)*(I_peak/V_out)^2)*100;

Result

Calculate worst case output capacitor ripple current [in amps]:

(%i18) I_out_ripple_WC: I_peak/2;

Result

Typical output capacitor ESR in ohms

(%i19) ESR_C_out: 0.3;

Result

Calculate power dissipation in output capacitor [watts]

(%i20) P_diss_C_out: I_out_ripple_WC^2*ESR_C_out;

Result

Input Filter Design

Calculate require capacitance of snubber capacitor [Farads]

(%i21) C_in_snubber: 4*C_in_actual;

Result

(%i22) float(%), numer;

Result

Choose input filter inductor value. I will use 100 uH as a first pick, then refine. [Henries]

(%i23) L_in_filter: 100*10^-6;

Result

(%i24) float(%), numer;

Result

Calculate required snubber resistor value [ohms]

(%i25) R_snubber: sqrt(L_in_filter/C_in_snubber);

Result

Calculate Feedback Resistor Divider

Solve the given equation for a resistor value given an output voltage. I will fix the lower resistor (R2) to 100 kohm to see
if the upper resistor (R1) is a practical value.

(%i26) R2_fb_inpractical: 100*10^3;

Result

(%i27) solve(V_out=0.8*(1+(R1_fb_inpractical/R2_fb_inpractical)), R1_fb_inpractical);

Result

(%i28) bfloat(%);

Result

R1 turns out to be an inpractical value because this will make the circuit less stable with low load current. In this case, I will set the output
voltage to 5V and use a resistive divider to divide 12V into 5V. I will use the setup in Figure 8 (page 14) and set lower resistor R2 to 10kohms.

(%i29) R2_fb: 10*10^3;

Result

(%i30) solve(Vb=Va*(R2/(R1+R2)),R1);

Result

Define the midpoint voltage of the resistive divider [volts]

(%i31) V_midpoint: 5;

Result

Solve for upper resistor R1 if lower resistor R2 is 10 kohms [ohms]

(%i32) R1_fb: -(V_midpoint-V_out*R2_fb)/V_midpoint;

Result

(%i33) float(%), numer;

Result

Calculate Undervoltage and Overvoltage Lockout Resistive Divider

Set total resistance of string [ohms]

(%i34) R_lockout_total: 2*10^6;

Result

Define Overvoltage Lockout threshold [volts]

(%i35) OVLO_threshold: 135;

Result

Define Undervoltage Lockout threshold [volts]

(%i36) UVLO_threshold: 115;

Result

Calculate R3, R4, R5 (Figure 10) based on given equations (page 15 of datasheet) [ohms]

(%i37) R5: R_lockout_total*(1.21/OVLO_threshold);

Result

(%i38) R4: (R_lockout_total*(1.21/UVLO_threshold))-R5;

Result

(%i39) R3: R_lockout_total-R5-R4;

Result

Define actual values used [ohms]

(%i40) R5_actual: 18*10^3;

Result

(%i41) R4_actual: 3.16*10^3;

Result

(%i42) R3_actual: 1.98*10^6;

Result

(%i43) R_total_actual: R5_actual+R4_actual+R3_actual;

Result

Solve equations for under and over voltage lockout voltages given resistors as variables [volts]

(%i44) solve(R5_eqn=(R_total_eqn*1.21/OVLO_threshold_eqn),OVLO_threshold_eqn);

Result

(%i45) solve(R4_eqn=(R_total_eqn*1.21/UVLO_threshold_eqn)-R5_eqn,UVLO_threshold_eqn);

Result

(%i46) OVLO_threshold_actual: (121*R_total_actual)/(100*R5_actual);

Result

(%i47) UVLO_threshold_actual: (121*R_total_actual)/(100*R5_actual+100*R4_actual);

Result

Ensure that voltage at OVLO pin is less than 6V per datasheet (page 15) [volts]

(%i48) V_max_at_OVLO_pin: V_in*(R5_actual/R_total_actual);

Result

Calculate Soft Start Capacitor Value

Set the desired soft start time delay [seconds]

(%i49) SS_time: 100*10^-3;

Result

Calculate Soft Start Capacitor value

(%i50) C_SS: SS_time*((5*10^-6)/0.8);

Result

Choose standard value for SS capacitor [Farads]

(%i51) C_SS_actual: 680*10^-9;

Result

(%i52) float(%), numer;

Result

Calculate actual soft start time [seconds]

(%i53) SS_time_actual: (C_SS_actual*0.8)/(5*10^-6);

Result


Created with wxMaxima.