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, Červenec
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 velmi užitečný kus testovacího zařízení. Ten používá modul AD9833 a Arduino Nano - to je vše, dokonce ani PCB. Volitelně můžete přidat OLED displej. AD9833 dokáže gererovat sinusové, trojúhelníkové a čtvercové vlny od 0,1 Hz do 12,5 MHz - software v tomto projektu je omezen na 1 Hz až 100 kHz.

Byly zde i další instruktáže pomocí Arduina a AD9833, zde a zde. To je jednodušší a může být použito jako generátor rozmítání. Sweep generátory pomáhají testovat frekvenční odezvu filtrů, zesilovačů atd. Na rozdíl od ostatních návrhů Instructables to nezahrnuje zesilovač ani ovládání amplitudy, ale můžete je přidat, pokud chcete.

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

Nejjednodušší generátor signálu
Nejjednodušší generátor signálu
Nejjednodušší generátor signálu
Nejjednodušší generátor signálu
Nejjednodušší generátor signálu
Nejjednodušší generátor signálu
Nejjednodušší generátor signálu
Nejjednodušší generátor signálu

Pro nejjednodušší generátor signálu stačí připájet modul AD9833 na zadní stranu Arduino Nano. Není potřeba PCB.

Modul AD9833, který jsem vybral, je podobný tomuto. Neříkám, že je to nejlepší nebo nejlevnější dodavatel, ale měli byste si koupit takového, který vypadá jako na té fotce (nebo na fotce výše).

Spojení mezi moduly jsou:

  • důvody spojené dohromady
  • D2 = FSync
  • D3 = Clk
  • D4 = Data
  • D6 = Vcc z AD9833

AD9833 je napájen z datového pinu D6 Arduina - Arduino může dodávat dostatečný proud. Přidal jsem 100n oddělovací kondenzátor, protože jsem si myslel, že bych "měl", ale neviděl jsem žádný rozdíl - na desce modulu AD9833 již existuje oddělovací kondenzátor.

Pokud jste byli fantazijní, mohli byste se obávat „analogové země“proti „digitální země“, ale pokud byste byli fantastičtí, utratíte více než 4 £.

Nejjednodušší generátor signálu je řízen a napájen přes USB kabel z PC. USB emuluje sériový port běžící na 115200bps (8 bitů, bez parity). Příkazy jsou:

  • '0'.. '9': posunutí číslice do "min" frekvenčního pole
  • 'S': nastavte frekvenci AD9833 a vytvořte sinusovou vlnu
  • 'T': nastavte frekvenci a vytvořte trojúhelníkovou vlnu
  • 'Q': nastavte frekvenci a vytvořte čtvercovou vlnu
  • 'R': resetujte AD9833
  • 'M': zkopírujte frekvenční pole „min“do pole „max“
  • „G“: táhněte z „min“na „max“po dobu 1 sekundy
  • 'H': tah z „min“na „max“po dobu 5 sekund
  • 'I': tah z „min“na „max“po dobu 20 sekund

Program Arduino obsahuje dvě šestimístná pole „min“a „max. Pokud odešlete číslici, posune se do pole„ min “. Pokud odešlete„ S “, znaky pole„ min “se převedou na longint frekvence a odeslány na AD9833. Takže odeslání řetězce

002500S

nastaví výstup AD9833 na sinusovou vlnu 2500 Hz. Vždy musíte odeslat všech 6 číslic. Minimální frekvence je 000001 a maximální frekvence je 999999.

Pokud odešlete „M“, pak se pole „min“zkopíruje do pole „max“. Pokud odešlete „H“, pak AD9833 opakovaně vydává postupně rostoucí frekvenci po dobu 5 sekund. Začíná na „minimální“frekvenci a o 5 sekund později je na „maximální“frekvenci. Tak

020000M000100SH

rozmítá od 100 Hz do 20 kHz. Změna frekvence je logaritmická, takže po 1 sekundě bude frekvence 288 Hz, po 2 sekundách 833 Hz, pak 2402, 6931 a 20000. Frekvence se mění každou milisekundu.

Smyčka se zastaví, když Arduino obdrží další znak, takže dávejte pozor, abyste neposlali příkaz následovaný návratem vozíku nebo posunem řádku. Tento zvláštní znak by smyčku ukončil. Pokud používáte Sériový monitor, vpravo dole je rámeček, který může například říkat „NL i CR“, což (myslím) odesílá znaky po vašem příkazu. Nastavte jej na „Žádné ukončení řádku“.

Níže si můžete stáhnout program Windows EXE, který odešle požadované příkazy, nebo můžete napsat svůj vlastní. Je zde také soubor Arduino INO.

Krok 2: Přidejte OLED

Přidejte OLED
Přidejte OLED
Přidejte OLED
Přidejte OLED
Přidejte OLED
Přidejte OLED

Pokud přidáte OLED a dvě tlačítka, generátor signálu může pracovat samostatně bez počítače.

Ti z vás, kteří četli můj osciloskop Instructable, podobnost poznají. Modul AD9833 lze přidat k mému osciloskopu a vytvořit „osciloskop a generátor signálu v Matchboxu“.

Displej je 1,3 OLED běžící na 3,3 V, který je řízen čipem SH1106 přes sběrnici I2C.

Vyhledejte na eBay 1,3 OLED. Nechci doporučovat konkrétního prodejce, protože odkazy rychle zastarávají. Vyberte si takový, který vypadá jako na té fotce, říká„ I2C “nebo„ IIC “a má čtyři piny označené VDD GND SCL SDA. (Některé displeje mají kolíky v jiném pořadí. Zkontrolujte je. Správný název pro hodiny I2C je „SCL“, ale na eBay mohou být desky označeny „SCK“jako moje na fotografii.)

Podrobnější popis knihovny OLED je v mém osciloskopu Instructable v kroku 8. Měli byste si stáhnout a nainstalovat knihovnu ovladačů SimpleSH1106.zip, která je v kroku 8. (Nechci zde nahrát další kopii a musím udržovat dvě kopie.)

Soubor INO si můžete stáhnout níže. Čísla pinů použitých pro OLED jsou deklarována kolem řádku 70. Pokud jste vytvořili můj „osciloskop a generátor signálu v Matchboxu“a chcete s ním otestovat tento soubor INO, alternativní čísla pinů jsou povolena prostřednictvím #define.

Ukázal jsem rozložení stripboardu pro obvod. Existují dva stripboardy - jeden pro Nano a AD9833 a jeden pro displej. Měli by tvořit sendvič. Desky jsou zobrazeny ze strany součásti. Jemné pružné dráty spojují dvě desky. Připojte desky k sobě pomocí pájených podstavců. V mém diagramu je měď tabule zobrazena azurově. Červené čáry jsou drátové spoje na tabuli nebo pružné dráty spojující desky dohromady. Moc a „signální“vodiče jsem neukázal.

Modul AD9833 je připájen na měděnou stranu tabule - na opačnou stranu než Nano. Pájecí kolíky na měděné pásy poté na ně nasaďte AD9833 a připájejte jej.

Na displeji se zobrazí buď jedna frekvence, nebo frekvence „min“a „max“.

Existují dvě tlačítka: tlačítko „Horizontální“pro výběr číslice frekvencí a tlačítko „Vertikální“pro změnu této číslice.

Napájím generátor signálu z obvodu, který vyvíjím - na své pracovní stanici mám vždy k dispozici 5V.

Krok 3: Budoucí vývoj

Budoucí vývoj
Budoucí vývoj

Mohlo by to být napájeno baterií? Ano, stačí přidat 9V PP3 připojený k RAW pinu Nano. Obvykle používá 20mA.

Mohl by být napájen jediným lithiovým článkem? Nechápu, proč ne. Měli byste připojit OLED Vdd a jeho pull-up odpor k 3,7V baterii (pochybuji, že by 3,3V výstup Arduina fungoval správně).

Generátor rozmítání je užitečnější při testování frekvenční odezvy filtru, pokud dokážete vykreslit amplitudu vs. frekvenci. Měření amplitudy signálu je složité - musíte vyměnit rozpad detektoru obálky proti zvlnění pro nízké frekvence a dobu odezvy pro vysoké frekvence. Po vybudování detektoru amplitudy byste mohli jeho výstup přenést do ADC Arduina „nejjednoduššího generátoru signálu“a poté odeslat výsledek spolu s aktuální frekvencí do počítače.

Tato stránka je užitečným výchozím bodem nebo na Googlu vyhledejte „detektor obálek“nebo „detektor špiček“. Ve výše uvedeném navrhovaném obvodu byste nastavili frekvenci signálu, počkali, až se stabilizuje, nastavili pin Arduino A0 na výstup digitálního nízkého signálu, počkali na vybití C, nastavili A0 na vstup, počkali a poté měřili pomocí ADC. Dejte mi vědět, jak pokračujete.

Doporučuje: