home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / design1 / ind-calc.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-09-01  |  4.5 KB  |  132 lines

  1. 10  CLS: PRINT "PROGRAM TO CALCULATE INDUCTANCE V2.3I (9/1/86)"
  2. 15  PRINT "WRITTEN BY A. KATZ FOR TSC ELECTRONICS PROGRAM SERIES
  3. 20  PRINT "ALL DIMENSIONS ARE CONSIDER IN MILS": PI=4*ATN(1)
  4. 30  PRINT: INPUT "STRAIGHT WIRE, STRAP, COIL OR MICROSTRIP (R/S/C/M)"; Q$
  5. 40  IF Q$="R" THEN 420  ELSE IF Q$="C" THEN 730 ELSE IF Q$="M" THEN 1020
  6. 50  IF Q$<>"S" THEN 30
  7. 60  PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
  8. 70  IF Q$="SYN" THEN 230 ELSE IF Q$<>"ANA" THEN 60
  9. 80  PRINT: INPUT "THICKNESS"; T: INPUT "WIDTH"; W
  10. 90  IF T>W THEN X=T: T=W: W=X: R=T/W: E=0.000999999
  11. 100  IF R>0.25 THEN E=R/100 ELSE IF R>0.1 THEN E=0.002
  12. 110  INPUT "LENGTH"; L
  13. 120  IN=0.00508*L*(LOG(2*L/(W+T))+0.5+E)
  14. 130  PRINT: PRINT "IND. IN NANOHENRIES", IN
  15. 140  PRINT: INPUT "WANT HARDCOPY (Y/N)";H$
  16. 150  IF H$<>"Y"THEN GOTO 200
  17. 160  LPRINT:LPRINT "THICKNESS=  ";T
  18. 170  LPRINT: LPRINT "WIDTH=  ";W
  19. 180  LPRINT: LPRINT "LENGTH=  ";L
  20. 190  LPRINT: LPRINT "IND. IN NANOHENRIES=  ";IN
  21. 200  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  22. 210  IF Q$="Y" THEN 80 ELSE END
  23. 220  REM STRAP SYN CALC
  24. 230  PRINT: INPUT "THICKNESS"; T: INPUT "WIDTH"; W
  25. 240  INPUT "IND. IN NANOHENRIES";IN
  26. 250  IF T>W THEN X=T: T=W: W=X: R=T/W: E=0.000999999
  27. 260  IF R>0.25 THEN E=R/100 ELSE IF R>0.1 THEN E=0.002
  28. 270  LT=SQR(IN*(W+T)/0.01): N=0
  29. 280  IT=0.00508*LT*(LOG(2*LT/(W+T))+0.5+E)
  30. 290  D=IN-IT: IF ABS(D)<0.01 THEN 320
  31. 300  IF D<-IN THEN D=-IN/1.25
  32. 310  LT=LT+LT*D/IN: N=N+1: IF N=500 THEN 320 ELSE 280
  33. 320  PRINT: PRINT "L"; LT, "IND."; IT: PRINT
  34. 330  PRINT:INPUT "WANT HARDCOPY (Y/N)";H$
  35. 340  IF H$<>"Y"THEN GOTO 390
  36. 350  LPRINT: LPRINT "THICKNESS=  ";T
  37. 360  LPRINT: LPRINT "WIDTH=  ";W
  38. 370  LPRINT: LPRINT "LENGTH=  ";LT
  39. 380  LPRINT: LPRINT "IND. IN NANOHENRIES=  ";IT
  40. 390  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  41. 400  IF Q$="Y" THEN 230 ELSE END
  42. 410  REM ROUND WIRE CALC
  43. 420  PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
  44. 430  IF Q$="SYN" THEN 560 ELSE IF Q$<>"ANA" THEN 420
  45. 440  PRINT: INPUT "WIRE DIAMETER"; D
  46. 450  INPUT "LENGTH"; L
  47. 460  IN=0.00508 *L*(LOG(4*L/D)-0.75)
  48. 470  PRINT: PRINT "IND. IN NANOHENRIES", IN
  49. 480  PRINT:INPUT "WANT HARDCOPY (Y/N)";H$
  50. 490  IF H$ <>"Y" THEN GOTO 530
  51. 500  LPRINT: LPRINT "WIRE DIAMETER=  ";D
  52. 510  LPRINT: LPRINT "LENGTH=  ";L
  53. 520  LPRINT: LPRINT "IND. IN NANOHENRIES=  ";IN
  54. 530  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  55. 540  IF Q$="Y" THEN 450 ELSE END
  56. 550  REM WIRE SYN CALC
  57. 560  PRINT: INPUT "WIRE DIAMETER"; D
  58. 570  INPUT "IND. IN NANOHENRIES"; IN
  59. 580  LT=SQR(IN*D)/0.02: N=0
  60. 590  IT=0.00508*LT*(LOG(4*LT/D)-0.75)
  61. 600  DF=IN-IT: IF ABS(DF)<0.01 THEN 630
  62. 610  IF DF<-IN THEN DF=-IN/1.25
  63. 620  LT=LT+LT*DF/IN: N=N+1: IF N=500 THEN 630 ELSE 590
  64. 630  PRINT: PRINT "L"; LT, "IND."; IT: PRINT
  65. 640  PRINT:INPUT"WANT HARDCOPY (Y/N)";H$
  66. 650  IF H$ <>"Y" THEN GOTO 700
  67. 660  LPRINT: LPRINT "WIRE DIAMETER=  ";D
  68. 670  LPRINT: LPRINT "IND. IN NANOHENRIES=  ";IN
  69. 680  LPRINT: LPRINT "LENGTH=  ";LT
  70. 690  LPRINT: LPRINT "IND. IN NANOHENRIES=  ";IT
  71. 700  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  72. 710  IF Q$="Y" THEN 560 ELSE END
  73. 720  REM COIL CALC
  74. 730  PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
  75. 740  IF Q$="SYN" THEN 890 ELSE IF Q$<>"ANA" THEN 730
  76. 750  PRINT: INPUT "COIL DIAMETER"; D: R=D/2000
  77. 760  INPUT "LENGTH"; L: L=L/1000
  78. 770  INPUT "# OF TURNS"; NT
  79. 780  IN=(NT*R)^2/(9*R+10*L)
  80. 790  PRINT: PRINT "IND. IN MICROHENERIES", IN: PRINT
  81. 800  PRINT:INPUT"WANT HARDCOPY (Y/N)";H$
  82. 810  IF H$ <>"Y" GOTO 860
  83. 820  LPRINT:LPRINT "COIL DIAMETER= ";D
  84. 830  LPRINT:LPRINT "LENGTH=  ";L
  85. 840  LPRINT:LPRINT "# OF TURNS=  ";NT
  86. 850  LPRINT:LPRINT "IND. IN MICROHENRIES=";IN
  87. 860  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  88. 870  IF Q$="Y" THEN 750 ELSE END
  89. 880  REM COIL SYN CALC
  90. 890  PRINT: INPUT "COIL DIAMETER"; D: R=D/2000
  91. 900  INPUT "LENGTH"; L: L=L/1000
  92. 910  INPUT "IND. IN MICROHENRIES"; IN
  93. 920  K=R^2/(9*R+10*L): NN=SQR(IN/K)
  94. 930  PRINT: PRINT "# OF TURNS"; NN: PRINT
  95. 940  PRINT:INPUT"WANT HARDCOPY (Y/N)";H$
  96. 950  IF H$ <>"Y" GOTO 1000
  97. 960  LPRINT: LPRINT "COIL DIAMETER=";D
  98. 970  LPRINT: LPRINT "LENGTH=";L
  99. 980  LPRINT: LPRINT "IND. IN MICROHENRIES=";IN
  100. 990  LPRINT: LPRINT "# OF TURNS =";NN
  101. 1000  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  102. 1010  IF Q$="Y" THEN 890 ELSE END
  103. 1015  REM ********************* MICROSTRIP INDUCTOR **************
  104. 1020  PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
  105. 1025  IF Q$="ANA" THEN 1160 ELSE IF Q$<>"SYN" THEN 1020
  106. 1030  PRINT: INPUT "Z0 OF LINE"; Z0
  107. 1040  INPUT "FREQ IN MHz"; F: F=F*1E+06
  108. 1050  INPUT "IND. NANOHENERIES"; IN: X=2*PI*F*IN*0/Z0
  109. 1055  LM=ATN(X/(1-X*X))/(2*PI): IF LM<0 THEN LM=0.25-LM
  110. 1058  CP=LM/(2*F*Z0*0): PRINT
  111. 1060  PRINT "XL/Z0="; X; "MUST BE << 1 FOR GOOD APPROX, SHUNT CAP IN pFd="; CP
  112. 1080  PRINT "LENGTH IN WAVELENGTHS ="; LM
  113. 1090  PRINT: INPUT "WANT HARDCOPY (Y/N)"; H$
  114. 1100  IF H$<>"Y" THEN 1140
  115. 1110  LPRINT: LPRINT "LINE Z0 ="; Z0
  116. 1120  LPRINT: LPRINT "LENGTH IN WAVELENGTHS ="; LM, "SHUNT CAP="; CP
  117. 1130  LPRINT: LPRINT "IND. IN NANOHENERIES ="; IN
  118. 1140  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  119. 1150  IF Q$="Y" THEN 1020 ELSE END
  120. 1160  PRINT: INPUT "Z0 OF LINE"; Z0
  121. 1170  INPUT "FREQ IN MHz"; F: F=F*1E+06
  122. 1172  INPUT "LENGTH IN WAVELENGTHS ="; LM
  123. 1174  XI=Z0*SIN(2*PI*LM): CP=LM/(2*F*Z0*0): LX=XI/(2*PI*F*0): PRINT
  124. 1190  PRINT "IND. NANOHENERIES"; LX; " IND REACTANCE="; XI; " SHUNT CAP IN pFd="; CP
  125. 1200  PRINT: INPUT "WANT HARDCOPY (Y/N)"; H$
  126. 1210  IF H$<>"Y" THEN 1250
  127. 1220  LPRINT: LPRINT "LINE Z0 ="; Z0
  128. 1230  LPRINT: LPRINT "LENGTH IN WAVELENGTHS ="; LM, "SHUNT CAP="; CP
  129. 1240  LPRINT: LPRINT "IND. IN NANOHENERIES ="; LX, "REACTANCE="; XI
  130. 1250  INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
  131. 1260  IF Q$="Y" THEN 1020 ELSE END
  132.