LDMOS Amplifiers --Are You On Board?
6/19/2016 ~ The Power of the Arduino -- The TR Switching Sequence.
One of the biggest issues (maybe ranking near the top) are the problems with putting a RF Amp in line between your transceiver and the antenna system. All sort of problems can be encountered and mainly these revolve around protection of your precious FLEX6700 $8 Kilobuck transceiver to the issue of smoking the final. A one time permanent tattoo that says "I Smoked a Final" is OK--but you want no more than one such tattoo in a lifetime.
So not only is it an issue of amplifier switching but amplifier protection! The Arduino is ideal in this case as there can be logic incorporated into the control functionality to add a high degree of protection.
Here are some possible cases that need addressing:
- The Amplifier is OFF but you accidently pump RF into the amp.
- The Amplifier is OFF but you have the amp TR switches engaged so that RF is pumped into the amp.
- The appropriate low pass filter was not selected --so the output side is not connected but the input side is - smoked the final.
For your consideration are my initial thoughts on how to address these issues --again I would find it hard to accomplish with purely mechanical controls.
Let us now take a tour through this schematic. Well start first with the Meanwell DC to DC convertor which is a really cool box available from Jameco Electronics. The input can be anywhere from 36 to 72 Volts DC and the output is 12 VDC at 1.25 amps DC. The cost is about $13 USD. In simple terms --if the main power source (our 48VDC 30 amp supply) is OFF, then there is no power to these relays. So any action that causes the main supply to be off will cut off the source of power to these relays. Pretty cool!
Next we want to look at LED16 which controls another one of those 5 VDC SPDT Omron relays. In essence a command to put the amp in line must be seen as a grounded input passing through the LED16 relay contacts and ending up as a "LOW" signal on analog Pin A0. There is nothing special about using an Analog Pin --it could have been done with one of the Digital Pins --but I did want to experiment with the analog pins as they will play an important part with the sensors.
LED16 when closed and when a ground condition (LOW) appears from your transceiver on Pin A0, then this satisfies one of the conditions to enable LED17 and LED18 to be activated -- the 48VDC present is another.
But let's go back to LED16. There are many conditions that must be met for LED16 to close the series circuit. The first is that the Amplifier must be ON and that neither the "normal off" or bypass" or "emergency off " condition exists. A second here about normal off and emergency off. Normal OFF lets you start the amp immediately as does Bypass. But with Emergency OFF you must wait 40 seconds (or however long you want) before you can restart the amp. This is purely so you are forced to think about the "why" this happened before you tap the "On" switch. Another constraint to the energizing of LED16 is if the LOW PASS FILTER relays for a particular band are not energized. This was done by satisfying a multiple "OR" condition represented by two parallel lines || . I guess this may be the first time I used a logical OR condition with the Arduino. Two "if statements" are needed with one to detect if any of the LPF relays are in line or to detect if none are in line. Try that with just toggle switches!
If such a condition were it not addressed could mean you would pump RF into the amp without any load -- smoked final.
So that now brings us to LED17 and LED18. Two LED signals are used so that they can be sequenced with a small (selectable) difference in time. You want LED18 to come on first so the antenna is first connected to the amplifier and then you want to hit it with RF. This prevents "hot switching" where there is initially no load on the amp and you are pumping RF into the amp. But for LED17 or LED18 to sequence, LED16 must be activated and also you must have 48 VDC into the DC to DC convertor. As I add some features there will be other constraints such as over temperature and high SWR.
One of those features to prevent engaging LED17 or LED18 is to measure the output voltage with an "if" discriminator such as a call void checkVolts()---where -- if( volts < 40 || volts >50){ digitalWrite(LED, LOW);} This essentially shuts down the power supply!
To activate the LED17 and LED18 controlled relays I used a simple 2N3904 switch that is triggered when a voltage appears on the base. Just for safety in case something gets smoked with the 2N3904's I will probably add a couple of 1N914 diodes in series with the 10K resistors to prevent an voltage being back fed into the Mega 2560. Cheap insurance !
One of those features to prevent engaging LED17 or LED18 is to measure the output voltage with an "if" discriminator such as a call void checkVolts()---where -- if( volts < 40 || volts >50){ digitalWrite(LED, LOW);} This essentially shuts down the power supply!
To activate the LED17 and LED18 controlled relays I used a simple 2N3904 switch that is triggered when a voltage appears on the base. Just for safety in case something gets smoked with the 2N3904's I will probably add a couple of 1N914 diodes in series with the 10K resistors to prevent an voltage being back fed into the Mega 2560. Cheap insurance !
73's
Pete N6QW
I can tell by the number of visits to the blog that there is little interest in building a 1KW LDMOS RF Amplifier and I get it. But to that, end what I will be sharing with regard to the use of an Arduino Mega 2560 has other applications like building a control system for a Beacon transmitter or perhaps switching antenna systems. So there just might be a nugget or two worth your time. I am not an Arduino expert but am simply an experimenter that has been lucky enough to get a few things to work.
Just today I saw a project from a ham in New Zealand [Dex, ZL2DEX ] who designed a circuit to scan channels in one of the early channelized FM radio transceivers. It was an elegant design using a small army of NAND circuits and mostly discrete components. There had to be a lot of noodling to get that to play. Today's digital engineers would take an Arduino and with about 100 lines of code could achieve the same purpose. So its here and why not use it. But employing an Arduino requires thinking about things differently.
Let us start with an example using the LDMOS RF Amplifier as the venue. I could build a control circuit that would virtually use all mechanical toggle switches, lots of relays and perhaps one or two NE555 timers, a thermal switch and perhaps one or two other sensors along with a few discrete components.
Would it work? Of course it would work! But there would have to be a lot of manual intervention and were a critical situation occur, a manual intervention on your part would be required. That time period where you might see a problem, until you hit the OFF switch may be of a duration that you would smoke the final --ouch $200.
The Arduino control systems would require some manual intervention but the ability to auto sense aberrant conditions and to take the required action is faster than you -- such an approach just might save you $200.
Lets start our thinking differently with our motor starting example and the two switches SW and SW1. SW is a normally closed Push Button switch and SW1 is a normally open Push Button switch. So how would this be represented using an Arduino. To answer that question we will use the diagrams below.
The first diagram is of course the motor starting circuit, and the second is simulating the momentary push button switches SW and SW1 using the Arduino and two micro sized 5 VDC SPDT relays. The ones used, the contacts are good for two amps (Omron G5V1). The beauty of the relays since they are SPDT is that you can configure them as either NO or NC.
Guys I used this same approach in my SSB transceivers when I give a momentary push to the TUNE button then there is a delay built in to create the 988 Hz tone and to keep the PTT engaged for about 10 seconds --so this is merely building on what I have used before. In passing the same code works for either SW or SW1 needing only to identify which PIN will be used, as it is how the relay contacts are wired determine NO or NC. In writing the code for the Arduino several things must occur and these include identifying that there is an integer number identifier that can't be changed. Thus the const int LED =28; means that a LED is attached to pin 28 on the MEGA 2560 and cannot be changed.
While I use the term LED because with a LED it can actually be used to visually show an output when driven high, more importantly is that you have 5 VDC on that pin. The next piece of info is to tell the Arduino that Pin 28 is being used in the pin mode and this is done in the setup portion of the sketch with the statement pinMode(LED, OUTPUT); --- this is just saying that pin 28 will be an output pin.
The final three pieces occur in the loop part of the sketch where some event occurs that tells the Arduino to drive Pin 28 HIGH (voltage on the pin); to hold that pin HIGH for a short period of time and then to drive Pin 28 LOW. [Two code snippets are shown the only difference is the Pin assignment, with LED = 28 and LED0 = 30.]
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
or
digitalWrite(LED0,HIGH);
delay(300);
digitalWrite(LED0, LOW);
Now lets get back to the event that will trigger SW or SW1. In my approach I am using a keypad with Key =1 being the Power On button which a tap of Key 1 signals the Arduino to give a momentary contact to SW1 which then goes through the latching process and the supply is turned ON. A momentary tap to Key 2 turns the supply to OFF as Key 2 momentarily engages SW.
So now the naysayers will shout --we could have done that with manual Push Button switches which is of course is true. BUT suppose there is a heat sensing device on the copper spreader and there is a temperature rise sufficient to cause concern? Separately there is code that when that heat rise reaches a pre-determined level there is internal code that essentially triggers SW and the supply is shut down. So the same basic code that normally shuts down the power supply can also be embedded into other call functions to shut down the supply. This is where we see the real power of the Arduino.
By the way similar code snippets are used to sequence the two TR relays so that the antenna is connected first before the transceiver RF is pumped into the amp. I have done that manually with the vacuum relays in the Big Dog amp which entailed some RC timing circuits. But with the Arduino a few code changes can fine tune the time duration of the sequencing.
Hopefully, this may start you to think about the Arduino as a marvelous supervisory and control device --something not easily done with toggle switches alone.
73's
Pete N6QW
/16/2016 ~ Motor Starting Control Circuitry
So ok what you all have suspected for a very long time is now being presented with evidence --Pete is a couple of cornflakes short of a full box! He now wants to talk about starting motors???
Often times we learn things in one arena that have application in another and you will see why my box is full. In the 1980's I had a life changing experience where I worked as an outside sales engineer for a company selling automated industrial controls (aka a peddler). So I would visit various client companies that had automated production facilities and my mission was to sell them many things, at times stuff they really didn't need; but it was cool stuff. I got a chance to play with hardware and got paid to do it.
One of the most basic circuits you work with in automated industrial controls is what is known as a motor starting circuit. You need something more than a $3.99 Radio Shack toggle switch to start a 3 horsepower motor thus the circuit below.
OK how does this circuit work (again more than a toggle switch)? BTW a 3 horsepower motor is like 2200 watts -- about the load of a 1KW output amplifier. The sequence of events is that there is a momentary push of SW1 which completes the circuit and Relay 1 is engaged so its Normally Open (NO) contacts bridge SW1; but because the circuit is complete the contacts stay closed. The momentary push button SW1 is out of the circuit but the circuit is complete so the motor runs. Now to stop the motor if you push and engage SW which is Normally Closed (NC), that opens the voltage and the relay drops out and so releasing SW back to its normally closed state will not start the motor.
In practice the actual motor is not the load but a high powered solid state switch receives the start and stop commands this way. So SW and SW1 are actually controlling a "hockey puck" solid state switch or other high power contactors to power on off the motor.
Now what does this have to do with the LDMOS amplifier and how it will be controlled. In essence this motor start circuit can be used to control the application of power, which for the LDMOS amp is 48 VDC at 30 amps. Additional switches can be daisy chained with SW to add other controls. For instance if you added a NC thermal switch in series with SW and suppose you hit the critical temperature. When such an event occurred then the thermal switch would open and the circuit would be broken and the power supply turned off. Until things cooled down you could not restart the power supply. This is where you say AHHHHH! Now suppose you had a SWR detector in the loop and if you exceeded say 2 to 1 that could supply a trigger to shut down the supply.
During the time I worked as a sales engineer we were making the transition from hard controls to soft controls. A revolutionary step forward was the Modicon Micro84 which was a programmable logic controller. [I sold a lot Modicon's mostly so the client companies could jump on the automation bandwagon and not necessarily real applications.] It was a brave new world in moving from a panel full of switches to a small box where you had wire terminals. We have that today with the Arduino.
We can actually program the Arduino to simulate SW and SW1 and essentially stand in for these hardware devices. The Arduino can actually take analog inputs and cause other actions --remember about a thermal switch or a SWR trigger. That is exactly the plan and we will include band switching of the low pass filters all under Arduino control. But we will need to move away from the Uno, Nano or Pro-Mini. This task will take a lot more I/O an thus we will be moving up to the Arduino Mega 2560. It will also involve the use of the keypad.
Stay tuned.
Pete N6QW
******************************************************************************
In a direct departure from building homebrew transceivers I am now embarking on an LDMOS Linear Amplifier project. Being almost 3/4 of century old I am now believing life is too short for QRP. So over the course of the next several months I hope to chronicle my journey as I build my dream amplifier.
My apologies to those who are not into high power amplifiers. But at this time I have about 20 homebrew QRP SSB transceivers I have built and now it is time to add some shoes. This LDMOS is intended as a mate for my KX3 as it only will take a few watts of drive for 1 KW output.
In 2001 I traveled a similar journey when I built a 3CPX1500A7 single band (20M) amp. It was a joy to operate although with its 200 pound weight is not easily moved. Today almost that same power level can be achieved with a box weighing less than 50 pounds and that includes the power supply. So indeed the technology is here so why not use it.
By the Way --a 3CX1500A7 tube costs about $600 and a BLX188XR ( 1 KW device) fits in the palm of your hand and costs about $185. Did I mention the solid state device is instant on -- no more 3 minute time delays.
I should mention my first foray into PIC microcontrollers when I built a 3 minute solid state time delay relays for an earlier 3CX800 amp. The homebrew TDR cost me about $11 --an Amperite 3 minute TDR was about $40. The 3CPX1500A7 ( I now have a pulse rated tube in there) has two microcontrollers (PIC12F675). Both circuits were designed by me. The 1st provides a 4 second step start on the 3000 Volt 1 amp DC power supply -- the effective capacitance on the supply is 60 Ufd at 4000 VDC. IF you ask to ask why the step start then never build a high power amp. Part of the answer is to not shock the filaments. The 2nd microcontroller provides a 3 minute time delay after the filaments are on for at least three minute before you hit it with plate voltage.
The base plate for the 3CX1500A7 power supply is a piece of sheet steel 1/4 inch thick and 17" X 17". You cannot build an amplifier like this without due regard to the High Voltage and the needed safety measures. There is a micro-switch interlock on the top cover that when the cover is removed you cannot start the HV power supply.
Here is a sneak peek at the LDMOS amp that will be constructed.
Some photos of the Big Dog ---
I should mention there was a good deal of homebrew in this 3CPX1500A7 amp including the manufacturing of a suitable plate choke and winding the tank coil. The main bread slicer cap is rated at 7 KV. This amp project ranks right along with the KWM-4 in terms of complexity and engineering challenges. The interlock control circuitry including Grid overcurrent protection was a real challenge. One other challenge -- the blower runs for 1 minute after the amp is turned off.
The power supply wiring approach is based on work I did with electrical panel builders -- I think the care with which the supply was built is evidenced in the final product. This is definitely not Manhattan construction! In case you are wondering the "red wiring" in the power supply is not from Radio Shack but 30KV high voltage wire.
In SS Podcast 187 I mentioned about dial plates made from a hard disk drive. You see how these were used in the 1st photo.