PRINT " *** ELECTRICAL ENGENEERING & DESIGN ***" PRINT " J. Schrabal, April 1979":PRINT 10 PRINT "To select one of the programs just type it's number" PRINT " and hit 'return' key.":PRINT 20 PRINT "Select from the following programs:" PRINT " 1. Ohm law (DC)" PRINT " 2. Zener stabilized DC supply" PRINT " 3. DC power supply design" PRINT " 4. Low pass 2-pole Butterwoth filter" PRINT " 5. Series resonant frequency circuit" PRINT " 6. Passive band-pass filter" PRINT " 7. Small coil design & inductance calculations" PRINT " 8. Long wire antenna" PRINT " 9. Dipole or half wave antenna" PRINT " 10. Time constant calculation" PRINT " 11. Resistance of wire" PRINT " 12. Crystal (rec./tr.) frequency calculations" PRINT INPUT "What program do you wish to select";P IF P>0 AND P<13 THEN 30 PRINT "Please answer with number fom 1 to 12 !":GOTO 20 30 ON P GO TO 100,200,250,300,400,500,600,700,800,900,1000,1200 REM PART 1 (100) 100 PRINT PRINT " *** OHM LAW (DC) ***" 110 PRINT PRINT " ENTER values for 2 (two) known" PRINT " ENTER 0 (zero) for unknown values to be calculated":PRINT INPUT "Potemtial in volts ";E INPUT "Current flow in amperes ";I IF E>0 AND I>0 THEN 111 INPUT "Resistance in ohms";R IF I>0 AND R>0 AND E=0 THEN 120 IF E>0 AND R>0 AND I=0 THEN 130 INPUT "Power in watts ";P IF E>0 AND I=0 AND R=0 THEN 141 IF I>0 AND E=0 AND R=0 THEN 142 IF R>0 AND E=0 AND I=0 THEN 143 111 R=E/I GOTO 140 120 E=I*R GOTO 140 130 I=E/R 140 P=E*I GOTO 150 141 I=P/E R=(E^2)/P GOTO 150 142 E=P/I R=E/I GOTO 150 143 E=(P*R)^.5 I=E/R 150 PRINT PRINT "Potential = ";E;" volts" PRINT "Current flow = ";I;" amperes" PRINT "Resistance = ";R;" ohms" PRINT "Power = ";P;" watts":PRINT INPUT "MORE CALCULATIONS? (YES/NO)";ANS$ IF ANS$="YES" THEN GOTO 110 ELSE GOTO 20 REM Part 2 (200) 200 PRINT PRINT " *** ZENER STABILIZED CIRCUIT DESIGN ***" 210 PRINT INPUT "Voltage rating of zener diode";A INPUT "Wattage rating of zener diode";W INPUT "Maximum DC voltage of power supply";B R=((B-A)^2)/W I=(W/R)^.5 REM in amperes PRINT "For an open circuit, or for load up to ";I*1000;" miliamperes" PRINT "Use ";R;"ohms ";W;" watt resistor" PRINT PRINT "Will the load (device) you use have larger than ";W;"watts consumption?" INPUT "(YES/NO)";A$ IF A$="NO" THEN 220 INPUT "What is the maximum wattage of the device you use:";C X=((B-A)^2)/((W/2)+C) PRINT "Use ";X; "ohms ";W+C;" watts resistor" PRINT "WARNING: Zener diode will probably burn out if the load" PRINT " shoulkd be removed and circuit left open." PRINT 220 INPUT "More calculations? (YES/NO)";B$ IF B$="YES" THEN GOTO 210 ELSE GOTO 20 250 REM Part 2.1 PRINT " *** POWER SUPPLY DESIGN ***":PRINT INPUT "What is LINE AC voltage supplied by utility";A 251 INPUT "What is transformer's primary rating (or tap)";B 252 INPUT "What is RMS voltage of secondary winding";C D=(C*A)/B REM D is max.RMS P=D*1.4 REM P is peak voltage M=P+(P/4) REM M is maximum peak 256 INPUT "What is the needed (desired) DC voltage";O IF C>(2*O) THEN 267 IF O>C THEN 268 PRINT "What is the voltage rating of REGULATORS" INPUT " used with the power supply";Z IF ((Z+2.5)+(Z*.1))>O THEN 269 IF ((Z+3.5)+(Z*.25))100 THEN 330 PRINT "Value of C2 in mF (microFarads)" INPUT "Note: 0.02 mF = 0.000 000 02 F ";C R=A/(4*3.141592654*F*C/1000000) PRINT PRINT " .---------. C1 = ";(4*(1+H)*C)/(A^2) PRINT " X : C2 = ";C PRINT " X R2 = C2 R1 = ";R/H PRINT " X : R2 = ";R PRINT " R1 : R3 : - o R3 = ";R/(H+1) PRINT "--XXXXXX--:--XXXXXX-:---o o" PRINT " : o o" PRINT " E-in : o o---------------" PRINT " = C1 + o o" PRINT " : ---o o" PRINT " : : o E-out" PRINT " : :" PRINT "----------:----------:--------------------------" INPUT "Another gain/alpha ratio? (YES/NO)";ANS$ IF ANS$="YES" THEN 320 INPUT "Another filter configuration (YES/NO)";B$ IF B$="YES" THEN GOTO 310 ELSE GOTO 20 330 PRINT"Because operational amplifiers are non-ideal, pass-" PRINT "band gain should be chosen to be less than 10 when peaking" PRINT "factor Alpha = 0-1" PRINT "Gain of 100 with peaking factor=1 is acceptable for " PRINT "for peaking gain 80 dB in 2-pole Batterworth config-" GOTO 320 REM Part 4 (400) 400 PRINT PRINT " *** SERIES RESONAT FREQUENCY CIRCUITS ***" 410 PRINT INPUT "Inductance in MH (Micro-Henrys)";L INPUT "Capacitance in PF (Pico-Farads)";C PRINT PRINT "Series L/C resonant frequency is ";\ 1000/(6.283185307*((L*C)^0.5));" KHz (Kilo Hertz)" PRINT "Note: this frequency is not affected by resistance in the circuit" PRINT INPUT "More calculations? (YES/NO)";A$ IF A$="YES" THEN 410 GOTO 20 REM Part 5 (500) 500 PRINT PRINT " *** PASSIVE BANDPASS FILTER DESIGN ***":PRINT PRINT" This program is based on ELECTRICAL ENGINEERING &" PRINT "CIRCUITS DESIGN by Skilling, Willey, 1961." PRINT " It will calculate ideal component values for the" PRINT "T-section and PI-Section filters, given F1, F2,and R" 510 PRINT INPUT "What is F1, low cut-off frequency (in Hertz)";L INPUT "What is F2, high cut-off frequency (in Hertz)";H IF L>H THEN 560 INPUT "What is R, image impedance in mid-frequency (in ohms)";R IF L<0 THEN 581 IF H<0 THEN 581 IF R<0 THEN 581 X=H-L Y=12.56637061*L*H Z=3.141592654 520 INPUT "If you want T-section type 'T'";T$ IF T$<>"T" THEN 550 PRINT PRINT "2Ca=";X/Y*R*2," Cb=";1/Z*R," R=";R PRINT "La/2=";R/Z/2," Lb=";R*X/Y PRINT PRINT " 2Ca La/2 La/2 2Ca" PRINT "o----!!----mmmmmmm---:-----:---mmmmmmm---!!-....." PRINT " : : :" PRINT " : m X" PRINT " Cb = m Lb R X" PRINT " : m X" PRINT " : : :" PRINT "o--------------------:-----:----------------....:" 550 PRINT INPUT "If you want PI-section type 'P'";P$ IF P$<>"P" THEN 582 PRINT PRINT "La=";R/Z," 2Lb=";2*R*X/Y," R=";R PRINT "Ca=";X/Y*R," Cb/2=";1/Z*R/2 PRINT PRINT " La Ca" PRINT "o-------:----:-mmmmmmm----!!-----:----:..........:" PRINT " : : : : :" PRINT " m : : m X" PRINT " 2Lb m = Cb/2 Cb/2 = m 2Lb R X" PRINT " m : : m X" PRINT " : : : : :" PRINT "o-------:----:-------------------:----:..........:" PRINT INPUT "Another passive filter calculation (YES/NO)";A$ IF A$="YES" THEN GOTO 510 ELSE GOTO 20 560 PRINT "High cut-off frequency must be higher than low-" PRINT "cut-off frequency":GOTO 510 581 PRINT "This value must be larger than 0 (zero)":GOTO 510 582 PRINT "Answer 'P' or 'T' only":GOTO 510 REM Part 6 600 PRINT " *** SMALL COIL DESIGN ***":PRINT PRINT "Program limitations:" PRINT " Inductance = 100 microhenries MAXIMUM" PRINT " Wire size = 12 size MAXIMUM" PRINT " 40 gage MINIMUM" PRINT " (resistors used as form must be of composite type)" 610 PRINT PRINT "PROGRAMS:" PRINT " 1. INDUCTANCE" PRINT " 2. INDUCTIVE REACTANCE":PRINT INPUT " WHICH ONE OF THE TWO PROGRAMS ABOVE YOU WANT COMPUTE";A IF A=1 THEN 650 IF A>2 THEN 610 IF A<0 THEN 610 620 INPUT "WHAT IS THE DESIRED INDUCTIVE REACTANCE IN OHMS";I INPUT "AT WHAT FREQUENCY IN MHZ";F H=I/(2*3.14159*F) PRINT "INDUCTANCE = ";H;" MICROHENRIES" IF H<100 THEN 660 640 PRINT "Program limitation is 100 microhenries MAXIMUM" GOTO 610 650 INPUT "What is the desired coil inductance in microhenries";H IF H>100 THEN 640 660 PRINT "Coil forms:" PRINT " A = 1/4 WATT RESISTOR" PRINT " B = 1/2 WATT RESISTOR" PRINT " C = 1 WATT RESISTOR" PRINT " D = 2 WATT RESISTOR" PRINT " E = OTHER FORM" INPUT " SELECT COIL FORM FROM ABOVE (A,B,C,D,E)";A$ IF A$="A" THEN D=.09 IF A$="B" THEN D= .14 IF A$="C" THEN D= .22 IF A$="D" THEN D= .312 IF A$="E" THEN GOTO 601 ELSE GOTO 602 601 INPUT "What is the diameter of the coil in inches";D 602 PRINT "What gage enameled wire will be used:" INPUT " (gage 12 to 40)";G IF G=12 THEN W=.081 IF G=13 THEN W=.072 IF G=14 THEN W=.064 IF G=15 THEN W=.057 IF G=16 THEN W=.051 IF G=17 THEN W=.045 IF G=18 THEN W=.040 IF G=19 THEN W=.036 IF G=20 THEN W=.32 IF G=21 THEN W=.0285 IF G=22 THEN W=.0253 IF G=23 THEN W=.0226 IF G=24 THEN W=.0201 IF G=25 THEN W=.0179 IF G=26 THEN W=.0159 IF G=27 THEN W=.0142 IF G=28 THEN W=.0126 IF G=29 THEN W=.0113 IF G=30 THEN W=.01 IF G=31 THEN W=.0089 IF G=32 THEN W=.008 IF G=33 THEN W=.0071 IF G=34 THEN W=.0063 IF G=35 THEN W=.0056 IF G=36 THEN W=.005 IF G=37 THEN W=.0045 IF G=38 THEN W=.004 IF G=39 THEN W=.0035 IF G=40 THEN W=.0031 IF G<12 OR G>40 THEN 602 N=((40*H*W)+SQR (((4*H*W)*(4*H*W))+(4*D*D*D*18*H)))/(2*D*D) N1=((40*H*W)-SQR (((4*H*W)*(4*H*W))+(4*D*D*D*18*H)))/(2*D*D) IF N>N1 THEN N2=N ELSE N2=N1 N2=(INT(N2*10))/10 PRINT:PRINT "Wire size = ";G;" gage" PRINT "Coil diameter = ";D;" inches" PRINT "Number of turns = ";N2 PRINT "Coil lenght = ";(INT(N2*W*100))/100;" inches" INPUT "More calculations? (YES/NO)";ANS$ IF ANS$="YES" THEN GOTO 610 ELSE GOTO 20 REM Part 7 (700) 700 PRINT PRINT " *** LONG WIRE ANTENNA ***":PRINT PRINT " When antenna is more than half wavelenght long" PRINT "it is called 'long wire' or 'harmonic' antenna.":PRINT 710 INPUT "What frequency in MHz (Mega Hertz)";F INPUT "How many half-waves long";N L=492*(N-0.05)/F PRINT "Lenth = ";L;" Feet" PRINT "Note: If this antenna is fed in exact center at ";L/2;" ft." PRINT "no unbalance will occur on any harmonic frequency.":PRINT INPUT "More calculations? (YES/NO)";A$ IF A$="YES" THEN 710 GOTO 20 REM Part 8 (800) 800 PRINT PRINT " *** DIPOLE OR HALF WAVE ANTENNA ***":PRINT 810 INPUT "Frequency in MHz (Mega Hertz)";F L=492/F PRINT:PRINT "Actual half-wave lenght is ";L;" feet" IF F<30 THEN L=L*.95 IF F<150 THEN L=L*.97 IF F>149.9 THEN L=L*.98 PRINT "Lenght corrected to free space factor and to capacitance" PRINT "of insulators is ";L;" feet":PRINT C=118/F E=148/F PRINT "<----------";L;" ft-------->" PRINT " <-";C;"ft->" PRINT "o----------o-------o----------o" PRINT " o o ^" PRINT " o o E = ";E;" ft" PRINT " o=o <- 600 ohms line 3.75 in spaced #16 wire" PRINT " o o 5 in spaced #14 wire" PRINT " o o 6 in spaced #12 wire" PRINT INPUT "More calculations (YES/NO)";A$ IF A$="YES" THEN 810 GOTO 20 REM Part 9 900 PRINT PRINT " *** TIME CONSTANT CALCULATIONS ***":PRINT 910 PRINT "NOTE: If you wish to substitute Farads by MICROfarads then you" PRINT " must use resistance in MEGohms in order to get result" PRINT " in seconds." INPUT "What is the resistance in ohms";R INPUT "What is the capacitance in farads";C PRINT "Time constant = ";R*C;"seconds" INPUT "More calculations? (YES/NO)";C$ IF C$="YES" THEN GOTO 910 ELSE GOTO 20 REM Part 10 1000 PRINT PRINT " *** RESISTANCE OF WIRE ***":PRINT 1010 INPUT "What is the desired resistance in ohms";R PRINT "What A.W.G.(B&S) size wire NO. is available?" INPUT " (if unknown, enter '0')";WN IF WN=0 THEN 1050 IF WN=1 THEN RW=.1264 IF WN=2 THEN RW=.1593 IF WN=3 THEN RW=.2009 IF WN=4 THEN RW=.2533 IF WN=5 THEN RW=.3195 IF WN=6 THEN RW=.4028 IF WN=7 THEN RW=.5080 IF WN=8 THEN RW=.6405 IF WN=9 THEN RW=.8077 IF WN=10 THEN RW=1.018 IF WN=11 THEN RW=1.284 IF WN=12 THEN RW=1.619 IF WN=13 THEN RW=2.042 IF WN=14 THEN RW=2.575 IF WN=15 THEN RW=3.247 IF WN=16 THEN RW=4.094 IF WN=17 THEN RW=5.163 IF WN=18 THEN RW=6.51 IF WN=19 THEN RW=8.21 IF WN=20 THEN RW=10.35 IF WN=21 THEN RW=13.05 IF WN=22 THEN RW=16.46 IF WN=23 THEN RW=20.76 IF WN=24 THEN RW=26.17 IF WN=25 THEN RW=33 IF WN=26 THEN RW=41.62 IF WN=27 THEN RW=52.48 IF WN=28 THEN RW=66.17 IF WN=29 THEN RW=83.44 IF WN=30 THEN RW=105.2 IF WN=31 THEN RW=132.7 IF WN=32 THEN RW=167.3 IF WN=33 THEN RW=211 IF WN=34 THEN RW=266 IF WN=35 THEN RW=335 IF WN=36 THEN RW=423 IF WN=37 THEN RW=533 IF WN=38 THEN RW=672.6 IF WN=39 THEN RW=848.1 IF WN=40 THEN RW=1069 INPUT "Of what MATERIAL is the wire";M$ IF M$="C00PER" THEN RW=RW*1 IF M$="ALUMINUM" THEN RW=RW*1.6 IF M$="BRASS" THEN RW=RW*4 IF M$="CADMIUM" THEN RW=RW*4.4 IF M$="CHROMIUM" THEN RW=RW*1.8 IF M$="GOLD" THEN RW=RW*1.4 IF M$="IRON" THEN RW=RW*5.68 IF M$="LEAD" THEN RW=RW*12.8 IF M$="NICKEL" THEN RW=RW*5.1 IF M$="BRONZE" THEN RW=RW*4 IF M$="SILVER" THEN RW=RW*.94 IF M$="STEEL" THEN RW=RW*11 IF M$="TIN" THEN RW=RW*6.7 IF M$="ZINK" THEN RW=RW*3.4 L=1000*R/RW PRINT "For ";R;"ohms use ";L;" feet of N0.";WN;M$;" wire" GOTO 1090 1050 INPUT "What is distance in feet";D RX=R*1000/D IF RX>.1264 THEN W=1 IF RX>.1593 THEN W=2 IF RX>.2009 THEN W=3 IF RX>.2533 THEN W=4 IF RX>.3195 THEN W=5 IF RX>.4028 THEN W=6 IF RX>.5080 THEN W=7 IF RX>.6405 THEN W=8 IF RX>.8077 THEN W=9 IF RX>1.018 THEN W=10 IF RX>1.284 THEN W=11 IF RX>1.619 THEN W=12 IF RX>2.042 THEN W=13 IF RX>2.575 THEN W=14 IF RX>3.247 THEN W=15 IF RX>4.094 THEN W=16 IF RX>5.163 THEN W=17 IF RX>6.51 THEN W=18 IF RX>8.21 THEN W=19 IF RX>10.35 THEN W=20 IF RX>13.05 THEN W=21 IF RX>16.46 THEN W=22 IF RX>20.76 THEN W=23 IF RX>26.17 THEN W=24 IF RX>33 THEN W=25 IF RX>41.62 THEN W=26 IF RX>52.48 THEN W=27 IF RX>66.17 THEN W=28 IF RX>83.44 THEN W=29 IF RX>105.2 THEN W=30 IF RX>132.7 THEN W=31 IF RX>167.3 THEN W=32 IF RX>211 THEN W=33 IF RX>266 THEN W=34 IF RX>335 THEN W=35 IF RX>423 THEN W=36 IF RX>533 THEN W=37 IF RX>672.6 THEN W=38 IF RX>848.1 THEN W=39 IF RX>1069 THEN W=40 PRINT "The smalest copper wire for ";R;" ohms at distance of ";D;" feet" PRINT " that can be safely used is No.";W;" A.W.G.(B&S)" 1090 INPUT "More calculations? (YES/NO)";B$ IF B$="YES" THEN GOTO 1010 ELSE GOTO 20 1200 REM Part 12 tr/rec. crystals PRINT:PRINT " ***RECEIVING & TRANSMITTING CRYSTAL CALCULATIONS*** ":PRINT 1221 INPUT "What is the receiving frequency? (in MHz)";R INPUT "What is the transmitting frequency? (in MHz)";T GOTO 1250 1222 INPUT "What is 1st IF freq.(in MHz) of rec.";I INPUT "What is RECEIVING crystal divider";RD INPUT "What is TRANSMITTING crystal multiplier";TD 1230 PRINT PRINT "For receiving on ";R;" MHz (with ";I;" MHz IF) & ";RD;" divider" PRINT " ORDER ";(R-I)/RD*1000;"KHz receiving crystal" PRINT "For transmitting on ";T;" MHz (tranmit multiplier=";TD;")" PRINT "ORDER ";T/TD*1000;" KHz transmitting crystal" PRINT INPUT "More crystal freq. calculations? (YES/NO)";B$ IF B$="YES" THEN GOTO 1221 ELSE GOTO 20 1250 PRINT "What make and model transceiver?" PRINT " STANDARD 146A - MOTOROLA 80D - VOICECOMMANDER"; INPUT X$ IF X$="STANDARD 146" OR X$="STANDARD 146A" THEN 1260 IF X$="MOTOROLA 80D" THEN I=5.5:RD=5:TD=24:GOTO 1230 IF X$="VOICECOMMANDER" THEN I=8.7:RD=3:TD=8:GOTO 1230 GOTO 1222 1260 I=11.7:RD=9:TD=18:GOTO 1230 ¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ