[Amps] W8ZR Autotune Amplifier Progress Report

MU 4CX250B 4cx250b at miamioh.edu
Sat Dec 19 21:40:03 EST 2020


Hi gang
Here’s a response I made to a question from my friend Paul W9AC. Paul and I
have known each other for years, and he is a very savvy, technically
competent ham (as you probably already know).  I hadn’t intended on sharing
this exchange  with the List because it’s pretty technical, but I’m happy
to go do so.
73,
Jim w8zr

Sent from my iPhone

Begin forwarded message:

*From:* Jim Garland <4cx250b at miamioh.edu>
*Date:* December 19, 2020 at 5:14:17 PM MST
*To:* Paul Christensen <w9ac at arrl.net>
*Subject:* *Re: [Amps] W8ZR Autotune Amplifier Progress Report*

Good question, Paul. I'm using five of the eight available
microprocessors, or "cogs" as  Parallax calls them. Currently, COG0 is the
"base" cog, which manages the entire program and offloads chores to other
cogs when necessary or convenient. I've loaded COG0 with some chores I'll
eventually direct elsewhere. For example, at the moment when RF at the amp
input is detected and authenticated (to verify it's in a valid range, that
the amp is on-line, etc.), then the bandswitch, tune, and load caps are
moved sequentially. That works fine for the tune and load caps, since they
adjust in a fraction of a second, but depending on circumstances, the
bandswitch may take a couple of seconds. My plan is to move that tuning to
other cogs so the three steppers readjust simultaneously.  Ditto for the
initialization routine which zeros the steppers at power up and starts the
warmup countdown. I want to add some timing features to a dedicated timing
cog, COG2, along with an intelligent power up and power down routine for
blower control and temperature measurement. All COG2 does now is count
seconds and blink an LED to tell me the circuit is working.

COG7 is dedicated to computer interfacing. It outputs and inputs serial
data to a USB port, which is used to download firmware into the Propeller
and to display messages and data onto a PC monitor. It also controls the
4-line LCD, as shown on the YouTube video.

COG 1 is dedicated to manual tuning, including managing the band-stacking
register. Implementing manual tuning turned out to be my hardest
programming challenge.  Reading and updating memory when the tuning buttons
were pressed, along with the Save feature, interfacing manual tuning with
autotuning so the two modes didn't fight each other, etc., took a couple of
months to work out.

COG3 is a system frequency counter, which runs all the time.  It detects
and measures RF at the amplifier input with a sensitivity of 250uV and a
resolution of 1 kHz, then passes the measurement as a variable to COG0
which makes sure the frequency is in a valid ham band. The frequency
counter works better than I expected. I initially had planned to use a
Schmitt trigger to clean up the input RF, but didn't need to do that. I
measure every signal twice, with measurements spaced out 100mS, and require
both measurements to agree before deciding the result is valid.

I made a design decision early-on not to arbitrate or control QSK and
ordinary T/R switching. There's plenty of spare capacity in the Propeller
to do that, as well as to measure RF power, SWR, plate voltage and current,
grid current and safety trip features, but for now I'm not going down that
road. Most of these extra functions are easily controlled with standard or
dedicated circuitry (e.g., we each have our own QSK designs) and already
exist in commercial amplifiers. By avoiding them in this project, it's easy
for other builders to use the Propeller as an add-on to existing
amplifiers. All that's really needed is to sample the RF at the input of
their amplifier, and mechanically connect stepper motors to the switch and
variable capacitor shafts. It's tempting to look at all the available
programming space and start adding features, but for now anyway I want to
make the project as easy to implement as possible!

I hope to start laying out a PCB based on my breadboard within the next
week or so. The basic circuit seems to work well, so I don't foresee any
major problems lurking in the shadows. Famous last words, probably.
73,
Jim W8ZR.

On 12/19/2020 3:12 PM, Paul Christensen wrote:

"The PX32A is a sophisticated device containing eight fully independent

32-bit microprocessors that share 31 read/write IO ports and a common memory

for storing variables.


Jim, what amplifier functions are being divided across the eight independent

microcontrollers?  For example, does one exclusively manage the T/R

function?  Perhaps another is dedicated to monitor power supply parameters,

etc.?


My 8877 amp uses an Arduino Mega 2560 but I cram the code for all functions

into one loop.  To make this work with one microcontroller, delay commands

are invoked by comparing time registers. The main loop never stops running

at full speed no matter what delays are present.


Within the constraints of memory, it's possible to load unrelated programs

into the same microcontroller.


Paul, W9AC


_______________________________________________

Amps mailing list

Amps at contesting.com

http://lists.contesting.com/mailman/listinfo/amps


More information about the Amps mailing list