.PS
# `SPS.m4 Astrodyne OFM-1501'
# AoE p. 666
cct_init
iflatex(`latexcommand({\sf)')

 del = dimen_
T1: transformer(down_ elen_,,,WD21)
 {"70t" at T1.TP rjust; "$T_1$" at T1.n below}
 { "$L_m=895\mu$H $L_{\ell}=42\mu$H" at T1.P1+(-del/2,0) above ljust }
 line left_ del*2/3 from T1.P1
Bd1: tline(down_ T1.ht/3,,del/6); { "bead" at last [].nw rjust }
D2: diode(down_ T1.ht/3,Z); rlabel(,\shortstack[r]{$D_2$\\P6KE\\$200$})
D3: reversed(`diode',to (Here,T1.P2)); rlabel(,,D_3); {T1L: line to T1.P2}
HS201: heatsink(,,D) with .ne at T1.P2-(0,del/2); "$\,$HS" at last [].s below
 pushdef(`dimen_',dimen_*3/4)
MF: mosfet(up_ del*2/3,,FdMdSD) with .Channel at (D3,HS201) popdef(`dimen_')
 line from MF.D to (MF.D,T1L); dot 
CTRL: box wid 30bp__ ht 16bp__ with .e at (MF.G,MF) "CTRL"
 line from CTRL.s to (CTRL,MF.S) then to MF.S
 line from CTRL.n to (CTRL,MF.D) then to MF.D
TOP201: box wid MF.D.x-CTRL.w.x+del/6 ht MF.D.y-MF.S.y+del/6 \
  with .w at CTRL.w-(del/12,0)
 "$U_1$" at TOP201.nw above ljust; "TOP201" at TOP201.sw below ljust
 "$D$" at (MF.S,TOP201.n) above rjust
 "$S$" at (MF.S,TOP201.s) below rjust
 "$FB$" above rjust at TOP201.w
 dot(at TOP201.w-(del/4,0))
 { capacitor(down_ dimen_*4/3); llabel(,,`0.1\mu{}F'); Grnd: Here; ground(,T,E)
   line from MF.S to (MF.S,Grnd); ground(,T,E) }
 dot(at Here-(del/2,0)); { line to TOP201.w }
 { resistor(down_ (Here.y-Grnd.y)/2); rlabel(,33); capacitor(to (Here,Grnd),C)
   rlabel(,\shortstack[r]{$22\mu{}$F\\50V}); ground(,T,E) }
 U3b: bi_trans(up_ del,,BUdEC) with .E at Here
 em_arrows(N,225,del/4) at U3b.e; "$U_{3b}$" at last [].n above ljust
 spline dashed 3bp__ from U3b.E+(0,del/8) left_ del/2 \
  then left_ del/6 up_ del/4 then up_ del/4 \
  then up_ del/4 right_ del/6 then right_ del/2

L4: inductor(down_ elen_*3/4 from (T1.P2,Grnd)-(0,del/3),W); rlabel(,"7t")
Grnd2: ground(,T,E)
 line from T1.M4Core1.end to (T1.M4Core1,L4)-(0,dimen_/4)
 line from T1.M4Core2.end to (T1.M4Core2,L4)-(0,dimen_/4)
 dot(at last [].S+(dotrad_*2,dotrad_*2),dotrad_/2)
D4: diode(left_ elen_ from L4.start); rlabel(,,D4); dot
 { capacitor(down_ to (Here,Grnd2),C+); llabel(,\shortstack[l]{$22\mu{}$F\\50V})
   ground(,T,E) }
 dot(at Here-(del,0)); resistor(down_ to (Here,Grnd2)); rlabel(,"$1$k")
 ground(,T,E)
Wc: U3b.C-(del,0)
 line from D4.end to (Wc,D4.end) then up_ U3b.C.y-D4.end.y then to U3b.C

L3: inductor(up_ T1.ht with .c at T1+(del*2/3,0),W); rlabel(,"3t")
 dot(at (L3.end,last [].n)+(-dotrad_*2,dotrad_*2),dotrad_/2)
 dot(at L3.end); dot(at L3.start)
 line from T1.S2 right_ (L3.start.x-T1.S2.x)*2
X2: dot
 line down_ del/2; dot
D5: parallel_(`Sep=del/2; reversed(`diode',down_ dimen_*2/3,S)',
     `reversed(`diode',down_ dimen_*2/3,S)'); {"$D_5$" at D5.n above rjust}
 heatsink(at D5.w-(del/4,0),,U); "HS" at last [].s below
 dot(at D5.s); line down_ del/2
Bm: dot
Bo: dot(at L4.end+(0,del/7))
 line to (Bm,Here) then up (Bm.y-Bo.y)/4
 capacitor(up_ (Bm.y-Bo.y)/4)
 { "$2.2$nF" ljust at last [].e "$250$V$_{\hbox{\scriptsize ac}}$" ljust \
   "($2$)" ljust }
 capacitor(up_ (Bm.y-Bo.y)/4); line to Bm
 line from L3.start right_ del
 capacitor(down_ distance(Here,Bm)*0.4); llabel(,,\shortstack[l]{$0.1$\\$\mu$F})
 line down_ del/4; resistor(to (Here,Bm)); llabel(,10); dot
 dot(at (Here.x+del/2,L3.end.y))
 {capacitor(down_ to (Here,Bm),C+); {"\shortstack[r]{$680\mu$F\\ $10$V ($2$)}" \
   at last [].n+(0,4bp__) above rjust}; dot }
 dot(at Here+(del/2,0))
 {capacitor(down_ to (Here,Bm),C+); dot }
 dot(at (Here.x+del/2,L3.end.y))
 {R150: resistor(down_ to (Here,Bm),); llabel(,150); dot }
 { line to T1.S1 }
 line right_ del/8
L2: inductor(right_ dimen_*3/4,W,,M); llabel(,"$L_2$ $4.3\mu$H")
 tline(right_ T1.ht/3,,del/6); {"bead" at last [].s below rjust}; Tm: dot
 { tline(right_ T1.ht/3 from (last line.start,Bm),,del/6)
   { "bead" at last [].n above rjust }; dot
   line from Bm to last line.start }
 { capacitor(down_ to (Here,Bm),C+); rlabel(,,\shortstack[r]{$680\mu$F\\$10$V})}
 dot(at Here+(del/2,0))
 { capacitor(down_ to (Here,Bm),C+); llabel(,,\shortstack[l]{$220\mu$F\\$10$V})
   dot }
 dot(at Here+(del,0))
 { resistor(down_ dimen_*2/3); rlabel(,100)
   U3a: diode(down_ dimen_*2/3); T3a: dot
   { em_arrows(N,210,del/4) at U3a.c+(-del/4,0)
     "$U_{3a}$" at last line.c+(-del/2,del/4)
     spline dashed 3bp__ from U3a.end+(-del/10,del/8) right_ del/4 \
      then up_ del/4 right_ del/6 then up_ del/4 left_ del/6 \
      then left_ del/4 }
   capacitor(down_ to (Here,Bm),C+); rlabel(,,"$3.3\mu$F"); dot
   dot(at Here+(del/2,0))
   U2: diode(up_ dimen_,Z); llabel(U_2); rlabel("TL$431$")
   line to (Here,T3a); dot }
 dot(at U2+(del/2,0))
 capacitor(up_ (T3a.y-Here.y)/2); rlabel(,,"$0.1\mu$F")
 resistor(up_ to (Here,T3a)); rlabel(,120)
 { dot; line to (U3a,Here) }
 resistor(to (Here,L2.end)); rlabel(,680); dot  
 dot(at Here+(del*1.1,0))
 { resistor(down_ R150.len/3); llabel(,"$2.49$k")
   Pt: potentiometer(down_ R150.len/3,,,-del/4) with .Start at Here
   llabel(,\shortstack[l]{$1$k\\set\\$V_{\hbox{\scriptsize out}}$})
   adjust(at Pt.Start-(del/4,del/6))
   line from U2.c to (Pt.T1.end,U2.c) then to Pt.T1.end
   resistor(from Pt.End to (Pt.End,Bm)); llabel(,"$2.49$k"); dot }
 dot(at Here+(del,0))
 { resistor(down_ R150.len/2); llabel(,"$220$")
  diode(down_ to (Here,Bm)); llabel(,,D_6)
  { em_arrows(N,45,del/4) at last [].ne +(del/8,del/8)}; dot }
 dot(at Here+(del*2/3,0)); {reversed(`diode',to (Here,Bm)); rlabel(D_7); dot}
 dot(at Here+(del/2,0)); {capacitor(down_ to (Here,Bm));llabel("$0.1\mu$F");dot}
Op: circle diam del/3 "$+$" at Here+(del*2/3,0); line from Op.w to Tm
 "$5.0$V" rjust at Op.e+(0,-del/2) "$0$--$3$A" rjust
Om: circle diam del/3 "$-$" at (Op,Bm); line from Om.w to (Tm,Bm)
  dot(at Bd1.start)
Pwr: [
  DB: [ W: dot(at (0,0)); N: dot(at (del/2,del/2));
        S: dot(at (del/2,-del/2)); E: dot(at (del,0))
        diode(from W to N); diode(from W to S)
        diode(from N to E); diode(from S to E) ]
   "$D_1$" at DB.N ljust above
   dot(at DB.E+(del/4,0)); {capacitor(down_ del*3/4,C+); G2: Here; ground(,T,E)}
   { "$47\mu$F" at Here+(0,del/2) ljust "$400$V" ljust }
   line from DB.W left_ del/4; continue to (Here,G2); ground(,T,E)
  L1: transformer(right_ dimen_,,,W) at DB.W+(-del,0)
   {"$L_1$" at last [].n above }
   line from DB.N up_   del/8; continue to (L1.S2,Here) then to L1.S2
   line from DB.S down_ del/8; continue to (L1.P2,Here) then to L1.P2
  Pair: [ N: dot; resistor(down_ (DB.ht+del/4)/2); C: Here
    resistor(down_ (DB.ht+del/4)/2); S: dot ] with .C at L1+(-del*3/4,0)
   "$270$k ($2$)" at Pair.s below
   dot(at Pair.N+(-del/2,0))
   { capacitor(down_ to (Here,Pair.S))
     rlabel(,\shortstack[r]{$0.1\mu$F\\ $275$V$_{\hbox{\scriptsize ac}}$}); dot}
   { line to (L1.S1,Here) then to L1.S1 }
   fuse(left_ del,D); rlabel(,"$3.5$A")
  H: box wid del/3 ht del/4; N: box same at (H,Pair.S)
   "$H$" at H.n above; "$N$" at N.s below
   line from N.e to (L1.P1,N.e) then to L1.P1
 ] with .N.w at (Wc.x,Bd1.start.y+del*3/4)
 line from Pwr.DB.E right_ del/2 then down_ del
 continue to (Bd1.start,Here) then to Bd1.start

iflatex(`latexcommand(})')
.PE
