home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / ee4 / inductor.asc < prev    next >
Text File  |  1989-01-22  |  10KB  |  326 lines

  1. 10 REM
  2. 20 REM                INDUCTOR DESIGN AND TWIDDLING PROGRAM
  3. 30 REM                -------------------------------------
  4. 40 REM                           BY KEVIN MCCLANING.
  5. 50 REM
  6. 60 REM
  7. 70 CLS:PRINT
  8. 80 PRINT"                 INDUCTOR DESIGN AND TWIDDLING PROGRAM"
  9. 90 PRINT"                 -------------------------------------"
  10. 100 PRINT
  11. 110 PRINT "    THIS PROGRAM ALLOWS THE USER TO DESIGN INDUCTORS OF"
  12. 120 PRINT "SPECIFIC VALUE AND CONVERT CYLINDRICAL AIR-CORE INDUCTORS INTO"
  13. 130 PRINT "TOROIDAL FORMS (AND VISA VERSA)."
  14. 140 PRINT
  15. 150 PRINT "    NOTE: THE CYLINDRICAL INDUCTOR EQUATIONS USED IN THIS"
  16. 160 PRINT "PROGRAM ARE FROM THE AMATUER RADIO HANDBOOK (1979 EDITION)."
  17. 170 PRINT "THEY ARE VALID ONLY FOR CYLINDRICAL INDUCTORS WHOSE LENGTH"
  18. 180 PRINT "IS GREATER THAN 0.8 TIMES THE COIL RADIUS.  BEYOND THAT,"
  19. 190 PRINT "YOU'RE ON YOUR OWN."
  20. 200 GOSUB 2920
  21. 210 PRINT "WHAT'LL IT BE:"
  22. 220 PRINT "  1 - CYLINDRICAL TO TOROID CONVERSION"
  23. 230 PRINT "  2 - TOROID TO CYLINDRICAL CONVERSION"
  24. 240 PRINT "  3 - DESIGN CYLINDRICAL, AIR CORE INDUCTORS"
  25. 250 PRINT "  4 - DESIGN TOROIDAL INDUCTORS"
  26. 260 PRINT "  5 - VERIFY CYLINDRICAL INDUCTORS"
  27. 270 PRINT "  6 - VERIFY TOROIDAL INDUCTORS"
  28. 280 PRINT "  7 - EXIT"
  29. 290 INPUT ANS
  30. 300 IF ANS = 1 THEN 380
  31. 310 IF ANS = 2 THEN 840
  32. 320 IF ANS = 3 THEN 1300
  33. 330 IF ANS = 4 THEN 1700
  34. 340 IF ANS = 5 THEN 2040
  35. 350 IF ANS = 6 THEN 2440
  36. 360 IF ANS = 7 THEN CLS:END
  37. 370 BEEP:GOTO 200
  38. 380 REM
  39. 390 REM
  40. 400 REM
  41. 410 REM
  42. 420 REM  CYLINDRICAL TO TOROID CONVERSION
  43. 430 REM
  44. 440 REM
  45. 450 GOSUB 2920
  46. 460 PRINT"CYLINDRICAL TO TOROID CONVERSION":PRINT
  47. 470 INPUT "ENTER NUMBER OF TURNS ON CYLINDRICAL INDUCTOR";NCYL
  48. 480 INPUT "ENTER INDUCTOR DIAMETER (INCHES)";DIA:RADIUS=DIA/2
  49. 490 INPUT "ENTER INDUCTOR LENGTH (INCHES)";LENGTH
  50. 500 REM
  51. 510 REM FIGURE OUT INDUCTANCE
  52. 520 REM
  53. 530 IND = (RADIUS*RADIUS*NCYL*NCYL)/((9*RADIUS)+(10*LENGTH))
  54. 540 REM
  55. 550 INPUT "ENTER TOROID PERMEABILITY (uH/100 turns)";ASUBL
  56. 560 REM
  57. 570 REM FIGURE OUT # OF TOROID TURNS
  58. 580 REM
  59. 590 NTOR = 100*(SQR(IND/ASUBL))
  60. 600 REM
  61. 610 REM OUTPUT RESULTS
  62. 620 REM
  63. 630 GOSUB 2920
  64. 640 PRINT "CYLINDRICAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  65. 650 PRINT "  NUMBER TURNS = ";INT(NCYL*10)/10
  66. 660 PRINT "  DIAMETER = ";INT(DIA*100)/100;" INCHES"
  67. 670 PRINT "  LENGTH = ";INT(LENGTH*100)/100;" INCHES"
  68. 680 PRINT
  69. 690 PRINT "TOROIDAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  70. 700 PRINT "  PERMEABILITY =";ASUBL;" uH/100 turns"
  71. 710 PRINT "  NUMBER TURNS = ";INT(NTOR*10)/10
  72. 720 GOSUB 2920
  73. 730 PRINT "WHAT'LL IT BE:"
  74. 740 PRINT "   1 - ENTER ANOTHER TOROID PERMEABILITY"
  75. 750 PRINT "   2 - DEFINE ANOTHER CYLINDRICAL INDUCTOR"
  76. 760 PRINT "   3 - PRINT"
  77. 770 PRINT "   4 - MAIN MENU"
  78. 780 INPUT ANS
  79. 790 IF ANS = 1 THEN GOTO 550
  80. 800 IF ANS = 2 THEN GOTO 380
  81. 810 IF ANS = 3 THEN GOSUB 2960:GOTO 720
  82. 820 IF ANS = 4 THEN GOTO 200
  83. 830 BEEP:GOTO 730
  84. 840 REM
  85. 850 REM
  86. 860 REM
  87. 870 REM
  88. 880 REM  CYLINDRICAL TO TOROID CONVERSION
  89. 890 REM
  90. 900 REM
  91. 910 GOSUB 2920
  92. 920 PRINT"TOROID TO CYLINDRICAL CONVERSION":PRINT
  93. 930 INPUT "ENTER TOROID PERMEABILITY (uH/100 turns)";ASUBL
  94. 940 INPUT "ENTER NUMBER OF TURNS ON TOROID";NTOR
  95. 950 REM
  96. 960 REM FIGURE OUT INDUCTANCE OF TOROID
  97. 970 REM
  98. 980 IND = ASUBL*NTOR*NTOR/10000
  99. 990 REM
  100. 1000 INPUT "ENTER CYLINDRICAL INDUCTOR DIAMETER (INCHES)";DIA:RADIUS=DIA/2
  101. 1010 INPUT "ENTER INDUCTOR LENGTH (INCHES)";LENGTH
  102. 1020 REM
  103. 1030 REM FIGURE OUT # OF CYLINDRICAL INDUCTOR TURNS
  104. 1040 REM
  105. 1050 NCYL = (SQR(IND*(9*RADIUS+10*LENGTH)))/RADIUS
  106. 1060 REM
  107. 1070 REM OUTPUT RESULTS
  108. 1080 REM
  109. 1090 GOSUB 2920
  110. 1100 PRINT "CYLINDRICAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  111. 1110 PRINT "  NUMBER TURNS = ";INT(NCYL*10)/10
  112. 1120 PRINT "  DIAMETER = ";INT(DIA*100)/100;" INCHES"
  113. 1130 PRINT "  LENGTH = ";INT(100*LENGTH)/100;" INCHES"
  114. 1140 PRINT
  115. 1150 PRINT "TOROIDAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  116. 1160 PRINT "  PERMEABILITY =";ASUBL;" uH/100 turns"
  117. 1170 PRINT "  NUMBER TURNS = ";INT(NTOR*10)/10
  118. 1180 GOSUB 2920
  119. 1190 PRINT "WHAT'LL IT BE:"
  120. 1200 PRINT "   1 - ENTER ANOTHER CYLINDRICAL INDUCTOR"
  121. 1210 PRINT "   2 - DEFINE ANOTHER TOROIDAL INDUCTOR"
  122. 1220 PRINT "   3 - PRINT"
  123. 1230 PRINT "   4 - MAIN MENU"
  124. 1240 INPUT ANS
  125. 1250 IF ANS = 1 THEN GOTO 1000
  126. 1260 IF ANS = 2 THEN GOTO 840
  127. 1270 IF ANS = 3 THEN GOSUB 2960:GOTO1040
  128. 1280 IF ANS = 4 THEN GOTO 200
  129. 1290 BEEP:GOTO 1190
  130. 1300 REM
  131. 1310 REM
  132. 1320 REM
  133. 1330 REM
  134. 1340 REM  CYLINDRICAL INDUCTOR DESIGN
  135. 1350 REM
  136. 1360 REM
  137. 1370 GOSUB 2920
  138. 1380 PRINT"CYLINDRICAL INDUCTOR DESIGN":PRINT
  139. 1390 GOSUB 2840
  140. 1400 GOSUB 2860
  141. 1410 GOSUB 2880
  142. 1420 REM
  143. 1430 REM FIGURE OUT NUMBER OF TURNS NEEDED
  144. 1440 REM
  145. 1450 NCYL = (SQR(IND*(9*RADIUS+10*LENGTH)))/RADIUS
  146. 1460 REM
  147. 1470 REM OUTPUT RESULTS
  148. 1480 REM
  149. 1490 GOSUB 2920
  150. 1500 PRINT "CYLINDRICAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  151. 1510 PRINT "  NUMBER TURNS = ";INT(NCYL*10)/10
  152. 1520 PRINT "  DIAMETER = ";INT(100*DIA)/100;" INCHES"
  153. 1530 PRINT "  LENGTH = ";INT(100*LENGTH)/100;" INCHES"
  154. 1540 GOSUB 2920
  155. 1550 PRINT "WHAT'LL IT BE:"
  156. 1560 PRINT "   1 - CHANGE INDUCTOR DIAMETER"
  157. 1570 PRINT "   2 - CHANGE INDUCTOR LENGTH"
  158. 1580 PRINT "   3 - CHANGE INDUCTANCE"
  159. 1590 PRINT "   4 - START A NEW INDUCTOR"
  160. 1600 PRINT "   5 - PRINT"
  161. 1610 PRINT "   6 - MAIN MENU"
  162. 1620 INPUT ANS
  163. 1630 IF ANS = 1 THEN GOSUB 2840:GOTO 1420
  164. 1640 IF ANS = 2 THEN GOSUB 2860:GOTO 1420
  165. 1650 IF ANS = 3 THEN GOSUB 2880:GOTO 1420
  166. 1660 IF ANS = 4 THEN GOTO 1300
  167. 1670 IF ANS = 5 THEN GOSUB 3070:GOTO 1540
  168. 1680 IF ANS = 6 THEN GOTO 200
  169. 1690 BEEP:GOTO 1540
  170. 1700 REM
  171. 1710 REM
  172. 1720 REM
  173. 1730 REM
  174. 1740 REM  TOROIDAL INDUCTOR DESIGN
  175. 1750 REM
  176. 1760 REM
  177. 1770 GOSUB 2920
  178. 1780 PRINT"TOROIDAL INDUCTOR DESIGN":PRINT
  179. 1790 GOSUB 3500
  180. 1800 GOSUB 3520
  181. 1810 REM
  182. 1820 REM FIGURE OUT NUMBER OF TURNS NEEDED
  183. 1830 REM
  184. 1840 NTOR = 100*(SQR(IND/ASUBL))
  185. 1850 REM
  186. 1860 REM OUTPUT RESULTS
  187. 1870 REM
  188. 1880 GOSUB 2920
  189. 1890 PRINT "TOROIDAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  190. 1900 PRINT "  PERMEABILITY =";ASUBL;" uH/100 turns"
  191. 1910 PRINT "  NUMBER TURNS = ";INT(NTOR*10)/10
  192. 1920 GOSUB 2920
  193. 1930 PRINT "WHAT'LL IT BE:"
  194. 1940 PRINT "   1 - ENTER ANOTHER TOROID PERMABILITY"
  195. 1950 PRINT "   2 - ENTER ANOTHER DESIRED INDUCTANCE VALUE"
  196. 1960 PRINT "   3 - PRINT"
  197. 1970 PRINT "   4 - MAIN MENU"
  198. 1980 INPUT ANS
  199. 1990 IF ANS = 1 THEN GOSUB 3520:GOTO 1820
  200. 2000 IF ANS = 2 THEN GOSUB 3500:GOTO 1820
  201. 2010 IF ANS = 3 THEN GOSUB 3140:GOTO 1920
  202. 2020 IF ANS = 4 THEN GOTO 200
  203. 2030 BEEP:GOTO 1920
  204. 2040 REM
  205. 2050 REM
  206. 2060 REM
  207. 2070 REM
  208. 2080 REM  CYLINDRICAL INDUCTOR VERIFICATION
  209. 2090 REM
  210. 2100 REM
  211. 2110 GOSUB 2920
  212. 2120 PRINT"CYLINDRICAL INDUCTOR VERIFICATION":PRINT
  213. 2130 GOSUB 2900
  214. 2140 GOSUB 2840
  215. 2150 GOSUB 2860
  216. 2160 REM
  217. 2170 REM FIGURE OUT INDUCTANCE
  218. 2180 REM
  219. 2190 IND = (RADIUS*RADIUS*NCYL*NCYL)/((9*RADIUS)+(10*LENGTH))
  220. 2200 REM
  221. 2210 REM OUTPUT RESULTS
  222. 2220 REM
  223. 2230 GOSUB 2920
  224. 2240 PRINT "CYLINDRICAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  225. 2250 PRINT "  NUMBER TURNS = ";INT(NCYL*10)/10
  226. 2260 PRINT "  DIAMETER = ";INT(DIA*100)/100;" INCHES"
  227. 2270 PRINT "  LENGTH = ";INT(LENGTH*100)/100;" INCHES"
  228. 2280 GOSUB 2920
  229. 2290 PRINT "WHAT'LL IT BE:"
  230. 2300 PRINT "   1 - CHANGE INDUCTOR DIAMETER"
  231. 2310 PRINT "   2 - CHANGE INDUCTOR LENGTH"
  232. 2320 PRINT "   3 - CHANGE NUMBER OF TURNS"
  233. 2330 PRINT "   4 - START A NEW INDUCTOR"
  234. 2340 PRINT "   5 - PRINT"
  235. 2350 PRINT "   6 - MAIN MENU"
  236. 2360 INPUT ANS
  237. 2370 IF ANS = 1 THEN GOSUB 2840:GOTO 2170
  238. 2380 IF ANS = 2 THEN GOSUB 2860:GOTO 2170
  239. 2390 IF ANS = 3 THEN GOSUB 2900:GOTO 2170
  240. 2400 IF ANS = 4 THEN GOTO 2130
  241. 2410 IF ANS = 5 THEN GOSUB 3070:GOTO 2170
  242. 2420 IF ANS = 6 THEN GOTO 200
  243. 2430 BEEP:GOTO 1540
  244. 2440 REM
  245. 2450 REM
  246. 2460 REM
  247. 2470 REM
  248. 2480 REM     TOROIDAL INDUCTOR VERIFICATION
  249. 2490 REM
  250. 2500 REM
  251. 2510 GOSUB 2920
  252. 2520 PRINT"TOROIDAL INDUCTOR VERIFICATION":PRINT
  253. 2530 GOSUB 3190
  254. 2540 GOSUB 3210
  255. 2550 REM
  256. 2560 REM FIGURE OUT INDUCTANCE OF TOROID
  257. 2570 REM
  258. 2580 IND = ASUBL*NTOR*NTOR/10000
  259. 2590 REM
  260. 2600 REM OUTPUT RESULTS
  261. 2610 REM
  262. 2620 GOSUB 2920
  263. 2630 PRINT "TOROIDAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  264. 2640 PRINT "  PERMEABILITY =";ASUBL;" uH/100 turns"
  265. 2650 PRINT "  NUMBER TURNS = ";INT(NTOR*10)/10
  266. 2660 GOSUB 2920
  267. 2670 PRINT "WHAT'LL IT BE:"
  268. 2680 PRINT "   1 - ENTER ANOTHER TOROID PERMEABILITY"
  269. 2690 PRINT "   2 - ENTER NEW NUMBER OF TURNS"
  270. 2700 PRINT "   3 - ENTER BOTH"
  271. 2710 PRINT "   4 - PRINT"
  272. 2720 PRINT "   5 - MAIN MENU"
  273. 2730 INPUT ANS
  274. 2740 IF ANS = 1 THEN GOSUB 3190:GOTO 2560
  275. 2750 IF ANS = 2 THEN GOSUB 3210:GOTO 2560
  276. 2760 IF ANS = 3 THEN GOTO 2530
  277. 2770 IF ANS = 4 THEN GOSUB 3140:GOTO 2660
  278. 2780 IF ANS = 5 THEN GOTO 200
  279. 2790 BEEP:GOTO 2660
  280. 2800 REM
  281. 2810 REM
  282. 2820 REM SUBROUTINES
  283. 2830 REM
  284. 2840 INPUT "ENTER INDUCTOR DIAMETER (INCHES)";DIA:RADIUS=DIA/2:RETURN
  285. 2850 REM
  286. 2860 INPUT "ENTER INDUCTOR LENGTH (INCHES)";LENGTH:RETURN
  287. 2870 REM
  288. 2880 INPUT "ENTER DESIRED INDUCTANCE (uH)";IND:RETURN
  289. 2890 REM
  290. 2900 INPUT "ENTER NUMBER OF TURNS ON CYLINDRICAL INDUCTOR";NCYL:RETURN
  291. 2910 REM
  292. 2920 PRINT "--------------------------------":RETURN
  293. 2930 REM
  294. 2940 LPRINT "--------------------------------":RETURN
  295. 2950 REM
  296. 2960 GOSUB 2940
  297. 2970 LPRINT "CYLINDRICAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  298. 2980 LPRINT "  NUMBER TURNS = ";INT(NCYL*10)/10
  299. 2990 LPRINT "  DIAMETER = ";INT(DIA*100)/100;" INCHES"
  300. 3000 LPRINT "  LENGTH = ";INT(LENGTH*100)/100;" INCHES"
  301. 3010 LPRINT
  302. 3020 LPRINT "TOROIDAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  303. 3030 LPRINT "  PERMEABILITY =";ASUBL;" uH/100 turns"
  304. 3040 LPRINT "  NUMBER TURNS = ";INT(NTOR*10)/10
  305. 3050 GOSUB 2940:RETURN
  306. 3060 REM
  307. 3070 GOSUB 2940
  308. 3080 LPRINT "CYLINDRICAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  309. 3090 LPRINT "  NUMBER TURNS = ";INT(NCYL*10)/10
  310. 3100 LPRINT "  DIAMETER = ";INT(100*DIA)/100;" INCHES"
  311. 3110 LPRINT "  LENGTH = ";INT(100*LENGTH)/100;" INCHES"
  312. 3120 GOSUB 2940:RETURN
  313. 3130 REM
  314. 3140 GOSUB 2940
  315. 3150 LPRINT "TOROIDAL INDUCTOR (L = ";INT(IND*1000)/1000;" uH):"
  316. 3160 LPRINT "  PERMEABILITY =";ASUBL;" uH/100 turns"
  317. 3170 LPRINT "  NUMBER TURNS = ";INT(NTOR*10)/10
  318. 3180 GOSUB 2940:RETURN
  319. 3190 INPUT "ENTER TOROID PERMEABILITY (uH/100 turns)";ASUBL:RETURN
  320. 3200 REM
  321. 3210 INPUT "ENTER NUMBER OF TURNS ON TOROID";NTOR:RETURN
  322. 3220 REM
  323. 3500 INPUT "ENTER DESIRED INDUCTANCE (uH)";IND:RETURN
  324. 3510 REM
  325. 3520 INPUT "ENTER TOROID PERMEABILITY (uH/100 turns)";ASUBL:RETURN
  326.