Arduino Quadrature VFO with Si5351a clock generator (schematic and code)
Unrelated Activities
Arduino and Si5351 Quadrature VFO (with schematic and code) Continuing with the experiments on a SDR receiver circuit project, I am starting to move some circuit blocks from the breadboard to a proper box. The first block is the quadrature VFO (variable frequency oscillator). The VFO is based on a Si5351a clock generator IC mounted on a breakout board, controlled by an Arduino Nano via I2C. User interface is just a 16x2 LCD and a rotary encoder with switch. The Arduino code is a modified version of a sketch found at http://py2ohh.w2c.com.br/ , for use as a quadrature VFO in RF direct conversion phasing receivers. I modified it just a bit, mantaining same functionality. Frequency range should be 3.2Hz to ~110MHz, but I could only verify until about 80MHz, then quadrature and equal amplitude degrade rapidly (could be due to test setup and oscilloscope employed). In order to reach the 3.2MHz lower frequency, a modification in the etherkit Si5351 library is necessary: locate the file "si5351.h" and change the line #define SI5351_PLL_VCO_MIN 600000000 to #define SI5351_PLL_VCO_MIN 400000000
In the si5351 library example folder there is a sketch that makes the frequency calibration process very easy, look for "si5351_calibration.ino" and follow the instructions. I calibrated mine using a receiver tuned to 10.000.500 Hz and a 500Hz reference tone. It is easier than tuning a guitar... The readme file in the library folder contains also information about the phase settings, and other interesting info.
Si5351 Quadrature VFO Schematic: https://www.youtube.com/channel/UCQxQy-Z7SF7LFKsvSpqrTXg/community?pvf=CAI%253D
Si5351 Quadrature VFO Arduino Code is in the comment section of this video.
Original code: http://py2ohh.w2c.com.br/
Ben Buxton's rotary encoder library: https://github.com/brianlow/Rotary
Etherkit si5351 library: https://github.com/etherkit/Si5351Arduino
Thanks for watching. ... https://www.youtube.com/watch?v=WXq-T72pFLw
200982693 Bytes