home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / ee6 / switchin.bas < prev    next >
BASIC Source File  |  1989-01-22  |  19KB  |  604 lines

  1. 10 J=0
  2. 20 NEWL=0
  3. 30 NEWC=0
  4. 40 FIRST=0
  5. 50 FOR X = 1 TO 3
  6. 60 READ TR(X),TF(X),TS(X)
  7. 70 NEXT X
  8. 80 DIM C(15)
  9. 90 DIM ESR(15)
  10. 100 FOR X = 1 TO 14
  11. 110 READ C(X),ESR(X)
  12. 120 NEXT X
  13. 130 FOR X = 1 TO 3
  14. 140 READ G(X),H(X),V(X),Z(X)
  15. 150 NEXT X
  16. 160 CLS
  17. 170 PRINT
  18. 180 PRINT
  19. 190 PRINT TAB(5) "BUCK (STEP-DOWN) AND MULTIPLE OUTPUT BUCK SWITCHING";
  20. 200 PRINT " CONVERTER DESIGN"
  21. 210 PRINT TAB(4) "___________________________________________________";
  22. 220 PRINT "__________________"
  23. 230 PRINT
  24. 240 PRINT TAB(10) "SWITCHING REGULATOR DESIGN AID FOR THE LH1605,"
  25. 250 PRINT TAB(7) "          HS7067, AND HS7107."
  26. 260 PRINT
  27. 270 PRINT TAB(10) "        NATIONAL SEMICONDUCTOR"
  28. 280 PRINT TAB(10) "        HYBRID SYSTEMS PRODUCTS"
  29. 290 PRINT TAB(10) "        REV 0.1  9/6/84"
  30. 300 PRINT TAB(10) "        COPYWRITE 9/6/84"
  31. 310 PRINT
  32. 320 PRINT
  33. 330 PRINT" THIS PROGRAM IS A TOOL FOR THE DESIGN OF SWITCHING CONVERTERS USING"
  34. 340 PRINT" NATIONAL'S LH1605, HS7067, AND HS7107 HYBRID SWITCHING REGULATORS. "
  35. 350 PRINT" IT RELIES ON USER INPUTS FOR CIRCUIT PARAMETERS ( Vin, Vout, ETC. )"
  36. 360 PRINT" AND CALCULATES VALUES FOR ALL REQUIRED CAPACITORS, INDUCTORS, AND"
  37. 370 PRINT" RESISTORS.  IT ALSO ALLOWS THE USER TO EXPERIMENT BY CHANGING EACH"
  38. 380 PRINT" PARAMETER INDIVIDUALLY TO SEE HOW IT AFFECTS THE FINAL CIRCUIT";
  39. 390 PRINT" DESIGN."
  40. 400 PRINT
  41. 410 PRINT
  42. 420 PRINT"    ( HIT RETURN TO CONTINUE )";
  43. 430 INPUT G
  44. 440 CLS
  45. 450 PRINT
  46. 460 PRINT
  47. 470 PRINT" TO OPTIMIZE THE SWITCHING CONVERTER TO A SPECIFIC APPLICATION, THE"
  48. 480 PRINT" FOLLOWING TRADE-OFFS BETWEEN PARAMETERS SHOULD BE CONSIDERED:"
  49. 490 PRINT
  50. 500 PRINT
  51. 510 PRINT"     INCREASED OPERATING FREQUENCY  -  DECREASED OUTPUT FILTER SIZE"
  52. 520 PRINT"                                    -  FASTER TRANSIENT RECOVERY"
  53. 530 PRINT"                                    -  LOWER MINIMUM OUTPUT CURRENT"
  54. 540 PRINT"                                    -  INCREASED POWER DISSIPATION"
  55. 550 PRINT"                                      (LOWER EFFICIENCY,LARGER HEATSINK)"
  56. 560 PRINT
  57. 570 PRINT"           INCREASED INPUT VOLTAGE  -  INCREASED OUTPUT HOLD-UP TIME"
  58. 580 PRINT"                                    -  HIGHER MINIMUM OUTPUT CURRENT"
  59. 590 PRINT"                                    -  INCREASED OUTPUT FILTER SIZE"
  60. 600 PRINT"                                    -  INCREASED POWER DISSIPATION"
  61. 610 PRINT
  62. 620 PRINT"      LOWER MINIMUM OUTPUT CURRENT  -  DECREASED OUTPUT RIPPLE VOLTAGE"
  63. 630 PRINT"                                    -  SMALLER OUTPUT FILTER CAPACITOR"
  64. 640 PRINT"                                    -  LARGER OUTPUT FILTER INDUCTOR"
  65. 650 PRINT"                                    -  INCREASED OPERATING FREQUENCY"
  66. 660 PRINT
  67. 670 PRINT
  68. 680 PRINT"     ( HIT RETURN TO CONTINUE )";
  69. 690 INPUT G
  70. 700 PRINT
  71. 710 CLS
  72. 720 FIRST=0
  73. 730 NEWC=0
  74. 740 NEWL=0
  75. 750 PRINT
  76. 760 PRINT
  77. 770 PRINT" WHILE ALL THREE HYBRID SWITCHING REGULATORS WILL FUNCTION IN A BUCK"
  78. 780 PRINT" OR MULTIPLE OUTPUT BUCK CONVERTER, ONE MAY BE MORE SUITED TO A"
  79. 790 PRINT" PARTICULAR APPLICATION THAN ANOTHER.  THE FOLLOWING TABLE SHOWS THE"
  80. 800 PRINT" RELATIVE CAPABILITIES OF EACH TO AID IN CHOOSING A SWITCHER FOR THIS DESIGN."
  81. 810 PRINT
  82. 820 PRINT
  83. 830 PRINT
  84. 840 PRINT"             RELATIVE CHARACTERISTICS:"
  85. 850 PRINT
  86. 860 PRINT"                  LH1605 - 1
  87. 870 PRINT"                  HS7067 - 2
  88. 880 PRINT"                  HS7107 - 3
  89. 890 PRINT
  90. 900 PRINT"                LOW  .   .   .   .   .   .   .   .   .  HIGH"
  91. 910 PRINT"    EFFICIENCY  ............................1....3.2......"
  92. 920 PRINT" INPUT VOLTAGE  ...............1.........2...............3"
  93. 930 PRINT"OUTPUT CURRENT  .....................1.......3.2.........."
  94. 940 PRINT"         SPEED  ...............1.......................3.2"
  95. 950 PRINT
  96. 960 PRINT
  97. 970 PRINT
  98. 980 J=D
  99. 990 PRINT" SPECIFY THE DEVICE TO BE USED IN THIS DESIGN (1,2,OR 3)";
  100. 1000 INPUT D
  101. 1010 IF D=1 GOTO 1090
  102. 1020 IF D=2 GOTO 1090
  103. 1030 IF D=3 GOTO 1090
  104. 1040 IF FIRST =0 GOTO 1080
  105. 1050 IF D<>0 GOTO 1080
  106. 1060 D=J
  107. 1070 GOTO 1090
  108. 1080 GOTO 990
  109. 1090 PRINT
  110. 1100 IF FIRST = 1 GOTO 1140
  111. 1110 PRINT " ENTER VALUES FOR THE FOLLOWING DESIGN PARAMETERS:"
  112. 1120 PRINT" EXPRESS ALL VOLTAGES IN VOLTS AND ALL CURRENTS IN AMPS."
  113. 1130 PRINT
  114. 1140 PRINT TAB(5) "INPUT VOLTAGE"
  115. 1150 J=I(1)
  116. 1160 PRINT TAB(10) "MAXIMUM =";
  117. 1170 INPUT I(1)
  118. 1180 IF I(1) <= V(D) GOTO 1230
  119. 1190 PRINT
  120. 1200 PRINT" THIS VOLTAGE IS TOO HIGH FOR THIS DEVICE."
  121. 1210 PRINT
  122. 1220 GOTO 1140
  123. 1230 IF FIRST = 0 GOTO 1260
  124. 1240 IF I(1)<>0 GOTO 1260
  125. 1250 I(1)=J
  126. 1260 J=I(2)
  127. 1270 PRINT TAB(10) "MINIMUM =";
  128. 1280 INPUT I(2)
  129. 1290 IF FIRST=1 GOTO 1360
  130. 1300 IF I(2)>= 10 GOTO 1350
  131. 1310 PRINT
  132. 1320 PRINT" MINIMUM INPUT VOLTAGE FOR THIS DEVICE IS 10 VOLTS."
  133. 1330 PRINT
  134. 1340 GOTO 1270
  135. 1350 IF FIRST = 0 GOTO 1380
  136. 1360 IF I(2)<>0 GOTO 1380
  137. 1370 I(2)=J
  138. 1380 PRINT TAB(10) "NOMINAL =";
  139. 1390 J=I(3)
  140. 1400 INPUT I(3)
  141. 1410 IF FIRST=0 GOTO 1440
  142. 1420 IF I(3)<>0 GOTO 1440
  143. 1430 I(3)=J
  144. 1440 IF I(1)<I(3) GOTO 1140
  145. 1450 IF I(2)>I(3) GOTO 1140
  146. 1460 PRINT
  147. 1470 IF FIRST=1 GOTO 1730
  148. 1480 PRINT TAB(5) "PRIMARY OUTPUT"
  149. 1490 PRINT TAB(10) "OUTPUT VOLTAGE =";
  150. 1500 INPUT PO(1)
  151. 1510 IF PO(1)>=2.5 GOTO 1580
  152. 1520 PRINT
  153. 1530 PRINT" THIS PROGRAM DOES NOT DISCUSS THE CIRCUIT MODIFICATIONS NECESSARY"
  154. 1540 PRINT" TO OPERATE THIS DEVICE WITH A PRIMARY OUTPUT VOLTAGE OF LESS"
  155. 1550 PRINT" THAN  2.5 VOLTS."
  156. 1560 PRINT
  157. 1570 GOTO 1490
  158. 1580 IF PO(1)<=I(2)-3 GOTO 1640
  159. 1590 PRINT
  160. 1600 PRINT" THIS VIOLATES THE  Vo < Vin-3 DESIGN CRITERIA GIVEN IN THE DATA"
  161. 1610 PRINT" SHEET FOR THE PRIMARY OUTPUT."
  162. 1620 PRINT
  163. 1630 GOTO 1140
  164. 1640 PRINT TAB(10) "OUTPUT RIPPLE VOLTAGE =";
  165. 1650 INPUT PO(2)
  166. 1660 IF PO(2)>0 GOTO 1720
  167. 1670 PRINT
  168. 1680 PRINT" THERE WILL BE SOME OUTPUT RIPPLE VOLTAGE. PLEASE SPECIFY"
  169. 1690 PRINT" THE MAXIMUM ALLOWABLE."
  170. 1700 PRINT
  171. 1710 GOTO 1640
  172. 1720 PRINT
  173. 1730 J=PO(3)
  174. 1740 PRINT TAB(10) "MINIMUM OUTPUT CURRENT =";
  175. 1750 INPUT PO(3)
  176. 1760 IF FIRST=0 GOTO 1790
  177. 1770 IF PO(3)<>0 GOTO 1790
  178. 1780 PO(3)=J
  179. 1790 IF PO(3)>0 GOTO 1840
  180. 1800 PRINT
  181. 1810 PRINT" TO MAINTAIN REGULATION, THESE SWITCHING REGULATORS REQUIRE"
  182. 1820 PRINT" A REAL MINIMUM OUTPUT CURRENT."
  183. 1830 GOTO 1720
  184. 1840 IF FIRST=1 GOTO 1920
  185. 1850 PRINT TAB(10) "MAXIMUM OUTPUT CURRENT =";
  186. 1860 INPUT PO(4)
  187. 1870 IF PO(4)>0 GOTO 1920
  188. 1880 PRINT
  189. 1890 PRINT" OUTPUT CURRENT MUST BE POSITIVE."
  190. 1900 PRINT
  191. 1910 GOTO 1850
  192. 1920 IF PO(3) + PO(4) <= Z(D) GOTO 1980
  193. 1930 PRINT
  194. 1940 PRINT" THE SUM OF THE MAXIMUM OUTPUT CURRENT AND THE RIPPLE CURRENT,"
  195. 1950 PRINT" MINIMUM OUTPUT CURRENT, IS TOO HIGH FOR THAT DEVICE."
  196. 1960 PRINT
  197. 1970 GOTO 1720
  198. 1980 IF FIRST=1 GOTO 2010
  199. 1990 PRINT TAB(10) "NOMINAL OUTPUT CURRENT =";
  200. 2000 INPUT PO(5)
  201. 2010 IF PO(2) -( PO(3)*.0026 ) > 0 GOTO 2110
  202. 2020 IF PO(2)-(PO(3)*ER)>0 GOTO 2110
  203. 2030 PRINT" THIS PROGRAM DOES NOT INCLUDE THE DATA FOR A CAPACITOR GOOD"
  204. 2040 PRINT" ENOUGH TO PROVIDE";
  205. 2050 PRINT PO(2);
  206. 2060 PRINT"VOLTS OUTPUT RIPPLE WITH";
  207. 2070 PRINT PO(3);
  208. 2080 PRINT"AMPS"
  209. 2090 PRINT" RIPPLE CURRENT."
  210. 2100 GOTO 1640
  211. 2110 IF PO(3)>PO(5) GOTO 1720
  212. 2120 IF PO(4)<PO(5) GOTO 1720
  213. 2130 IF FIRST=1 GOTO 2520
  214. 2140 PRINT
  215. 2150 PRINT" HOW MANY SECONDARY OUTPUTS DO YOU REQUIRE";
  216. 2160 INPUT A
  217. 2170 IF A = 0 GOTO 2520
  218. 2180 PRINT
  219. 2190 PRINT" ALL SECONDARY VOLTAGES ARE TAKEN IN ABSOLUTE VALUE. THE"
  220. 2200 PRINT" UNCOMMITTED OUTPUTS MAY LATER BE REFERENCED AS EITHER"
  221. 2210 PRINT" POSITIVE OR NEGATIVE TO THE SYSTEM GROUND."
  222. 2220 FOR X = 0 TO A-1
  223. 2230 PRINT
  224. 2240 PRINT TAB(5) "SECONDARY OUTPUT #";
  225. 2250 PRINT X+1
  226. 2260 PRINT TAB(10) "MINIMUM OUTPUT VOLTAGE =";
  227. 2270 INPUT SEC(X,1)
  228. 2280 SEC(X,1)=ABS(SEC(X,1))
  229. 2290 PRINT TAB(10) "MAXIMUM OUTPUT VOLTAGE =";
  230. 2300 INPUT SEC(X,2)
  231. 2310 SEC(X,2)=ABS(SEC(X,2))
  232. 2320 PRINT TAB(10) "NOMINAL OUTPUT VOLTAGE =";
  233. 2330 INPUT SEC(X,3)
  234. 2340 SEC(X,3)=ABS(SEC(X,3))
  235. 2350 IF SEC(X,1)>SEC(X,3) GOTO 2230
  236. 2360 IF SEC(X,2)<SEC(X,3) GOTO 2230
  237. 2370 PRINT
  238. 2380 PRINT TAB(10) "MINIMUM OUTPUT CURRENT =";
  239. 2390 INPUT SEC(X,4)
  240. 2400 IF SEC(X,4)>0 GOTO 2450
  241. 2410 PRINT" WITHOUT A REAL MINIMUM LOAD, THE SECONDARY WILL ACT AS A PEAK"
  242. 2420 PRINT" HOLDING CIRCUIT, AND THE OUTPUT VOLTAGE WILL RISE TO THE VALUE"
  243. 2430 PRINT" OF THE SWITCHING TRANSIENTS. AN  RC  SNUBBER ACROSS THE"
  244. 2440 PRINT" SECONDARY WILL HELP DEFEAT THIS."
  245. 2450 PRINT TAB(10) "MAXIMUM OUTPUT CURRENT =";
  246. 2460 INPUT SEC(X,5)
  247. 2470 PRINT TAB(10) "NOMINAL OUTPUT CURRENT =";
  248. 2480 INPUT SEC(X,6)
  249. 2490 IF SEC(X,4)>SEC(X,6) GOTO 2370
  250. 2500 IF SEC(X,5)<SEC(X,6) GOTO 2370
  251. 2510 NEXT X
  252. 2520 PRINT
  253. 2530 J=F
  254. 2540 PRINT" DESIRED OPERATING FREQUENCY (KHz)";
  255. 2550 INPUT F
  256. 2560 IF F>G(D) GOTO 2640
  257. 2570 IF FIRST=0 GOTO 2600
  258. 2580 IF F<>0 GOTO 2600
  259. 2590 F=J/1000
  260. 2600 F = F*1000
  261. 2610 IF F<=0 GOTO 2520
  262. 2620 IF PO(1)/(I(1)*F)<= H(D) GOTO 2680
  263. 2630 GOTO 2850
  264. 2640 PRINT
  265. 2650 PRINT" THAT OPERATING FREQUENCY IS TOO HIGH FOR THAT DEVICE."
  266. 2660 PRINT
  267. 2670 GOTO 2540
  268. 2680 PRINT
  269. 2690 PRINT" TO PRODUCE A";
  270. 2700 PRINT PO(1);
  271. 2710 PRINT "VOLT PRIMARY OUTPUT WITH ";
  272. 2720 PRINT I(1);
  273. 2730 PRINT " VOLTS MAXIMUM INPUT "
  274. 2740 PRINT " AT ";
  275. 2750 PRINT F/1000;
  276. 2760 PRINT "KHz WILL REQUIRE A SWITCH DUTY CYCLE SHORTER THAN THE"
  277. 2770 PRINT " TYPICAL SWITCHING DELAY TIME OF ";
  278. 2780 PRINT H(D)*1E+09;
  279. 2790 PRINT "nSEC. THIS WILL RESULT IN PULSE SKIPPING"
  280. 2800 PRINT " THAT APPEARS AS AN OUTPUT VOLTAGE OSCILLATION."
  281. 2810 PRINT " MAXIMUM OPERATING FREQUENCY SHOULD BE ";
  282. 2820 PRINT PO(1)/(I(1)*H(D)*1000);
  283. 2830 PRINT "KHz."
  284. 2840 GOTO 2520
  285. 2850 IF FIRST=1 GOTO 3020
  286. 2860 PRINT
  287. 2870 PRINT " OUTPUT HOLD-UP TIME AT MAXIMUM POWER OUTPUT (mSEC)";
  288. 2880 INPUT HU
  289. 2890 PRINT
  290. 2900 PRINT " MAXIMUM AMBIENT OPERATING TEMPERATURE (C)";
  291. 2910 INPUT T
  292. 2920 IF T < 150 THEN GOTO 3010
  293. 2930 IF T < 175 GOTO 2980
  294. 2940 PRINT" THATS A BIT TOO HOT. TRY AGAIN."
  295. 2950 PRINT
  296. 2960 GOTO 2900
  297. 2970 PRINT
  298. 2980 PRINT" THAT ALLOWS FOR NO POWER DISSIPATION IN THE SWITCHING REGULATOR."
  299. 2990 PRINT
  300. 3000 GOTO 2900
  301. 3010 L = ( I(1) - PO(1) )*( PO(1)/I(1) )/( 2 * F * PO(3) )
  302. 3020 VSM = 1 + PO(4)/20
  303. 3030 IF D = 1 THEN VSM = VSM + .04*PO(4)
  304. 3040 VFM = .9 + PO(4)/20
  305. 3050 DC = ( PO(1) + VFM )/( I(1) + VFM - VSM )
  306. 3060 DCN=(PO(1)+VFM)/(I(3)+VFM-VSM)
  307. 3070 PS = 0
  308. 3080 FOR X = 0 TO A-1
  309. 3090 PS = PS + SEC(X,3)*SEC(X,5) + .9*SEC(X,5)
  310. 3100 NEXT X
  311. 3110 IX = PS/( ( I(1) - VSM )*DC )
  312. 3120 IM = PO(4) + PO(3) + IX
  313. 3130 IF IM<=Z(D) GOTO 3280
  314. 3140 PRINT
  315. 3150 PRINT" THE ADDITION OF FULL SECONDARY LOADING WILL CAUSE THE PRIMARY"
  316. 3160 PRINT" CURRENT TO EXCEED THE ";
  317. 3170 IF D=1 THEN G$="LH1605"
  318. 3180 IF D=2 THEN G$="HS7067"
  319. 3190 IF D=3 THEN G$="HS7107"
  320. 3200 PRINT G$;
  321. 3210 PRINT"'S MAXIMUM CURRENT RATING."
  322. 3220 PRINT
  323. 3230 PRINT" WOULD YOU LIKE TO TRY AGAIN (Y/N)";
  324. 3240 INPUT G$
  325. 3250 IF G$="Y" GOTO 710
  326. 3260 GOTO 6030
  327. 3270 GOTO 710
  328. 3280 EM = .5*L*IM*IM
  329. 3290 IF FIRST =1 GOTO 3410
  330. 3300 X=1
  331. 3310 M=PO(2)-(PO(3)*ESR(X))
  332. 3320 IF M>0 GOTO 3350
  333. 3330 X=X+1
  334. 3340 GOTO 3310
  335. 3350 IF (PO(3)/(4*F*M))-C(X) <= 0 GOTO 3380
  336. 3360 X=X+1
  337. 3370 GOTO 3310
  338. 3380 B=X
  339. 3390 CMIN=C(X)
  340. 3400 ER=ESR(B)
  341. 3410 CLS
  342. 3420 PRINT
  343. 3430 PRINT
  344. 3440 PRINT " SWITCHING CONVERTER COMPONENT VALUES:"
  345. 3450 IF FIRST=0 GOTO 3870
  346. 3460 IF NEWL=0 GOTO 3520
  347. 3470 IF L>=(I(1)-PO(1))*(PO(1)/I(1))/(2*F*PO(3)) GOTO 3530
  348. 3480 PRINT
  349. 3490 PRINT" THE INDUCTOR YOU GAVE IS NOT SUFFICIENT AT THIS FREQUENCY FOR"
  350. 3500 PRINT" CONTINUOUS-MODE OPERATION AT THIS MINIMUM OUTPUT CURRENT."
  351. 3510 GOTO 5410
  352. 3520 L=(I(1)-PO(1))*(PO(1)/I(1))/(2*F*PO(3))
  353. 3530 PRINT"     MINIMUM PRIMARY OUTPUT CURRENT ...........";
  354. 3540 IF NEWL=0 GOTO 3580
  355. 3550 PO(3)=(I(1)-PO(1))*(PO(1)/I(1))/(2*F*L)
  356. 3560 BAD=0
  357. 3570 IF PO(4)+PO(3)+IX > Z(D) THEN BAD=1
  358. 3580 PRINT PO(3);
  359. 3590 PRINT"AMPS"
  360. 3600 IF BAD=0 GOTO 3680
  361. 3610 IF A=0 GOTO 3630
  362. 3620 PRINT" FULL SECONDARY LOADING PLUS"
  363. 3630 PRINT" THE SUM OF MAXIMUM PRIMARY OUTPUT CURRENT AND THE"
  364. 3640 PRINT" RIPPLE CURRENT ( MINIMUM OUTPUT CURRENT ) EXCEEDS"
  365. 3650 PRINT" THIS DEVICES PEAK CURRENT RATING."
  366. 3660 PRINT
  367. 3670 BAD=0
  368. 3680 IF NEWC=1 GOTO 3800
  369. 3690 X=1
  370. 3700 M=PO(2)-(PO(3)*ESR(X))
  371. 3710 IF M>0 GOTO 3740
  372. 3720 X=X+1
  373. 3730 GOTO 3700
  374. 3740 IF (PO(3)/(4*F*M))-C(X)<=0 GOTO 3770
  375. 3750 X=X+1
  376. 3760 GOTO 3700
  377. 3770 B=X
  378. 3780 CMIN=C(B)
  379. 3790 ER=ESR(B)
  380. 3800 IF (PO(2)-(PO(3)*ER))<=0 GOTO 3830
  381. 3810 IF CMIN<(PO(3)/(4*F*(PO(2)-(PO(3)*ER)))) GOTO 3830
  382. 3820 GOTO 3870
  383. 3830 PRINT
  384. 3840 PRINT" THE PRIMARY OUTPUT FILTER CAPACITOR IS INSUFFICIENT FOR THE"
  385. 3850 PRINT" OUTPUT RIPPLE VOLTAGE YOU WANT."
  386. 3860 GOTO 5410
  387. 3870 REM
  388. 3880 PRINT
  389. 3890 PRINT"     OUTPUT FILTER INDUCTOR, L .................";
  390. 3900 PRINT L*1000000!;
  391. 3910 PRINT"uH"
  392. 3920 PRINT"     MAX MAGNETIC ENERGY IN CORE, 1/2*LI(2) ....";
  393. 3930 PRINT EM*1000;
  394. 3940 PRINT"mJ"
  395. 3950 PRINT"     OUTPUT FILTER CAPACITOR, C ................";
  396. 3960 PRINT CMIN*1000000!;
  397. 3970 PRINT"uF"
  398. 3980 PRINT"     EFFECTIVE SERIES RESISTANCE OF C, ESR .....";
  399. 3990 PRINT ER;
  400. 4000 PRINT"OHMS"
  401. 4010 RF = 2*((PO(1)-2.5)/2.5)
  402. 4020 IF D<>1 THEN RF=RF*2
  403. 4030 PRINT"     FEEDBACK RESISTOR, Rf .....................";
  404. 4040 PRINT RF;
  405. 4050 PRINT"kOHMS"
  406. 4060 IF D=1 GOTO 4180
  407. 4070 RC=200/I(1)
  408. 4080 IF NEWC =0 GOTO 4110
  409. 4090 CC=SQR(L*CMAX*10)/(RC*1000)
  410. 4100 GOTO 4120
  411. 4110 CC=SQR(L*C(B)*10)/(RC*1000)
  412. 4120 PRINT"     COMPENSATION RESISTOR, Rc .................";
  413. 4130 PRINT RC;
  414. 4140 PRINT"kOHMS"
  415. 4150 PRINT"     COMPENSATION CAPACITOR, Cc ................";
  416. 4160 PRINT CC*1000000!;
  417. 4170 PRINT"uF"
  418. 4180 CT=1/(10000*F)
  419. 4190 IF D=1 THEN CT=CT/4.7
  420. 4200 PRINT"     TIMING CAPACITOR, Ct ......................";
  421. 4210 PRINT CT*1E+12;
  422. 4220 PRINT"pF"
  423. 4230 PRINT"     REFERENCE VOLTAGE CAPACITOR, Cref ......... 10 uF"
  424. 4240 VSM= 1+PO(4)/20
  425. 4250 IF D=1 THEN VSM=VSM+ .04*PO(4)
  426. 4260 VFM=.9+PO(4)/20
  427. 4270 DC=(PO(1)+VFM)/(I(1)+VFM-VSM)
  428. 4280 PT=VSM*PO(4)*DC
  429. 4290 PSW=(I(1)+VFM)*PO(4)*(TR(D)+TF(D)+(2*TS(D)))*F*.5
  430. 4300 PDD=VFM*PO(4)*(1-DC)
  431. 4310 IF D=1 GOTO 4340
  432. 4320 DL=I(1)*.02*DC
  433. 4330 GOTO 4350
  434. 4340 DL=I(1)*I(1)*DC/300
  435. 4350 PD=PT+PSW+PDD+DL
  436. 4360 PTTL=PS+(PO(1)*PO(4))+PD
  437. 4370 IF PO(1)+5>10 THEN DELV=PO(1)+5 ELSE DELV=10
  438. 4380 CIN=(HU*PTTL*2)/(1000*((I(3)*I(3))-(DELV*DELV)))
  439. 4390 PRINT"     INPUT CAPACITOR, Cin ......................";
  440. 4400 PRINT CIN*1000000!;
  441. 4410 PRINT"uF"
  442. 4420 THCA=((150-T)/PD)-4
  443. 4430 IF D=1 THEN THCA=THCA - 1
  444. 4440 IF THCA < 35 GOTO 4490
  445. 4450 PRINT
  446. 4460 PRINT" ********  NO HEAT SINKING IS REQUIRED  ********"
  447. 4470 PRINT
  448. 4480 GOTO 4610
  449. 4490 PRINT"     MAX THERMAL RESISTANCE CASE-TO-AMBIENT ....";
  450. 4500 PRINT THCA;
  451. 4510 PRINT"C/WATT"
  452. 4520 IF THCA>0 GOTO 4610
  453. 4530 PRINT CHR$(7);
  454. 4540 PRINT CHR$(7);
  455. 4550 PRINT CHR$(7)
  456. 4560 PRINT"     ************ SAFE OPERATING AREA HAS BEEN EXCEEDED ************"
  457. 4570 PRINT
  458. 4580 PRINT" INTERNAL POWER DISSIPATION IS";
  459. 4590 PRINT PD;
  460. 4600 PRINT"WATTS. REFER TO POWER DERATING CURVE IN DATA SHEET."
  461. 4610 PW=PD
  462. 4620 POUT=0
  463. 4630 FOR X = 0 TO A-1
  464. 4640 PW=PW+.9*SEC(X,5)
  465. 4650 POUT=POUT+SEC(X,3)*SEC(X,5)
  466. 4660 NEXT X
  467. 4670 POUT=POUT+PO(1)*PO(4)
  468. 4680 EFF=POUT/(POUT+PW)
  469. 4690 PRINT
  470. 4700 PRINT"     EFFICIENCY AT MAX POWER OUTPUT ............";
  471. 4710 PRINT EFF*100;
  472. 4720 PRINT"%"
  473. 4730 PRINT
  474. 4740 PRINT
  475. 4750 PRINT
  476. 4760 PRINT
  477. 4770 PRINT
  478. 4780 PRINT
  479. 4790 PRINT"       ( HIT RETURN TO CONTINUE )";
  480. 4800 INPUT G
  481. 4810 IF A=0 GOTO 5230
  482. 4820 PRINT
  483. 4830 PRINT
  484. 4840 PRINT
  485. 4850 PRINT" MINIMUM PRIMARY OUTPUT CURRENT FOR FULL SECONDARY OUTPUT"
  486. 4860 PRINT" POWER IS ..........";
  487. 4870 PRINT PS/PO(1);
  488. 4880 PRINT"AMPS"
  489. 4890 PRINT
  490. 4900 PSMN=0
  491. 4910 PSN=0
  492. 4920 FOR X=0 TO A-1
  493. 4930 PSMN=PSMN+(SEC(X,3)+.7)*SEC(X,4)
  494. 4940 PSN=PSN+(SEC(X,3)+.8)*SEC(X,6)
  495. 4950 NEXT X
  496. 4960 FOR X=0 TO A-1
  497. 4970 RNN=(SEC(X,1)+.9)/(PO(1)+.9)
  498. 4980 RNX=(SEC(X,2)+.7)/(PO(1)+VFM-PSMN/((I(1)-VSM)*(1-DC)))
  499. 4990 IF RNN<RNX GOTO 5050
  500. 5000 PRINT" SECONDARY #";
  501. 5010 PRINT X+1;
  502. 5020 PRINT"CANNOT BE MADE TO FALL BETWEEN ITS MIN/MAX LIMITS"
  503. 5030 PRINT" IN WORST CASE CONDITIONS WITHOUT A POST REGULATOR."
  504. 5040 GOTO 5190
  505. 5050 RN=(SEC(X,3)+.8)/(PO(1)+(VFM-(PSN/((I(3)-VSM)*(1-DCN)))))
  506. 5060 VPR=(I(1)-PO(1))*RN+SEC(X,2)
  507. 5070 CSEC=(SEC(X,5))/(F*((SEC(X,3)-SEC(X,1))*.1))
  508. 5080 PRINT" SECONDARY #";
  509. 5090 PRINT X+1
  510. 5100 PRINT"     TURNS RATIO, Ns/Np .........................";
  511. 5110 PRINT RN
  512. 5120 PRINT"     DIODE PEAK REVERSE VOLTAGE, Vpr ............";
  513. 5130 PRINT VPR;
  514. 5140 PRINT"VOLTS"
  515. 5150 PRINT"     MIN. OUTPUT FILTER CAPACITANCE, Csec .......";
  516. 5160 PRINT CSEC*1000000!;
  517. 5170 PRINT"uF"
  518. 5180 PRINT
  519. 5190 NEXT X
  520. 5200 PRINT
  521. 5210 PRINT"      ( HIT RETURN TO CONTINUE )";
  522. 5220 INPUT G
  523. 5230 PRINT
  524. 5240 IF FIRST=1 GOTO 5420
  525. 5250 CLS
  526. 5260 PRINT
  527. 5270 PRINT" THE PRIMARY OUTPUT FILTER CAPACITOR GIVEN AS A SOLUTION TO THIS"
  528. 5280 PRINT" DESIGN WAS CHOSEN FROM A TABLE OF 14 TYPICAL ALUMINUM ELECTROLYTIC"
  529. 5290 PRINT" CAPACITORS. EACH IS ASSUMED TO BE A +-20% TOLERANCE AND TO HAVE"
  530. 5300 PRINT" THE ASSOCIATED ESR FOR FREQUENCIES ABOVE 10KHz. OTHER CAPACITORS"
  531. 5310 PRINT" MAY HAVE WIDER TOLERANCES AND/OR DIFFERENT VALUES OF ESR.  THE"
  532. 5320 PRINT" NEXT SEGMENT OF THIS PROGRAM WILL ALLOW THE USER TO ENTER THE"
  533. 5330 PRINT" VALUE OF CAPACITANCE, MIN. AND MAX., AND THE ESR OF ANY OTHER"
  534. 5340 PRINT" CAPACITOR HE MAY WISH TO USE."
  535. 5350 PRINT
  536. 5360 PRINT" THE USER IS ALSO GIVEN THE OPPORTUNITY TO SEE THE AFFECT OF"
  537. 5370 PRINT" CHOOSING A DIFFERENT VALUE OF INDUCTANCE, L.  HE MAY ALSO CHANGE"
  538. 5380 PRINT" THE OPERATING FREQUENCY, F, THE MAXIMUM INPUT VOLTAGE, THE"
  539. 5390 PRINT" MINIMUM PRIMARY OUTPUT CURRENT, AND THE SWITCHING REGULATOR"
  540. 5400 PRINT" TO BE USED."
  541. 5410 PRINT
  542. 5420 PRINT" AT THIS POINT, THE USER MAY CHOOSE TO DO ANY OF THE FOLLOWING:"
  543. 5430 PRINT
  544. 5440 PRINT"     CHANGE PARAMETERS ........ 1"
  545. 5450 PRINT"     ALL NEW DESIGN ........... 2"
  546. 5460 PRINT"     QUIT ..................... 3"
  547. 5470 PRINT
  548. 5480 PRINT" WHAT WOULD YOU LIKE TO DO";
  549. 5490 INPUT LTD$
  550. 5500 IF LTD$="1" GOTO 5590
  551. 5510 IF LTD$="2" GOTO 700
  552. 5520 IF LTD$="3" GOTO 6030
  553. 5530 PRINT
  554. 5540 PRINT" THIS PROGRAM IS NOT EQUIPPED TO LET YOU ";
  555. 5550 PRINT LTD$
  556. 5560 PRINT"."
  557. 5570 PRINT" NOW,";
  558. 5580 GOTO 5480
  559. 5590 PRINT
  560. 5600 FIRST=1
  561. 5610 PRINT" TO CHANGE A PARAMETER, TYPE IN THE NEW VALUE WHEN PROMPTED."
  562. 5620 PRINT" TO LEAVE THE PARAMETER UNCHANGED, SIMPLY HIT RETURN."
  563. 5630 PRINT
  564. 5640 J=L
  565. 5650 PRINT"     L (uH)=";
  566. 5660 INPUT L
  567. 5670 IF L=0 GOTO 5710
  568. 5680 L=L/1000000!
  569. 5690 NEWL=1
  570. 5700 GOTO 5730
  571. 5710 L=J
  572. 5720 NEWL=0
  573. 5730 PRINT"     Cmax (uF)=";
  574. 5740 J=CMAX
  575. 5750 INPUT CMAX
  576. 5760 IF CMAX=0 GOTO 5790
  577. 5770 CMAX=CMAX/1000000!
  578. 5780 GOTO 5800
  579. 5790 CMAX=J
  580. 5800 PRINT"     Cmin (uF)=";
  581. 5810 J=CMIN
  582. 5820 INPUT CMIN
  583. 5830 IF CMIN=0 GOTO 5870
  584. 5840 CMIN=CMIN/1000000!
  585. 5850 NEWC=1
  586. 5860 GOTO 5890
  587. 5870 NEWC=0
  588. 5880 CMIN=J
  589. 5890 PRINT"     ESR (ohms)=";
  590. 5900 J=ER
  591. 5910 INPUT ER
  592. 5920 IF ER=0 GOTO 5950
  593. 5930 NEWC=1
  594. 5940 GOTO 5960
  595. 5950 ER=J
  596. 5960 GOTO 970
  597. 5970 PRINT
  598. 5980 DATA 600E-9,600E-9,320E-9,100E-9,100E-9,100E-9,100E-9,100E-9,100E-9
  599. 5990 DATA 33E-6,.772,68E-6,.374,150E-6,.17,220E-6,.116,330E-6,.0772
  600. 6000 DATA 470E-6,.0542,680E-6,.0374,.001,.0255,.0015,.017,.0022,.0116
  601. 6010 DATA .0033,.0078,.0047,.0054,.0068,.0037,.01,.0026
  602. 6020 DATA 100,1200E-9,40,6,300,600E-9,65,8,300,600E-9,105,8
  603. 6030 END
  604.