Lecture 8: A Design Example - An Electromagnetsudhoff/ee630/Lecture08.pdf · A Design Example - An...
Transcript of Lecture 8: A Design Example - An Electromagnetsudhoff/ee630/Lecture08.pdf · A Design Example - An...
Lecture 8:A Design Example -An Electromagnet
2
Objective
Use a genetic algorithm to solve an engineering design example
3
The ProblemDesign an electromagnet to lift a mass.
f
bv
br
Battery
i
M
4
SpecificationsMass
10 kG10 cm by 10 cm areaMagnetic material should not overlap massMust lift from distance of 5 mm Gravity is on surface of Earth (G=9.8 m/s2)
Batteryvb = 12 Vrb = 0.5 ΩCurrent should not exceed 6 A
5
Specifications (Continued)Winding
Should not exceed packing factor of 0.7May use Aluminum (Al) or Copper (Cu)Aluminum
Density (ρw) = 2701 Kg/m3
Conductivity (σw) = 35.4 1 1/(μmΩ)Current Density (jmax) = 6.14 MA/m2
CopperDensity (ρw) = 8900 Kg/m3
Conductivity (σw) = 58.0 1/(μmΩ)Current Density (jmax) = 7.62 MA/m2
6
Specifications (Continued)
Magnetic MaterialMicrosil
Bsat = 1.4 T, μ = 15000 μ0 , ρm = 7064 Kg/m3
Superperm 80Bsat = 0.7 T, μ = 6000 μ0 , ρm = 8069 Kg/m3
Superperm 49Bsat = 1.2 T, μ = 3500 μ0 , ρm = 7892 Kg/m3
7
Specifications (Continued Again)
Size (Mass)Total mass of electromagnet should be as small as possible
8
Electromagnet Dimensions
g
sw ewew
ww
sdwd
Depth intopage = d
iw
bw
9
Design Variables
WireMaterial Type mw
1=Cu, 2=A)Conductor Cross Section acNumber of Turns N
Magnetic MaterialMaterial Type mm
1=Microsil, 2=Superperm 80, 3=Superperm 49)
10
Design Variables (Continued)
CoreSlot width wsWire window width wwSlot depth dsWire window depth dwEnd width weI-core width wiBack width wbDepth d
11
Parameter Vector
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
drrwrdrwmNam
wb
wi
e
dw
s
ww
s
m
w
w
θ
swww wrw =
sdww drd =
ewii wrw =
ewbb wrw =
12
Data Vector
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=Ψ
maxf
max
max
max
sat
w
m
w
plJiB
gGM
,
σρρ
13
Electrical Analysis
Goal
Matlab m-file: Electrical_Analysis.m
),( Ψθelec
f
Fij
p=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
14
Electrical AnalysisPacking factor
Winding volume (conductor)
Winding length
ww
cf dw
Nap =
( )( )wwbwwfw wdwddwpv 222 π++=
c
ww a
vl =
15
Electrical Analysis (Cont.)
Winding resistance
Current
Current Density
wc
ww a
lrσ
=
wb
b
rrvi+
=
caij =
16
Magnetic Analysis
Goal
Matlab m-file: Magnetic_Analysis.m
),,(
5,4
3,2
2,1
1,0
Ψθ iF
fBBBB
mag
e
=
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
17
Magnetic Equivalent Circuit
g
sw ewew
sdwd
1N
2N
3N
4N5N
6N
7N
ww
iw
bw0N
18
Magnetic Equivalent Circuit (Cont)
hlP
Ni1N
2N
3N
4N5N
6N
7N
2,1P
3,2P
4,3P
5,4P
6,5P
7,6P
vlP
0N
eP
1,0P
7,0P
3,6P
1,0Φ
2,1Φ
3,2Φ
5,4Φ
19
Review: Magnetic Equivalent Circuits
20
Magnetic Material Permeances
wb
e
dwdw
PP+
==μ2
7,02,1
2/7,63,2ws
e
dddwPP
−==
μ
es
i
wwdw
P+
=μ
5,4
es
b
wwdw
P+
=μ
1,0
g
sw ewew
sdwd
1N
2N
3N
4N5N
6N
7N
ww
iw
bw0N
21
Air Gap Permeances
g
sw ewew
sdwd
1N
2N
3N
4N5N
6N
7N
ww
iw
bw0N
⎟⎟⎠
⎞⎜⎜⎝
⎛+
−+
−=
s
ews
s
ws
wwdd
wddd
Pπ
πμμ
1ln)(2)( 00
3,6
444 3444 2144444 344444 21
44 344 21321
facesbackfront
ie
faceinner
ss
faceouter
i
facemain
e
gww
gdwd
gwd
gdw
PP
/
00
006,54,3
1ln2
4),min(
1ln2
1ln
⎟⎟⎠
⎞⎜⎜⎝
⎛++⎟⎟
⎠
⎞⎜⎜⎝
⎛+
+⎟⎟⎠
⎞⎜⎜⎝
⎛++==
ππ
μππμ
ππ
μμ
22
Hor. And Vert. Leakage Permeances
g
sw ewew
sdwd
1N
2N
3N
4N5N
6N
7N
ww
iw
bw0N
gddwP
s
wvl +
= 0
61 μ
⎟⎟⎠
⎞⎜⎜⎝
⎛++=
s
ew
s
whl w
wdw
ddP ππ
μμ 1ln3
231 00
23
End Leakage Permeance
g
sw ewew
sdwd
1N
2N
3N
4N5N
6N
7N
ww
iw
bw0N
wst ddw −=
bt
btbtww
bt
ebte
wwwwwwdw
wwwdwwP
+++
++
+=
)2(1)2(0
1μ
ww wdk 21 −=
⎪⎩
⎪⎨⎧
≤
>=
www
www
wddwdw
k2
2
222
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
⎟⎟⎠
⎞⎜⎜⎝
⎛++−
+++
=
1
241
231
22
21
321
42
220
2 221ln168
2412
8)2(
kkkkk
kkkkk
dwwd
Pww
ee
μ
21 eee PPP +=
24
Nodal Equations
hlP
Ni1N
2N
3N
4N5N
6N
7N
2,1P
3,2P
4,3P
5,4P
6,5P
7,6P
vlP
0N
eP
1,0P
7,0P
3,6P
1,0Φ
2,1Φ
3,2Φ
5,4Φ
( ) ( ) 02,12111,01 =−++− PFFPFPNiF e
( ) ( ) ( ) 03,232722,112 =−+−+− PFFPFFPFF hl
( ) ( ) ( ) 03,2234,3433,663 =−+−+− PFFPFFPFF
( ) ( ) 05,4544,334 =−+− PFFPFF
( ) ( ) 06,5655,445 =−+− PFFPFF
( ) ( ) ( ) 03,6366,5567,676 =−+−+− PFFPFFPFF
( ) ( ) 07,667277,07 =−+−+ PFFPFFPF hl
25
Nodal Equations (Cont)
columnstPNiPF
11
1,0−=
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
++−−−++−−
−+−−+−
−−++−−−++−
−++
=
7,67,07,6
7,63,66,57,66,53,6
6,56,55,45,4
5,45,44,34,3
3,64,33,24,33,63,2
3,23,22,12,1
2,12,11,0
0000000
00000000000
00000000
PPPPPPPPPPP
PPPPPPPP
PPPPPPPPPPPP
PPPP
P
hlhl
hlhl
e
[ ] TFFFFFFFF =7654321
26
Fluxes
hlP
Ni1N
2N
3N
4N5N
6N
7N
2,1P
3,2P
4,3P
5,4P
6,5P
7,6P
vlP
0N
eP
1,0P
7,0P
3,6P
1,0Φ
2,1Φ
3,2Φ
5,4Φ
( )
7,077,0
7,6767,6
6,5656,5
5,4545,4
4,3434,3
3,232
2,1212,1
1,011,0
)()(
)()()()(
PFPFFPFFPFFPFFPFFPFFPFNi
=Φ
−=Φ
−=Φ
−=Φ
−=Φ
−=Φ
−=Φ
−=Φ
2,3
27
Flux Densities
dwB
dwB
dwB
dwB
i
e
e
b
5,45,4
3,23,2
2,12,1
1,01,0
Φ=
Φ=
Φ=
Φ=
g
sw ewew
sdwd
1N
2N
3N
4N5N
6N
7N
ww
iw
bw0N
28
Force
( )( )
( )( ) ( )i
ie
ss
ss
i
ie
wggwdw
dwggdwd
wggdw
gdw
gP
gP
πμ
πμ
πμμ
+−
+−
+−−=
∂
∂=
∂
∂ 0,002
06,54,3 2,min44
min2
( )20
61
gddw
gP
s
wvl
+−=
∂∂ μ
Using co-energy techniques and assuming magnetic linearity it can be shown
29
Force (Cont.)
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
∂
∂
∂
∂−
∂
∂−
∂
∂∂
∂
∂
∂−
∂
∂−
∂
∂
=∂∂
0000000
00000
00000
00000
00000
00000000000000
6,56,5
6,56,5
4,34,3
4,34,3
gP
gP
gP
gP
gP
gP
gP
gP
gP
30
Force (Continued)
[ ] [ ]g
PNP
gPPPN
gL vl
∂∂
+∂∂
=∂∂ −− 2
column1st1
row1st 12
012
2
21 i
gLfe ∂
∂−=
31
Setting Up Constraints
Less than function
⎪⎪⎩
⎪⎪⎨
⎧
>
Δ−
+
≤
=Δ maxmax
max
max xx
xxx
xx
xxxltne1
11
),,(
32
Setting Up Constraints
Greater than function
⎪⎪⎩
⎪⎪⎨
⎧
<
Δ−
+
≥
=Δ minmin
min
min xx
xxx
xx
xxxgtne1
11
),,(
33
Geometrical Constraints
Recall, magnetic material should not overlap mass
)1.0,,2( max1 llwwltnec maxes +=
)1.0,,(2 maxmax lldltnec =
34
Electrical Constraints
Packing Factor
Current Density
Current
)1.0,,( ,,3 maxfmaxff pppltnec =
)1.0,,(4 maxmax Jjjltnec =
)1.0,,(5 maxmax iiiltnec =
35
Flux Density Constraints
Back of U-Core
Back of Legs
Front of Legs
I-Core
)01.0,,( 1,06 satsat BBBltnec =
)01.0,,( 2,17 satsat BBBltnec =
)01.0,,( 3,28 satsat BBBltnec =
)01.0,,( 5,49 satsat BBBltnec =
36
Force Constraints
We must lift mass (and I-core)
GwwdwMf mesireq ))2(( ρ++=
)01.0,,(10 reqreqe fffgtnec =
37
Performance Metrics
Total mass
( )( )( ) wwwbwwf
mibeses
wdwddwp
dwwwwdwdm
ρπ
ρ2
1
22
))(2(2
++
++++=
g
sw ewew
ww
sdwd
Depth intopage = d
iw
bw
38
Fitness Function
Combined constraint
Fitness Function
),,min( 1021 cccc L=
⎪⎪⎩
⎪⎪⎨
⎧
<−
=+=
∑=
110
11
10
1
1
cc
cm
ci
εf
39
Code Organization
Design CodesElectromagnet_Design.m
GOSETElectromagnet_Fitness.m
Electrical_Analysis.mMagnetic_Analysis.m
40
Code Organization (Cont)
Supporting RoutinesElectromagnet_Drawing1Electromagnet_Drawing2Electromagnet_Design_ReviewElectromagnet_Design_MultirunElectromagnet_Design_Multrun_Review
41
Electromagnet_Design.m (1/3)% Electromagnet Design%% Written by:% Ricky Chan for S.D. Sudhoff% School of Electrical and Computer Engineering% 1285 Electrical Engineering Building% West Lafayette, IN 47907-1285% E-mail: [email protected]
% Set Up PopulationGAP = gapdefault;GAP.fp_ngen = 2500;GAP.fp_ipop = 500;GAP.fp_npop = 500;GAP.mc_alg = 4.0;GAP.dt_alg = 3;
% Set Up MigrationsGAP.mg_nreg=5; % number of regionsGAP.mg_tmig=100; % mean time between migrationsGAP.mg_pmig=0.05; % probability of a individual migrating
% Unitsmm=1.0e-3;cm=1.0e-2;
42
Electromagnet_Design.m (2/3)% Problem Requirement Data Psi.M = 10; % Mass of object (Kg)Psi.G = 9.8; % Gravity (m/s2)Psi.g = 0.5*cm; % Gap Width (m)Psi.rhow = [ 8900; 2701]; % Wire - Kg/m3 Psi.sigmaw = [ 58.0; 35.4]*1e6; % Wire - A/OhmPsi.jmaxw = [ 7.62; 6.14]*1e6; % Wire - A/m2Psi.descw = ['Copper '; 'Aluminum']; % Wire - DescriptionPsi.bmaxm = [ 1.4; 0.7; 1.2]; % Steel - Bsat, TPsi.rhom = [7064.1; 8069.4; 7892.1]; % Steel - Density Kg/m3Psi.myum = [ 15000; 6000; 3500]; % Steel - Perm., (relative)Psi.descm = ['Microsil '; ...
'Superperm 80'; ...'Superperm 49']; % Steel - Description
Psi.imax = 6; % Maximum current, APsi.lmax = 10e-2; % Maximum lengthPsi.pfmax = 0.7; % Maximum packing factorPsi.vb = 12; % Battery VoltagePsi.rb = 0.5; % Battery Resistance
43
Electromagnet_Design.m (3/3)% Genetic Mapping% mw ac N mm ws rww ds rdw we rwi rwb dGAP.gd_min = [ 1 1e-8 10 1 1*cm 0.1 1*mm 0.1 1*mm 0.2 0.2 1*mm];GAP.gd_max = [ 2 1e-4 1e3 3 10*cm 1.0 20*cm 1.0 5*cm 2.0 2.0 10*cm];GAP.gd_type = [ 1 3 3 1 3 3 3 3 3 3 3 3 ];GAP.gd_cid = [ 1 1 1 1 1 1 1 1 1 1 1 1 ];
% Solve Problem[fP,GAS]= gaoptimize(@Electromagnet_Fitness,GAP,Psi,[],[],[]);
% Get Final Answer and Plotfinal_parameters = GAS.bestgenes(:,end);f = Electromagnet_Fitness(final_parameters,Psi,23);
% Save runs=input('Type 1 to Save Run ');if (s==1)
save samplerunend
44
Electromagnet_Fitness.m (1/7)function fitness = Electromagnet_Fitness(param,Psi,figNum)
% ELECTROMAGNET_FITNESS %% fitness = Electromagnet_Fitness(param,Psi,x)%% Inputs:% param = design parameters% Psi = data vectors% x = optional input to print out extra information%% Outputs:% fitness = fitness value%% Written by:% Ricky Chan for S.D. Sudhoff% School of Electrical and Computer Engineering% 1285 Electrical Engineering Building% West Lafayette, IN 47907-1285% E-mail: [email protected]
45
Electromagnet_Fitness.m (2/7)% Map to nicer variable namesmw = param(1);ac = param(2);N = round(param(3));mm = param(4);ws = param(5);rww = param(6);ds = param(7);rdw = param(8);we = param(9);rwi = param(10);rwb = param(11);d = param(12);
46
Electromagnet_Fitness.m (3/7)% Computing the width of winding (ww), depth of winding (dw), width of the% I core (wi), and the width of the back of the U core (wb)ww = rww*ws;dw = rdw*ds;wi = rwi*we;wb = rwb*we;
% Electrical Circuit Analysis[pf, j, i] = Electrical_Analysis(param,Psi);
% Magnetic Analysis[B01, B12, B23, B45, fe] = Magnetic_Analysis(param,Psi,i);
% Constraintslmax = Psi.lmax;pfmax = Psi.pfmax;jmaxw = Psi.jmaxw(mw);imax = Psi.imax;bmax = Psi.bmaxm(mm);rhom = Psi.rhom(mm);rhow = Psi.rhow(mw);
47
Electromagnet_Fitness.m (4/7)c1 = ltne(ws+2*we,lmax,0.1*lmax);c2 = ltne(d,lmax,0.1*lmax);c3 = ltne(pf,pfmax,0.1*pfmax);c4 = ltne(j,jmaxw,0.1*jmaxw);c5 = ltne(i,imax,0.1*imax);c6 = ltne(B01,bmax,0.01*bmax);c7 = ltne(B12,bmax,0.01*bmax);c8 = ltne(B23,bmax,0.01*bmax);c9 = ltne(B45,bmax,0.01*bmax);f_req = (Psi.M + wi*d*(ws+2*we)*rhom)*Psi.G;c10 = gtne(fe,f_req,0.01*f_req);
% find the aggregrate constraintc = [c1 c2 c3 c4 c5 c6 c7 c8 c9 c10];cmin = min(c);
% design objectivem1 = (2*ds*we*d + (ws+2*we)*(wb+wi)*d)*rhom + ...
pf*(ww*dw*(2*d+2*wb)+pi*dw^2*ww)*rhow;
% compute the fitness if (cmin == 1)
fitness = 1/(m1+1e-6);else
fitness = sum(c)-length(c);end
48
Electromagnet_Fitness.m (5/7)% if more than 3 arguments, plot the result% and write a reportif nargin >= 3
format short g
disp('Parameters'); disp(['Parameter 1: Wire type ',Psi.descw(mw,:)]);disp(['Parameter 2: Wire cross section is ', num2str(ac), ' m^2']);disp(['Parameter 3: Number of turns is ', num2str(N)]);disp(['Parameter 4: Magnetic material is ', Psi.descm(mm,:)]);disp(['Parameter 5: Slot width is ',num2str(ws*100),' cm']);disp(['Parameter 6: Winding width is ',num2str(rww*100),'% slot width']);disp(['Parameter 7: Slot depth is ',num2str(ds*100),' cm']);disp(['Parameter 8: Winding depth is ',num2str(rdw*100),'% slot depth']);disp(['Parameter 9: End width is ',num2str(we*100),' cm']);disp(['Parameter 10: I width is ',num2str(rwi*100),'% end width']);disp(['Parameter 11: Base width is ',num2str(rwb*100),'% end width']);disp(['Parameter 12: Depth is ',num2str(d*100),' cm']);disp(' ');
49
disp('Constraints');disp(['Overall width is ',num2str(100*(ws+2*we)/lmax),'% allowed']);disp(['Overall depth is ',num2str(100*d/lmax),'% allowed']);disp(['Packing factors is ',num2str(100*pf/pfmax),'% allowed']);disp(['Current density is ',num2str(100*j/jmaxw),'% allowed']);disp(['Current is ',num2str(100*i/imax),'% allowed']);disp(['Back core flux density is ',num2str(100*B01/bmax),'% allowed']);disp(['Back end core flux density is ',num2str(100*B12/bmax),'% allowed']);disp(['Front end core flux density is ',num2str(100*B23/bmax),'% allowed']);disp(['I core flux density is ',num2str(100*B45/bmax),'% allowed']);disp(['Force required is ',num2str(f_req),' N']);disp(['Force produced is ',num2str(100*fe/f_req), '% required']);disp(' ');disp('Metrics');disp(['Mass is ',num2str(m1),' Kg']);
figure(figNum);clf;Electromagnet_Drawing1(param,Psi);figure(figNum+1)Electromagnet_Drawing2(param,Psi);
end
Electromagnet_Fitness.m (6/7)
50
Electromagnet_Fitness.m (7/7)function p = ltne(x,xmax,delta)
if x <= xmaxp = 1;
elsep = 1./(1+abs((xmax-x)./delta));
end
function p = gtne(x,xmin,delta)
if x >= xminp = 1;
elsep = 1./(1+abs((xmin-x)./delta));
end
51
Sample Evolution
1 2 3 4 5 6 7 8 9 10 11 120
0.5
1
Parameter Number
Nor
mal
ized
Val
ue
500 1000 1500 2000 2500-6
-4
-2
0
2
f:B(b
) Md(
g) M
n(r)
Generation
52
Evolution – Best Fit Individual
(Matlab Demo)
53
ParametersParameter 1: Wire type Copper Parameter 2: Wire cross section is 7.8519e-007 m^2Parameter 3: Number of turns is 585Parameter 4: Magnetic material is MicrosilParameter 5: Slot width is 7.1906 cmParameter 6: Winding width is 97.7656% slot widthParameter 7: Slot depth is 0.96031 cmParameter 8: Winding depth is 97.8117% slot depthParameter 9: End width is 1.2104 cmParameter 10: I width is 49.2545% end widthParameter 11: Base width is 52.2008% end widthParameter 12: Depth is 3.7947 cm
54
ConstraintsOverall width is 96.1141% allowedOverall depth is 37.9474% allowedPacking factors is 99.3753% allowedCurrent density is 99.4713% allowedCurrent is 99.1917% allowedBack core flux density is 99.442% allowedBack end core flux density is 50.9116% allowedFront end core flux density is 49.215% allowedI core flux density is 99.6887% allowedForce required is 99.5053 NForce produced is 100.3524% required
55
Metrics
Mass is 0.86127 Kg
56
-0.1 -0.05 0 0.05 0.1
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
-0.1 -0.05 0 0.05 0.1
-0.15
-0.1
-0.05
0
0.05
0.1
0.15Profile View
57
3-D View
-0.02
0
0.02
-0.050
0.05
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
58
Design RepeatabilityRepeat design 25 times:
0100.00100.00mn
3.48106.1693.95N
1.46102.0595.26aw
0100.00100.00mw
Std/MnMax/MnMin/MnParameter
59
Design Repeatability
1.46101.9496.46rdw
4.07105.8692.18ds
0.57100.7297.93rww
5.06110.0188.44ws
Std/MnMax/MnMin/MnParameter
60
Design Repeatability
5.93109.8288.55we
1.09102.0097.55Fitness
9.02118.9183.18d
5.17108.7889.55rwb
5.06109.2690.00rwi
Std/MnMax/MnMin/MnParameter