Amps
[Top] [All Lists]

Re: [Amps] W8ZR Autotune Amplifier Progress Report

To: <amps@contesting.com>
Subject: Re: [Amps] W8ZR Autotune Amplifier Progress Report
From: "Paul Christensen" <w9ac@arrl.net>
Date: Sun, 20 Dec 2020 08:32:43 -0500
List-post: <mailto:amps@contesting.com>
Great info, Jim.  That Parallax Propeller looks like a powerful alternative to 
other microcontrollers on the market.  Keep us updated!

Paul, W9AC

-----Original Message-----
From: Amps <amps-bounces@contesting.com> On Behalf Of MU 4CX250B
Sent: Saturday, December 19, 2020 9:40 PM
To: amps@contesting.com
Subject: [Amps] W8ZR Autotune Amplifier Progress Report

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@miamioh.edu>
*Date:* December 19, 2020 at 5:14:17 PM MST
*To:* Paul Christensen <w9ac@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@contesting.com

http://lists.contesting.com/mailman/listinfo/amps
_______________________________________________
Amps mailing list
Amps@contesting.com
http://lists.contesting.com/mailman/listinfo/amps

_______________________________________________
Amps mailing list
Amps@contesting.com
http://lists.contesting.com/mailman/listinfo/amps
<Prev in Thread] Current Thread [Next in Thread>