Here's how far I got:
maxima file and a .csv based on mostly epcos datasheets. no idea if any of this is correct
-------------------------------xfrmr.mac---------------------------------------
/*
try to guess the power capability of the cores.
using the AP estimate in slup126.pdf
makelist([
(ui[e+1][2]+ui[e][2])/2,
(ui[e+1][1]-ui[e][1])/(ui[e+1][2]-ui[e][2])
],e,2,length(ui)-1,1);
write_data([["Id","Ud'"],%],"dif1.csv",comma);
*/
kill(all);
Po(AP,K,B,f_t):=(AP*100000000)^(3/4)*K*B*f_t;
load("numericalio.lisp");
cores:read_nested_list("cores.csv",comma);
cores:makelist(cores[e],e,2,length(cores),1);
pwr:makelist(Po(cores[e][6]*cores[e][9],0.014,200e-3,100000),e,1,length(cores),1);
/*
the pm is a tad too big (3000W vs 520W)
They(EPCOS) don't include the ring cores
in their simulation tool
want something more detailed..
The plan:
1)guess rtherm from v/surface
2)calc deltaB and currents for equal dissipation Pcore=Pwinding
3)check the temp rise is ok
1)R_th
(EPCOS Ferrites and accessoires)
R_th ~=1/sqrt(V_e)
(a point from their R_th graph)
R_th(300e-9 m^3)=100K/W
100=K/sqrt(300e-9)
K = 0.0547722557505166
therefore:
*/
R_th(V_e) :=0.0548/sqrt(V_e);
delta_T(P_v,R_th) :=P_v*R_th;
/*
transferrable power:
Ptrans=C*delta_B*f*A_e*A_n*J
A_N is copper cross section m^2
A_e is core cross section mm^2
J current density A/m^2
C=1 for push pull
delta_B flux dens variation Vs/m^2
f freq 1/s
Power loss:
P_v=P_vc+P_vj
P_vj=I^2*N*R_cu
P_vc(B,f)=K*f^(1+x)*B^(2+y)
x,y 0..1
delta_B=V*t/(N*A_e)
find the koeff K and exp y for core loss
logexpand:super
B,P
30e-3,7e+3
90e-3,100e+3
dy/dx=
(log(100e+3)-log(7e+3))/(log(90e-3)-log(30e-3));
2.420562799417347
y=k*x+d
y=log(P)
k=dy/dx
x=log(B)
d=?
d = 8.781048544054926
log(P)=2.42*log(B)+8.7810485
P=6509.699302573376*B^(2+0.420562799417347)
y=0.4...
try again for K
K=3.398769238238504E+7
P_B(B):=3.398769238238504E+7*B^(2+0.420562799417347);
now K and x for P(f)
P(f)=K*f^(1+x)
f,Pv
30e3,30e3
300e3,600e3
dy/dx=
(log(600e+3)-log(30e+3))/(log(300e+3)-log(30e+3));
1.301029995663981
d = - 3.103303974733933
P(f):=K*f^(1+0.301029995663981)
K = 0.04490060658064694
P_f(f):=0.04490060658064694*f^(1+0.301029995663981)
now how2 combine?
P_vc(B,f)=K*f^(1+x)*B^(2+y)
K=guessed 11.4
*/
P_vc1(B,f):=11.4*f^(1+0.301029995663981)*B^(2+0.420562799417347);
/*
winding losses:
want those in terms of window area. filling factor 0.4
*/
P_vj(I,l,rho,A_n):=I^2*l*rho/(A_n*0.4);
/*
more accurate l based on inner and outer winding radius
circular bobbins:
fullratsimp(integrate(2*%pi*r,r,r1,r2)/(r2-r1));
l=%pi*r2+%pi*r1;
ring cores:
l1(h,da,di):=2*(h+da-di);
l2(h,da,di):=2*(da/2+di/2+h+di);
l(h,da,di):=(l1(h,da,di)+l2(h,da,di))/2;
vind=dphi/dt
vind=db/dt*a
B=integral(v/a)dt t=0 t=T/2
B=V*(T/2-0)/A
B=V*T/(2*A)
V=Vin/N
*/
delta_B(V,T,N,A_e):=V*T/(2*N*A_e);
B(delta_B):=delta_B/2;
P_vc(f,V,N,A_e,V_e):=P_vc1(B(delta_B(V,1/f,N,A_e)),f)*V_e;
/*
assume p and s winding same voltage + current
if I keep P=u*i const what's the opt u/i, N
with min loss?
P_vc increases times 2^2.5 for half N, double v, half core area
increases times (2^(1.3))/(2^(2.5))=0.43 for twice f
P_vj incr times 4 for twice I, 2 for 2 l, 0.5 for twice A_n
*/
I1:24;
V1:31.4;
N1:4;
RN:800/16;
I2:500e-3;
V2:800;
N2:N1*RN;
pvj_l:makelist(P_vj(I1*N1,cores[e][10],2.3e-8,cores[e][9]*(1-0.417))+P_vj(I2*N2,cores[e][10],2.3e-8,cores[e][9]*(0.417)),e,1,length(cores),1);
pvc_l:makelist(P_vc(100e3,V2,N2,cores[e][6],cores[e][7]),e,1,length(cores),1);
rth_l:makelist(R_th(cores[e][7]),e,1,length(cores),1);
delta_t_l:makelist(delta_T(pvj_l[e]+pvc_l[e],rth_l[e]),e,1,length(cores),1);
/*
I1*N1/A1=I2*N2/A2
A1/A2=(I1*N1)/(I2*N2)
A1/A=0.7172413793103448/1.7172413793103448;
0.417...
(area ratio prim/sec winding based on rms currents
from the simulation I1,I2)
find the minima?
best_N:makelist(
solve(
diff(
P_vj(I*BN,cores[e][10],2.3e-6,cores[e][9])+P_vc(100e3,V,BN,cores[e][6],cores[e][7]),BN
)=0,BN),e,1,length(cores),1);
it's too dumb for that..
have to log and then..
solveradcan:true...
logsolve:true...
??
*/
------------------------------------------cores.csv--------------------------------------------------
Name,al,mu_i,sum_L_over_A,L_e,A_e,V_e,mass,A_n,l_w
"R10",900e-9,1500,3.07e+3,24.07e-3,7.83e-6,188e-9,0.9e-3,28.27e-6,28.325e-3
"R12",1330e-9,2200,2.08e+3,31.17e-3,14.96e-6,466e-9,2.4e-3,49.02e-6,38.25e-3
"R16",1420e-9,2200,1.95e+3,38.52e-3,19.73e-6,760e-9,3.7e-3,72.38e-6,44.65e-3
"R29.5",2880e-9,2200,0.96e+3,73.78e-3,76.98e-6,5680e-9,27e-3,283.5e-6,87.55e-3
"R102",2880e-9,2200,0.96e+3,255.3e-3,267.2e-6,68220e-9,330e-3,3400.49e-6,222.05e-3
"PM62/49",9200e-9,1400,0.191e+3,109e-3,570e-6,62000e-9,280e-3,292.5e-6,198.86e-3
"PM50/39",7400e-9,1340,0.227e+3,84e-3,370e-6,31000e-9,140e-3,196.3e-6,97.232e-3
"ETD29/16/10",2860e-9,2160,0.947e+3,72e-3,76e-6,5470e-9,28e-3,95e-6,53e-3
"ETD39/20/13",2700e-9,1600,0.74e+3,92.2e-3,125e-6,11500e-9,60e-3,178e-6,69e-3
"ETD49/25/16",3800e-9,1630,0.54e+3,114e-3,211e-6,24100e-9,124e-3,269.4e-6,86.7e-3
"ETD59/31/22",5300e-9,1590,0.38e+3,139e-3,368e-6,51200e-9,260e-3,365.6e-6,106.61e-3
"RM14",6000e-9,1670,0.35e+3,70e-3,200e-6,14000e-9,74e-3,140e-6,71.63e-3
"E80/38/20",4590e-9,1710,0.470e+3,184e-3,392e-6,72300e-9,360e-3,1628e-6,157.8e-3
"E71/33/32",10000e-9,1740,0.218e+3,149e-3,683e-6,102000e-9,520e-3,1628e-6,160e-3
"E56/24/19",6900e-9,1730,0.31e+3,107e-3,340e-6,36400e-9,184e-3,281.78e-6,113.8e-3
"E55/28/25",9860e-9,2300,0.239e+3,123e-3,420e-6,52000e-9,260e-3,360e-6,164e-3
"E55/28/21",6300e-9,1760,0.350e+3,124e-3,353e-6,44000e-9,216e-3,375.55e-6,117.0e-3
"E42/21/20",5200e-9,1690,0.41e+3,97e-3,234e-6,22700e-9,116e-3,172e-6,100e-3
"E42/21/15",3950e-9,1710,0.548e+3,97e-3,178e-6,17300e-9,88e-3,177e-6,87e-3
"E36/18/11",3100e-9,1500,0.68e+3,81e-3,120e-6,9670e-9,50e-3,122.55e-6,76.4e-3