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, Srpanj
Anonim
Generator signala AD9833
Generator signala AD9833
Generator signala AD9833
Generator signala AD9833

Generator signala vrlo je koristan komad ispitne opreme. Ovaj koristi modul AD9833 i Arduino Nano - to je sve, čak ni PCB. Po želji možete dodati OLED zaslon. AD9833 može gererirati 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 ostalih 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.

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

Veze između modula su:

  • zajedno povezani osnovi
  • D2 = FSync
  • D3 = Clk
  • D4 = Podaci
  • D6 = Vcc AD9833

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

Da ste fensi, mogli biste se zabrinuti zbog "analognog tla" u odnosu na "digitalnog tla", ali da ste fensi, potrošili biste više od 4 £.

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 znamenke u "min" frekvencijski niz
  • 'S': postavite frekvenciju AD9833 i proizvedite sinusni val
  • 'T': postavlja frekvenciju i proizvodi val trokuta
  • 'Q': postavite frekvenciju i proizvedite kvadratni val
  • 'R': resetirajte AD9833
  • 'M': kopirajte "min" frekvencijski niz u "max" niz
  • 'G': premotavanje od "min" do "max" tijekom 1 sekunde
  • 'H': premotavanje od "min" do "max" tijekom 5 sekundi
  • 'I': prelazak s "min" na "max" tijekom 20 sekundi

Program Arduino sadrži dva niza od 6 znakova "min" i "max. Ako odaberete znamenku, ona se pomiče u polje" min ". Ako pošaljete 'S', onda se znakovi polja" min "pretvaraju u longint frekvencija i poslana na AD9833. Dakle slanje niza

002500S

postavit će 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. Tako

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 milliSekunde.

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 prekinuo bi 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 retka".

U nastavku možete preuzeti Windows EXE program koji će poslati potrebne naredbe 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 gumba, generator signala može raditi sam bez računala.

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".

Zaslon je OLED od 1,3 koji radi na 3,3 V i kojim se upravlja pomoću čipa SH1106 putem I2C sabirnice.

Pretražite eBay za 1,3 "OLED. Ne želim preporučiti određenog prodavatelja jer veze brzo zastarijevaju. Odaberite onu koja izgleda kao ta fotografija, kaže" I2C "ili" IIC "i ima četiri igle s oznakom VDD GND SCL SDA. (Čini se da neki zasloni imaju pinove drugačijim redoslijedom. Provjerite ih. Pravilno ime sata I2C je "SCL", ali na eBayu ploče mogu biti označene sa "SCK", poput moje na fotografiji.)

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

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

Pokazao sam izgled trake za krug. Postoje dvije strip ploče - jedna za Nano i AD9833 i jedna za zaslon. Trebali bi oblikovati sendvič. Ploče su prikazane sa komponente. Fine fleksibilne žice spajaju dvije ploče. Pričvrstite ploče zajedno s lemljenim podnožjima. Na mom dijagramu bakar trake je prikazan cijan. Crvene linije su žičane veze na traci ili fleksibilne žice koje spajaju ploče. Nisam pokazao napajanje i "signalne" vodiče.

Modul AD9833 lemljen je na bakrenoj strani trake - na suprotnoj strani od Nano. Igle za lemljenje na bakrene trake zatim postavite AD9833 na njih i lemite ih.

Zaslon prikazuje jednu frekvenciju ili frekvencije "min" i "max".

Postoje dva gumba: gumb "Horizontalno" za odabir znamenke frekvencija i gumb "Vertikalno" za promjenu te znamenke.

Generator signala napajam iz kruga koji razvijam - uvijek imam 5 V na raspolaganju na svom radnom mjestu.

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 Nanoa. Obično koristi 20mA.

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

Generator zamaha korisniji je pri testiranju frekvencijskog odziva filtra ako možete grafički prikazati amplitudu u odnosu na frekvenciju. Mjerenje amplitude signala je lukavo - morate zamijeniti slabljenje detektora ovojnice 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 s trenutnom frekvencijom, na računalo.

Ova je stranica korisna početna točka ili tražite u Googleu "detektor omotnice" ili "detektor vrha". U gore navedenom krugu, postavili biste frekvenciju signala, pričekali da se stabilizuje, postavili pin Arduino A0 na digitalni niski izlaz, pričekali pražnjenje C, postavili A0 na ulaz, pričekali, a zatim izmjerili pomoću ADC -a. Javi mi kako napreduješ.

Preporučeni: