Saturday, May 14, 2016

SSB6.1 tranceiver with separate UI

I worked on getting a minimalist user interface working with the microView, a optical encoder, and a single button.  The button cycles through the 6 bands.  I did not add any debouncing code so each button press can result in one or several band changes; it makes selecting the band a bit challenging.  I'll work on integrating the SX1509 I/O expander during the next build.

The minimal user interface is on its own breadboard
The microView interacts with the Arduino pro mini via the TTL serial port.  The band button causes the uView to send commands to set the band and frequency while turning the encoder sends delta frequency commands.  On the display I show the band, the frequency the UI thinks is correct, and the frequency the DDS actually is generating.  So far the 2 controllers seem to keep in sync but I did incorporate a syncing mechanism to make sure they are.

Sunday, May 1, 2016

SSB6.1 RTX with band switching

I made some progress with the SSB6.1 radio.  I wound and added the two 40 meter coils and two of the plastic connectors.  I decided it would be easier to use Female-Male jumpers instead of continuing to tack-solder Male-Male jumpers to the PCB.  It turns out that my tack-soldering was a bit more substantial than I had hoped -- one connection required a lot of solder wick to clean and I manged to lift the PCB foil.  Oops!  Well, stuff happens...  I wired up a small jumper on the bottom of the connector and I'll run it directly to the opto-isolator input pin...

I decided to split the radio control from the user interface.  The radio control will use an Arduino Pro Mini while the user interface can vary as desired.  The connection between the two will be via a TTL serial port possibly using RS-485.  This will allow me to have a sealed RF deck and have a remote user interface.

The SSB6.1 has 6 input pins used to select the band.  I wired up a 74hc295 (a 3 to 8 demultiplexor / decoder) to control the band selection.  This chip has 3 digital inputs (binary 0 to 7) and will assert 1 of 8 outputs.  In this application, this will allow only one band to be active at a time.  Fortunately I had a couple in my parts bin (any guesses as to how long?).  It's been sitting in the package for a while but it still works!

There are 4 other inputs to the SSB6.1.  Two are used to select the sideband and two are used to allow SSB or CW transmit keying.  One is labeled as 'CW' and the other is mysteriously labeled 'DT' (on the schematic, this is the DDSPTT input for SSB keying).  I am currently using a couple of digital output pins on the Arduino to select either upper or lower sideband. It's simple and I have a few pins on the Arduino.

On a whim, I threw some $$ at a kickstarter campaign for a fun speech chip that I may use to provide voice feedback.   There is even a version of the chip with words centered around communications (like phonetics).  It should be interesting to play with.

From top left clockwise:  the voice chip, the Arduino Pro Mini with the 74hc295 below it, the SSB6.1, the Si5351 DDS, and finally my trusty old Radio Shack digital logic probe.

With the band and mode selection and a serial connection to the PC in place, I can set the frequency, the band filter, and the mode via keyboard commands.  And, 40 meters sounds great!  :-)


Sunday, April 17, 2016

Old and new parts


I have been building my parts drawer for a few years.  Most of it has come from junque piles at hamfests.  Who can resist looking through boxes of old parts and finding a few gems?  I have built up a stash of keypads of various sizes and types that have been waiting for me to come up with a project.

One issue with the keypads is that you need a way to scan them to recognize the key presses.  Keypads that are wired in a row/column matrix use fewer I/O lines than those that simply close a switch to a common line.  My Grayhill keypads are the latter type; my 16 button keypad has 17 pins -- one for each key and the common pin.  And I have a 20 button keypad that has 21 pins...  I'd like to use a Grayhill keypad with my radio project but 16 pins would tie up all the I/O pins on any reasonably sized microcontroller (not to mention 20 pins).

I like these Grayhill keypads as they allow one to set the label for all keys.  The plastic top of each key pops off and an insert can be placed which will let me to design any layout I want.

I came across the SX1509 I/O expander from SparkFun and ordered a couple.  It provides an I2C interface to 16 I/O pins that can be used in various ways.  Up to 4 devices can be used to provide more I/O pins by setting the I2C address.  Matrix keypads are supported as well as many output options including some cool LED features.

Within a couple of hours of unpacking them, I had a keypad interfaced with the MicroView.

From upper left clockwise:  MicroView, Si5351 DDS, optical encoder, SX1509, Grayhill keypad, SSB6.1
I wired a couple of keys to handle band up and down and updated the firmware to rotate through the DDS frequencies.  Next I have to wire up control lines to the SSB6.1 to actually switch the band pass filters.  Then maybe I'll deal with direct keypad entry of frequencies...

Sunday, March 27, 2016

SSB6.1 with Si5351 RX Working


After a few trials, it looks like I figured out how to get the SSB6.1 to hear stuff.  I had several issues:
  • The board and parts layout diagram had an area for R15-R18 and a part labeled WI (WJ?) but the schematic did not have any reference to these parts.  (Edit:  I discovered that this part is actually M1 -- the letters are transposed on the board so it looks like WI/J.)
  • I was missing the 2 100 Ohm resistors (R42 and R63).
  • C22 is incorrectly labeled as a 2.2uF where a 10uF should be used.
Other than these pretty minor issues, the assembly was straight-forward.  I substituted a couple of non-surface mount resistors for R42 & R63 (they look kinda funny but it will do for now).  The M1 part seems to be for a preamp that actually was included with the parts but I bypassed it since I did not find it on the schematic.  Close examination of a picture of the board from the internet shows a 10pF capacitor installed across 2 pins of M1 instead (the resistors were not populated).

The Si5351 cobbled to the SSB6.1
I decided to only wind the coils for 10m, 15m, and 20m to confirm that I could get something working (and frankly I wanted to get something ready for testing as fast as possible).  I'll wind the 40m coils next.  I am not sure if I'll bother with the 75/80m coils as I'm not sure I will use this radio for that band.  I'd really like to figure out how to get this working on 17m as that is a great band.

The SSB6.1 has an intermediate frequency (IF) of 8 MHz.  During my first tests with the Si5351, I used a DDS mixing frequency of 22 MHz thinking that would give me 14 MHz after the mixer.  Well, it did but I was not able to demodulate signals properly.  The signals all sounded like they were using the wrong side band.  I then tried a DDS frequency of 6 MHz and I started hearing properly demodulated signals!  I then tried a DDS frequency of 13 MHz and was able to hear 15m signals.

After fooling around with the optical encoder code, I am easily able to tune up and down the band.  I display both the DDS frequency and the actual frequency on the microView. I do not have an easy way to switch bands yet; I have to recompile the code and switch jumper connectors.

I read another site about using the Si5351 with a '602 mixer and how the 5351 can overload the '602. I implemented a 10dB attenuator using a few resistors based on information from radio-electronics.com.

Another cool thing about the Si5351 is that I was able to product a sweep frequency to test the receiver incredibly easily.  I simply enabled one of the other clock outputs and it worked great.


Wednesday, March 16, 2016

SSB6.1 RTX

I like portable radios.  I assembled a Wilderness Radio Sierra and an Elecraft K2 and have taken them camping.  They're great for Field Day, too.  But I've been thinking about a backpacking SSB radio that covers several bands that would be fun for day hikes.  Maybe even using it bicycle mobile!

Sometimes you find interesting things on EBay.  I stumbled onto a 6 band transceiver kit (SSB6.1) from a seller in China.  I found it intriguing so I dropped the sixty bucks to have a building adventure.

(Before anyone gets upset about my not buying something from the US:  I also have kits for the R2 and T2 from Kanga US that I am slowly working on.)

This shows the complete contents of the box:  a bunch of surface mount parts, a few NE602s, a few opto-isolators, coil forms, and some connectors.  No instructions, no parts list, no schematic.  Fortunately, the schematic and parts layout are available on the InterWeb.

Soldering surface mount parts can be a challenge but a fine tip iron made that straight-forward.  I was really concerned about winding the coils.  I've wound plenty of toroidal coils but never these.  It turns out (yeah, I said it) that they were pretty easy to wind - I just had to pay attention to what I was doing.

It only has an exciter output level of about 20 mW so I'll need to investigate some amplifier options.

Si5351

Adafruit has a board for the Si5351A.  For 8 bucks you get a itty bity board with 3 clock outputs with a range of 8 KHz to 150 MHz.  I picked up a few to play with homebrew HF radios.  (EtherKit has a version, too.)

I am using the EtherKit library for Arduino.  It is very straight-forward and I was generating clock signals in no time.

This shows the Arduino MicroView handling a rotary encoder and the I2C to the Si5351.


Tuesday, January 6, 2015

Icom AH-4 Remote Tuner

My current antenna is the B.A.L. -- a large, horizontal loop that's about 150 meters of wire about 15-20 meters up in the trees around the yard.  I think it's a great all band antenna.

I buried a couple of coax runs from the shack wall to a spot about 15m away behind a large bush.  The ladder line from the loop falls down to this spot so I do not have wires directly hanging off the house (which makes the YL happy).  I was using a DX Engineering MAXI-CORE Balun and was happy with the results.  (As an aside:  I love hamfests!  I picked up this used balun for a song.)  I used this setup for a few years and have been pretty happy with the results. 

Since the loop is a non-resonant antenna, the SWR can be high.  I've been using the tuners built into my transceivers (Elecraft K2 & K3) but have been concerned about loss in the coax.  Since I only run 100 watts or less, I want every bit of power to get to the antenna and not be used to heat the coax. Placing a tuner at the end of the coax run is supposed to reduce the coax loss.  I had always planned on adding a remote tuner when the budget allowed.  When I buried the coax, I also threw in a couple of runs of CAT-5 cable that I had laying around for use for some sort of remote control.


The remote connection at the end of the coax run
I recently acquired an Icom AH-4 remote antenna tuner.  I am using one of the CAT-5 runs as the control cable for the AH-4; I simply used each twisted pair together for the power and control signals.  I no longer use the balun.


All connected and ready to go!
Since I am using this tuner with a non-Icom radio, I needed a way to tell the tuner to initiate the tune cycle.  I whipped up the circuit described as the universal controller and it seems to do the job. (Edit Jan 2019: The link to the universal controller diagram http://www.k2.dion.ne.jp/%7Esradio/AH-4En.htm no longer works!  There is a discussion on eham with a diagram that I think is similar.)  I do plan on building a better controller that will initiate the tune cycle and then key the radio automatically.

The 'controller' in the shack
I've been very happy with the tuner so far.  It finds a decent match (less then 1.5:1) on all bands and I believe it has made a difference.  I don't have empirical evidence to support that, though!  At least I no longer worry about loss in the coax...