Kazalo:

Generator signala AD9833: 3 koraki
Generator signala AD9833: 3 koraki

Video: Generator signala AD9833: 3 koraki

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

Generator signala je zelo uporaben kos preskusne opreme. Ta uporablja modul AD9833 in Arduino Nano - to je vse, niti tiskano vezje. Po želji lahko dodate zaslon OLED. AD9833 lahko generira sinusne, trikotne in kvadratne valove od 0,1 Hz do 12,5 MHz - programska oprema v tem projektu je omejena na 1Hz do 100kHz.

Tu in tukaj so bili še drugi Instructables z Arduinom in AD9833. To je enostavnejše in se lahko uporablja kot generator pometanja. Generatorji pometanja pomagajo preizkusiti frekvenčni odziv filtrov, ojačevalnikov itd. Za razliko od drugih modelov Instructables, to ne vključuje ojačevalnika ali nadzora amplitude, vendar jih lahko dodate, če želite.

Korak: Najpreprostejši generator signalov

Najenostavnejši generator signalov
Najenostavnejši generator signalov
Najenostavnejši generator signalov
Najenostavnejši generator signalov
Najenostavnejši generator signalov
Najenostavnejši generator signalov
Najenostavnejši generator signalov
Najenostavnejši generator signalov

Za najpreprostejši generator signalov ste le spajkali modul AD9833 na zadnjo stran Arduino Nano. PCB ni potreben.

Modul AD9833, ki sem ga izbral, je podoben temu. Ne pravim, da je to najboljši ali najcenejši dobavitelj, vendar bi morali kupiti takega, ki je videti kot ta fotografija (ali zgornja fotografija).

Povezave med moduli so:

  • razlogov, povezanih skupaj
  • D2 = FSync
  • D3 = Clk
  • D4 = Podatki
  • D6 = Vcc AD9833

AD9833 se napaja iz podatkovnega zatiča D6 Arduina - Arduino lahko napaja zadosten tok. Dodal sem 100n ločilni kondenzator, ker sem mislil, da bi "moral", vendar nisem videl nobene razlike - na plošči modula AD9833 je že ločen kondenzator.

Če bi bili domišljijski, bi vas lahko skrbelo "analogno podlago" proti "digitalno podlago", če pa bi bili domišljijski, bi porabili več kot 4 £.

Najenostavnejši generator signalov se upravlja in napaja prek kabla USB iz računalnika. USB posnema serijska vrata s hitrostjo 115200 b / s (8 bitov, brez parnosti). Ukazi so:

  • '0'.. '9': premik števke v "min" frekvenčni niz
  • 'S': nastavite frekvenco AD9833 in ustvarite sinusni val
  • 'T': nastavite frekvenco in ustvarite trikotni val
  • 'Q': nastavite frekvenco in ustvarite kvadratni val
  • 'R': ponastavite AD9833
  • 'M': kopirajte frekvenčni niz "min" v matriko "max"
  • 'G': pomikanje od "min" do "max" več kot 1 sekundo
  • 'H': pomikanje od "min" do "max" več kot 5 sekund
  • 'I': pomikanje od "min" do "max" več kot 20 sekund

Program Arduino vsebuje dva 6-mestna niza "min" in "max. Če pošljete števko, se ta premakne v matriko" min ". Če pošljete" S ", se znaki matrike" min "pretvorijo v longint frekvenco in poslano na AD9833. Torej pošiljanje niza

002500S

bo nastavil izhod AD9833 na sinusni val 2500Hz. Vedno morate poslati vseh 6 številk. Najmanjša frekvenca je 000001, največja pa 999999.

Če pošljete "M", se matrika "min" kopira v matriko "max". Če pošljete 'H', potem AD9833 v 5 sekundah večkrat oddaja postopoma naraščajočo frekvenco. Začne se pri frekvenci "min" in 5 sekund kasneje je pri frekvenci "max". Torej

020000M000100SH

pomika od 100Hz do 20kHz. Sprememba frekvence je logaritmična, tako da bo po 1 sekundi frekvenca 288Hz, po 2 sekundah 833Hz nato 2402, 6931 in 20000. Frekvenca se spreminja vsako milliSekundo.

Zanka se ustavi, ko Arduino prejme drug znak, zato pazite, da ne pošljete ukaza, ki mu sledi carriage-return ali line-feed. Ta dodatni znak bi prekinil zanko. Če uporabljate serijski monitor, je spodaj desno polje, na katerem bi lahko pisalo na primer "Tako NL & CR", ki (mislim) pošilja znake po vašem ukazu. Nastavite ga na "Brez konca vrstice".

Spodaj lahko prenesete program Windows EXE, ki bo poslal zahtevane ukaze, ali pa napišite svojega. Tu je tudi datoteka Arduino INO.

2. korak: Dodajte OLED

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

Če dodate OLED in dva gumba, lahko generator signala deluje sam brez računalnika.

Tisti, ki ste prebrali moj osciloskop Instructable, boste prepoznali podobnost. Modul AD9833 lahko dodam v svoj osciloskop za izdelavo "osciloskopa in generatorja signalov v škatli za vžigalice".

Zaslon je 1,3 -palčni OLED, ki deluje pri 3,3 V in ga upravlja čip SH1106 prek vodila I2C.

Poiščite 1,3 -palčni OLED na eBayu. Ne želim priporočiti določenega prodajalca, saj povezave hitro zastarajo. Izberite tisto, ki je videti kot ta fotografija, na kateri piše "I2C" ali "IIC" in ima štiri zatiče z oznako VDD GND SCL SDA. (Nekateri zasloni imajo zatiče v drugačnem vrstnem redu. Preverite jih. Pravo ime ure I2C je "SCL", na eBayu pa so lahko plošče označene kot "SCK", kot je moja na fotografiji.)

Podrobnejši opis knjižnice OLED je v mojem osciloskopu, ki ga je mogoče naročiti v 8. koraku. Prenesite in namestite knjižnico gonilnikov SimpleSH1106.zip, ki je v 8. koraku (tukaj ne želim naložiti druge kopije in moram vzdrževati dve kopiji.)

Datoteko INO lahko prenesete spodaj. Številke pinov, ki se uporabljajo za OLED, so navedene okoli vrstice 70. Če ste moj "osciloskop in generator signalov vgradili v polje za ujemanje" in želite z njim preizkusiti to datoteko INO, so alternativne številke pin omogočene prek #define.

Pokazal sem postavitev traku za vezje. Na voljo sta dva traku - eden za Nano in AD9833 ter eden za zaslon. Morali bi oblikovati sendvič. Plošče so prikazane s strani sestavnih delov. Dve plošči združujeta fine prožne žice. Plošče pritrdite skupaj s spajkanimi nosilci. Na mojem diagramu je baker traku prikazan v cijan. Rdeče črte so žične povezave na traku ali prilagodljive žice, ki povezujejo plošče skupaj. Nisem pokazal napajalnih in "signalnih" kablov.

Modul AD9833 je spajen na bakreni strani traku - na nasprotni strani od Nano. Spajkalne zatiče na bakrene trakove nato pritrdite na njih AD9833 in jih spajkajte.

Na zaslonu je prikazana posamezna frekvenca ali frekvence "min" in "max".

Obstajata dva gumba: gumb "Vodoravno" za izbiro števila frekvenc in gumb "Navpično", da to številko spremenite.

Generator signala napajam iz vezja, ki ga razvijam - na delovni postaji imam vedno na voljo 5 V.

3. korak: Prihodnji razvoj

Prihodnji razvoj
Prihodnji razvoj

Ali se lahko napaja iz baterije? Da, samo dodajte 9V PP3, priključen na RAW pin Nano. Običajno uporablja 20 mA.

Ali ga lahko napaja ena litijeva celica? Ne vidim zakaj ne. OLED Vdd in njegov vlečni upor morate priključiti na 3,7 V baterijo (dvomim, ali bi 3,3 V izhod Arduina deloval pravilno).

Generator pometanja je bolj uporaben pri preskušanju frekvenčnega odziva filtra, če lahko grafično prikažete amplitudo in frekvenco. Merjenje amplitude signala je težavno - za nizke frekvence in odzivni čas za visoke frekvence morate zamenjati razpad vašega detektorja ovojnice proti valovanju. Ko ste vgradili detektor amplitude, lahko vnesete njegov izhod v ADC Arduina "najpreprostejšega generatorja signalov", nato pa rezultat skupaj s trenutno frekvenco pošljete v računalnik.

Ta stran je uporabno izhodišče ali poiščite v Googlu "detektor ovojnic" ali "detektor vrhov". V zgornjem predlaganem vezju bi nastavili frekvenco signala, počakali, da se stabilizira, čep Arduino A0 nastavil na digitalno nizko izhodno vrednost, počakal na praznjenje C, nastavil A0 na vhod, počakal in nato meril z ADC. Povej mi, kako ti gre.

Priporočena: