«

»

Aug 30

DDS AD9850 experiment met Arduino

Vorig jaar in november of zo een DDS module aangeschaft, de AD9850. De AD9850 kan sinusgolven, maar ook blokgolven maken, blokgolven tot 1MHz, de sinusvormige tot 40 MHz. Steeds kwam er niets van om het uit te testen, dus er eindelijk tijd voor vrij gemaakt.  De sketch hiervoor was op internet te vinden bij AD7C, waarom zelf bedenken als een ander al een perfect werkende sketch heeft…

De sketch van AD7C omvat twee varianten, één gewone vaste regelbare frequentie en één met een IF-shift. Beide werken perfect.

Na wat draadjes geknutseld te hebben, de Arduino opgestart.  Het werkt dus!

IMG_1093

Bleek dat ik een gammele rotary encoder gebruikt had, die reageerde niet goed, dus vervangen voor een ander type en nu kan ik netjes in stappen van 10Hz tot 1MHz, instelbaar met een drukknop, de frequentie aanpassen.

Vervolgens de counter aangesloten en een kleine afwijking. De DDS AD9850 module heeft een xtal van 125 MHz, die kan natuurlijk iets afwijken, zie de volgende foto….

IMG_1096

Een afwijking van 16 Hz, geen punt, de sketch voorziet in een deeltal van 125.000.000 Hz en deze ietsjes aangepast zodat de frequentie (volgens mijn eigenbouw counter) nu wel precies goed staat.  Daar mijn eigenbouw counter natuurlijk ook iets zal afwijken, dient er nog een controle plaats te vinden met een echte counter!

De tweede sketch met een MF-shift ook geprobeerd, en die werkt ook goed. De shift is vast in te stellen in de sketch, dus eenmalig is genoeg.

Mijn versie met een I2C bus aansturing voor het LCD display werkt nog niet, ik kom namelijk wat pinnen te kort op de Arduino Uno, alle pinnen zijn al gebruikt, dus dan maar traditioneel met veel draadjes aangesloten.

Verder voorziet de sketch in een geheugenfunctie, zodat niet steeds bij opstarten een vaste frequentie wordt geladen, maar de laatst gebruikte…. erg handig.

Nu wordt het dus tijd om alles netjes in een fraai kastje te bouwen, dus deze actie toegevoegd aan mijn bucket-list, waar nog veel meer items op staan om nog te doen !

Ter info, een DDS module kost tegenwoordig vrij weinig, rond de € 10,00 tot € 15,00. De specs van de AD9850 tref je hier onder aan:

AD9850 DDS Signaal generator
– 4 uitgangen: 2 voor sinus en 2 voor blokgolf
– Frequentiebereik: 0-40Mhz
– Frequentie bereik blokgolf: 0-1Mhz – 70Mhz low-pass filter op de uitgangen
– Parallele of seriële communicatie (instelbaar met jumper)
– Blokgolf duty cycle instelbaar met potmeter

De volgende uitdaging:

Op internet kwam ik ook nog een sketch tegen waarbij het mogelijk is om de frequentie rechtstreeks vanaf een numeriek toetsenbordje in te geven.  Dat gaan we ook nog proberen.

keypad_Arduino

To be continued……  dah-di-dah