OpenBCM V1.07b3 (WIN32)

Packet Radio Mailbox

ON0AR

[BBS Antwerpen]

 Login: GUEST





  
PA3BNX > SOFT     29.03.08 08:00l 174 Lines 3609 Bytes #999 (0) @ WW
BID : 22528_PI8ZAA
Read: GUEST
Subj: Medium wave Loop Try out prg.
Path: ON0AR<PI8ZAA
Sent: 080306/0927Z @:PI8ZAA.#NBO.NLD.EU #:22528 [Eindhoven] $:22528_PI8ZAA
From: PA3BNX@PI8ZAA.#NBO.NLD.EU
To  : SOFT@WW

Software for calculations for Magloop and range with varco
with switched parallel caps to lower (make greater the tune range)
In qb4.5
--------------------------Cut-------------------------------------
DECLARE SUB Basisscreen ()
DECLARE FUNCTION Round$ (x AS DOUBLE, y AS INTEGER)
DECLARE SUB Range (CMax1 AS DOUBLE, CMin1 AS DOUBLE, l1 AS DOUBLE)
DECLARE SUB Caparray (min AS DOUBLE, max AS DOUBLE)
DECLARE FUNCTION Capacity$ (l1 AS DOUBLE, f1 AS DOUBLE)
DECLARE FUNCTION Frequency$ (l1 AS DOUBLE, c1 AS DOUBLE)
DECLARE FUNCTION Henry$ (c1 AS DOUBLE, f1 AS DOUBLE)

''Float
DIM SHARED pi AS DOUBLE
DIM SHARED L AS DOUBLE
DIM SHARED c1 AS DOUBLE
DIM SHARED c2 AS DOUBLE
DIM SHARED c3 AS DOUBLE
DIM SHARED c4 AS DOUBLE

DIM Cmin AS DOUBLE
DIM Cmax AS DOUBLE
DIM F AS DOUBLE

''Array
DIM SHARED CAP(0 TO 17) AS DOUBLE

''Const
CONST ve$ = "V1.01"

''@27-02-2008
''@06-03-2008
''Probeersel  voor C's parallel aan de MW loopantenna.
''Om frequentie te verlagen.

pi = 4 * ATN(1)

''Put here the L, Cmin and Cmax values.
L = 180 * 10 ^ -6 ''200 uH
Cmin = 35 * 10 ^ -12 ''30 pF
Cmax = 860 * 10 ^ -12 ''1000 pF

'Put here the parallel to Varco's C's
c1 = 680 * 10 ^ -12
c2 = 1500 * 10 ^ -12
c3 = 3300 * 10 ^ -12
c4 = 5600 * 10 ^ -12

''----Main---------------------
CALL Basisscreen
CALL Range(Cmin, Cmax, L)

END
''-----------------------------

SUB Basisscreen

CLS
PRINT STRING$(80, CHR$(196))
PRINT "((C))PA3BNX Try out for MW Loop Antenna calculations.";
LOCATE CSRLIN, 80 - LEN(ve$)
PRINT ve$
PRINT STRING$(80, CHR$(196))

END SUB

FUNCTION Capacity$ (l1 AS DOUBLE, f1 AS DOUBLE)

IF f1 = 0 OR l1 = 0 THEN
 Capacity$ = " ?"
 EXIT FUNCTION
END IF

Capacity$ = STR$(1 / (4 * pi ^ 2 * f1 ^ 2 * l1))

END FUNCTION

SUB Caparray (min AS DOUBLE, max AS DOUBLE)
''Integer
DIM x AS INTEGER


''Min
CAP(0) = min
CAP(1) = max
CAP(2) = min + c1
CAP(3) = max + c1
CAP(4) = min + c2
CAP(5) = max + c2
CAP(6) = min + c1 + c2
CAP(7) = max + c1 + c2
CAP(8) = min + c1 + c3
CAP(9) = max + c1 + c3
CAP(10) = min + c3
CAP(11) = max + c3
CAP(12) = min + c1 + c3
CAP(13) = max + c1 + c3
CAP(14) = min + c2 + c3
CAP(15) = max + c2 + c3
CAP(16) = min + c1 + c2 + c3
CAP(17) = max + c1 + c2 + c3

'FOR X = 0 TO UBOUND(CAP)
' PRINT CAP(X)
'NEXT X

PRINT L; " Spoel in H"
PRINT min; max; " Cmin and Cmax varco F"
PRINT c1; c2; c3; c4; " C1-C4 in F (Parallel C's on Varco)"

END SUB

FUNCTION Frequency$ (l1 AS DOUBLE, c1 AS DOUBLE)

 IF l1 + 0 OR c1 = 0 THEN
  Frequency = " ?"
  EXIT FUNCTION
 END IF

 Frequency = Round((1 / (2 * pi * (l1 * c1) ^ .5 * 1000)), 2)

END FUNCTION

FUNCTION Henry$ (c1 AS DOUBLE, f1 AS DOUBLE)

 IF f1 = 0 OR c1 = 0 THEN
  Henry = " ?"
  EXIT FUNCTION
 END IF

 Henry = STR$(1 / (4 * pi ^ 2 * f1 ^ 2 * c1))

END FUNCTION

SUB Range (CMax1 AS DOUBLE, CMin1 AS DOUBLE, l1 AS DOUBLE)
''Integer
DIM x AS INTEGER
''Float
DIM y AS DOUBLE

CALL Caparray(CMin1, CMax1)

PRINT STRING$(80, CHR$(196))
PRINT "      F1 low   F2 high      Range (kHz)"
PRINT STRING$(80, CHR$(196))

FOR x = 0 TO UBOUND(CAP) - 1 STEP 2
 PRINT STR$(x) + SPACE$(3) + Frequency(CAP(x), l1) + SPACE$(3) + ">";
 PRINT Frequency(CAP(x + 1), l1) + SPACE$(3);
 PRINT Round(VAL(Frequency(CAP(x + 1), l1)) - VAL(Frequency(CAP(x), l1)), 2)
NEXT x

END SUB

FUNCTION Round$ (x AS DOUBLE, y AS INTEGER)
''ToDo
''x  To round input
''y  Figures behind the dot separator
''Give result back as as a string

 ''Integer
 DIM z AS LONG

 z = 10 ^ y
 Round = STR$((INT((x * z) + .5) / z))

END FUNCTION

--------------------------Cut-------------------------------------
73's from Lodewijk QTH Rhenen PA3BNX.


Read previous mail | Read next mail


 01.06.2024 08:01:42lGo back Go up