Saturday, September 1, 2012

K6JCA Beacon

We've just set up a 10 Meter Beacon!

At the moment, the equipment consists of a Radio Shack HTX-100 running 20 watts into an inverted-vee and keyed with an ID-O-Matic keyer.  (Please note that the keyer identifies the station as being 1 watt ("1 W") -- I'll update this to the correct power as soon as I can get my laptop to the keyer).

Beacon frequency is 28.222 MHz.

The beacon is located in Carmel Valley, California (between Salinas and Carmel), near the summit of Laurales Grade, at an elevation of about 1,620 feet.  Grid square is CM96dm.


Let me know if you copy it.  You can leave a comment here, or you can reach me at:  jca1955 at sbcglobal "period" net.

By the way -- if you'd like a QSL card for reception of the beacon, please send a QSL and a self-addressed stamped envelope.

Thanks!

- Jeff

Monday, July 30, 2012

Worst-Case and Temperature Analysis with LTSpice

In a previous posting (here) I discussed using Linear Technology's SPICE program (LTSpice IV) to perform Monte Carlo and Worst Case circuit analysis.

When doing these sorts of analyses, I usually also want to know how the circuit performs at temperature extremes  to ensure that, given the temperature characteristics of semiconductor junctions, the circuit's performance is still acceptable.  So, while analyzing the circuit for worst-case component variations, I can simultaneously use the SPICE .step command to step the temperature (in degrees Celsius) over the range I'm interested in.

Here's a simple circuit demonstrating this:

 (click on image to enlarge)

This is a comparator circuit in which the reference voltage is set by a zener diode, D1.  I'd like to know how this circuit performs at the temperature extremes of -55 and +125 degrees C, as well as how it performs for the worst-case resistor values, given their tolerance of 1%.  So there are two .step commands:  one to vary temperature and one to vary resistor values.

Because I'm only interested in the two temperature extremes and not in any intermediary temperatures, I'm going to define the temperature to step from -55 degrees to +125 degrees in a single step of 180 degrees.  The command is:

.step temp -55 125 180

(Note that if I wanted to step the temperature between these two limits in, say, 10 degree increments,  the command would be:  .step temp -55 125 10).

The second .step command defines that there will be 50 runs, for each of which the values of the resistors will be randomly varied between their worst-case values (as defined by their tolerances).

So we have two .step commands, one which will vary temperature between 2 values, and the other which will perform 50 worst-case runs.  Spice nests the step commands, so, overall, there will be a total of 100 runs performed (2 temp runs for each of the 50 worst-case runs).

This circuit has hysteresis (via R7), but what effect will it have on the switching threshold, given that a zener is used for the reference voltage?  I'll define the input voltage source V1 to linearly ramp up from 9 to 15V and then to ramp back down to 9V over a 1 second period (there may be a simpler way of doing this with SPICE, but this method works, too), to check performance during low-to-high and high-to-low transitions.

Below are the plots from the 80 runs, showing how the comparator threshold changes due to component tolerances and temperature variations (component tolerance, even though 1%, results in the greatest variation in performance).  The left half of the plot shows the comparator threshold as the input voltage increases from low to high, and the right half shows it as the input voltage decreases from high to low.

 (click on image to enlarge)
 
Here's a plot showing how the voltage at the node "V+" (the node attached to the zener diode) changes between the two temperature extremes (there's about a 50 mV delta):

  (click on image to enlarge)


Additional Notes

1.  As mentioned, this circuit has two step sweeps:  one for temp and one for run (in which the resistor values are varied for worst-case analysis).  Note that LTSpice allows step sweeps to be nested up to three deep.

2.  LTSpice is available, for free, from Linear Technology, and can be found here.

Sunday, July 29, 2012

Monte Carlo and Worst-Case Circuit Analysis using LTSpice

SPICE is a handy tool for evaluating circuits without having to first breadboard them, and through its "directives," it provides a powerful method for analyzing how a circuit might perform with components exhibiting real-world tolerances. 

One such method of "real-world" analysis is Monte Carlo analysis, which, with each new analysis run, randomly varies parameters (within their user-defined limits) to give the user a useful picture of actual circuit performance.

However, as a circuit designer, I'm most often interested in worst-case performance.  That is, I want to know how a circuit performs at the extremes of component values, to ensure that  I've met whatever design specification I'm designing to.  And although Monte Carlo analysis can tell me what the performance is at these limits, if the circuit contains many components, it can take quite a lot of runs before its random selection of parameter values happens to simultaneously correspond to the worst-case limits of all of the components (and it's quite possible that I'll never see the true worst-case limits -- after all, it's a matter of chance).

To truly evaluate performance at a circuit's worst-case limits, we can perform a "worst-case" analysis in lieu of a Monte Carlo analysis.  This analysis has an added advantage, too, in that not as many runs are required to ensure that we've truly evaluated all of the components over all possible variations in their tolerances -- after all, we don't need to measure between the tolerances limits (which is what Monte Carlo analysis does).  For example, if one of the components is a 10K ohm resistor with a 5% tolerance, worst-case analysis will only use resistance values of 10.5K and 9.5K for this component  and not any other value between these limits (whereas Monte Carlo analysis would randomly use any value between, and including, these limits).

Linear Technology's LTSpice can handle both Monte Carlo analysis as well as worst-case analysis.  Unfortunately, it's not obvious how to do this from their "Help Topics."  For example, "Monte Carlo", when entered into LTSpice's search field, returns no results.  Not much use, that!

Nevertheless, LTSpice does indeed have a pre-defined Monte Carlo function.  This is the "mc" function, and a search of the Help Topics for "mc" will point to the .PARAM topic, and under this heading we find the function mc (x,y), which, when invoked, returns a "random number between x*(1+y) and x*(1-y) with uniform distribution."

To use this function, rather than define a resistor's value as, say, 10K, we define it as "{mc(10K,0.05)}", where 10K is its nominal value, and 0.05 is its tolerance (5%).  (An example will follow below).

OK, so the predefined mc function handles Monte Carlo analysis, but there is no pre-defined "worst case" function.   We need to create this ourselves, but it's not too difficult.  This can be done using Spice's ".function" directive.  Here's an example of a function for worst-case analysis (we'll use this later, too):

     .function wc(nom,tola) if (run == 1, nom, if(flat(1)>0,nom*(1+tola),nom*(1-tola)))


In this definition:
  • .function is the Spice directive for defining a function.
  • wc is the name I've given this instance of this worst-case function.
  • nom is the "nominal" value (e.g. 10K for a 10K resistor).
  • tola is the tolerance (defined elsewhere with a .param directive (e.g. 0.1 for a 10% tolerance)).
  • run is a variable (defined elsewhere in the .step directive) identifying the current run count).
  • flat(1) is a Spice function that returns a random number between -1 and 1. 
(Note that the definition of .function and flat can both be found in LTSpice Help).
    So how do we use this function we've just defined?

    Take as an example a 10K ohm resistor.  Normally, we'd just label its value in the LTSpice schematic as "10K".  However, to vary its value between its worst-case values, we instead use a more complex label for its value.  Rather than entering "10K", in this case we'll enter "{wc_a(10K,tola)}" into the component's value field.  (Note the use of the curlicue brackets).

    So what happens when we run the analysis?

    If this is the first analysis run (run is defined elsewhere in the .step directive and simply is the current run being performed), then, because run = 1, the function returns the value assigned to nom, in this case, 10K.

    But for each new run after the first run, and for each component defined with a wc_a function, the function flat(1) is re-evaluated for that component.  If the random result returned from flat(1) is greater than 0, then the tolerance is added to the component's nominal value (e.g. for a resistor whose nominal (nom) value is 10K, if tola is 0.1 (10% tolerance), the resistor's value is set to 11K).  Otherwise, the tolerance is subtracted from the component's nominal value (e.g. the 10K resistor is set to 9K).

    Here's a demonstration of both Monte Carlo and Worst Case analysis.  Consider this basic circuit: 

    (Click on image to enlarge)


    Given these component values, a frequency sweep of the input from 1 Hz to 1KHz shows that the circuit has the following gain and phase transfer function when measured at its Vout node:

    (Click on image to enlarge)

    But what happens when the component values vary over their tolerance range?  Let's suppose that the resistors have 10% tolerance and the capacitors have 20% tolerance.  Let's perform a Monte Carlo analysis on this circuit, given these tolerance values. The same circuit, but now set up with its Monte-Carlo functions and .param directives, looks like this:

    (Click on image to enlarge)

    (Note that within the "mc" function, I'm not setting the tolerance field to an actual number (although I could have done it this way, too).  Instead, I'm using a separate directive (.param) to define the tolerances (in this case, 10% and 20%) globally.)

    Running the Monte Carlo analysis 1000 times (via the directive ".step param run 1 1000 1") gives us the following spread of gain and phase plots:

    (Click on image to enlarge)

    But we can't be sure that we've truly evaluated worst-case performance.  So let's instead use our new "worst-case" function for a worst-case evaluation.

    The schematic, with its new Spice directives and functions, now looks like this:

    (Click on image to enlarge)

    And the analysis output, after 40 runs, looks like this:

    (Click on image to enlarge)

    Note the discrete intervals between plots.  This is because the worst-case analysis is only using component values that are at the +/- tolerance limits for each component, and not any intermediary values (except for the first of the 40 plots, which uses the nominal component values for its analysis).

    (Note:  the above was edited on 29 May 2020 to replace two "worst-case" functions (wc_a and wc_b) with a single worst-case function, wc.)


    Optimized Worst-case Analysis
    (This section added 29 May 2020)

    The worst-case analysis component values selected on a run-by-run basis for the simulations, above, are a function of random numbers.  Therefore, to ensure that all combinations of "worst-case" component values have been evaluated, many runs need to be evaluated (above and beyond the "optimal" number of runs equal to 2^N, where N is the number of components being varied).

    In the "Comments" section of this blog post, Harry Dymond (Electrical Energy Management Group, University of Bristol, UK) on November 9, 2012, posted an excellent technique for optimizing the number of runs necessary to perform a complete worst-case analysis.

    If we consider, for worst case analysis, that each component has two possible values (nominal value plus tolerance, and nominal value minus tolerance), then these two value "states" can be represented by a single binary bit.  In Harry's technique, "1" represents "nominal value plus tolerance", and "0" represents "nominal value minus tolerance.

    Therefore, if we have N components in our circuit that we would like to vary the tolerances of, we can represent these components with N bits.

    If we then stepped through all possible combinations of these N bits (from 0 to (2^N)-1), and at each step ran a simulation using the appropriate value of each component as defined by the state of its bit for that step, we would step through all possible combinations of the worst-case values without repeating or skipping a combination of values.

    In other words, we would have optimized the number of runs to be the minimum set required for a complete worst-case analysis of our circuit

    The table below demonstrates the component "bit" values for the 16 runs required for a complete worst-case analysis of 4 components:


    Each component (that will be varied) is assigned a unique "Component Index" number.  This index starts at 0 and increments by 1 for each component.

    For example, if we are going to vary the tolerance of four components in a circuit, these four components are assigned index values starting with 0 for the first component, 1 for the next, 2 for the third, until we reach 3 for the fourth (and last) component.

    You can think of these index values as each being a "bit position" in the N-bit word (where N, in this particular example, would be 4).  For example, index 0 refers to the 2^0 bit location, index 1 refers to the 2^1 bit location, etc.  You can see this in the table, above.

    This table determines how the tolerances are set for each run.  For Run = 0, all entries in the column for that run equal 0.  Therefore, all four component values will have their tolerances subtracted from their nominal values.

    For the next run, Run = 1, the component whose index is 0 will have its tolerance added to its nominal value.  All other components will have their tolerances subtracted from their nominal values.

    For the next run, Run = 2, now the component whose index is 1 will have its tolerance added to its nominal value.  All other components will have their tolerances subtracted from their nominal values.

    And for the next run, Run = 3, now the two components whose indexes are 0 and 1 will have their tolerances added to their nominal values.  All other components will have their tolerances subtracted from their nominal values.

    And so it goes, in a binary-counting fashion, until we reach the last run count of 15.


    How do we do this using LTSpice?  Here's the new schematic, using the same four components that we analyzed in our earlier, non-optimized worst-case analysis, above.


    The differences between this new LTSpice simulation and the earlier version are:

    1.  The "wc()" function now has a third input variable: "index" (i.e. the "component index", and the function is now:

    .function wc(nom,tola,index) if (run == -1, nom, if(binary_digit(run,index),nom*(1+tola),nom*(1-tola)))

    2.  The wc() function for each component (in each component's "value" field) is assigned a unique index.  The index for the first component is 0, and indexes increment sequentially by 1.

    3.  The "binary_digit" function is a new function.  It returns either a 1 or a 0, depending upon run-number and component index:

    .function binary_digit(run,index) floor(run/(2**index))-2*floor(run/(2**(index+1)))

    4.  The "run" parameter now starts at -1 (as mentioned by "anonymous" on December 13, 2012, in the comments section, below).  When "run" equals -1, the circuit simulation is run with nominal component values.

    There are 4 indexes (and thus 4 bits) for this circuit.  Thus, a complete worst-case simulation will require 16  runs to test all combinations of worst-case tolerances, plus there is one additional run with components set to their nominal values.  So there are 17 runs, total.


    OK, let's run the example!

    First, here's the LTSpice schematic, again:


    And here are the plots of the voltage at the "vout" node:


    Please note that this technique (as described by Harry Dymond in his November 9, 2012 comment in my comments section below) is also described in the following article written by Linear Technology Corporation, in 2017:

    https://www.embedded-computing.com/articles/getting-the-worst-case-circuit-analysis-with-a-minimal-number-of-ltspice-simulation-runs

    (Note, too, that in my example, above, I've replaced Harry's use of "powerOfTwo" with the shorter word "index", used by the LTC authors.)


    Other Notes and Caveats:

    1.  In the "comments" section, "Thomas", on December 2, 2016, points out that worst-case analysis could miss LC circuit resonances.  If your circuit contains inductors and capacitors, Monte Carlo analysis (in lieu of Worst-case analysis) would probably be more appropriate.

    2.  Further information on Worst-Case and Temperature Analysis can be found here:

    http://k6jca.blogspot.com/2012/07/worst-case-and-temperature-analysis.html

    (And check out the other comments in the comments section, below, too).


    Resources:

    LTSpice is available for free from Linear Technology.  You can find it here

    Tuesday, January 24, 2012

    New QSL Card!

    Finally, a new QSL card:


    (My design. Printed by KB3IFH).

    Thursday, June 9, 2011

    Quickie Pneumatic Antenna Launcher

    [21 Feb 2015 Update:  for an improved design, please see this newer post:  Improved Antenna Launcher.]

    I need to get wire-antenna supports up into some tall pines at a remote location, and the slingshot that I would normally use to do this is at my brother's house. So...in its absence I thought I'd instead make a "pneumatic antenna launcher" to help me get the supports up into high tree branches.

    A quick Google search revealed a number of plans for pneumatic antenna launchers, the most common using 2.5" PVC pipe. Although these designs were usually pretty fancy (using adapted sprinkler valves to trigger the launchers), I thought they might form the basis of a simpler design that I could quickly assemble. So off to Home Depot I went to pick up some 2.5" PVC and accessories.

    Unfortunately, when I arrived I discovered that the local Home Depot only has Schedule 40 PVC pipe up to 2" inner-diameter, but not 2.5" pipe.

    Well, why not use 2" pipe? With this diameter in mind, I searched through the bins of various PVC couplings and parts, designing the launcher in my head as I discovered what bits and pieces Home Depot had in stock.

    With money dispensed, home I went, and not much later I had my launcher! Here it is:

    (Click on image to enlarge)
    The air-chamber and barrel are made from 2" I.D. Schedule 40 PVC pipe. Overall length is 90 inches. The barrel is 32 inches long, and the air-chamber is 52 inches long (roughly 2.5 quarts in volume).

    I chose 2.5 quarts as a compromise between air-volume and length of the chamber. Other designs that I found on the internet seemed to use a volume of about 3 quarts for their air chambers, but, with 2" PVC pipe, this would require a chamber length of 60 inches, which I thought would make the overall launcher a bit too unwieldy. So I shortened it up a bit, which, for me, puts the "trigger" at a nice height when the end of the launcher is resting on the ground.

    For the "trigger," rather than try adapting an expensive sprinkler valve as others had done, I went with a low-tech, low-cost ball valve which I'd seen used in the following photo of a potato launcher.

    (Click on image to enlarge)
    James and Devin with potato launcher (circa 1999?)

    I chose a 1/2" ball-valve after I discovered, while testing various size valves at Home Depot, that it was the one that I could turn the easiest:

    (Click on image to enlarge)


    The 1/2" ball-valve is threaded at both ends. To connect it to both the 2" air-chamber and the barrel, I screwed into each end of the valve 1/2" (threaded) to 3/4" (female slip) adapters (with a generous amount of Teflon pipe-tape on the threads), and then I glued short lengths of 3/4" PVC pipe into the slip-joint ends of these adapters. In turn the other ends of these short lengths of 3/4" pipe are glued into 3/4" (slip) to 2" adapters. The barrel and the air-chamber connect to these 2" adapters via 2" slip couplings (again, glued).

    Note that the threaded couplings allow the launcher to be disassembled for easier transport. And, should I ever decide to change to a fancier trigger mechanism, they would allow me to easily swap out the original ball-valve trigger for something different.

    To fill the air-chamber I used a Presta valve from an old bicycle inner-tube that I had lying around. It's threaded and has a nut, which eases its installation.

    (Click on image to enlarge)

    A Schrader valve would have been preferred, as Presta valves are a bit fragile, but the Presta valve was what I had on hand.

    To ensure a good seal between the valve and the air-chamber pipe, I cut out two pieces of the bicycle inner-tube rubber, each piece roughly a circle 1" in diameter. Into the center of each piece of rubber I cut a small hole slightly smaller than the diameter of the Presta valve. I pressed these each over the valve and worked them, one at a time, down the stem to the end that would be within the air-chamber pipe.

    I drilled a small hole in the pipe just past the point where the end-cap would stop (do NOT attach the end-cap yet before you install the valve!), and then I inserted the valve into this hole. With its nut tightened down, the rubber "gaskets" I'd made provided a good seal against the inside of the air-chamber.

    After I'd installed the valve, the air-chamber was capped off with a 2" PVC cap, glued in place.

    Because the pipe is only 2" in diameter, I couldn't use normal size tennis balls. A visit to Jon, K6JEK, and his wife revealed exactly what I needed. Their dog Buster likes to chase 2" tennis balls.

    (Click on image to enlarge)

    I tested one of these tennis balls in the launcher, and it worked great! Buster was too attached to his tennis ball for me to try to take it (and his others were chewed beyond recognition), so it was off to the local Petco (pet supply) store to search for more 2" tennis balls!

    (Click on image to enlarge)

    The yellow balls are a bit softer than the blue/pink ball, and they are "squeaky" toys. I drilled a couple of holes in one so that I could insert a tie-wrap to use as an attachment loop. Then, at the other end, I cut a thin slit with an X-acto knife so that I could insert pennies to add weight. Per another website, the ball should weigh between 4 and 5 ounces (as the best tradeoff of height, safety, and the ability to pull the line down over tree branches and foliage). Getting it up to 5 ounces pretty much fills up a 2" tennis ball with pennies! (Each penny is roughly 0.1 ounces).

    Here's a finished tennis ball, with tie-wrap attachment loop:

    (Click on image to enlarge)


    Using a bicycle tire-pump, I've tested my chamber up to about 80 psi and it seemed to hold its pressure fine (at least for the time it took me to insert a ball and launch it). The 2" pipe itself is rated to 280 psi (and the 3/4" pipe to 480 psi), but the ball-valve is only rated to 150 psi. I'd recommend keeping the max pressure well below this point, though.

    A small paint bucket can be used to hold the line and keep it from becoming entangled in ground debris (e.g. twigs and leaves). Tie one end of the line to the bucket handle!

    (Click on image to enlarge)

    Results:

    Shooting the weighted 5 oz. tennis ball straight up into the air resulted in the following heights:
    • 20 psi: 15 feet
    • 40 psi: 35 feet
    • 60 psi: 65 feet
    (Note: I only tested once at each psi level. Heights are approximate, based on a rough measure of how much line played out).

    While erecting my 80 meter full-wave loop, I discovered that I needed the ball to be heavy so that, if it were in an environment with many branches, it had a better chance of pulling down the line attached to it. I had started with a 4 oz. tennis-ball load, but finally decided I was better off with the ball loaded with as many pennies as I could fit into it. The result is a ball which weighs about 5.5 oz.

    Even at this weight, sometimes the ball wouldn't drop all the way to the ground, and I would have to "finesse" it down by wiggling the line or trying other tricks. And sometimes I just had to pull the ball back and start over again. Perhaps a more "slippery" line might have helped the ball descend, but in the end I was able to get all of the supports up and the loop raised without either having the ball become permanently stuck in a tree, or my having to run to the store to purchase yet one more thing.

    Ready, aim...

    Notes:

    1. Mechanically, the weakest point is the smaller-diameter pipes and adapters that make up the trigger mechanism: this is where you'll see the launcher bending. To protect these parts when transporting or storing the launcher, I'd recommend unscrewing the barrel from the ball-valve, and not unscrewing the air-chamber. Keep the air-chamber screwed into the ball-valve, because it's important to maintain a good air-tight seal at the threads to prevent pressure loss.

    2. More height-per-psi might be achievable with a better (faster) trigger mechanism (e.g. adapted sprinkler valve), but I'm satisfied with my results -- they work for my application, and the design is very simple and easy to construct. Also, because the tennis ball is narrower than 2", air can escape around it as it's moving through the barrel. Some sort of circular disk to minimize escaped air (say, made out of an old mouse pad?) first placed at the bottom of the barrel with the ball then inserted so that it's lying on top of it might improve performance. But in the end I've decided that all I really need to do is add a few more psi with my bike pump to get the heights I need.


    Resources:
    1. Here (An excellent site!)
    2. 2" ID launcher
    (Googling "spud gun," "potato gun, and "tennis ball launcher" will provide other sites with great ideas, too.)


    Caveats:

    If you build one of these, use common sense and, above all, use at your own risk! Follow instructions for gluing PVC, allow adequate curing time, and, when finished, don't overstress the PVC by pumping in too much air!

    Wednesday, May 4, 2011

    Solid-stating the Heathkit HR-10 Receiver


    In a previous post I detailed my experiences in modifying a Heathkit HR-10B receiver. Although performance improved, I've never been entirely satisfied with those mods, mainly because, to my ears, there is a very subtle distortion that seems to occur with loud signals. I suspect that the input into the NE602 product detector stage is a bit too high (because the AVC isn't doing a great job limiting signal levels?), and the oscillator is being pulled slightly on high-level signal voice-peaks.

    Rather than continue to incrementally modify that HR-10B receiver to improve its performance, I thought an interesting project would be to completely solid-state an HR-10 ( or HR-10B). However, I didn't want to rip the guts out of the HR-10B that I was currently using -- it was in too nice a condition, physically, for that (which is why my mods that I'd made to it can be easily backed-out).

    Luckily, I found a junker HR-10 receiver that was exactly what I was looking for: rusty, almost complete, inexpensive, and looking for a home -- the perfect playground for experimentation!

    Here's the top of the chassis, as received. Just a wee bit of oxidation...

    (Click on image to enlarge)

    And here's the bottom of the chassis. Everything looks like its there!

    (Click on image to enlarge)

    I started by removing all of the parts except those I expected to use (e.g. the RF transformers, Oscillator tank components, and the variable caps), sanded the chassis to remove the oxidation, and then I began designing, building, and testing...

    The final receiver chassis: rust removed (via sanding), modifications installed, and ready to receive signals!

    (Click on image to enlarge)


    Schematics:

    Here are the schematics for the new receiver:

    Page 1: RF Input

    This page contains the Input RF Filters, the first Mixer, and its VFO. It uses the original RF bandpass components (L1-L5 and their associated capacitors) as well as the Oscillator tank components (L11-L15 and their associated capacitors).

    (Click on image to enlarge)
    Notes on Page 1:
    • All components with reference designator values less than 100 are original HR-10 components.
    • Replaced the antenna connector with a BNC.
    • I couldn't get good performance using the NE602's internal oscillator with the existing HR-10 oscillator tank circuits, so I designed a separate oscillator using a J310.
    • The 8.2 ohm resistor and ferrite bead the Q101's gate ostensibly prevent VHF oscillations, but I've not verified if they really do any good, or not.

    Page 2: IF Filter, IF Amplifier, and AVC

    This page contains the IF Filter, the IF Amplifier, and the AVC circuitry.

    (Click on image to enlarge)
    Notes on Page 2:
    • This page has been updated [13 Sept 15] to Rev 2.  See the comments at end of this blog post regarding revisions to this page.
    • All components with reference designator values less than 100 are original HR-10 components.
    • There is roughly 20 dB of loss through T1 and the crystal filter, which Q201 compensates for (plus a few dB).
    • The original loads for the MC1350 had been just the 330 uH inductors, but the circuitry was unstable. Adding 5.1K resistors in parallel with each inductor calmed it down. I didn't bother to try it with just the 5.1K resistors as loads.
    • D201 prevents the AGC (aka AVC) voltage that drives the MC1350's AVC control pin from exceeding the MC1350's power supply.
    • One output of the MC1350 drives the SSB demodulator (single-ended). The other output is used to derive AGC from the 1.68 MHz IF signal. Thus AGC is IF-derived, not audio-derived.
    • But first the IF signal is amplified by Q202 and Q203 before it is rectified by D202. (This amplified signal will also be used as the source for AM demodulation on page 3).
    • Similar AGC voltage results were achieved whether D202 was a silicon, Schottky, or germanium diode. So I left the diode as a silicon one.
    • C217 provides an RF "ground" for the AGC reference rail (U202.8), and R224 helps isolate the op-amp's output from any high-frequency IF signal (or rectified IF signal) that might appear on this rail (via the AVC cap, for example).
    • The input of the MC1350, when driven single-ended, cannot exceed 2.5 Vpp or else distortion occurs at its output.
    • As the output of the MC1350 driving the NE602 SSB demodulator (on page 4) is increased from about 20 mVpp, the audio signal becomes more and more distorted (although this distortion might be difficult to hear). For example, given a signal generator's signal that's been tuned in by the receiver so that it produces a 1 KHz audio signal at the speaker, if the level of the IF signal from the MC1350 is 30 mVpp, the audio second harmonic (2 KHz) is about 40 dB down from the fundamental. If the MC1350 output is increased to about 100 mVpp (by reducing AGC loop gain), the second harmonic increases to be only 20 dB down, and there is noticeable "pulling" of the BFO oscillator frequency. For this reason I set the AGC loop gain (via R228) to keep the MC1350 output level at about 30 mVpp so that the second harmonic was 40 dB down from the fundamental. There is some IF signal overshoot (to about 50 mVpp) when a -30 dBm signal goes suddenly from OFF to ON, but there is no noticeable audible "popping" at the speaker from the overshoot. (Note: overshoot worsens as R228 (AGC Loop Gain) is decreased in value -- this also corresponds to an increase in output level from the MC1350 and increased harmonic distortion at the demodulated audio output, as previously discussed.)
    • With D202 a silicon diode and the gains set by the component values shown in the schematic, AGC action doesn't start to limit a signal (on 80 meters) until the input signal level reaches about -100 to - 90 dBm. From that point, the AGC Voltage (at pin 5 of the MC1350) increases in 0.03 volts steps (roughly) for each 10 dB step in input signal level until the input signal reaches about -30 dBm, at which point the input stage (NE602) limits the signal. AGC Voltage varies from about 3.92 volts (no signal) to 4.12 volts (input limiting).

    Page 3: Demodulation and AF Amplification

    This page contains the SSB and AM demodulators and the AF Amplification chain.

    (Click on image to enlarge)
    Notes on Page 3:
    • All components with reference designator values less than 100 are original HR-10 components.
    • Q301, when ON, connects the BFO tank to ground so that the BFO can oscillate. R301 provides a DC path for the Q301's collector (as there is no DC path through T5) to ensure that the transistor is always ON.
    • In SSB mode, C306 provides a pole at about 5 KHz (with the NE602's output resistance of 1.5 Kohms). And for both SSB and AM, C308 provides an additional pole at about 8 KHz.
    • Q302 provides additional amplification of the IF signal so that it can drive the AM detector consisting of diodes D301 and D302 (the lower this signal is, the more clipping occurs on the "low" side of the modulation envelope because the signal doesn't exceed the diode turn-on thresholds).
    • C318 compensates for the crystal filter's passband shape (which results in a low-frequency "hump" in the audio when operating AM). Adding a zero at about 1 KHz (C318 = 1N, R318 = 150K) reduces this hump, thus flattening the AM passband so that it sounds less bassy.
    • C320 adds a pole at about 4 KHz when in AM mode, helping to reduce the "hiss" of the wideband noise from the AM Detector (detecting noise from the MC1350 output).
    • The LM1875 came out of my junkbox. Other audio amps should work fine, too.

    Page 4: S-Meter and Calibrator
    This page contains the S-Meter and 100 KHz calibrator circuitry.

    (Click on image to enlarge)
    Notes on page 4:
    • All components with reference designator values less than 100 are original HR-10 components.
    • The S-Meter amplifier has a gain of about 16, which was a compromise. Because of the AGC control-voltage characteristics which are used to drive this meter (see discussion for page 2 of the schematics), if the gain was set so that the needle was at S9 for a -73 dBm signal, then, as the signal level was increased by 10 dB, the needle would move by 20 dB on the S-meter scale and it would quickly peg on the right side. Conversely, if the gain was set so that the needle for an S-9 + 60 dB signal was at the far right meter tick and the needle moved by 20 dB for a 20 dB change in signal level, the needle sat at about S3 when there was no signal. The problem is that the AGC voltage operates over a smaller range of signal levels than those represented by the meter scale (in which S0 is -127 dBm, S9 is -73 dBm, and S9+60 dB is -13 dBm). So I threw up my hands and compromised with the values shown.
    • The 7490 Decade Divider in the calibrator circuit is NOT wired to produce a 100 KHz square wave. Rather, it's wired to generate a 100 KHz signal whose duty-cycle is 20% so that even harmonics, as well as odd harmonics, are produced (a square-wave with a duty-cycle of 50% produces no even harmonics!).

    Page 5: Power Supply

    This page contains the power-supply and dial-light circuitry.

    (Click on image to enlarge)
    Notes on page 5:
    • All components with reference designator values less than 100 are original HR-10 components.
    • The power supplies should be self-explanatory. To remove 120 Hz hum (and its harmonics) from the 17V rail (for low-noise applications), I used a simple filter consisting of R501 and C506.
    • The 1815 bulbs are rated at 200 mA each for 14 Volts. Lifetime is 3K hours.
    • I use a string of 8 diodes (rather than a resistor) to drop 17 VDC down to something lower for the lamps -- diodes will keep the lamp voltage constant even when bulbs with different current draws (e.g. 1813 or 756) are used in lieu of the 1815 bulbs. Fewer diodes can be used, but the 8 diodes in series give me a brightness I was satisfied with. The voltage across the bulbs is dropped to about 11 volts, and this lower voltage should increase bulb life. At 11 volts the two lamps, together, draw about 0.32 Amps total (measured through R510), which means that each diode dissipates about a quarter-watt each (or 2 watts, total).

    Construction:

    After removing most of the original HR-10 components, I started building up my new circuitry on sheets of PCB material that I'd screwed to the chassis:

    (Click on image to enlarge)

    I used my own construction technique, which is simply mounting components so that I can read their values. ICs are mounted facing up, and I usually fold out their pins (so that they look like wings) and mount them by soldering a couple of the pins of each IC to components mounted vertically on the PCB (e.g. a bypass cap (on the power pin) or to a 1 Megohm resistor that is standing up with one end tacked to the PCB copper plane (you need to first ensure, though, that 1 Meg to ground will not affect the signals using that pin!)).

    Other 1 Meg resistors (I have a large reel of them here) are soldered vertically (one end to the copper sheet) to serve as mounting posts for other components. In my opinion, this method is easy and it beats trying to solder or glue little pads made of PCB material to the copper sheet (one technique used by others).

    A closeup of my construction technique:

    (Click on image to enlarge)

    Yes, I know. It isn't pretty. But it works.



    Additional Notes and thoughts:


    1. SSB versus AM passbands

    With the SSB passband adjusted (via T1) to be fairly flat, the passband in AM mode was very narrow -- noticeably less than 2 KHz, and thus AM signals sounds pretty bassy.

    In order to get a bit more frequency range in AM mode, I readjusted T1 to make the AM frequency response fairly flat out to about 2 KHz. However, this put a 7 to 8 dB hump (in LSB mode) at the high end of the audio spectrum.

    The plots below show this. The grey graph is the frequency response to noise in AM mode, while the blue graph is the frequency response to noise in LSB mode. (Noise fed to the antenna connector from an external RF noise generator).

    (Click on image to enlarge)

    Yes, the hump looks terrible, but during listening tests I didn't find it to be too objectionable on LSB, and so, for the moment, I've decided to keep these passbands as they are (as a compromise between AM and SSB), but I might change my mind in the future. (Note, too, that this hump appears as a bass hump in USB mode).

    2. MDS Levels, by band:

    By ear (rather than quantitatively), MDS (Minimum Discernible Signal) on the different bands is roughly the following:

    80 meters: -130 dBm
    40 meters: -130 dBm
    20 meters: -120 dBm
    15 meters: -90 dBm
    10 meters: -110 dBm

    As you can see, both 15 and 10 meters are pretty deaf. I've not yet found a solution for this problem, and, because I don't spend any time on these bands, this is not a very high priority for me. However, there does seems to be a bit of VFO blow-by on these two bands which is getting into the AGC detector (and thus adding attenuation to the signal path), which isn't helping. I added a shield between the VFO coil assembly and the MC1350 (consisting of a piece of copper-clad PCB material mounted vertically and soldered to ground) which seems to help reduce this VFO-pickup, but it hasn't cured the problem when 15 meters is selected.

    Also, both 15 and 10 meters hetrodyne the signal using the second harmonic of the VFO. If the VFO is clean (i.e. it looks like a sine wave) there will be very little harmonic content and this could affect the conversion gain. Unfortunately, the conversion gain of the NE602 is directly related to the VFO signal level (up to a point), and therefore, in the case of 15 and 10 meters, if the amplitude of the VFO's second harmonic is low, so will be the resultant IF signal, which is why it can sound deaf on those bands (I verified this, by the way, using an external generator as a VFO. With its frequency set to the original VFO's second harmonic (e.g. 22.78 MHz to receive 21.1 MHz)-- sensitivity on 10 and 15 meters improved at VFO amplitude levels comparable to those used for 80 and 40 meters.)

    One possible solution might be to add a frequency doubler to the output of the VFO for 15 and 10 meters to increase the amplitude of the second harmonic. We'll see...

    3. VFO Frequencies, per band:

    80 meters: 5.18 - 5.68 MHz (VFO = F + 1.68 MHz)
    40 meters: 8.68 - 8.98 MHz (VFO = F+ 1.68 MHz)
    20 meters: 15.68 - 16.08 MHz (VFO = F+ 1.68 MHz)
    15 meters: 11.34 - 11.565 MHz (VFO = (F+ 1.68 MHz) / 2)
    10 meters: 14.84 - 15.69 MHz (VFO = (F+ 1.68 MHz) / 2)

    4. Image Rejection:

    On 80 meters I can sometimes hear 40-meter shortwave broadcast stations. For example, if the VFO is tuned to 5.53 MHz (to receive a 3.85 MHz signal), the receiver will also pick up a signal at about 7.21 MHz, which is the image of the 3.85 MHz signal (5.53 MHz + 1.58 MHz). A -70 dBm signal at 7.21 MHz is only about 20 dB down from a -70 dBm signal at 3.85 MHz -- not very good image rejection. An external antenna tuner (low pass topology) can improve this rejection, though.

    One way to improve image rejection might be to add an RF preamp prior to the NE602 and use the existing resonant L/C circuits from the original HR-10 RF Preamp (L6-L10). However, some amount of attenuation would probably need to be added, too, so that NE602 isn't overdriven by loud signals. Currently, on 80 meters, it starts to conk out at around -30 dBm, and for that reason I wouldn't want to add additional gain prior to the input NE602, unless this gain is counterbalanced with an equivalent loss.

    5. Oscillator Drifts:

    There is some amount of drift when the receiver is first turned on, but it seems to stabilize fairly quickly.

    On 80 meters, overall receiver drift, from a power-off state, was measured to be roughly 1000 Hz in the first minute. Three minutes later it had drifted another 400 Hz, and from then on it settled down to an overall drift on the order of +/- 50 Hz over an hour.

    To separate out VFO drift from BFO drift, when the VFO was replaced by a Fluke 6060A signal generator, the BFO drift, from a power-off state, was measured to be about 300 Hz over one hour.

    6. ANL Switch: I haven't yet wired up the ANL switch (nor designed ANL circuitry) -- it's a feature I rarely use, and in the future I might decide to assign a different function to this switch (e.g. selectable input attenuation, or...?).

    7. Other oddities:
    • On 10 meters you can pick up the 17th harmonic (loud!) of the BFO (at around 28.56 MHz).

    Future Improvements:

    Someday...

    1. Improve performance on 10 and 15 meters (possibly by adding a frequency-doubler circuit to the VFO for these two bands?).

    2. Add an ANL circuitry (for the existing ANL switch).

    3. More RF filtering to improve image rejection.

    4. Add REC/STBY function to octal connector on rear of chassis so that can mute receiver if used with a transmitter.


    Caveats:

    1. I could have easily have made a mistake, so please regard (and use) this design accordingly.

    2. I make no claims that component values are the optimum ones which could be used -- rather, I used values and components which, from the data-sheets and my design equations, seemed to be appropriate choices, and I modified these as needed. The values I've used work for me, but I've not spent any time evaluating the design from the perspective of "optimal" (rather than "good enough") component selection.

    Tuesday, March 29, 2011

    Class E/F Exciter for the 813 AM Transmitter

    This exciter replaces the Johnson Ranger that I'd originally used to drive my 813 AM Transmitter (described here, here, and here). It uses a modern Class E/F PA (described in further detail here), and it has a separate audio amplifier to drive the modulator deck in the 813 rig.
       
    (Click on image to enlarge)

    There is one major difference, however, between my original Class E/F PA, which was designed to generate 40 watts of RF power, and this final PA. This difference commences with a big...
       
    Oops!

    For when I connected this exciter to the 813 rig and keyed it for its initial "smoke test," the 813 Transmitter's grid-current meter pegged

    Oops! 

    But this shouldn't be! I'd measured the power output of the Ranger when it was driving the 813 Transmitter, and this output was around 40 watts for me to drive the 813 rig to about 350 watts. My exciter put out the same power. What was going on?  

    As an experiment, I took a 50 ohm 6 dB high-power attenuator (that had been wired-in under my operating position) and connected it between the new exciter and the 813 PA's RF input. When I keyed the rig, the PA's grid current rose to about 22 mA -- right around where it was when the Ranger was driving the rig. 

    Hmmm... 

    I poked around and discovered that the 6 dB attenuator I'd just tested with had originally been installed between the Ranger and the 813 transmitter. I'd forgotten about it, and I'd assumed that the Ranger had been directly driving the 813 rig with 40 watts, when in reality it had been driving the 813 transmitter rig with one-quarter of this power! Doh. Dope slap!  

    An obvious solution was to keep the 6 dB high-power pad connected between my exciter and the 813 PA Deck's input, but this seemed like a waste of a good attenuator (high-power attenuators are expensive, after all). Was there another, simpler, way to decrease the output power of my exciter by a factor of 4? 

    A Slight Change to the Design... 

    The Exciter's voltage for the FET Drains was 26 volts. If I halved this value, then, in principle, I ought to get a quarter of the power (power changes with the square of voltage). 

    Luckily, the design already has a 12V switching regulator (rated to 3 Amps), so I just moved the connection for the FET Drain power from 26V to the output of the 12V switching regulator. Keyed it up, and, voila, it worked! The meter readings for the 813 were where they were when driven with the Ranger. 

    Length Matters... 

    One interesting phenomena that I noticed when doing this, though: during my initial testing, I'd connected the Exciter's RF output to the PA's RF input through two lengths of RG-58 coax (because I'd originally placed the 6 dB pad between these two lengths) for a combined length of about 9 feet. Later, when I shortened the total coax between the Exciter and the PA Deck from about 9 feet to 3 feet, the PA Deck's Grid Current started reading in the 35 mA range rather than in the original 20 mA range and the Exciter's Drain current jumped from about 0.8 A to 1.2A. Neither of these were desired changes, so I went back to my original 9 feet of coax to interconnect the Exciter to the PA Deck. 

    Why does a change of 6 feet make such a difference in operation? At the moment, I don't know. However, as the length of the interconnecting coax is shortened, Exciter Drain current increases (from about 0.8A with 9 feet of coax to about 1.2A with 3 feet of coax), so the implication is that, with shorter coax, the Exciter is seeing a lower load resistance. This then implies that the PA Deck's RF input doesn't look like 50 ohms resistive, and thus there is an impedance transformation taking place via the 50 ohm coax. 

    (I connected an HP 3577A network analyzer to the exciter-end of the coax feeding the PA Deck. With the PA grid tuning set to peak grid current (when the exciter was connected), I made the following measurements:
    • 9' coax: S11 mag: 0.92, S11 angle: -13.2
    • 4.5' coax: S11 mag: 0.67, S11 angle: -24.1
    When converted into a parallel representation of real and imaginary impedance components (because, after all, the Exciter's tank consists of parallel-connected components, not series), the resulting values are:
    • 9' coax: Real: 47.4 Ω, Imaginary: -j202 Ω
    • 4.5'coax: Real: 36.8 Ω, Imaginary: -j82 Ω
    Assuming that the Exciter tank is tuned to compensate for the imaginary component, the Exciter tank sees a lower resistive component with shorter coax, which correlates with the increased Drain current that I see, and the resistive component with 9' of coax is quite close to 50 ohms. 

    However, there is one puzzle that I don't yet understand: with 4.5' of coax, the imaginary component represents more parallel capacitance than that of the 9' coax, yet I find that, when tuning the Exciter's tank when using the 4.5' length of coax, I need to turn the Exciter's Tank capacitor to full-mesh (i.e. high-capacitance) for best-looking Exciter RF. Why do I need to add more exciter-tank capacitance when I've already added more capacitance at the exciter load? It doesn't make sense to me. Should I be working with the series-form of impedance instead (in which the impedance measured at the end of the 4.5' length of coax has less capacitance than the 9' length)? Have I made a mistake in my measurements? I don't know. 

    Well, something to research on another day... 

    Other notes: 

    Note 1: If I'd kept the 6 dB attenuator connected between the Exciter and the PA Deck, then the effect of coax-length on Exciter performance would be less of an issue, because the attenuator would have "buffered" the effect of the PA Deck's input impedance on the Exciter. 

    Note 2: There is interaction between the Exciter's Tuning capacitor and the PA Deck's Grid Tuning capacitor; the position of one will affect the other. That is, the amount of "junk" on the Exciter's RF waveform (monitored at the front-panel BNC) will change, depending upon how the Grid Tuning capacitor is changed. When tuning the transmitter:
    1. First I peak the PA Deck's Grid current.
    2. Then I adjust the Exciter Tank tuning for best looking RF at the Exciter's output (as observed at the Exciter's front-panel BNC). This is typically at, or near, minimum Drain current, as measured on the Exciter's front-panel meter.
    Here's a screen-shot of bad-looking RF from the Exciter. Its tank needs tuning!
       
    (Click on image to enlarge)

    And here's the Exciter RF with its tank properly adjusted:
       
    (Click on image to enlarge)

    (Exciter RF waveform measured at the front-panel BNC, J6, using a Tektronix TDS320 scope (100 MHz bandwidth).) Schematics. There are four pages. Here they are:
       
    (Page 1. Click on image to enlarge)

    Notes on page 1: This page is essentially the same as the original design, but changes are:
    • DC Voltage for IRF530s changed from 26 VDC to 12 VDC.
    • 510 pf added to tank circuit (3570 pf total) so that the Tank circuit, when operating at 3.87 MHz, is properly tuned with Tuning Capacitor C11 at about half-mesh.

    (Page 2. Click on image to enlarge)

    Notes on page 2: 

    No change from the original circuit. But because the LM2576 switching-regulator now must deliver an additional 800 mA (or so, to power the PA FETs), the inductor L3 really should be changed from 1000 uH to 470 uH or 330 uH. But it seems to run fine with the original value of 1000 uH, so I'll leave modifying this for another day. 

    And, strictly speaking, I didn't need to incorporate a sequencer into the Exciter's design -- I could have used the existing sequencer in the 813 transmitter to perform the same function. But incorporating this sequencer allows me to easily test the Exciter as a stand-alone unit.
        
    (Page 3. Click on image to enlarge)
    Notes on page 3: 

    This is the audio driver which drives the 813 Modulator Deck. Externally, and prior to this stage, I use a Behringer Xenyx 802 mixer/amplifier to amplify and equalize my microphone. 

    For 100 percent modulation, the Modulator Deck requires an input level of about 80 volts RMS (when driven with a sine-wave -- this is about 226 Volts peak-to-peak). The simplest way to get this sort of amplitude is with a transformer. On eBay I found an audio output transformer (designed to present to a push-pull driving stage a load of 6.6K or 8K ohms when driving either a 4, 8, or 16 ohm load -- its Part Number is OT20PP), and I decided to connect it in reverse to drive my Modulator Deck so that I could transform the high-impedance of the Modulator Deck input to a low-impedance, and then drive this low-impedance with a speaker amplifier designed to drive loads in the 4 to 16 ohm range. 

    To test which combination of input/output windings would work best in my application, I connected the transformer to the Modulator Deck and drove it with a stereo amplifier. With a 1 KHz sine-wave test signal, for full modulation (corresponding to an audio drive of about 80 Vrms into the Modulator deck), I needed about 12 Vpp of drive from the stereo amp. 

    For the actual transformer driver, I used an LM1875 speaker amplifier. Its output is single-ended, so, to get 12 Vpp out with some headroom, I used the 26 VDC power supply to power it. 

    I also decided to use the 16 ohm tap as the primary (driven by the LM1875) and the 6.6K ohm taps as the secondary (to drive the Modulator Deck). This is the lowest step-up turns-ratio provided by the windings, and the Modulator Deck's input impedance is transformed to be about 5.4 ohms, as measured at the output of the LM1875, which conveniently lies between the LM1875's 4 ohm and 8 ohm load specs. (Any other combination of windings would have resulted in a lower load impedance for the LM1875). 

    When driving the Modulator Deck to full modulation, the LM1875 delivers about 3.6 watts into this 5.4 ohm load. 

    There is a potentiometer to allow some amount of gain adjustment, but the primary gain is back at the Behringer mixer. And there's a mute circuit to mute the audio drive to the Modulator Deck when the 813 Transmitter is not transmitting. (The 813 transmitter does not like it when the modulator and modulation transformer are driven when the PA deck is not generating RF). 

    The low-frequency -3 dB point is about 280 Hz (determined by R28 and C44), which I purposefully added when I discovered that lowering this frequency caused the AM signal to sound a bit fuzzy (due to IMD products related to the voice frequencies below this point). The upper -3 dB point for the exciter/813 rig (combined) is around 4 KHz. These points were measured by driving the modulator with sine-waves and measuring the peak-to-peak envelope of the modulated RF. 

    As a precaution against EMI problems involving RF interacting with the audio components, the audio components are all placed within a separate shielded chamber (made using double-sided PCB stock) within the chassis. All signals which transition into this chamber from the area containing the Exciter's RF stages are first filtered using feed-thru caps and L/C (or R/C) low-pass filters.
        
    (Page 4. Click on image to enlarge)

    Notes on page 4:
    1. The 26 VDC power supply is a Cosel 24V supply (adjustable +/- 10%), rated at 4.5 ADC that I picked up from eBay. Now that I've discovered that I don't need 40 watts of RF power, this supply could actually be rated at a much lower DC output current, but hey, hindsight is 20/20.
    2. The AC Connector and AC Line filter are actually an integrated modular unit.
    3. The VFO is an N3ZI DDS2 VFO. Its output is only about 380 mVpp, so I bump it up to about 2 Vpp (to drive the 'HC86 XOR gates) with an OPA690 op-amp. The 50 ohm resistor in series with the output was added to reduce some high-frequency ringing I had observed, but I'm not sure it's really needed -- I may have been mistaken in this measurement.
    4. The VFO Amp is only turned-on when transmitting. With the chassis buttoned-up, I've found that, even though the DDS VFO is always active (even during receive), I cannot hear it on my receiver.
    5. The Drain Current meter is 1.5 mA full-scale. The resistors (and sense-resistor) scale the current reading so that the meter represents actual current ÷ 2000.
    6. For adjusting the Tank's tuning capacitor, I added an RF tap (R32 and R33) which connects to a BNC on the front panel. The series-2K ohms represented by R32 and R33 help to isolate the tank circuit from the capacitance of coax-cables used to connect this BNC to a scope.
    7. And a diplexer is still used to help clean up the Exciter's RF output. The 50 ohm load for the Diplexer's parallel L-C circuit (i.e. the load for out-of-band frequencies) is actually seven 357 Ω, 1/4 watt resistors in parallel. And I placed the series L-C part of the diplexer in a Pomona box because I was concerned that, if not shielded, unwanted RF components would couple around it to the output.
    813 Transmitter Wiring Diagram with the K6JCA Exciter installed.

    (Click on image to enlarge)

    And here are some photos! 

    The Audio stage.  Note the shielded compartment. And the LM1875 amplifier attached to the side of the chassis for heatsinking.

    (Click on image to enlarge)

    In the rack and on the air!
       
    (Click on image to enlarge)

    (Note: This shot was taken with the FETs powered with 26V, rather than 12V, and a 6 dB attenuator between the Exciter and the PA Deck. With a 12V FET power source, the meter needle is about 0.4 mA (out of 1.5 mA FS), representing about 0.8 Amps of Drain current. 

    Additional Notes: 

     Because the tank transformer is 1:1, I wondered what the effect would be if I moved the Tuning Capacitor (C11) from the primary side of the tank to the secondary side. This would allow me to more easily mount the cap, because it no longer would need to float. However, when I performed this experiment, I discovered two issues:
    • The tuning range narrowed.
    • Output power varied slightly with frequency.
    Neither of these outcomes were positive, so I kept the tuning cap on the input side of the tank transformer, and I mounted it on a piece of polycarbonate plastic (from Tap Plastics) to isolate it from the chassis. 

     Resources: 


    1. I could have easily have made a mistake, so please regard (and use) this design accordingly. 

    2. High voltages can kill. Use caution.