Sadržaj:

Generator signala AD9833: 3 koraka
Generator signala AD9833: 3 koraka

Video: Generator signala AD9833: 3 koraka

Video: Generator signala AD9833: 3 koraka
Video: Самый простой генератор сигналов для лаборатории радиолюбителя от 1Гц до 2МГц 2024, Juli
Anonim
Generator signala AD9833
Generator signala AD9833
Generator signala AD9833
Generator signala AD9833

Generator signala je vrlo koristan komad ispitne opreme. Ovaj koristi modul AD9833 i Arduino Nano - to je sve, čak ni PCB. Po želji možete dodati OLED ekran. AD9833 može generirati sinusne, trokutaste i kvadratne valove od 0,1 Hz do 12,5 MHz - softver u ovom projektu ograničen je na 1Hz do 100kHz.

Bilo je i drugih instruktora koji koriste Arduino i AD9833, ovdje i ovdje. Ovo je jednostavnije i može se koristiti kao generator čišćenja. Sweep generatori pomažu u testiranju frekvencijskog odziva filtera, pojačala itd. Za razliku od drugih dizajna Instructables, ovo ne uključuje pojačalo ili kontrolu amplitude, ali ih možete dodati ako želite.

Korak 1: Najjednostavniji generator signala

Najjednostavniji generator signala
Najjednostavniji generator signala
Najjednostavniji generator signala
Najjednostavniji generator signala
Najjednostavniji generator signala
Najjednostavniji generator signala
Najjednostavniji generator signala
Najjednostavniji generator signala

Za najjednostavniji generator signala, samo ste lemili modul AD9833 na stražnju stranu Arduino Nano. PCB nije potreban.

AD9833 modul koji sam odabrao sličan je ovom. Ne kažem da je to najbolji ili najjeftiniji dobavljač, ali trebali biste kupiti onu koja izgleda kao ta fotografija (ili gornja fotografija).

Veze između modula su:

  • osnove povezane
  • D2 = FSync
  • D3 = Clk
  • D4 = Podaci
  • D6 = Vcc AD9833

AD9833 se napaja iz podatkovnog pina D6 Arduina - Arduino može napajati dovoljnu struju. Dodao sam kondenzator za razdvajanje od 100n jer sam mislio da bi "trebao", ali nisam vidio nikakvu razliku - na ploči modula AD9833 već postoji kondenzator za odvajanje.

Da ste fensi, mogli biste se brinuti o "analognom tlu" u odnosu na "digitalnom tlu", ali da ste fensi, potrošili biste više od 4 funte.

Najjednostavniji generator signala kontrolira se i napaja putem USB kabela s računala. USB emulira serijski port koji radi na 115200bps (8 bita, bez pariteta). Naredbe su:

  • '0'.. '9': pomak cifre u "min" frekvencijski niz
  • 'S': postavite frekvenciju AD9833 i proizvedite sinusni val
  • 'T': postavlja frekvenciju i proizvodi trokutni val
  • 'Q': postavite frekvenciju i proizvedite kvadratni val
  • 'R': resetirajte AD9833
  • 'M': kopirajte "min" frekvencijski niz u "max" niz
  • 'G': pomeranje od "min" do "max" tokom 1 sekunde
  • 'H': pomeranje od "min" do "max" tokom 5 sekundi
  • 'I': pomeranje od "min" do "max" tokom 20 sekundi

Arduino program sadrži dva niza od 6 znakova "min" i "max. Ako prenesete znamenku, ona se prebacuje u niz" min ". Ako pošaljete 'S', onda se znakovi niza" min "pretvaraju u longint frekvenciju i šalje se na AD9833. Dakle slanje niza

002500S

će postaviti izlaz AD9833 na sinusni val od 2500Hz. Uvijek morate poslati svih 6 znamenki. Minimalna frekvencija je 000001, a maksimalna 999999.

Ako pošaljete 'M' tada se "min" niz kopira u "max" niz. Ako pošaljete 'H', AD9833 neprestano emitira postupno rastuću frekvenciju tijekom 5 sekundi. Počinje na "min" frekvenciji i 5 sekundi kasnije je na "max" frekvenciji. Dakle

020000M000100SH

premotava od 100Hz do 20kHz. Promjena frekvencije je logaritamska pa će nakon 1 sekunde frekvencija biti 288Hz, nakon 2 sekunde 833Hz pa 2402, 6931 i 20000. Učestalost se mijenja svake milisekunde.

Petlja se zaustavlja kada Arduino primi drugi znak pa pazite da ne pošaljete naredbu nakon koje slijedi carriage-return ili line-feed. Taj dodatni znak bi prekinuo petlju. Ako koristite serijski monitor, u donjem desnom kutu nalazi se okvir koji može na primjer reći "Oba NL i CR" koji (mislim) šalje znakove nakon vaše naredbe. Postavite ga na "Bez završetka linije".

U nastavku možete preuzeti Windows EXE program koji će poslati potrebne komande ili možete napisati vlastiti. Arduino INO datoteka je također ovdje.

Korak 2: Dodajte OLED

Dodajte OLED
Dodajte OLED
Dodajte OLED
Dodajte OLED
Dodajte OLED
Dodajte OLED

Ako dodate OLED i dva dugmeta, generator signala može raditi sam bez računara.

Oni od vas koji ste čitali moj osciloskop Instructable prepoznat će sličnost. Modul AD9833 može se dodati mom osciloskopu za proizvodnju "Osciloskopa i generatora signala u kutiji šibica".

Ekran je 1,3 -inčni OLED koji radi na 3,3 V i kojim se upravlja pomoću čipa SH1106 preko I2C sabirnice.

Pretražite eBay za 1,3 "OLED. Ne želim preporučiti određenog prodavača jer veze brzo zastarijevaju. Odaberite onu koja izgleda kao ta fotografija, s natpisom" I2C "ili" IIC "i ima četiri pina s oznakom VDD GND SCL SDA. (Čini se da neki ekrani imaju pinove u drugom redoslijedu. Provjerite ih. Pravilno ime sata I2C je "SCL", ali na eBay -u ploče mogu biti označene kao "SCK", poput moje na fotografiji.)

Potpuniji opis OLED biblioteke nalazi se u mom osciloskopu Instructable u 8. koraku. Trebali biste preuzeti i instalirati biblioteku upravljačkih programa SimpleSH1106.zip koja se nalazi u 8. koraku (ne želim postaviti drugu kopiju ovdje i moram održavati dvije kopije.)

INO datoteku možete preuzeti ispod. Brojevi pinova koji se koriste za OLED deklarirani su oko retka 70. Ako ste izgradili moj "Osciloskop i generator signala u kutiji za podudaranje" i želite s njim testirati ovu INO datoteku, alternativni brojevi pinova omogućeni su putem #define.

Pokazao sam izgled trake za krug. Postoje dva stripboard -a - jedan za Nano i AD9833 i jedan za ekran. Trebali bi napraviti sendvič. Ploče su prikazane sa komponente. Fine fleksibilne žice spajaju dvije ploče. Pričvrstite ploče zajedno sa lemljenim postoljima. Na mom dijagramu, bakar trake je prikazan u cijanu. Crvene linije su žičane veze na stripboard -u ili fleksibilne žice koje spajaju ploče. Nisam pokazao kablove za napajanje i "signal".

Modul AD9833 lemljen je na bakrenoj strani trake - na suprotnoj strani od Nano -a. Lemne igle na bakrene trake zatim postavite AD9833 na njih i lemite ih.

Na ekranu se prikazuje ili jedna frekvencija ili frekvencije "min" i "max".

Postoje dva tastera: dugme "Horizontalno" za izbor cifre frekvencija i dugme "Vertikalno" za promenu te cifre.

Generator signala napajam iz kola koje razvijam - uvijek imam 5 V na raspolaganju na radnoj stanici.

Korak 3: Budući razvoj

Budući razvoj
Budući razvoj

Može li se napajati baterijom? Da, samo dodajte 9V PP3 spojen na RAW pin Nano -a. Obično koristi 20mA.

Može li ga napajati jedna litijumska ćelija? Ne vidim zašto ne. Trebalo bi spojiti OLED Vdd i njegov pull-up otpornik na bateriju od 3,7 V (sumnjam da bi izlaz Arduina od 3,3 V ispravno radio).

Generator zamaha je korisniji pri testiranju frekvencijskog odziva filtra ako možete grafički prikazati amplitudu u odnosu na frekvenciju. Mjerenje amplitude signala je lukavo - morate zamijeniti opadanje detektora omotača u odnosu na valovitost za niske frekvencije i vrijeme odziva za visoke frekvencije. Nakon što ste izgradili svoj detektor amplitude, mogli biste unositi njegov izlaz u ADC Arduina "najjednostavnijeg generatora signala", a zatim poslati rezultat, zajedno sa trenutnom frekvencijom, na računar.

Ova stranica je korisna početna točka ili pretražite Google za "detektor omotnice" ili "detektor vrha". U gore navedenom krugu, postavili biste frekvenciju signala, čekali da se stabilizuje, postavili pin Arduino A0 na digitalni izlaz niske vrijednosti, čekali pražnjenje C, postavili A0 na ulaz, čekali, a zatim mjerili s ADC -om. Javi mi kako napreduješ.

Preporučuje se: