%!PS % PLOT VERIFICATION OF 28ND EXTENDED % ============================================================== % THIS VERSION CALCULATES STEPLOCK 28Q DELTA FRIENDLY 322 % Copyright c 2001 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.5 % Relating a single phase sequence to actual delta friendly three phase sequences % is a nonobvious process. This utility and tutorial gives you needed guidelines. % Example results for a Steplock Delta-28 appear below. % To use, modify the code for the number of pulses per quadrant. Copy typical values % (must not round significantly). Send to Distiller. View PDF file. Read log file. % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\windows\\desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990,1996,2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. %%%%%%%%%%% links menu directory %%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off maintextcolor /setrgbcolor cvx % reset to main text color??? /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data /tinaja {(http://www.tinaja.com/magsn01.asp) eurl} def /maildon {(mailto:don@tinaja.com) eurl} def /guru { gonzo begin ps.util.1 begin printerror nuisance begin} def % /magsn01 {(http://www.tinaja.com/magsn01.asp) eurl} def /muse90 {(http://www.tinaja.com/glib/muse90.pdf) eurl} def /ms28ndx {(http://www.tinaja.com/mscal28ndx.asp) eurl} def /plotd28 {(http://www.tinaja.com/psutils/plotd28.psl) eurl} def /msinprop {(http://www.tinaja.com/glib/msinprop.pdf) eurl} def guru % activate gonzo utilities 50 50 10 setgrid % create grid % 56 61 showgrid /cstretch 0.015 def /sstretch 0.015 def /font1 /StoneSans-Bold 1.6 gonzofont /font2 /StoneSans 0.95 gonzofont /font3 /StoneSans-Bold 0.85 gonzofont /txtwide 36 store /yinc 1.2 store /kern 0.1 store aqua 0.33 setgray font1 black font2 /amacro { mark /aqua cvx 0.33 /setgray cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /bmacro { mark /black cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def % -2 50.5 (Electronic Design "Ideas for Design" submission \274) cl % --------- insert plot here /actualplot { gsave translate 36 20 showgrid %%%%%%%%% new data 3x248 /firsteight { ang 23 mul sin 0.480925862254 mul add ang 25 mul sin -0.814651090985 mul add ang 29 mul sin 0.166779443976 mul add ang 31 mul sin 0.083345889432 mul add ang 35 mul sin -0.040839764124 mul add ang 37 mul sin -0.036287482192 mul add ang 41 mul sin 0.044310512426 mul add ang 43 mul sin 0.079322271617 mul add } def /secondeight { ang 47 mul sin 0.104033649397 mul add ang 49 mul sin 0.162524905773 mul add ang 53 mul sin -0.246459300449 mul add ang 55 mul sin -0.149715575948 mul add ang 59 mul sin 0.060699821326 mul add ang 61 mul sin 0.045358092538 mul add ang 65 mul sin -0.039025118473 mul add ang 67 mul sin -0.036979023044 mul add } def /thirdeight { ang 71 mul sin -0.161615091011 mul add ang 73 mul sin 0.216154551090 mul add ang 77 mul sin 0.071965748668 mul add ang 79 mul sin 0.100572190589 mul add ang 83 mul sin -0.049343835804 mul add ang 85 mul sin -0.028308642875 mul add ang 89 mul sin -0.002405671900 mul add ang 91 mul sin -0.046463217663 mul add } def /fourtheight { ang 95 mul sin -0.089031104535 mul add ang 97 mul sin -0.107691500572 mul add ang 101 mul sin 0.120051569925 mul add ang 103 mul sin 0.014022945028 mul add ang 107 mul sin 0.045375415854 mul add ang 109 mul sin 0.036814890925 mul add ang 113 mul sin -0.005719327126 mul add ang 115 mul sin -0.002334168514 mul add } def /thensome { ang 119 mul sin 0.133489138759 mul add ang 121 mul sin -0.071360832627 mul add ang 125 mul sin -0.081865888183 mul add ang 127 mul sin -0.067688943838 mul add ang 131 mul sin -0.032952216123 mul add ang 133 mul sin -0.050940055059 mul add ang 137 mul sin 0.056543261489 mul add ang 139 mul sin 0.092397831646 mul add ang 143 mul sin 0.029776712516 mul add ang 145 mul sin 0.035433471227 mul add ang 149 mul sin -0.048402371795 mul add ang 151 mul sin 0.031027874150 mul add ang 155 mul sin -0.022648361770 mul add ang 157 mul sin 0.009009928185 mul add ang 161 mul sin -0.053178069170 mul add ang 163 mul sin -0.048479237714 mul add ang 167 mul sin -0.066719502443 mul add ang 169 mul sin 0.060318816524 mul add ang 173 mul sin 0.033752268619 mul add ang 175 mul sin 0.011196569470 mul add ang 179 mul sin 0.067174727637 mul add ang 181 mul sin 0.056745916325 mul add ang 185 mul sin -0.020216069567 mul add ang 187 mul sin -0.050808225548 mul add ang 191 mul sin -0.050156567895 mul add ang 193 mul sin -0.044176433290 mul add ang 197 mul sin 0.060026060210 mul add ang 199 mul sin -0.000345527636 mul add ang 203 mul sin -0.030633561006 mul add ang 205 mul sin -0.054769652922 mul add ang 209 mul sin 0.062864680049 mul add ang 211 mul sin 0.038779519005 mul add ang 215 mul sin 0.073962126100 mul add ang 217 mul sin -0.010665441300 mul add ang 221 mul sin -0.047222715560 mul add ang 223 mul sin -0.025120727858 mul add ang 227 mul sin -0.030986230643 mul add ang 229 mul sin -0.006825571525 mul add ang 233 mul sin -0.024129440865 mul add ang 235 mul sin 0.023223872052 mul add ang 239 mul sin 0.032821801519 mul add ang 241 mul sin 0.013776506236 mul add ang 245 mul sin -0.031208291831 mul add ang 247 mul sin 0.015703926262 mul add ang 251 mul sin 0.018472728710 mul add ang 253 mul sin 0.030573292355 mul add ang 257 mul sin -0.019708351789 mul add ang 259 mul sin 0.003864149751 mul add ang 263 mul sin -0.079081256991 mul add ang 265 mul sin -0.008686858953 mul add ang 269 mul sin 0.030850765856 mul add ang 271 mul sin 0.009817874623 mul add ang 275 mul sin 0.034319861239 mul add ang 277 mul sin 0.007275689400 mul add ang 281 mul sin 0.004658383010 mul add ang 283 mul sin -0.054454464195 mul add ang 287 mul sin 0.013015582359 mul add ang 289 mul sin 0.026419866282 mul add ang 293 mul sin 0.016172426006 mul add ang 295 mul sin -0.013779966079 mul add ang 299 mul sin -0.024942818885 mul add ang 301 mul sin -0.030422618760 mul add ang 305 mul sin 0.021910162927 mul add ang 307 mul sin 0.008593338293 mul add ang 311 mul sin 0.032350159991 mul add ang 313 mul sin -0.021323653621 mul add ang 317 mul sin 0.000096308176 mul add ang 319 mul sin 0.007631584861 mul add ang 323 mul sin -0.030256154348 mul add ang 325 mul sin 0.000573214514 mul add ang 329 mul sin -0.004715315159 mul add ang 331 mul sin 0.054032590848 mul add ang 335 mul sin -0.005418677829 mul add ang 337 mul sin -0.009905379706 mul add ang 341 mul sin -0.042493253469 mul add ang 343 mul sin -0.015985148 mul add ang 347 mul sin 0.036987513524 mul add ang 349 mul sin 0.031525536443 mul add ang 353 mul sin -0.021959384710 mul add ang 355 mul sin -0.014142331691 mul add ang 359 mul sin -0.015264385126 mul add ang 361 mul sin 0.015359468091 mul add ang 365 mul sin 0.018060494331 mul add ang 367 mul sin 0.020106077870 mul add ang 371 mul sin 0.000929332178 mul add ang 373 mul sin -0.023936928588 mul add ang 377 mul sin 0.012576378886 mul add ang 379 mul sin -0.045876033179 mul add ang 383 mul sin -0.001779768690 mul add ang 385 mul sin 0.003712653163 mul add ang 389 mul sin 0.034034859669 mul add ang 391 mul sin 0.003243379192 mul add ang 395 mul sin -0.008154867540 mul add ang 397 mul sin 0.000243426989 mul add ang 401 mul sin 0.004082359276 mul add ang 403 mul sin 0.005049356565 mul add ang 407 mul sin 0.012223993210 mul add ang 409 mul sin -0.002701744537 mul add ang 413 mul sin -0.026243121375 mul add ang 415 mul sin -0.025811419726 mul add ang 419 mul sin -0.010468061003 mul add ang 421 mul sin 0.007273876291 mul add ang 425 mul sin 0.008447751046 mul add ang 427 mul sin 0.059453190427 mul add ang 431 mul sin -0.006988480291 mul add ang 433 mul sin -0.01327556 mul add ang 437 mul sin -0.014618178626 mul add ang 439 mul sin 0.012544106726 mul add ang 443 mul sin -0.001697182150 mul add ang 445 mul sin -0.003447545619 mul add ang 449 mul sin -0.019581907890 mul add ang 451 mul sin -0.025506559995 mul add ang 455 mul sin 0.010328352184 mul add ang 457 mul sin 0.010945886362 mul add ang 461 mul sin 0.013529202886 mul add ang 463 mul sin 0.012091397946 mul add ang 467 mul sin 0.025593917488 mul add ang 469 mul sin 0.004225878479 mul add ang 473 mul sin -0.004620102328 mul add ang 475 mul sin -0.043530223110 mul add ang 479 mul sin -0.010897386834 mul add ang 481 mul sin -0.000719640246 mul add ang 485 mul sin 0.016978236571 mul add ang 487 mul sin -0.005289829964 mul add ang 491 mul sin -0.009582191194 mul add ang 493 mul sin -0.008813853121 mul add ang 497 mul sin 0.029971212140 mul add ang 499 mul sin 0.030625618839 mul add ang 503 mul sin -0.006929764238 mul add ang 505 mul sin 0.003757443679 mul add ang 509 mul sin -0.020564262788 mul add } def %% plotreal is actual /plotreal { gsave 36 90 div 20 scale 1 0.7 1 setrgbcolor 0 0 mt 10.1567 pr 1 pu 10.1567 11.2687 sub neg pr 1 pd 11.2687 18.5872 sub neg pr 1 pu 18.587 19.127 sub neg pr 1 pd 19.127 23.7797 sub neg pr 1 pu 23.7797 26.4591 sub neg pr 1 pd 26.4591 36.2202 sub neg pr 1 pu 36.2202 40.872 sub neg pr 1 pd 40.872 49.843 sub neg pr 1 pu 49.843 56.004 sub neg pr 1 pd 56.004 63.995 sub neg pr 1 pu 63.995 71.268 sub neg pr 1 pd 71.268 78.587 sub neg pr 1 pu 78.587 86.459 sub neg pr 1 pd 86.459 90 sub neg pr closepath fill grestore } def plotreal % 36 20 showgrid % overwrite? 1 0 0 setrgbcolor 0 0 moveto 0 0.1 90 {/ang exch store ang sin firsteight ang 36 mul 90 div exch 20 mul 0.53 mul lineto } for line2 stroke 1 0.5 0 setrgbcolor 0 0 moveto 0 0.1 90 {/ang exch store ang sin .53 mul ang 36 mul 90 div exch 20 mul lineto } for line3 stroke { 0 1 0 setrgbcolor 0 0 moveto 0 0.1 90 {/ang exch store ang sin .53 mul firsteight secondeight thirdeight ang 36 mul 90 div exch 20 mul lineto } for line1 stroke } pop 0 0 0 setrgbcolor 0 0 moveto 0 0.1 90 {/ang exch store ang sin firsteight secondeight thirdeight fourtheight thensome ang 36 mul 90 div exch 20 mul 0.53 mul lineto } for line2 stroke grestore } def % end actualplot % -------- end of plot insert 3 5 actualplot % insert plot on main page aqua 0.33 setgray font1 20 45.3 10.5 add (Magic Sinewave Fourier check plot) cc black font2 3 43 10.5 add (|3Don Lancaster Senior Product Development Engineer Synergetics, Box 809, Thatcher, AZ 85552 |/surl http://www.tinaja.com|/tinaja |/surl don@tinaja.com|/maildon (928) 428-4073 |h |a|1T|2|b|jhe Fourier check plot shown below verifies some of the |/surl |3Magic Sinewave|2|/magsn01 \ math on an 0.53 amplitude Delta Friendly |/surl |3MS28NDX Magic Sinewave|2|/ms28ndx . It takes the results \ of the JavaScript calculator and then runs them "backwards" into their intividual \ |/surl |3Fourier Series|2|/muse90 plots. |h The magenta plots are the exact waveform per the starting and ending angles. \ The orange plot is of the first 22 harmonics and is identical to the fundamental. \ The red plot is of the first 44 harmonics. The black plot is of the first 510 \ harmonics. |h Note that the "pointy haired boss" or "ears" effect is normal and expected on a \ truncated Fourier series. These artifacts reduce in amplitude as additional terms \ are added. |h Sourcecode is available as |/surl |3PLOT28ND.PSL|2|/plotd28 . Additional assistance is |/surl |3available here|2|/msinprop . ) cl showpage