ADF5355 PLL Synthesizer driven by an Arduino
Jan 4, 2018
RF Generator 70 to 13.400 GHz
by Alain Fort F1CJN alain.fort.f1cjn@sfr.fr
and Dave Brink for 64 bits routines
***************************************FRANCAIS **************************************
Ce programme utilise un Arduino Uno muni d'un "LCD Button Shield V1.0" de marque ROBOT, avec boutons et permettant de commander une carte ADF5355 chinoise (25€ sur Ebay) pour générer une fréquence comprise entre 54 et 13600MHz au pas minimum de 1Hz.
Vingt fréquences peuvent être mémorisées dans le mémoire EEPROM de l'Arduino.
Si une ou plusieurs fréquence sont mémorisées, alors la fréquence en mémoire zéro sera affichée à la mise sous tension
Le curseur se déplace avec les touches LEFT and RIGHT. Les digits placés sous le curseur peuvent être modifiées avec les touches UP et DOWN, ceci pour la fréquence, la mémoire et la fréquence de référence:
- pour la fréquence, il suffit de placer le curseur sur le chiffre à modifier,
- pour la mémoire , il suffit de placer le curseur sur le numéro de mémoire,
- pour la fréquence de référence, il suffit de placer le curseur sur 10 ou 25,
- pour la lecture ou écriture de la fréquence en mémoire, placer le curseur en bas à gauche (passage de REE (lecture EEPROM) à WEE(Ecriture EEPROM).
Le curseur disparait après quelques secondes et est réactivé lors de l'appui sur une touche.
MEMORISATION
- Pour mémoriser la fréquence en cours, mettre à WEE, puis sélectionner le numéro de mémoire, puis appuyer sur la touche SELECT pendant une seconde. Le mot MEMORISATION apparait alors sur l'écran. Ceci fonctionne quelque soit le placement du curseur excepte sur l'emplacement de la fréquence de référence 10 ou 25.
- Pour mémoriser la fréquence de référence, placer le curseur sur 10 ou 26, puis appuyer pendant 1s sur la touche SELECT.
Pour utiliser une référence 10 MHz externe, le pont de soudure J8 doit être supprimer sur la carte ADF5355.
Note 1: certaines premières cartes ADF5355 possèdent des condensateurs câblés en mauvaise position (C21 et C37). Les dernières cartes (image ci-dessous) ont les condensateurs en bonne position (entre les pins 2 et 4 des régulateurs LT1763).
Note 2(GM8BJF): un condensateur de 3300uF connecté entre J1 et masse diminue le bruit de phase à 10GHz.
Note 3 : la sortie RFB doit être utilisée pour les fréquences supérieures à 6800MHz.
******************************* HARDWARE IMPORTANT ********************************
Voir le schéma.
Avec un Arduino UN0 : utiliser un pont de résistances pour réduire la tension, MOSI (pin 11) vers ADF DATA, SCK (pin13) vers CLK ADF, Select (PIN 3) vers LE
Resistances de 560 Ohm avec 1000 Ohm à la masse sur les pins 11, 13 et 3 de l'Arduino UNO pour que les signaux envoyés DATA, CLK et LE vers l'ADF5355 ne dépassent pas 3,3 Volt.
La Pin 2 de l'Arduino (pour la détection de Lock) est connectée directement à la sortie MUX de la carte ADF5355.
La carte ADF est alimentée en 5V par la carte Arduino (les pins +5V et GND sont proches de la LED Arduino).
Important : Pour avoir un spectre de sortie "propre", alimenter l'Arduino par la prise alimentation externe et non pas par le cordon USB du PC. L'alimentation externe doit être de 8V à 9V afin de ne pas dépasser la dissipation maximale du régulateur de l'Arduino.
****************************************SOTFWARE*************************************
Suivre le lien: ADF5355_Arduino_ino
Attention: Si vous utiliser un LCD Shield ROBOT version 1.1 au lieu de 1.0, modifier le logiciel (voir le fichier ino).
******************************* ENGLISH ************************************
This sketch uses and Arduino Uno (5€), a standard "LCD buttons shield" from ROBOT (5€), with buttons and an ADF5355 Chinese card found at EBAY (25€).
The frequency can be programmed between 54 and 13600 MHz with a minimal step of 1Hz.
Twenty frequencies can be memorized into the Arduino EEPROM.
If one or more frequencies are memorized, then at power on, the memory number zero is always selected.
The cursor can move with le LEFT and RIGHT buttons. Then the underlined digit can be modified with the UP and DOWN buttons, for the frequency, the memories and the frequency reference (10 or 25 MHz):
- to modify the frequency, move the cursor to the digit to be modified, then use the UP and DOWN buttons,
- to modify the memory number,move the cursor to the number to be modified, then use the UP and DOWN buttons,
- to select the reference frequency, move the cursor on 10 or 25 and select with UP and DOWN.
- to read or write the frequency in memory, place the cursor on the more left/more down position and select REE (for Reading EEprom) or WEE (for Writing EEprom).
The cursor dissapears after few seconds and is re activated if a button is pressed.
MEMORIZATION
- For the frequency, select WEE, then select the memory number, then push the SELECT button for a second. The word MEMORISATION appears on the screen. This memorization works then the cursor is anywhere except on the reference 10 or 26 position.
- For the reference frequency, move the cursor to 10 or 25, the press the SELECT for one second.
Note : to use an external 10 MHz signal with the SMA input, the solder bridge J8 must be removed on the ADF5355 board.
********************************* HARDWARE IMPORTANT*******************************
See Schematic.
With an Arduino UN0 : uses a resistive divider to reduce the voltage, MOSI (pin 11) to
ADF DATA, SCK (pin13) to ADF CLK, Select (PIN 3) to ADF LE
Resistive divider 560 Ohm with 1000 Ohm to ground on Arduino pins 11, 13 et 3 to adapt from 5V to 3.3V the digital signals DATA, CLK and LE send by the Arduino.
Arduino pin 2 (for lock detection) directly connected to ADF5355 card MUX.
The ADF card is 5V powered by the ARDUINO (PINs +5V and GND are closed to the Arduino LED).
Important : in order to get a "clean" output spectrum, power the Arduino with an external PSU and not by the USB port. The PSU voltage must be set between 8 or 9V to limit the power dissipation of the Arduino internal regulator.
Note 1: some first ADF5355 boards have capacitors mounted in a bad way (C21 and C37). The last boards cart (see ADF5355 image) have the capacitors in the right place (between LT 1763 pins number 2 et 4 ).
Note 2(GM8BJF) : a 3300uF capacitor connected between J1 and ground decrease the phase noise at 10GHz.
Note 3: use RFB output for frequencies higher than 6800 MHz.
*************************************** SOFTWARE ************************************
Follow the link : ADF5355_Arduino_ino
If you are using a LCD Shield ROBOT version 1.1. instead of 1.0, please read and modify the .ino file.
****************************************************************************************