\( \DeclareMathOperator{\abs}{abs} \)
(%i1) reset();
\[\mathrm{\tt (\%o1) }\quad [\mathit{features},\mathit{\_\_},\mathit{labels},\mathit{tr-unique},\mathit{lispdisp}]\]
(%i2) kill(all);
\[\mathrm{\tt (\%o0) }\quad \mathit{done}\]
(%i1) fpprec : 4;
\[\mathrm{\tt (\%o1) }\quad 4\]
(%i2) load(unit);
\[\mbox{}\\*******************************************************************\mbox{}\\*\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,Units\,version\,0.50\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,*\mbox{}\\*\,\,\,\,\,\,\,\,\,\,Definitions\,based\,on\,the\,NIST\,Reference\,on\,\,\,\,\,\,\,\,\,\,\,\,\,*\mbox{}\\*\,\,\,\,\,\,\,\,\,\,\,\,\,\,Constants,\,Units,\,and\,Uncertainty\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,*\mbox{}\\*\,\,\,\,\,\,\,Conversion\,factors\,from\,various\,sources\,including\,\,\,\,\,\,\,\,\,*\mbox{}\\*\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,NIST\,and\,the\,GNU\,units\,package\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,*\mbox{}\\*******************************************************************\mbox{}\\Redefining\,necessary\,functions...\mbox{}\\Initializing\,unit\,arrays...\mbox{}\\Done.\]\[\mathrm{\tt (\%o2) }\quad /usr/share/maxima/5.37.2/share/contrib/unit/unit.mac\]

Inductor Core Requirements and Calculations

1 Inductor Core Data and Requirements

(%i3) set_display('xml)$
(%i4) f_switching: 250*kHz;
\[\mathrm{\tt (\%o4) }\quad 250000\cdot \frac{1}{s}\]
(%i5) convert(%, kHz);
\[\mathrm{\tt (\%o5) }\quad 250\cdot \mathit{kHz}\]
(%i6) T_switching: 1/f_switching;
\[\mathrm{\tt (\%o6) }\quad \frac{1}{250000}\cdot s\]
(%i7) float(convert(%, %mus));
\[\mathrm{\tt (\%o7) }\quad 4.0\cdot \mathit{\%mus}\]

 1.1 Output Voltage

(%i8) V_o: 12*V;
\[\mathrm{\tt (\%o8) }\quad 12\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i9) convert(%, V);
\[\mathrm{\tt (\%o9) }\quad 12\cdot V\]

 1.2 Output Current

(%i10) I_o_max_nom: 5*A;
\[\mathrm{\tt (\%o10) }\quad 5\cdot A\]

Set nominal operating current to worst case load current, until better information is developed.

(%i11) I_o_nom: I_o_max_nom;
\[\mathrm{\tt (\%o11) }\quad 5\cdot A\]
(%i12) I_o_min_nom: 0.1*A;
\[\mathrm{\tt (\%o12) }\quad \frac{1}{10}\cdot A\]

 1.3 Short Circuit Output Current (Limited by control loop circuit, assume 50% over nominal load current)

50% accounts for both ripple and margin above ripple

(%i13) I_sc_peak: I_o_max_nom*1.50;
\[\mathrm{\tt (\%o13) }\quad \frac{15}{2}\cdot A\]
(%i14) float(convert(%, A));
\[\mathrm{\tt (\%o14) }\quad 7.5\cdot A\]

 1.4 Inductor Ripple Current Guesstimate (will be calculated exactly in subsequent section)

(%i15) Percent_current_ripple_peak_to_peak_guess: 0.35;
\[\mathrm{\tt (\%o15) }\quad 0.35\]
(%i16) I_ripple_peak_to_peak_max_guess: I_o_max_nom*Percent_current_ripple_peak_to_peak_guess;
\[\mathrm{\tt (\%o16) }\quad \frac{7}{4}\cdot A\]
(%i17) float(convert(%,A));
\[\mathrm{\tt (\%o17) }\quad 1.75\cdot A\]
(%i18) %delta_I_ripple_max_guess: 0.5*I_ripple_peak_to_peak_max_guess;
\[\mathrm{\tt (\%o18) }\quad \frac{7}{8}\cdot A\]
(%i19) float(convert(%,A));
\[\mathrm{\tt (\%o19) }\quad 0.875\cdot A\]

 1.5 Input Voltage

(%i20) V_i_max: 56*V;
\[\mathrm{\tt (\%o20) }\quad 56\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i21) convert(%,V);
\[\mathrm{\tt (\%o21) }\quad 56\cdot V\]
(%i22) V_i_nom: 50*V;
\[\mathrm{\tt (\%o22) }\quad 50\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i23) convert(%,V);
\[\mathrm{\tt (\%o23) }\quad 50\cdot V\]
(%i24) V_i_min: 46*V;
\[\mathrm{\tt (\%o24) }\quad 46\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i25) convert(%,V);
\[\mathrm{\tt (\%o25) }\quad 46\cdot V\]

 1.6 Max Duty Ratio (Limited by control loop. Continuous Conduction mode OK)

(%i26) D_max: 1;
\[\mathrm{\tt (\%o26) }\quad 1\]

 1.7 Output Power

(%i27) I_load: I_o_max_nom;
\[\mathrm{\tt (\%o27) }\quad 5\cdot A\]
(%i28) P_o_max: V_o*I_o_max_nom;
\[\mathrm{\tt (\%o28) }\quad 60\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}}\]
(%i29) convert(%,W);
\[\mathrm{\tt (\%o29) }\quad 60\cdot W\]

 1.8 Regulation of Inductor (Ratio of Copper Loss to Output Power as Percent)

(%i30) '%alpha=(P_Cu_loss/P_o_max)*100;
\[\mathrm{\tt (\%o30) }\quad %alpha=\frac{5\cdot \mathit{P\_Cu\_loss}}{3}\cdot \frac{1}{A\cdot V}\]
(%i31) %alpha: 0.01;
\[\mathrm{\tt (\%o31) }\quad 0.01\]

 1.9 Inductor Power Loss

(%i32) P_ind_loss: P_o_max*%alpha;
\[\mathrm{\tt (\%o32) }\quad \frac{3}{5}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}}\]
(%i33) float(convert(%,W));
\[\mathrm{\tt (\%o33) }\quad 0.6\cdot W\]

 1.10 Operating Flux Density

(%i34) B_max_nom: 0.25*T;
\[\mathrm{\tt (\%o34) }\quad \frac{1}{4}\cdot \frac{\mathit{kg}}{{{s}^{2}}\cdot A}\]
(%i35) float(convert(%,T));
\[\mathrm{\tt (\%o35) }\quad 0.25\cdot T\]

 1.11 Define Maximum Flux Density During Short Circuit

(%i36) I_ripple_peak_to_peak_max_guess;
\[\mathrm{\tt (\%o36) }\quad \frac{7}{4}\cdot A\]
(%i37) float(convert(%,A));
\[\mathrm{\tt (\%o37) }\quad 1.75\cdot A\]
(%i38) I_sc_peak;
\[\mathrm{\tt (\%o38) }\quad \frac{15}{2}\cdot A\]
(%i39) float(convert(%,A));
\[\mathrm{\tt (\%o39) }\quad 7.5\cdot A\]
(%i40) %delta_B_max_sc_pk_pk: B_max_nom*(I_ripple_peak_to_peak_max_guess/I_sc_peak);
\[\mathrm{\tt (\%o40) }\quad \frac{7}{120}\cdot \frac{\mathit{kg}}{{{s}^{2}}\cdot A}\]
(%i41) float(convert(%,T));
\[\mathrm{\tt (\%o41) }\quad 0.05833333333333333\cdot T\]
(%i42) %delta_B_max_sc_pk: %delta_B_max_sc_pk_pk*0.5;
\[\mathrm{\tt (\%o42) }\quad \frac{7}{240}\cdot \frac{\mathit{kg}}{{{s}^{2}}\cdot A}\]
(%i43) float(convert(%,T));
\[\mathrm{\tt (\%o43) }\quad 0.02916666666666667\cdot T\]
(%i44) B_max_sc_pk: B_max_nom+%delta_B_max_sc_pk;
\[\mathrm{\tt (\%o44) }\quad \frac{67}{240}\cdot \frac{\mathit{kg}}{{{s}^{2}}\cdot A}\]
(%i45) float(convert(%,T));
\[\mathrm{\tt (\%o45) }\quad 0.2791666666666667\cdot T\]

 1.12 Upper Switch Voltage Drop

(%i46) R_ds_on: 0.03*ohm;
\[\mathrm{\tt (\%o46) }\quad \frac{3}{100}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]
(%i47) float(convert(%, ohm));
\[\mathrm{\tt (\%o47) }\quad 0.03\cdot \mathit{Ohm}\]
(%i48) V_upper_sw: I_load*R_ds_on;
\[\mathrm{\tt (\%o48) }\quad \frac{3}{20}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i49) float(convert(%, V));
\[\mathrm{\tt (\%o49) }\quad 0.15\cdot V\]

 1.13 OVRV Protection Switches Voltage Drops

(%i50) num_switches: 2;
\[\mathrm{\tt (\%o50) }\quad 2\]
(%i51) I_load;
\[\mathrm{\tt (\%o51) }\quad 5\cdot A\]
(%i52) R_ds_on;
\[\mathrm{\tt (\%o52) }\quad \frac{3}{100}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]
(%i53) float(convert(%,ohm));
\[\mathrm{\tt (\%o53) }\quad 0.03\cdot \mathit{Ohm}\]
(%i54) V_first_OVRV_switch: I_load*R_ds_on;
\[\mathrm{\tt (\%o54) }\quad \frac{3}{20}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i55) float(convert(%,V));
\[\mathrm{\tt (\%o55) }\quad 0.15\cdot V\]
(%i56) V_second_OVRV_switch: I_load*R_ds_on;
\[\mathrm{\tt (\%o56) }\quad \frac{3}{20}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i57) float(convert(%,V));
\[\mathrm{\tt (\%o57) }\quad 0.15\cdot V\]

 1.14 Current Sense Resistor Voltage Drops

(%i58) num_R_sense: 2;
\[\mathrm{\tt (\%o58) }\quad 2\]
(%i59) R_sense: 0.01*ohm;
\[\mathrm{\tt (\%o59) }\quad \frac{1}{100}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]
(%i60) float(convert(%,ohm));
\[\mathrm{\tt (\%o60) }\quad 0.01\cdot \mathit{Ohm}\]
(%i61) V_R_sense: I_load*R_sense;
\[\mathrm{\tt (\%o61) }\quad \frac{1}{20}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i62) float(convert(%, V));
\[\mathrm{\tt (\%o62) }\quad 0.05\cdot V\]

 1.15 Total In-Load-Current Path Voltage Drops

(%i63) V_drop_total: V_first_OVRV_switch + V_second_OVRV_switch + (num_R_sense*V_R_sense);
\[\mathrm{\tt (\%o63) }\quad \frac{2}{5}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot A}\]
(%i64) float(convert(%,V));
\[\mathrm{\tt (\%o64) }\quad 0.4\cdot V\]

2 General Operating Calculations

 2.1 Calculate the load resistances

(%i65) R_load_nom: V_o/I_o_nom;
\[\mathrm{\tt (\%o65) }\quad \frac{12}{5}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]
(%i66) float(convert(%,ohm));
\[\mathrm{\tt (\%o66) }\quad 2.4\cdot \mathit{Ohm}\]
(%i67) R_load_min_nom: V_o/I_o_min_nom;
\[\mathrm{\tt (\%o67) }\quad 120\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]
(%i68) float(convert(%,ohm));
\[\mathrm{\tt (\%o68) }\quad 120.0\cdot \mathit{Ohm}\]

 2.2 Calculate the duty ratios

(%i69) D_min: V_o/V_i_max;
\[\mathrm{\tt (\%o69) }\quad \frac{3}{14}\]
(%i70) float(%);
\[\mathrm{\tt (\%o70) }\quad 0.2142857142857143\]
(%i71) D_nom: V_o/V_i_nom;
\[\mathrm{\tt (\%o71) }\quad \frac{6}{25}\]
(%i72) float(%);
\[\mathrm{\tt (\%o72) }\quad 0.24\]
(%i73) D_max: V_o/V_i_min;
\[\mathrm{\tt (\%o73) }\quad \frac{6}{23}\]
(%i74) float(%);
\[\mathrm{\tt (\%o74) }\quad 0.2608695652173913\]

 2.3 Calculate the minimum required inductance to maintain continuous conduction under minimum load

By the App Notes

(%i75) L_min: ((V_o + V_drop_total)*(1-D_min)*T_switching)/(2*I_o_min_nom);
\[\mathrm{\tt (\%o75) }\quad \frac{341}{1750000}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{2}}\cdot {{A}^{2}}}\]
(%i76) float(convert(%, %muH));
\[\mathrm{\tt (\%o76) }\quad 194.8571428571429\cdot \mathit{\%muH}\]

By the Textbook

(%i77) R_load_min_nom;
\[\mathrm{\tt (\%o77) }\quad 120\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]
(%i78) float(convert(%,ohm));
\[\mathrm{\tt (\%o78) }\quad 120.0\cdot \mathit{Ohm}\]
(%i79) L_min: ((1-D_min)*R_load_min_nom)/(2*f_switching);
\[\mathrm{\tt (\%o79) }\quad \frac{33}{175000}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{2}}\cdot {{A}^{2}}}\]
(%i80) float(convert(%, %muH));
\[\mathrm{\tt (\%o80) }\quad 188.5714285714286\cdot \mathit{\%muH}\]

Continuous conduction is not possible at the minimum load, since an inductor that can carry max load current and have this required inductance is not readily available.  LTC3891 datasheet page 12 states that the controller will let the inductor current enter discontinuous operation, by enabling high-efficiency burst mode.  Therefore, we can choose an inductor by targeting desired ripple current, i.e. maintaining peak magnetic flux density below the saturation with some margin.

By LTC3891 Datasheet page 16

(%i81) '%delta_I_nom=(1/(f_switching*L_min))*V_o*(1-V_o/V_i_nom);
\[\mathrm{\tt (\%o81) }\quad \mathit{\%delta\_I\_nom}=0.1934545454545454\cdot A\]
(%i82) I_sc_peak;
\[\mathrm{\tt (\%o82) }\quad \frac{15}{2}\cdot A\]
(%i83) L_min: (1/(f_switching*0.3*I_sc_peak))*V_o*(1-(V_o/V_i_min));
\[\mathrm{\tt (\%o83) }\quad \frac{17}{1078125}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{2}}\cdot {{A}^{2}}}\]
(%i84) float(convert(%, %muH));
\[\mathrm{\tt (\%o84) }\quad 15.76811594202899\cdot \mathit{\%muH}\]

Add 20% engineering margin to ensure component tolerance does not cause saturation.

(%i85) L_min: L_min*1.2;
\[\mathrm{\tt (\%o85) }\quad \frac{34}{1796875}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{2}}\cdot {{A}^{2}}}\]
(%i86) float(convert(%, %muH));
\[\mathrm{\tt (\%o86) }\quad 18.92173913043478\cdot \mathit{\%muH}\]

Select the L_min here

(%i87) L_min: 22*%muH;
\[\mathrm{\tt (\%o87) }\quad \frac{11}{500000}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{2}}\cdot {{A}^{2}}}\]
(%i88) float(convert(%, %muH));
\[\mathrm{\tt (\%o88) }\quad 22.0\cdot \mathit{\%muH}\]

3 Calculate Nominal Operating Conditions

 3.1 Calculate the delta current (nominal conditions)

By the Textbook

(%i89) %delta_I_nom_pk_pk: V_o*(1-D_nom)/(L_min*f_switching);
\[\mathrm{\tt (\%o89) }\quad \frac{456}{275}\cdot A\]
(%i90) float(convert(%,A));
\[\mathrm{\tt (\%o90) }\quad 1.658181818181818\cdot A\]
(%i91) %delta_I_nom_pk: %delta_I_nom_pk_pk*0.5;
\[\mathrm{\tt (\%o91) }\quad \frac{228}{275}\cdot A\]
(%i92) float(convert(%,A));
\[\mathrm{\tt (\%o92) }\quad 0.8290909090909091\cdot A\]

By the App Notes

(%i93) %delta_I_nom_pk_pk: (T_switching*V_i_max*D_min*(1-D_min))/L_min;
\[\mathrm{\tt (\%o93) }\quad \frac{12}{7}\cdot A\]
(%i94) float(convert(%,A));
\[\mathrm{\tt (\%o94) }\quad 1.714285714285714\cdot A\]
(%i95) %delta_I_nom_pk: %delta_I_nom_pk_pk*0.5;
\[\mathrm{\tt (\%o95) }\quad \frac{6}{7}\cdot A\]
(%i96) float(convert(%,A));
\[\mathrm{\tt (\%o96) }\quad 0.8571428571428571\cdot A\]

 3.2 Calculate the peak current (nominal conditions)

(%i97) I_peak_nom: I_load+%delta_I_nom_pk_pk/2;
\[\mathrm{\tt (\%o97) }\quad \frac{41}{7}\cdot A\]
(%i98) float(convert(%,A));
\[\mathrm{\tt (\%o98) }\quad 5.857142857142857\cdot A\]

4 Calculate Short-Circuit Operating Conditions

 4.1 Calculate the delta current (short-circuit conditions)

LTC3891 Datasheet page 21 describes minimum on time as 95ns

(%i99) t_on_min_LTC3891: 95*ns;
\[\mathrm{\tt (\%o99) }\quad \frac{19}{200000000}\cdot s\]
(%i100) float(convert(%,ns));
\[\mathrm{\tt (\%o100) }\quad 95.0\cdot \mathit{ns}\]
(%i101) D_max_sc: t_on_min_LTC3891/T_switching;
\[\mathrm{\tt (\%o101) }\quad \frac{19}{800}\]
(%i102) float(%);
\[\mathrm{\tt (\%o102) }\quad 0.02375\]

Use the minimum on time to calculate the ripple current during short-circuit

(%i103) %delta_I_max: (T_switching*V_i_max*D_max_sc*(1-D_max_sc))/L_min;
\[\mathrm{\tt (\%o103) }\quad \frac{9443}{40000}\cdot A\]
(%i104) float(convert(%,A));
\[\mathrm{\tt (\%o104) }\quad 0.236075\cdot A\]
(%i105) I_ripple_peak_to_peak_max_guess;
\[\mathrm{\tt (\%o105) }\quad \frac{7}{4}\cdot A\]
(%i106) float(convert(%,A));
\[\mathrm{\tt (\%o106) }\quad 1.75\cdot A\]

Since our guess is larger than than the calculated short-circuit ripple current, sufficient margin exist until saturation, and adjustment is not necessary.

5 Calculate Inductor Core Required Physical Characteristics

 5.1 Calculate the energy store within the inductor (nominal conditions)

(%i107) E_inductor_nom: (1/2)*L_min*I_peak_nom^2;
\[\mathrm{\tt (\%o107) }\quad \frac{18491}{49000000}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{2}}}\]
(%i108) float(convert(%,%muJ));
\[\mathrm{\tt (\%o108) }\quad 377.3673469387755\cdot \mathit{\%muJ}\]

 5.2 Calculate the electrical conditions, Ke (for ferrite, nominal conditions)

(%i109) K_e: 0.145*(P_o_max)*(B_max_nom^2)*10^-4;
\[\mathrm{\tt (\%o109) }\quad \frac{87}{1600000}\cdot \frac{{{\mathit{kg}}^{3}}\cdot {{m}^{2}}}{{{s}^{7}}\cdot {{A}^{2}}}\]
(%i110) float(87/1600000);
\[\mathrm{\tt (\%o110) }\quad 5.4375\cdot {{10}^{-5}}\]

 5.3 Calculate the core geometry, Kg [cm^5] (nominal conditions)

(%i111) K_g: (E_inductor_nom^2)/(K_e*%alpha);
\[\mathrm{\tt (\%o111) }\quad \frac{341917081}{1305543750}\cdot \frac{{{m}^{2}}\cdot {{s}^{3}}\cdot {{A}^{2}}}{\mathit{kg}}\]
(%i112) float(341917081/1305543750);
\[\mathrm{\tt (\%o112) }\quad 0.2618963025942256\]

6 Inductor Core & Winding Loss Calculator

(%i113) L_DCR: 0.026*ohm;
\[\mathrm{\tt (\%o113) }\quad \frac{13}{500}\cdot \frac{\mathit{kg}\cdot {{m}^{2}}}{{{s}^{3}}\cdot {{A}^{2}}}\]


Created with wxMaxima.