home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-09-01 | 4.5 KB | 132 lines |
- 10 CLS: PRINT "PROGRAM TO CALCULATE INDUCTANCE V2.3I (9/1/86)"
- 15 PRINT "WRITTEN BY A. KATZ FOR TSC ELECTRONICS PROGRAM SERIES
- 20 PRINT "ALL DIMENSIONS ARE CONSIDER IN MILS": PI=4*ATN(1)
- 30 PRINT: INPUT "STRAIGHT WIRE, STRAP, COIL OR MICROSTRIP (R/S/C/M)"; Q$
- 40 IF Q$="R" THEN 420 ELSE IF Q$="C" THEN 730 ELSE IF Q$="M" THEN 1020
- 50 IF Q$<>"S" THEN 30
- 60 PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
- 70 IF Q$="SYN" THEN 230 ELSE IF Q$<>"ANA" THEN 60
- 80 PRINT: INPUT "THICKNESS"; T: INPUT "WIDTH"; W
- 90 IF T>W THEN X=T: T=W: W=X: R=T/W: E=0.000999999
- 100 IF R>0.25 THEN E=R/100 ELSE IF R>0.1 THEN E=0.002
- 110 INPUT "LENGTH"; L
- 120 IN=0.00508*L*(LOG(2*L/(W+T))+0.5+E)
- 130 PRINT: PRINT "IND. IN NANOHENRIES", IN
- 140 PRINT: INPUT "WANT HARDCOPY (Y/N)";H$
- 150 IF H$<>"Y"THEN GOTO 200
- 160 LPRINT:LPRINT "THICKNESS= ";T
- 170 LPRINT: LPRINT "WIDTH= ";W
- 180 LPRINT: LPRINT "LENGTH= ";L
- 190 LPRINT: LPRINT "IND. IN NANOHENRIES= ";IN
- 200 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 210 IF Q$="Y" THEN 80 ELSE END
- 220 REM STRAP SYN CALC
- 230 PRINT: INPUT "THICKNESS"; T: INPUT "WIDTH"; W
- 240 INPUT "IND. IN NANOHENRIES";IN
- 250 IF T>W THEN X=T: T=W: W=X: R=T/W: E=0.000999999
- 260 IF R>0.25 THEN E=R/100 ELSE IF R>0.1 THEN E=0.002
- 270 LT=SQR(IN*(W+T)/0.01): N=0
- 280 IT=0.00508*LT*(LOG(2*LT/(W+T))+0.5+E)
- 290 D=IN-IT: IF ABS(D)<0.01 THEN 320
- 300 IF D<-IN THEN D=-IN/1.25
- 310 LT=LT+LT*D/IN: N=N+1: IF N=500 THEN 320 ELSE 280
- 320 PRINT: PRINT "L"; LT, "IND."; IT: PRINT
- 330 PRINT:INPUT "WANT HARDCOPY (Y/N)";H$
- 340 IF H$<>"Y"THEN GOTO 390
- 350 LPRINT: LPRINT "THICKNESS= ";T
- 360 LPRINT: LPRINT "WIDTH= ";W
- 370 LPRINT: LPRINT "LENGTH= ";LT
- 380 LPRINT: LPRINT "IND. IN NANOHENRIES= ";IT
- 390 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 400 IF Q$="Y" THEN 230 ELSE END
- 410 REM ROUND WIRE CALC
- 420 PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
- 430 IF Q$="SYN" THEN 560 ELSE IF Q$<>"ANA" THEN 420
- 440 PRINT: INPUT "WIRE DIAMETER"; D
- 450 INPUT "LENGTH"; L
- 460 IN=0.00508 *L*(LOG(4*L/D)-0.75)
- 470 PRINT: PRINT "IND. IN NANOHENRIES", IN
- 480 PRINT:INPUT "WANT HARDCOPY (Y/N)";H$
- 490 IF H$ <>"Y" THEN GOTO 530
- 500 LPRINT: LPRINT "WIRE DIAMETER= ";D
- 510 LPRINT: LPRINT "LENGTH= ";L
- 520 LPRINT: LPRINT "IND. IN NANOHENRIES= ";IN
- 530 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 540 IF Q$="Y" THEN 450 ELSE END
- 550 REM WIRE SYN CALC
- 560 PRINT: INPUT "WIRE DIAMETER"; D
- 570 INPUT "IND. IN NANOHENRIES"; IN
- 580 LT=SQR(IN*D)/0.02: N=0
- 590 IT=0.00508*LT*(LOG(4*LT/D)-0.75)
- 600 DF=IN-IT: IF ABS(DF)<0.01 THEN 630
- 610 IF DF<-IN THEN DF=-IN/1.25
- 620 LT=LT+LT*DF/IN: N=N+1: IF N=500 THEN 630 ELSE 590
- 630 PRINT: PRINT "L"; LT, "IND."; IT: PRINT
- 640 PRINT:INPUT"WANT HARDCOPY (Y/N)";H$
- 650 IF H$ <>"Y" THEN GOTO 700
- 660 LPRINT: LPRINT "WIRE DIAMETER= ";D
- 670 LPRINT: LPRINT "IND. IN NANOHENRIES= ";IN
- 680 LPRINT: LPRINT "LENGTH= ";LT
- 690 LPRINT: LPRINT "IND. IN NANOHENRIES= ";IT
- 700 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 710 IF Q$="Y" THEN 560 ELSE END
- 720 REM COIL CALC
- 730 PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
- 740 IF Q$="SYN" THEN 890 ELSE IF Q$<>"ANA" THEN 730
- 750 PRINT: INPUT "COIL DIAMETER"; D: R=D/2000
- 760 INPUT "LENGTH"; L: L=L/1000
- 770 INPUT "# OF TURNS"; NT
- 780 IN=(NT*R)^2/(9*R+10*L)
- 790 PRINT: PRINT "IND. IN MICROHENERIES", IN: PRINT
- 800 PRINT:INPUT"WANT HARDCOPY (Y/N)";H$
- 810 IF H$ <>"Y" GOTO 860
- 820 LPRINT:LPRINT "COIL DIAMETER= ";D
- 830 LPRINT:LPRINT "LENGTH= ";L
- 840 LPRINT:LPRINT "# OF TURNS= ";NT
- 850 LPRINT:LPRINT "IND. IN MICROHENRIES=";IN
- 860 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 870 IF Q$="Y" THEN 750 ELSE END
- 880 REM COIL SYN CALC
- 890 PRINT: INPUT "COIL DIAMETER"; D: R=D/2000
- 900 INPUT "LENGTH"; L: L=L/1000
- 910 INPUT "IND. IN MICROHENRIES"; IN
- 920 K=R^2/(9*R+10*L): NN=SQR(IN/K)
- 930 PRINT: PRINT "# OF TURNS"; NN: PRINT
- 940 PRINT:INPUT"WANT HARDCOPY (Y/N)";H$
- 950 IF H$ <>"Y" GOTO 1000
- 960 LPRINT: LPRINT "COIL DIAMETER=";D
- 970 LPRINT: LPRINT "LENGTH=";L
- 980 LPRINT: LPRINT "IND. IN MICROHENRIES=";IN
- 990 LPRINT: LPRINT "# OF TURNS =";NN
- 1000 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 1010 IF Q$="Y" THEN 890 ELSE END
- 1015 REM ********************* MICROSTRIP INDUCTOR **************
- 1020 PRINT: INPUT "ANALYSIS OR SYNTHESIS (ANA/SYN)"; Q$
- 1025 IF Q$="ANA" THEN 1160 ELSE IF Q$<>"SYN" THEN 1020
- 1030 PRINT: INPUT "Z0 OF LINE"; Z0
- 1040 INPUT "FREQ IN MHz"; F: F=F*1E+06
- 1050 INPUT "IND. NANOHENERIES"; IN: X=2*PI*F*IN*0/Z0
- 1055 LM=ATN(X/(1-X*X))/(2*PI): IF LM<0 THEN LM=0.25-LM
- 1058 CP=LM/(2*F*Z0*0): PRINT
- 1060 PRINT "XL/Z0="; X; "MUST BE << 1 FOR GOOD APPROX, SHUNT CAP IN pFd="; CP
- 1080 PRINT "LENGTH IN WAVELENGTHS ="; LM
- 1090 PRINT: INPUT "WANT HARDCOPY (Y/N)"; H$
- 1100 IF H$<>"Y" THEN 1140
- 1110 LPRINT: LPRINT "LINE Z0 ="; Z0
- 1120 LPRINT: LPRINT "LENGTH IN WAVELENGTHS ="; LM, "SHUNT CAP="; CP
- 1130 LPRINT: LPRINT "IND. IN NANOHENERIES ="; IN
- 1140 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 1150 IF Q$="Y" THEN 1020 ELSE END
- 1160 PRINT: INPUT "Z0 OF LINE"; Z0
- 1170 INPUT "FREQ IN MHz"; F: F=F*1E+06
- 1172 INPUT "LENGTH IN WAVELENGTHS ="; LM
- 1174 XI=Z0*SIN(2*PI*LM): CP=LM/(2*F*Z0*0): LX=XI/(2*PI*F*0): PRINT
- 1190 PRINT "IND. NANOHENERIES"; LX; " IND REACTANCE="; XI; " SHUNT CAP IN pFd="; CP
- 1200 PRINT: INPUT "WANT HARDCOPY (Y/N)"; H$
- 1210 IF H$<>"Y" THEN 1250
- 1220 LPRINT: LPRINT "LINE Z0 ="; Z0
- 1230 LPRINT: LPRINT "LENGTH IN WAVELENGTHS ="; LM, "SHUNT CAP="; CP
- 1240 LPRINT: LPRINT "IND. IN NANOHENERIES ="; LX, "REACTANCE="; XI
- 1250 INPUT "DO YOU WANT TO TRY OTHER VALUES ( Y OR N)"; Q$
- 1260 IF Q$="Y" THEN 1020 ELSE END
-