PCM Hawk Arduino VFO.

VK3ZYZ

Moderator
On snooping in a second hand shop, I spotted a lonely looking HF transceiver priced at $60, marked down to $30. Not too bad for a 100W SSB set!
This started my exploration of HF.

This is the first Arduino VFO I did. It ended up looking like this.
Front View.jpg
This set was only fitted with 2 channels so more coils are needed to add more bands. As yet, I do not have them.
After discovering the Si5351 tripple VFO board, and playing with that for a bit, I decided to start the conversion. The crystals have been removed and the PCB I drew up a to hold an Arduino Nano and the Si5351 VFO board is mounted on a 3D printed spacer screwed to the side frame.CloseUpTopView.jpg

A string of resistors fit nicely between the old crystal switch terminals to produce a resistive divider that feeds a stepped voltage to the Arduino so it knows what band is selected. The PCB has a couple of cuts to suit.

BandSelectConnections.jpg

As I did not want to cut large holes in the front, a 3D printed display box fits over the speaker and is held in by magnets. Just a small hole is needed to feed the 4 wires out to drive the I2C LCD.
3D front1.jpg
The above is a quick introduction to this project.

Here below is a bit more detail, a pdf of the build, some Arduino code and the service manual.
And the info of #1 VFO.
This set is calling out for the Adaptive VFO talked about elsewhere in this forum.
 

Attachments

VK3ZYZ

Moderator
Just out on interest, I hooked the "VFO Delux" to the Hawk for the club net tonight (20210106) and it worked well :)
VFO_Delux_Hawk.jpg
 

VK3ZYZ

Moderator
The code now includes a calibration factor. It is nice to have a good frequency counter!
Also, the USB/LSB would work if I replaced the crystal with the CLK1 output.
That will get done later.
Here is the new code, as well as the Si5351 calibration sketch.
This code generated 10Mhz from CLK0 and the Arduino Serial Monitor at 115200 Baud used some keys to adjust the 10Mhz.
A calibration number is produced that is added as below.

This is the Si5351 calibration mods...
.
.
int32_t cal_factor = 19100; // found from Si5351 calibrator sketch.
.
.
.
clockgen.init(SI5351_CRYSTAL_LOAD_8PF, 0, 0);
clockgen.set_correction(cal_factor, SI5351_PLL_INPUT_XO); // <<<<<<<this is found from Si5351 calibrator code.

.
.

This code will work with few mods on a lot of old radios that have a 1.65Mhz IF.
 

Attachments

Top