I have choosen this CB transceiver because it can not be used here in the Netherlands legally on 27MHz. There is no FM on it and originally it has only 40 channels. There are other brands like Palomar, Universe and President that use the same PCB with 7.8MHz IF, which can also be used.
For this project, I designed a PCB on which there is an Arduino, DDS and a PLL. The PCB is connected to an OLED display, encoder with switch, a potmeter, and to the CB transceiver.
In the CB transceiver the PLL, reference oscillators, display and channel switch are removed and their function is take over by the PCB.
The RF circuits of receiving part and the transmitting part that are tuned to 27MHz are changed to 50MHz. This hardest part of the project was to solve oscillation of the transmitter by adding sufficient decoupling, shielding and grounding.
The Arduino has some inputs: - encoder with switch -clarifier potmeter - USB, lsb mode and transmit.
The Arduino has some outputs to: -OLED display -PLL - DDS
The VCO in the transceiver can be tuned from 57.8MHz to 59.8MHz. This is 7.8MHz (Intermediate frequency of the transceiver) above the actual working frequency of 50 to 52MHz. The VCO frequency is divided by a factor 588 in the PLL. The phase comparitor of the PLL works at about 100kHz. That is also the frequency the DDS makes. The DDS makes the reference frequency of the PLL. This way a very small frequency grid of 10Hz can be used. This is very conveinient when working in SSB.
The clarifier potmeter is in the original design connected to a reference oscillator. This oscillator is removed and the botmeter is connected to an analog input (A7) of the arduino. The receiving frequency can be changed + and - 512 Hz by tuning the clarifier. During transmitting it is disabled in the software.
In the next block diagram i hope to make things more clear:
Picture with the channel switch and display removed:
Now added an OLED display and encoder switch:
And how the firmware is uploaded to the transceiver:
A film of how the actual transceiver is working at 50MHz: