Obsah:

Generátor signálu AD9833: 3 kroky
Generátor signálu AD9833: 3 kroky

Video: Generátor signálu AD9833: 3 kroky

Video: Generátor signálu AD9833: 3 kroky
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Júl
Anonim
Generátor signálu AD9833
Generátor signálu AD9833
Generátor signálu AD9833
Generátor signálu AD9833

Generátor signálu je veľmi užitočný kus testovacieho zariadenia. Tento používa modul AD9833 a Arduino Nano - to je všetko, dokonca ani PCB. Voliteľne môžete pridať OLED displej. AD9833 dokáže generovať sínusové, trojuholníkové a štvorcové vlny od 0,1 Hz do 12,5 MHz - softvér v tomto projekte je obmedzený na 1 Hz až 100 kHz.

Tu a tu boli k dispozícii ďalšie návody na používanie Arduina a AD9833. Je to jednoduchšie a môže byť použité ako generátor rozmítania. Sweep generátory pomáhajú testovať frekvenčnú odozvu filtrov, zosilňovačov a podobne. Na rozdiel od iných návrhov Instructables neobsahuje zosilňovač ani ovládanie amplitúdy, ale môžete ich pridať, ak chcete.

Krok 1: Najjednoduchší generátor signálu

Najjednoduchší generátor signálu
Najjednoduchší generátor signálu
Najjednoduchší generátor signálu
Najjednoduchší generátor signálu
Najjednoduchší generátor signálu
Najjednoduchší generátor signálu
Najjednoduchší generátor signálu
Najjednoduchší generátor signálu

Pre najjednoduchší generátor signálu stačí spájkovať modul AD9833 na zadnú stranu Arduino Nano. Nie je potrebný žiadny PCB.

Modul AD9833, ktorý som si vybral, je podobný tomuto. Nehovorím, že je to najlepší alebo najlacnejší dodávateľ, ale mali by ste si kúpiť taký, ktorý vyzerá ako na tejto fotografii (alebo na fotografii vyššie).

Spojenia medzi modulmi sú:

  • dôvody spojené dohromady
  • D2 = FSync
  • D3 = Clk
  • D4 = údaje
  • D6 = Vcc z AD9833

AD9833 je napájaný z dátového kolíka D6 Arduina - Arduino môže dodávať dostatočný prúd. Pridal som 100n oddeľovací kondenzátor, pretože som si myslel, že by som „mal“, ale nevidel som žiadny rozdiel - na doske modulu AD9833 už existuje oddeľovací kondenzátor.

Ak by ste boli fantastickí, mohli by ste si robiť starosti s „analógovou zemou“a „digitálnou zemou“, ale ak by ste boli fantastickí, miniete viac ako 4 libry.

Najjednoduchší generátor signálu sa ovláda a napája pomocou kábla USB z počítača. USB emuluje sériový port bežiaci na 115200bps (8-bitový, bez parity). Príkazy sú:

  • '0'.. '9': posun číslice do frekvenčného poľa "min"
  • „S“: nastavte frekvenciu AD9833 a vytvorte sínusovú vlnu
  • „T“: nastavte frekvenciu a vytvorte vlnu trojuholníka
  • „Q“: nastavte frekvenciu a vytvorte štvorcovú vlnu
  • „R“: resetujte AD9833
  • 'M': skopírujte frekvenčné pole „min“do poľa „max“
  • „G“: ťahajte z „min“do „max“počas 1 sekundy
  • 'H': ťahajte z „min“na „max“počas 5 sekúnd
  • „I“: ťahajte z „min“do „max“počas 20 sekúnd

Program Arduino obsahuje dve 6-znakové polia „min“a „max. Ak odošlete číslicu, posunie sa do poľa„ min “. Ak odošlete„ S “, znaky poľa„ min “sa prevedú na longint frekvencia a odoslané na AD9833. Takže odoslanie reťazca

002500S

nastaví výstup AD9833 na sínusovú vlnu 2500 Hz. Vždy musíte odoslať všetkých 6 číslic. Minimálna frekvencia je 000001 a maximálna frekvencia je 999999.

Ak pošlete „M“, pole „min“sa skopíruje do poľa „max“. Ak pošlete „H“, AD9833 opakovane vydáva postupne sa zvyšujúcu frekvenciu počas 5 sekúnd. Začína sa na „minimálnej“frekvencii a o 5 sekúnd neskôr je na „maximálnej“frekvencii. Takže

020000M000100SH

sa pohybuje od 100 Hz do 20 kHz. Zmena frekvencie je logaritmická, takže po 1 sekunde bude frekvencia 288 Hz, po 2 sekundách 833 Hz, potom 2402, 6931 a 20 000. Frekvencia sa mení každú milisekundu.

Slučka sa zastaví, keď Arduino dostane ďalší znak, takže dávajte pozor, aby ste neposlali príkaz a potom návrat vozíka alebo posun riadka. Tento extra znak by ukončil slučku. Ak používate sériový monitor, v pravom dolnom rohu je rámček, v ktorom môže byť napríklad „NL aj CR“, ktoré (myslím) odosiela znaky po vašom príkaze. Nastavte ho na hodnotu „Žiadny koniec riadka“.

Môžete si stiahnuť nižšie uvedený program Windows EXE, ktorý odošle požadované príkazy, alebo si môžete napísať vlastný. Je tu aj súbor Arduino INO.

Krok 2: Pridajte OLED

Pridajte OLED
Pridajte OLED
Pridajte OLED
Pridajte OLED
Pridajte OLED
Pridajte OLED

Ak k tomu pridáte OLED a dve tlačidlá, generátor signálu môže fungovať sám bez počítača.

Tí z vás, ktorí čítali môj osciloskop Instructable, podobnosť rozpoznajú. Modul AD9833 je možné pridať k môjmu osciloskopu a vytvoriť tak „osciloskop a generátor signálu v Matchboxe“.

Displej je 1,3 OLED bežiaci na 3,3 V, ktorý je riadený čipom SH1106 cez zbernicu I2C.

Hľadaj na eBay 1,3 OLED. Nechcem odporúčať konkrétneho predajcu, pretože odkazy rýchlo zastarávajú. Vyberte si taký, ktorý vyzerá ako na tej fotografii, hovorí„ I2C “alebo„ IIC “a má štyri piny označené VDD GND SCL SDA.. (Niektoré displeje majú zrejme kolíky v inom poradí. Skontrolujte ich. Správny názov pre hodiny I2C je „SCL“, ale na eBay môžu byť dosky označené „SCK“ako moje na fotografii.)

Podrobnejší popis knižnice OLED je v mojom osciloskope, ktorý je možné inštalovať v kroku 8. Mali by ste si stiahnuť a nainštalovať knižnicu ovládačov SimpleSH1106.zip, ktorá je v kroku 8. (Nechcem sem nahrať ďalšiu kópiu a musím udržiavať dve kópie..)

INO súbor je možné stiahnuť nižšie. Čísla pinov použitých pre OLED sú deklarované okolo riadku 70. Ak ste postavili môj „osciloskop a generátor signálu v zariadení Matchbox“a chcete s ním otestovať tento súbor INO, alternatívne čísla pinov sú povolené prostredníctvom #define.

Ukázal som rozloženie stripboardu pre obvod. Existujú dva pásy - jeden pre Nano a AD9833 a jeden pre displej. Mali by tvoriť sendvič. Dosky sú zobrazené zo strany komponentu. Jemné flexibilné drôty spájajú dve dosky. Pripevnite dosky spolu s spájkovanými stojanmi. V mojom diagrame je meď tabule zobrazená azúrovo. Červené čiary sú drôtené prepojenia na lamele alebo flexibilné drôty spájajúce dosky dohromady. Neukázal som napájacie a „signálne“vodiče.

Modul AD9833 je spájkovaný na medenej strane pásovej dosky - na opačnej strane ako Nano. Spájkovacie kolíky na medené pásy potom na ne nasaďte AD9833 a spájkujte.

Na displeji sa zobrazuje buď jedna frekvencia, alebo frekvencie „min“a „max“.

Existujú dve tlačidlá: tlačidlo „Horizontálne“na výber číslice frekvencií a tlačidlo „Vertikálne“na zmenu tejto číslice.

Napájam generátor signálu z obvodu, ktorý vyvíjam - na svojej pracovnej stanici mám vždy k dispozícii 5V.

Krok 3: Budúci vývoj

Budúci vývoj
Budúci vývoj

Mohlo by to byť napájané z batérie? Áno, stačí pridať 9V PP3 pripojený k kolíku RAW zariadenia Nano. Obvykle používa 20mA.

Mohol by byť napájaný jediným lítiovým článkom? Nechápem, prečo nie. OLED Vdd a jeho pull-up rezistor by ste mali pripojiť k 3,7V batérii (pochybujem, že by 3,3V výstup Arduina fungoval správne).

Generátor cyklu je užitočnejší pri testovaní frekvenčnej odozvy filtra, ak môžete graficky znázorniť amplitúdu a frekvenciu. Meranie amplitúdy signálu je náročné - musíte vykompenzovať rozpad vášho detektora obálky oproti zvlneniu pre nízke frekvencie a dobu odozvy pre vysoké frekvencie. Po vybudovaní detektora amplitúdy by ste mohli jeho výstup napájať do ADC Arduina „najjednoduchšieho generátora signálu“a potom odoslať výsledok spolu s aktuálnou frekvenciou do počítača.

Táto stránka je užitočným východiskovým bodom alebo v službe Google hľadajte výraz „detektor obálok“alebo „detektor špičiek“. Vo vyššie uvedenom navrhnutom obvode by ste nastavili frekvenciu signálu, počkajte, kým sa stabilizuje, nastavte pin Arduino A0 na výstup digitálneho basu, počkajte na vybitie C, nastavte A0 na vstup, počkajte a potom zmerajte pomocou ADC. Dajte mi vedieť, ako pokračujete.

Odporúča: