Nothing Special   »   [go: up one dir, main page]

AutomaticMagneticLoopController Presentation 2015-03-01

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

To automatically tune a

Magnetic Loop Antenna


A stand-alone, fully automatic
Magnetic Loop Antenna Controller
Presentation for West Island Amateur Radio Club
(WIARC) 2015-01-19
and some updates 2015-03-01

Loftur E. Jónasson
TF3LJ & VE2LJX
A Magnetic Loop Transmitting antenna is:

 basically just a resonant circuit using an oversized inductor and


an adjustable capacitor
 If the inductor has a circumference of much less than, say, 1/10th of a
wavelength, then the efficiency of the antenna will be rather low
 If the inductor circumference approaches ¼ of a wavelength or more,
then the antenna would more accurately be characterized as an
electrical loop antenna, with characteristics similar to those of a
dipole
Some defining characteristics of
an efficient Magnetic Loop:
 Extremely high voltage across the
Capacitor, easily over 5kV when
connected to a 100W transmitter
 Very high current in the main loop, tens
of amperes
 A separate coupling loop is used for
matching to 50 ohms
 The variable capacitor is tuned for
resonance of the loop. Best to have a
remotely controlled motor-tune
 The loop has a very high Q = very
narrow bandwidth. Need to retune the
antenna every few kHz
A couple of my own loops

One 6 foot diameter loop (24’ or 7.5m circumference), tunes 3.5 – 14.35 MHz
One 3 foot diameter loop (12’ or 3.8m circumference), tunes 10 – 29 MHz
A simple means to remotely
tune a loop:
 Use a stepper Motor and
some minimal control
circuitry coupled to a
remotely located Rotary
Encoder

or

 Use a geared DC Motor


with remotely located
Up/Down buttons

Frustrating: Antenna has to be retuned every time


the frequency is changed by a couple of kHz!!
Enter: The Automatic
Magnetic Loop Controller

 Tunes the antenna in real time, tracking every movement of the Transceiver
VFO, using the Transceiver Serial (CAT) output

 Receives frequency information from the Transceiver and calculates an


appropriate Capacitor position by extrapolating between stored
frequency/position pairs

 Initial programming of the Controller is an easy Tune and Store operation, one
frequency/position pair per 50 or 100 kHz. The Controller tunes in a linear
fashion between the stored presets
But how about automatic
tuning for best SWR?
Other similar controller projects have focused on SWR based auto
tuning
 Requires “Transmit to Tune” every time the frequency is changed.
This controller, by reading the frequency data from the transceiver –
and by having the antenna characteristics stored in memory –
 Will retune the antenna automatically without needing to Transmit.
Not really any need for SWR based auto-tuning
The latest version of the controller can also do SWR based auto-tuning
 This simplifies the initial calibration/store of memory positions and is
useful for one-click recalibration
 It also facilitates use without frequency information input from the
Transceiver
Transceivers that the controller can
communicate with (as of 2015-02)
 Elecraft K3, KX3
 ICOM, all recent CI-V
 Kenwood TS-480, TS-590, TS-2000…
 Yaesu FT-100
 Yaesu FT-817, FT-847, FT857, FT-897
 Yaesu FT-450, FT-950, FT-2000, FTdx1200, FTdx3000…
 TenTec Argo V, Argo VI, Eagle, Omni VII...
(two different protocols, have not been tested yet)
 Pseudo-VFO (for radios without serial control)
No common standard for Transceiver Serial
wiring, signal levels, data rates and protocols

 Some use RS232, some use TTL,


different connectors, usually two
signal wires (& ground) for RXD
and TXD, but sometimes only one
signal wire…

 As per the diagrams to the left,


I accommodate all the variants
using different cables, all with a
3.5mm stereo connector at the
controller side
Controller building blocks
 Teensy 3.1, an Arduino near-clone (32 bit ARM Cortex M4
microcontroller running at 96 MHz) available for instance at
www.pjrc.com, www.sparkfun.com, or www.robotshop.ca

 Two Allegro A4975 Stepper controllers with associated current


control circuitry

 Low Pass filters to choke any RF coming over the control cable

 Serial Port, RS232 and TTL levels compatible

 USB Port for programming and backup/restore of


frequency/position memories

 20x4 LCD, Rotary Encoder and Pushbuttons for control

 Expansion: SWR bridge for SWR assisted auto tune


Controller schematic
Inside my Prototype Controller
A bit more “professional” looking assembly of the
Controller

 Here is a picture of the Controller assembled using a bit more


professional looking PCB. I laid these out using KiCad and had a
bunch of them fabricated.
A few words on the Arduino compatible
Teensy 3.1 microcontroller

 32 bit ARM Cortex M4 at 96 MHz. 64k RAM, 256k Flash

 Small platform, can be soldered or socketed as a DIL device onto a PCB

 Serial over USB and 2x RS232 or TTL level hardware serial

 32 digital IO pins, 21 Analog inputs, 1 Analog output, I2C, I2S, etc…


An example of rapid prototyping
using the Teensy 3.1:
USB connected 65 MHz frequency counter
A few lines of code: Some minimal Hardware:
#include <FreqCount.h>

void setup() {
Serial.begin(115200);
FreqCount.begin(1000);
}

void loop() {
if (FreqCount.available()) {
unsigned long count = FreqCount.read();
Serial.println(count);
}
}

OK – the Magnetic Loop Controller Firmware is probably at over


7500 lines of code by now 
Back to business
Automatic Magnetic Loop Controller basics

To program frequency/position pairs into the controller:


 Tune the Transceiver to a desired frequency, say
14.000 MHz. By turning the Encoder, tune the Antenna
for maximum noise, then dip SWR. Store position.
 Tune the transceiver to another frequency, say
14.200 MHz. By turning the Encoder, tune the Antenna
for maximum noise, then dip SWR. Store position.
 Add as many memories as desired, in any order.
 From now on, the Controller will tune linearly between the
stored positions.
Example of stored frequency/position pairs

Stepper Position vs. Frequency


1016000
This graph shows the
frequency/position pairs 1014000

stored for my 6 foot 1012000


diameter antenna,
between 3.500 and 1010000

14.350 MHz 1008000

1006000

1004000

1002000

1000000
3.5 7 10.5 14
To derive a Capacitor Position from a Frequency
(LCD Screen Capture)
Calculated Position based on
stored Frq/Pos pairs above and
below the current Frequency of
the Radio

Tuned Position or Actual


capacitor position is the
Calculated Position + or – an
offset adjustable with the Encoder
or Up/Down buttons. This is used
to fine tune antenna, and to tune
when no valid frequency.

Tuned frequency of the antenna,


based on the Tuned Position
Encoder and Push switches
Up/Down switches:
Fine tune Capacitor, using
Backlash/Slop compensation,
if enabled.
If no frequency information
from Radio (manual mode),
then step up/down between
Memory Presets.

Encoder: Tune Capacitor, and navigate Setup Menu


Menu/Enact button has several functions:
• Outside of Setup Menu:
Short push to recalibrate (stepper pos = calculated pos)
Long push to enter Setup Menu
• Inside of Setup Menu:
Navigate with Encoder and Short push to confirm selection
SWR Tune and SWR Autotune: See description on a later slide
Special case scenarios (1)
Endstop or no Endstop
1. Soft End Stops. Vacuum variable capacitor, no end-stop
switches. Here one has to take care that the stepper motor is
just powerful enough to turn the capacitor but not excessively
more so. Stepper current is adjustable (RV2). The Up/Down
switches will not work beyond the lowest/highest stored
frequency/position and the Radio cannot tune the capacitor
beyond the lowest/highest stored position. To go beyond an
already "proven" range, one needs to turn the capacitor by
turning the Encoder, and store new frequency/positions to extend
the range.
2. Hard End Stops. Vacuum variable, end-stop switches.
All as 1) except no software "intelligence" to inhibit use of
Up/Down buttons or Radio to tune beyond an already "proven
range".
3. No End Stops. Butterfly capacitor. Otherwise same as 2).
Special case scenarios (2)
Backlash or Slop compensation
When adjusting the capacitor with a sub-degree precision, any backlash or slop in the coupling
mechanism will cause huge inaccuracies depending on whether the capacitor is being tuned in
an upward or a downward direction. To battle this, a backlash compensation function can be
enabled.

The backlash function works in the following manner:

 When the controller receives frequency information from the Radio which is lower than the
most recent previous frequency information, then it does:

 Tune down to the new position

 Tune further down by a set angle and then finally tune back up by the same angle.

 A harmless but weird looking side effect of the backlash compensation function is that
whenever you tune the VFO down in a slow manner the backlash will be triggered every
time new frequency information is received from the Radio. This looks a bit disturbing, but it
actually works very well.

With the backlash compensation function enabled and when using the Down Switch to fine tune
for resonance, this is best done with short pulsing of the Switch.
Config Menus
Most things are configurable through
a set of menus
• Enter with a long push of Menu/Enact button
• Navigate with Encoder
• Select with short push
Using the Microcontroller USB port
as a second serial port
 Pass-through mode for computer control of Radio
 Use with logger software or Ham Radio Deluxe…

 Alternately, USB commands for:


 Backup/Restore of frequency/position memories
 Power and SWR poll by computer
 Debug serial connection to Radio
 …
SWR Auto Tune
 Blazing fast, same speed as normal tune.

• Includes a Dual Bargraph Power


and SWR meter - a subset of the
one described here:

https://sites.google.com/site/lofturj/
power-and-swr-meter
SWR Auto Tune
Three basic tune modes:

 Hunt mode: (push SWR Tune, or automatic)


Hunts for SWR dip within a range of a few hundred
steps to each side of current position

 Tune UP: (push SWR Tune and UP button)


Tunes upward until endstop or SWR dip is found

 Tune DOWN: (push SWR Tune and DOWN button)


Tunes downward until endstop or SWR dip is found

If no solution found, then return to start position


SWR Auto Tune
Two additional Push switches:

 SWR Tune:
If no RF Power detected, then:
1) Read Mode of Transceiver
2) Read Power setting of Transceiver,
3) switch to AM Mode and set Power to minimum
4) Transmit On
5) SWR Tune and report success or fail on LCD
6) Switch back to Receive, restore previous Mode and Power settings of Radio

If RF Power detected, then:


 SWR Tune and report success or fail on LCD, no need to control Radio.

The SWR Tune button works in Hunt mode by default, if UP or DOWN buttons also
pushed, then UP or DOWN mode.

 SWR Autotune Mode On/Off: If on, then automatically initiate SWR Tune (Hunt) if
SWR above acceptable level. Will give up if 3 consecutive failures
SWR Auto Tune
While moving the stepper, a running sum is
made of the square of each of the 32 last
SWR measurements. As per diagram:

Average for 2 is lower than for 1

Average for 3 is lower than for 2

Average for 4 is lower than for 3

Average for 5 is higher than for 4 – We


have passed the best SWR dip

If the SWR 17 steps earlier (midpoint: 32/2 +1 = 17) was better than minimum
acceptable SWR – then we have found best SWR – Move back to midpoint.
If backlash comp, then an additional move back and forth
The tuning sequence only takes a couple of seconds 
SWR Auto Tune
Hardware addition is a Tandem Match coupler. Here is a popular $9 kit
which can be modified for 100W and fast response SWR metering:

http://kitsandparts.com/bridge.php

A picture of the kit, as shown


on Kits and Parts website:

This is how you would modify


it for 100W and fast response:

If R15, R16 on the Controller PCB selected as 18k each; and R17, R18 selected as 22k each, then
this meter will work up to 200W
SWR Auto Tune
Another alternative is a double modified Bruene bridge, works between
1.8 and 50 MHz, 0.2 and 200W

If R15, R16 on the Controller PCB selected as 18k each; and R17, R18 selected as 68k each, then this
meter will work up to 200W
Project information is in the public
domain

 Everything is documented here:


https://sites.google.com/site/lofturj/to-automatically-tune-a-magnetic-loop-antenna

 Project is licensed under the GNU General Public License.


 Includes fully documented source code
 Bill of materials and building instructions
 Etch mask for homebrewing your own PCB
 Ready made PCBs available for $20 (incl shipping)
Useful references
A few informative Links on Magnetic Loop Transmitting Antennas
(selected at random, there is a lot of good stuff out there)
 http://users.tpg.com.au/ldbutler/HFTXLoop.htm Good basic description By VK5BR, brief/clear

 http://www.66pacific.com/calculators/small_tx_loop_calc.aspx A nice online magnetic loop calculator

 www.w1hkj.com/magloop/magloop.xls This is the best magnetic loop calculator I have found, written by
AA5TB. This latest version is enhanced by W1HKJ to accommodate different shapes of loops

 http://www.nonstopsystems.com/radio/frank_radio_antenna_magloop.htm A comprehensive practical


write-up by N4SPP

In case it comes back (link wasn’t working when I checked last time) here is one of the more comprehensive
write-ups I have found on how to homebrew simple but efficient magnetic loops using plumbers grade copper
pipes: http://www.standpipe.com/w2bri/

You might also like