kopia lustrzana https://github.com/miguelvaca/vk3cpu
Added single-turn loop capacitance calculation and display.
rodzic
25dee600fb
commit
46ec93bb68
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 3.0 KiB |
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 12 KiB Po Szerokość: | Wysokość: | Rozmiar: 11 KiB |
50
magloop.html
50
magloop.html
|
@ -92,7 +92,7 @@
|
|||
<ul>
|
||||
<li>L : Inductance in microhenries.</li>
|
||||
<li>A : Loop area in square meters or square feet.</li>
|
||||
<li>C : Effective capacitance for multi-turn loops in picofarads.</li>
|
||||
<li>C : Effective capacitance of the loop in picofarads.</li>
|
||||
<li>peri : Perimeter of the main loop in meters or feet.</li>
|
||||
<li>c : Distance between windings, measured from the conductor centers in mm or inches.</li>
|
||||
<li>cond : Total required conductor length in meters or feet.</li>
|
||||
|
@ -108,6 +108,8 @@
|
|||
</ul>
|
||||
<br>
|
||||
<b><u>Change history:</u></b><br>
|
||||
<b>[21-Sep-21]</b> <br>
|
||||
* Added distributed capacitance calculation and display for the single turn loop.<br>
|
||||
<b>[19-Sep-21]</b> <br>
|
||||
* Increased supported conductor diameter to 80 mm. (3.15 inches)<br>
|
||||
<b>[18-Sep-21]</b> <br>
|
||||
|
@ -157,7 +159,8 @@
|
|||
var inductance = 0.0;
|
||||
var area = 0.0; // Loop area in square meters.
|
||||
var perimeter = 0.0; // Perimeter of a single turn of the main loop
|
||||
var multiloop_capacitance = 0.0; // Effective capacitance of a multi-turn loop
|
||||
var loop_capacitance = 0.0; // Effective capacitance of a single or multi-turn loop
|
||||
var srf = 0.0; // Self-resonant frequency SRF
|
||||
var conductor_length = 0.0; // Total conductor length
|
||||
|
||||
var frequencies = [];
|
||||
|
@ -167,13 +170,11 @@
|
|||
0.1365, 0.475, 1.8, 3.5, 5.0, 7.0, 10.1, 14.0, 18.068, 21.0, 24.89, 28.0, 29.7, 35.0, 40.0, 45.0, 50.0, 52.0, 54.0
|
||||
];
|
||||
|
||||
// Max frequency is for multi-turn loops:
|
||||
var max_freq = calculateSRF();
|
||||
frequencies = [];
|
||||
hamFrequencies.forEach(freq => {
|
||||
const wavelength = 3e8 / (freq * 1e6);
|
||||
const l = (Math.PI * loop_diameter_slider.value) / wavelength;
|
||||
if ((l <= 0.30) && ((freq * 1e6) < max_freq)) {
|
||||
if ((l <= 0.30) && ((freq * 1e6) < srf)) {
|
||||
frequencies.push(freq);
|
||||
}
|
||||
});
|
||||
|
@ -183,7 +184,8 @@
|
|||
inductance = getInductance();
|
||||
area = getArea();
|
||||
perimeter = getPerimeter();
|
||||
multiloop_capacitance = (loop_turns_slider.value > 1) ? multiloopCapacitance() : 0.0;
|
||||
loop_capacitance = (loop_turns_slider.value > 1) ? multiloopCapacitance() : (2.69e-12 * perimeter);
|
||||
srf = calculateSRF();
|
||||
conductor_length = ((((perimeter* loop_turns_slider.value) ** 2.0) + ((loop_spacing_slider.value * conductor_diameter_slider.value * 1e-3 * loop_turns_slider.value) ** 2.0)) ** 0.5);
|
||||
}
|
||||
|
||||
|
@ -358,18 +360,17 @@
|
|||
var l_multiloop_capacitance = 1e-12 * shape_factor * (ctdw(ff, ei, ex) / Math.sqrt(1 - h**2 / loop_diameter_slider.value**2) + ciae(ff, ei, ex)) * loop_diameter_slider.value;
|
||||
return l_multiloop_capacitance; // in Farads
|
||||
}
|
||||
|
||||
/*
|
||||
function singleloopCapacitance() {
|
||||
var retval = 2.69 * perimeter;
|
||||
return (retval*1e-12); // in Farads
|
||||
}
|
||||
*/
|
||||
|
||||
function tuningCapacitance(frequency) {
|
||||
// frequency is in Hertz
|
||||
const reactance = inductiveReactance(frequency);
|
||||
/*
|
||||
var multiloop_capacitance = 0.0;
|
||||
if(loop_turns_slider.value > 1) {
|
||||
// Only compensate for multiloop capacitance when we have more than 1 turn:
|
||||
multiloop_capacitance = multiloopCapacitance();
|
||||
}
|
||||
*/
|
||||
const capacitance = 1e12 * ((1.0 / (2.0 * Math.PI * frequency * reactance)) - multiloop_capacitance);
|
||||
const capacitance = 1e12 * ((1.0 / (2.0 * Math.PI * frequency * reactance)) - loop_capacitance);
|
||||
return capacitance; // in picofarads
|
||||
}
|
||||
|
||||
|
@ -514,10 +515,9 @@
|
|||
}
|
||||
|
||||
function calculateSRF() {
|
||||
const capacitance = (loop_turns_slider.value > 1) ? multiloopCapacitance() : 1e-12; // Assume 1 pF for a single loop. Yes it is wrong, but we just don't want a divide-by-zero error below.
|
||||
// According to Knight (2016), SRF for a single coil is equivalent to the circumference being equivalent to a half-wave dipole.
|
||||
const inductance = getInductance();
|
||||
return (1.0 / (2.0 * Math.PI * ((inductance * capacitance) ** 0.5)));
|
||||
return (1.0 / (2.0 * Math.PI * ((inductance * loop_capacitance) ** 0.5)));
|
||||
}
|
||||
|
||||
metric_radio.oninput = function() {
|
||||
|
@ -1291,14 +1291,11 @@
|
|||
sctx.font = normal_font;
|
||||
|
||||
// Multi-turn loop, so calculate C and SRF:
|
||||
if(loop_turns_slider.value > 1) {
|
||||
const L = multiloopCapacitance() * 1e+12;
|
||||
const srf = calculateSRF();
|
||||
sctx.textAlign = "right";
|
||||
sctx.fillText("C = " + L.toFixed(0).toString() + " pF", win_width-8, 18);
|
||||
sctx.fillText("SRF = ", win_width-8, win_height * 0.1 + 18);
|
||||
sctx.fillText((srf*1e-6).toPrecision(3).toString() + " MHz", win_width-8, win_height * 0.1 + 33);
|
||||
}
|
||||
const L = loop_capacitance * 1e+12;
|
||||
sctx.textAlign = "right";
|
||||
sctx.fillText("C = " + L.toFixed(0).toString() + " pF", win_width-8, 18);
|
||||
sctx.fillText("SRF = ", win_width-8, win_height * 0.1 + 18);
|
||||
sctx.fillText((srf*1e-6).toPrecision(3).toString() + " MHz", win_width-8, win_height * 0.1 + 33);
|
||||
|
||||
sctx.textAlign = "right";
|
||||
sctx.fillText("cond = " , win_width-8, dim_y + 08);
|
||||
|
@ -1318,9 +1315,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
// Set the global variables, which are all determined by physical dimensions, and are thus frequency-independent:
|
||||
setGlobals();
|
||||
// Update the frequencies, now that we have the sliders available:
|
||||
updateFrequencies();
|
||||
setGlobals();
|
||||
|
||||
drawFrontDesign();
|
||||
drawSideDesign();
|
||||
|
|
|
@ -9,36 +9,45 @@
|
|||
<body>
|
||||
<header><b><a href="mailto:vk3cpu@gmail.com">VK3CPU</a> - <a href="./magloop.html">Magloop Antenna Calculator</a> Equations:</b></header>
|
||||
<br>
|
||||
For single-turn circular loop inductance:<br>
|
||||
<img src="MagloopSingleTurnInductance.png" alt="magloop single-turn loop antenna inductance"><br><br>
|
||||
For multi-turn circular loop inductance:<br>
|
||||
<img src="MagloopMultiTurnInductance.png" alt="magloop multi-turn loop antenna inductance"><br><br>
|
||||
For octagonal loop antenna inductance:[F W Grover]<br>
|
||||
<img src="L_oct.png" alt="octagonal magloop antenna inductance"><br><br>
|
||||
For hexagonal loop antenna inductance:[F W Grover]<br>
|
||||
<img src="L_hex.png" alt="hexagonal magloop antenna inductance"><br><br>
|
||||
For square loop antenna inductance:[F W Grover]<br>
|
||||
<img src="L_sqr.png" alt="square magloop antenna inductance"><br><br>
|
||||
Loss resistance:<br>
|
||||
<b>For single-turn circular loop inductance:</b><br>
|
||||
<img src="MagloopSingleTurnInductance.png" alt="magloop single-turn loop antenna inductance"><br>
|
||||
<i>[r_loop - loop radius in meters; r_conductor - conductor radius in meters]</i><br><br>
|
||||
<b>For multi-turn circular loop inductance:</b><br>
|
||||
<img src="MagloopMultiTurnInductance.png" alt="magloop multi-turn loop antenna inductance"><br>
|
||||
<i>[k_nagaoka - Nagaoka coefficient; l_coil - length of the coil in meters; r_loop - radius of the loop in meters]</i><br><br>
|
||||
<b>For octagonal loop antenna inductance:[F W Grover]</b><br>
|
||||
<img src="L_oct.png" alt="octagonal magloop antenna inductance"><br>
|
||||
<i>[N - turns; s - section side length m; r - loop radius in m; b - coil length in m]</i><br><br>
|
||||
<b>For hexagonal loop antenna inductance:[F W Grover]</b><br>
|
||||
<img src="L_hex.png" alt="hexagonal magloop antenna inductance"><br>
|
||||
<i>[N - turns; s - section side length m; r - loop radius in m; b - coil length in m]</i><br><br>
|
||||
<b>For square loop antenna inductance:[F W Grover]</b><br>
|
||||
<img src="L_sqr.png" alt="square magloop antenna inductance"><br>
|
||||
<i>[N - turns; s - section side length m; r - loop radius in m; b - coil length in m]</i><br><br>
|
||||
<b>Loss resistance:</b><br>
|
||||
<img src="MagloopLossResistance.png" alt="magloop multi-turn loss resistance"><br><br>
|
||||
Surface resistance:<br>
|
||||
<b>Surface resistance:</b><br>
|
||||
<img src="MagloopSurfaceResistance.png" alt="magloop surface resistance of conductor"><br><br>
|
||||
Radiation resistance for circular loop:<br>
|
||||
<b>Radiation resistance for circular loop:</b><br>
|
||||
<img src="MagloopRadiationResistance.png" alt="multi-turn magloop radiation resistance"><br><br>
|
||||
Radiation resistance for octagon, hexagon and square loop:<br>
|
||||
<b>Radiation resistance for octagon, hexagon and square loop:</b><br>
|
||||
<img src="MagloopRadiationResistanceGrover.png" alt="multi-turn magloop radiation resistance"><br><br>
|
||||
Radiation efficiency:<br>
|
||||
<b>Radiation efficiency:</b><br>
|
||||
<img src="MagloopEfficiency.png" alt="magloop antenna efficiency"><br><br>
|
||||
Q factor:<br>
|
||||
<b>Q factor:</b><br>
|
||||
<img src="MagloopQ.png" alt="magloop antenna Q factor"><br><br>
|
||||
Capacitor voltage:<br>
|
||||
<b>Capacitor voltage:</b><br>
|
||||
<img src="Vcap.png" alt="magloop antenna capacitor voltage"><br><br>
|
||||
Loop current:<br>
|
||||
<b>Loop current:</b><br>
|
||||
<img src="I_loop.png" alt="magloop antenna loop current"><br><br>
|
||||
Bandwidth:<br>
|
||||
<b>Bandwidth:</b><br>
|
||||
<img src="BW.png" alt="magloop antenna bandwidth"><br><br>
|
||||
Multi-loop capacitance:<br>
|
||||
<img src="MultiloopCapacitance.png" alt="magloop antenna multi-turn loop capacitance"><br><br>
|
||||
<b>Single-loop capacitance:</b><br>
|
||||
<img src="C_loop.png" alt="magloop antenna multi-turn loop capacitance"><br>
|
||||
<i>[l_perimeter - conductor perimeter length in meters]</i><br><br>
|
||||
<b>Multi-loop capacitance:</b><br>
|
||||
<img src="MultiloopCapacitance.png" alt="magloop antenna multi-turn loop capacitance"><br>
|
||||
<i>[Based on David W Knight's paper "The self-resonance and self-capacitance of solenoid coils: applicable theory, models and calculation methods"]</i><br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
Ładowanie…
Reference in New Issue