Tartalomjegyzék:

AD9833 jelgenerátor: 3 lépés
AD9833 jelgenerátor: 3 lépés

Videó: AD9833 jelgenerátor: 3 lépés

Videó: AD9833 jelgenerátor: 3 lépés
Videó: Cheap DIY Waveform Generator with TFT - Part 1 2024, November
Anonim
AD9833 jelgenerátor
AD9833 jelgenerátor
AD9833 jelgenerátor
AD9833 jelgenerátor

A jelgenerátor egy nagyon hasznos teszteszköz. Ez egy AD9833 modult és egy Arduino Nano -t használ - ennyi, még csak nem is NYÁK. Opcionálisan OLED kijelzőt is hozzáadhat. Az AD9833 képes szinusz-, háromszög- és négyzethullámokat 0,1 Hz és 12,5 MHz között átalakítani - ebben a projektben a szoftver 1 Hz és 100 kHz között van korlátozva.

Voltak más utasítások is, itt és itt, Arduino és AD9833 segítségével. Ez egyszerűbb, és söprési generátorként is használható. A sweep generátorok segítenek a szűrők, erősítők és így tovább frekvenciaválaszának tesztelésében. A többi Instructables kiviteltől eltérően ez nem tartalmaz erősítőt vagy amplitúdó -szabályozót, de hozzáadhatja őket, ha szeretné.

1. lépés: A legegyszerűbb jelgenerátor

A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor
A legegyszerűbb jelgenerátor

A legegyszerűbb jelgenerátorhoz az AD9833 modult csak az Arduino Nano hátoldalára kell forrasztani. Nincs szükség PCB -re.

Az általam választott AD9833 modul hasonló ehhez. Nem azt mondom, hogy ez a legjobb vagy legolcsóbb beszállító, de olyan fotót (vagy a fenti fotót) kell vásárolnia.

A modulok közötti kapcsolatok a következők:

  • alapok kapcsolódnak egymáshoz
  • D2 = FSync
  • D3 = Clk
  • D4 = Adatok
  • D6 = AD9833 Vcc

Az AD9833 tápellátása az Arduino D6 -os tűjéről történik - az Arduino elegendő áramot tud szolgáltatni. Hozzáadtam egy 100n -os leválasztó kondenzátort, mert úgy gondoltam, hogy "kellene", de nem láttam különbséget - már van egy leválasztó kondenzátor az AD9833 modullapon.

Ha divatos lenne, aggódhat az "analóg föld" és a "digitális föld" miatt, de ha divatos lenne, több mint 4 fontot költene.

A legegyszerűbb jelgenerátor vezérlése és tápellátása USB -kábellel történik egy számítógépről. Az USB 115200 bps sebességű soros portot emulál (8 bites, paritás nélkül). A parancsok a következők:

  • '0'.. '9': a számjegy eltolása a "min" frekvencia tömbbe
  • 'S': állítsa be az AD9833 frekvenciát és szinuszhullámot állítson elő
  • 'T': állítsa be a frekvenciát, és készítsen háromszög hullámot
  • 'Q': állítsa be a frekvenciát és állítson be négyzethullámot
  • "R": állítsa vissza az AD9833 -at
  • 'M': másolja a "min" frekvencia tömböt a "max" tömbbe
  • 'G': söprés "min" -ről "max" -ra 1 másodperc alatt
  • 'H': söprés "min" -ről "max" -ra 5 másodperc alatt
  • "I": söprés "min" -ről "max" -ra 20 másodperc alatt

Az Arduino program két 6 karakteres tömböt tartalmaz: "min" és "max. Ha egy számjegyet küld, akkor az a" min "tömbbe kerül. Ha" S "-et küld, akkor a" min "tömb karaktereket longint gyakorisággal, és elküldik az AD9833 -nak

002500S

az AD9833 kimenetet 2500 Hz -es szinuszhullámra állítja. Mindig el kell küldenie mind a 6 számjegyet. A minimális frekvencia 000001, a maximális frekvencia pedig 999999.

Ha „M” betűt küld, akkor a „min” tömb a „max” tömbbe kerül. Ha H betűt küld, akkor az AD9833 ismételten fokozatosan növekvő frekvenciát ad ki 5 másodperc alatt. "Min" frekvencián indul, és 5 másodperccel később "max" frekvencián. Így

020000M000100SH

100 Hz -től 20 kHz -ig terjed. A frekvenciaváltozás logaritmikus, így 1 másodperc múlva a frekvencia 288 Hz, 2 másodperc múlva 833 Hz, majd 2402, 6931 és 20000 lesz. A frekvencia milliós másodpercenként változik.

A ciklus leáll, amikor az Arduino újabb karaktert kap, ezért ügyeljen arra, hogy ne küldje el a parancsot, majd a kocsi-visszatérés vagy a sor előtolás. Ez az extra karakter befejezné a ciklust. Ha a Soros monitort használja, a jobb alsó sarokban található egy doboz, amely például azt mondhatja: "Mind NL, mind CR", amely (szerintem) karaktereket küld a parancs után. Állítsa "Nincs sorvég" értékre.

Az alábbiakban letöltheti a Windows EXE programot, amely elküldi a szükséges parancsokat, vagy megírhatja a sajátját. Az Arduino INO fájl is itt található.

2. lépés: OLED hozzáadása

Adjon hozzá OLED -et
Adjon hozzá OLED -et
Adjon hozzá OLED -et
Adjon hozzá OLED -et
Adjon hozzá OLED -et
Adjon hozzá OLED -et

Ha OLED -et és két gombot ad hozzá, a jelgenerátor egyedül is működhet PC nélkül.

Akik elolvasták az Instructable oszcilloszkópomat, felismerik a hasonlóságot. Az AD9833 modul hozzáadható az oszcilloszkóphoz, hogy "oszcilloszkópot és jelgenerátort készítsen a gyufásdobozban".

A kijelző egy 1,3 -os OLED, amely 3,3 V -on működik, és amelyet egy SH1106 chip vezérli I2C buszon keresztül.

Keresse meg az eBay -en az 1,3 "-os OLED -t. Nem akarok ajánlani egy adott eladót, mert a linkek gyorsan elavulnak. Válasszon egyet, amely úgy néz ki, mint a fotó," I2C "vagy" IIC ", és négy csapja VDD GND SCL SDA feliratú. (Úgy tűnik, hogy néhány kijelzőn a sorok más sorrendben vannak. Ellenőrizze őket. Az I2C órájának megfelelő neve "SCL", de az eBay -en a táblák feliratozhatók "SCK" felirattal, mint az enyém a képen.)

Az OLED könyvtár teljes leírása megtalálható a 8. lépésben oktatható oszcilloszkópomban. Töltse le és telepítse a SimpleSH1106.zip illesztőkönyvtárat, amely a 8. lépésben található. (Nem akarok itt más példányt feltölteni, és két példányt kell fenntartanom.)

Az INO fájl alább letölthető. Az OLED -hez használt PIN -kódok a 70. sor körül vannak feltüntetve. Ha az "Oszcilloszkópot és a jelgenerátort egy gyufásdobozba építette", és ezzel az INO -fájlt szeretné tesztelni, akkor az alternatív PIN -kódok #define segítségével engedélyezhetők.

Megmutattam egy szalag elrendezést az áramkör számára. Két szalagpanel található - az egyik a Nano és az AD9833, a másik a kijelző számára. Szendvicset kell alkotniuk. A táblák az alkatrészek oldaláról láthatók. Finom hajlékony huzalok csatlakoznak a két táblához. Rögzítse a táblákat forrasztott rögzítőelemekkel együtt. A diagramomon a szalaglemez rézszíne cián színű. A vörös vonalak drótkötések a szalagpanelen vagy rugalmas vezetékek, amelyek összekötik a táblákat. Nem mutattam be a tápfeszültséget és a "jel" vezetékeket.

Az AD9833 modul a szalagpanel réz oldalán van forrasztva - a Nano ellenkező oldalán. Forrasztócsapokat a rézcsíkokra, majd illessze rájuk az AD9833 -at és forrasztja fel.

A kijelző vagy egyetlen frekvenciát, vagy a "min" és "max" frekvenciákat mutatja.

Két nyomógomb van: a "Vízszintes" gomb a frekvenciák számjegyének kiválasztásához, a "Függőleges" gomb pedig a szám megváltoztatásához.

A jelgenerátort az általam fejlesztett áramkörből táplálom - a munkaállomásomon mindig rendelkezésre áll 5V.

3. lépés: Jövőbeli fejlesztések

Jövőbeli fejlemények
Jövőbeli fejlemények

Lehet akkumulátoros? Igen, csak adjon hozzá egy 9 V -os PP3 -at a Nano RAW -csatlakozójához csatlakoztatva. Általában 20 mA -t használ.

Lehet -e egyetlen lítiumcellával működtetni? Nem értem miért nem. Csatlakoztassa az OLED Vdd-t és annak felhúzó ellenállását a 3,7 V-os akkumulátorhoz (kétlem, hogy az Arduino 3,3 V-os kimenete megfelelően működne).

A sweep generátor hasznosabb a szűrő frekvenciaválaszának tesztelésekor, ha grafikonon ábrázolhatja az amplitúdót és a frekvenciát. A jel amplitúdójának mérése bonyolult - le kell cserélnie a borítékérzékelő és a hullámzás bomlását az alacsony frekvenciákra és a válaszidőt a magas frekvenciákra. Miután megépítette az amplitúdó -érzékelőt, a kimenetét a "legegyszerűbb jelgenerátor" Arduino ADC -jébe táplálhatja, majd elküldi az eredményt az aktuális frekvenciával együtt a számítógépre.

Ez az oldal hasznos kiindulópont, vagy keressen rá a Google -ban a "borítékérzékelő" vagy a "csúcsérzékelő" kifejezésre. A fenti javasolt áramkörben állítsa be a jelfrekvenciát, várja meg, amíg stabilizálódik, állítsa be az Arduino A0 tűt a digitális alacsony kimenetre, várjon a C kisülésre, állítsa be az A0 bemenetet, várjon, majd mérjen az ADC -vel. Tudassa velem, hogyan halad.

Ajánlott: