Tuesday 24 December 2019

First two months of moon bounce operations

I finally became QRV on 2m EME on the 9th of November 2019 with my first QSO with K9MRI.

I wasn't exactly trying to have a QSO but Joseph popped up on the waterfall as was so strong I thought what the hell I'd give ago and low and behold we managed my first QSO, happy days!

My system isn't yet optimised and in fact I suffer with a lot of local QRM which is hampering activity  but I think with some modifications to the antenna system in the new year should help greatly.

A pre-amp may be worth trying but I think there's probably to much noise here to able to use one but only time will see.

Anyway here's my first dozen EME QSO's.

Date Time Time Callsign Locator Distance
------ ------ ------ ------ ------
09/11/19 23:13 K9MRI EN70IU 6352km
17/11/19 00:17 UA3PTW KO93BS 2506km
07/12/19 16:17 RX1AS KO59XW 2143km
08/12/19 16:49 I2FAK JN45OB 943km
08/12/19 19:27 UR3EE KN88DC 2552km
11/12/19 19:32 HB9Q JN47CG 709km
11/12/19 19:49 S52LM JN65TX 1119km
14/12/19 21:05 I3MEK JN55SJ 1038km
14/12/19 21:15 RK3FG KO86HP 2380km

Tuesday 17 December 2019

Dual Transverter IF switch and Sequencers for Elecraft K3 / K3s


I have a medical condition called Muscular Dystrophy which results in the muscles of body slowly atrophying over time which has resulted in my hand muscles weakening to the point I struggle connecting and disconnecting any type of RF connector; this poses a problem in that I use transverters for my 2m and 70cm systems and constantly need to swap the 28MHz IF lines.

A sequencer is also employed to ensure any pre-amps are switched out of the TX signal path as well as to ensure hot switching doesn’t occur to any relays when RF is generated by the exciter.

My original setup used a single sequencer shared between transverters and other devices and though this was perfectly adequate I wanted the new system to have separate sequences where each event could be configured or modified at a later date without too much hassle.



Original Setup



Both of the transverters were built with a single RF port with an internal relay however this isn’t ideal and so I decided to modify both my transverters to provide a separate RX and TX RF ports.

My station also utilises a Wavenode RF power meter to monitor in real-time the VSWR of each antenna.  In the event of a high VSWR the Wavenode closes an internal relay this can be used to connect to an external monitor to cease operation of the station.

I recently purchased an Elecraft K3S (K3) which provides both RX and TX IF ports with the TX port output at 0dBm giving the correct level of drive for the transverters.

While reading the K3 manual I discovered the ACC port provides four TTL level logic gates where a combination of the four indicates which band is currently selected.

So with the above in mind, I decided to completely re-engineer the station to give the best receive and transmit performance I could get on the 2m and 70cm bands, reduce the amount of cable swapping and have separate sequencers for each of the transverters

The ACC port can provide PTT and TX inhibit functions which again would also reduce the amount of cabling required.

The ACC port consists of a DE-15 socket where pins 3, 9, 13 and 14 provide access to the TTL logic gates and pins 7 and 10 provide the TX inhibit (TXINHIB), which can be configured to inhibit the exciter on either a high or low state and KEYOUT-LP (PTT) which provides a 10mA sink to ground.

This was exactly what I needed to create a single control unit to switch IF lines, provide an independent sequencer to each transverter chain and to ensure that no RF was generated until all events in each sequence was completed all at the press of the band selector button on the K3 after some thought I came up with the following station configuration.


New Setup



The K3s band logic gates can be configured in one of three ways NOR for HF bands only, TRN for transverters only and HF-TRN for both the HF bands and transverters. I selected the TRN setting which made reading the TTL logic simpler as it only requires knowing the current state of two of the logic gates instead of the four gates required for the NOR or HF-TRN configurations.

From here on forward when I reference bands it is taken to also include the transverters.

The band switch logic matrix for the K3 is shown below.

K3 band switch matrix


As you can see from the table when TRN1 or TRN2 is selected the logic can either be on or off for either band but they can neither be off or on together for band 0 and 1 so any other state would be equal to another band.

So with the above in mind, I needed firstly someway to read the K3 TTL logic.

Secondly, to key the 2m and 70cm transverters as well as associated amplifiers a 10mA sink to ground is needed.

Thirdly the change over relays, Tohtsu CZX-3500, which require 12V and draw around 250mA, which would be held closed for RX operation and released for TX. The CZX-3500’s also have an advantage or providing an extra 20dB of isolation between ports compared to the ones in the transverters which only provided 40dB of isolation.

Fourthly the ability to control two mini relays to switch the IF lines between transverters.

It would also be useful to have some indication of which band has been selected as a separate confirmation to the K3, and that events for that band are being sequenced correctly.

And finally, it would be nice to have some kind of audible alert in the event of a high VSWR.

I came to the conclusion using an Arduino microcontroller would be the easiest route to getting something working fairly quickly with little expense as well as keeping the electronics side of things simple.

The Arduino UNO uses an ATMega328P which has 23 general-purpose digital I/O pins available however two are used for serial coms and one for a reset button, two pins are used for an external 16MHz crystal reference, so minus those five I/O pins eighteen pins are available to for other purposes.

I decided I need the following pins:

2 pins to read the band switch TTL logic from the K3.
3 pins to light LED’s to indicate which band has been selected on the unit.
2 pins for the IF relays.
1 pin to monitor PTT enabled from the K3.
1 pin for a PTT LED indicator.
1 pin to enable and disable TX Inhibit function on the K3.
1 pin to monitor the VSWR trip alert from the Wavenode RF power meter.
1 pin for the VSWR trip enabled warning buzzer.
1 pin for a VSWR trip reset button, for which I’ll use the default Arduino reset pin.
6 pins for the two sets of three for the sequencer, one set for each band selected.

Programming the Arduino is fairly straight forwarding using the Arduino IDE from the Arduino website. The language used is a subset of the C/C++ language which is fairly simple to use and there are plenty of resources on the internet to get you started.

The first iteration of the software was a simple loop that read the state of the I/O pins that monitor the band logic gates on the K3 and lit an LED to indicate which transverter / band was selected.

What became apparent with this first simple loop was despite the fact there aren’t any mechanical switches the software was experiencing contact bounce.

Contact bounce is caused when a switch is pressed or released and for a few milliseconds or more the switch state is unstable to get around this problem it is normal to get the state of the I/O pin and store it in variable and then wait for a defined period and check again when the stored state and current state are equal we can be sure the switch is either high or low.

There were two issues caused by the contact bounce, one if the Arduino was switched on before the K3 then the band selected on the Arduino may not agree with the band selected on the K3 and secondly, when the band was changed on the K3 occasionally the wrong band was detected.

To resolve for these issues I started writing a routine to take into account the unstable state of the switch while bouncing but in a sudden moment of genius decided not to reinvent the wheel and instead download and installed a library called Bounce2.h which reduced the amount of code I had to write for myself.

With the contact bounce cured it took an evening to write the software and that included having to remind myself how hardware is referenced on the Arduino, the web is great for these kinds of projects there’s always plenty of example code around if you’re unsure how to do something.

With the software written the next thing to do was get on with the hardware, now electronics isn’t my forte so this wasn’t something I was looking forward too.

I knew for sequence events two and three some simple NPN transistors in low side configuration would suffice however for event one I needed the ability to switch between 5V to 48V drawing up to 1A so that in the event I need to replace the change over relays I wouldn’t be restricted in what hardware could be used, so I chose to use a P-Channel MOSFET in a high side configuration.

Switch Configurations


I had a discussion with a friend who convinced me that isolating the high voltage side of the circuit would be prudent, it’s not something I would have bothered with however optoisolators are cheap as chips so I decided to isolate all of the sequencer events this would allow me to change the hardware configuration at a later date if I wanted to.

 As I had moved to the optoisolators I decided instead of turning the sequencer event indicator LED’s on direct from the ATMega I/O pins I would instead add an NPN switch in parallel to the optoisolators to sink the LED cathodes to ground instead.

This seems to be overkill but as MMBT3904 NPN transistors are only five pence each including them wasn’t going to cost any significant amount and ensure if I altered the circuit, later on, I wouldn’t run foul of exceeding the 20mA limit on the ATMega I/O pins.


Opto-isolated Switch



The complete circuit diagram is as follows.

The complete schematic



With a general plan of action, I decided instead of building the unit on stripboard I would instead have a go at using KiCad, to develop both the main PCB and front panel LED PCB.


Main board

Front panel


 I decided to place all the LED indicators, high VSWR buzzer and reset button on a small PCB, shown left, which could then be mounted to the front of the case this removed a lot of wiring that would have been required if I had mount everything individually. I used IDC connectors to connect the two boards.

The KiCad project files, Gerber files and software can be downloaded from GitHub.

I do have a couple of sets of boards spare if anyone wants to build one of these units please drop me an email, see QRZ.com, if interested.

Once the PCB’s had arrived and populated I mounted them in a Hammond ‘1550’ 275 x 175 x 67mm die-cast enclosure which matched the transverters.

Font Panel

Rear Panel

Interior

Monday 16 December 2019

70cm 250W Amplifier from secondhand DVB-T PA Part Three

You may remember in my first blog post about this amplifier I mentioned I had bought from eBay an LPF for the unit and I was a little worried this wouldn't perform as well as the eBay listing had lead me to believe.

I've finally managed to get hold of a cheap HP 8594e spectrum analyser from a fellow amateur through the second-hand advertisements in the back of RadCom and the seller very kindly included a nice directional coupler in with it, so with spectrum analyser and coupler in hand, I decided after much reading to finally connect it all up with the amplifier and see what the output looked like.

70cm Amplifier Output at 140W
You can see from the above any harmonics that are present are at least -60dBc.   The test was performed using the two tone generator within the Elecraft K3s.

Monday 9 December 2019

70cm 250W Amplifier from secondhand DVB-T PA Part Two

With the amplifier built the next item on the list was finding a power supply for it.   Originally I was going to use two HP DPS-600PB server supplies in series which would have given around 28V at 55A.

While building the amplifier I had an email from a fellow amateur Steve G4MJW asking what LPF I was using and we have been helping one another out with ideas since.

One of Steve suggestions was to use an old Ericsson 27.2V 55A PSU from a RBS 2216 900MHz GSM station which are / were available on eBay for £28 plus postage.    The nice thing with the Ericsson PSU over the HP server modules was the fact everything was in one unit.  

I couldn't find much information on these PSU however I did find a German website detailing a tear down of the RSB2216 unit including the PSU with a rather handy note that you would adjust one of the trimpots, the one on its own furthest from the three that are in line,  to increase the output voltage to 28.2V from the standard 27.2V.

One thing Steve noticed before me as he ran his for longer than a few minutes was the temperature of the case which was hot to the touch to the point the unit turned itself off.  

I ran mine for and hour and half an in that time the temperature got up to a rather barmy 39 degrees C, so some cooling was in order.  

My original thought was to use some small 30mm fans attached to the rear plate of the unit but in the end I went with two 28V 80mm fans purchased from eBay.  

The fans worked great and in fact I think a single fan would suffice and to be honest two or three 30mm fans on the back would also probably be enough.

With the fans installed the unit now runs cold so a success all in all.

The next thing to do was find a way of connecting equipment to the unit and again Steve came to the rescue when he pointed out he'd bought some banana jack sockets from eBay that by chance happened to have a thread big enough to self tap in the original DC power socket.

All in all modifying the PSU and getting it and running took an afternoon of drilling and filing to fit the fans and 10 minutes to wire it all up.

I have to thank Steve greatly for coming up with this PSU it saved me an awful lot of mucking around and gave a nicer / safer unit than the HP server supplies.

The finished PSU