Turinys:

Signalo generatorius AD9833: 3 žingsniai
Signalo generatorius AD9833: 3 žingsniai

Video: Signalo generatorius AD9833: 3 žingsniai

Video: Signalo generatorius AD9833: 3 žingsniai
Video: AD9833 2024, Liepa
Anonim
Signalo generatorius AD9833
Signalo generatorius AD9833
Signalo generatorius AD9833
Signalo generatorius AD9833

Signalų generatorius yra labai naudinga bandymo įranga. Šis naudoja AD9833 modulį ir „Arduino Nano“- tai viskas, net ne PCB. Pasirinktinai galite pridėti OLED ekraną. AD9833 gali pagreitinti sinusines, trikampio ir kvadratines bangas nuo 0,1 Hz iki 12,5 MHz - šio projekto programinė įranga yra apribota iki 1 Hz iki 100 kHz.

Čia ir čia buvo ir kitų instrukcijų, naudojant „Arduino“ir AD9833. Tai yra paprasčiau ir gali būti naudojamas kaip šlavimo generatorius. „Sweep“generatoriai padeda patikrinti filtrų, stiprintuvų ir pan. Dažnio atsaką. Skirtingai nuo kitų „Instructables“konstrukcijų, čia nėra stiprintuvo ar amplitudės valdymo, tačiau, jei norite, galite juos pridėti.

1 žingsnis: paprasčiausias signalų generatorius

Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius
Paprasčiausias signalų generatorius

Norėdami gauti paprasčiausią signalų generatorių, tiesiog lituokite AD9833 modulį ant „Arduino Nano“galo. PCB nereikia.

Mano pasirinktas AD9833 modulis yra panašus į šį. Nesakau, kad tai geriausias ar pigiausias tiekėjas, bet turėtumėte nusipirkti tokį, kuris atrodo kaip ta nuotrauka (arba aukščiau pateikta nuotrauka).

Ryšiai tarp modulių yra šie:

  • tarpusavyje sujungtos teritorijos
  • D2 = FSync
  • D3 = Clk
  • D4 = Duomenys
  • D6 = AD9833 Vcc

AD9833 maitinamas iš „Arduino“duomenų kaiščio D6 - „Arduino“gali tiekti pakankamai srovės. Pridėjau 100n atsiejamąjį kondensatorių, nes maniau, kad „turėčiau“, bet nemačiau jokio skirtumo - AD9833 modulio plokštėje jau yra atsiejamasis kondensatorius.

Jei esate išgalvotas, galite nerimauti dėl „analoginio pagrindo“ir „skaitmeninio pagrindo“, tačiau jei būtumėte išgalvotas, išleistumėte daugiau nei 4 svarus.

Paprasčiausias signalų generatorius yra valdomas ir maitinamas per USB laidą iš kompiuterio. USB imituoja nuoseklųjį prievadą, veikiantį 115200 bps (8 bitų, be pariteto). Komandos yra šios:

  • „0“.. „9“: perkelkite skaitmenį į „min“dažnių masyvą
  • „S“: nustatykite AD9833 dažnį ir sukurkite sinusinę bangą
  • „T“: nustatykite dažnį ir sukurkite trikampio bangą
  • „Q“: nustatykite dažnį ir sukurkite kvadratinę bangą
  • „R“: iš naujo nustatykite AD9833
  • „M“: nukopijuokite „min“dažnių masyvą į „max“masyvą
  • „G“: perbraukite nuo „min“iki „max“per 1 sekundę
  • „H“: perbraukite nuo „min“iki „max“per 5 sekundes
  • „Aš“: perbraukite nuo „min“iki „max“per 20 sekundžių

„Arduino“programoje yra du 6 simbolių masyvai „min“ir „maks. Jei siunčiate skaitmenį, jis perkeliamas į„ min “masyvą. Jei siunčiate„ S “,„ min “masyvo simboliai paverčiami „Longint“dažnis ir siunčiamas į AD9833. Taigi siunčiama eilutė

002500S

nustatys AD9833 išvestį į 2500 Hz sinusinę bangą. Visada turite siųsti visus 6 skaitmenis. Mažiausias dažnis yra 000001, o didžiausias - 999999.

Jei siunčiate „M“, „min“masyvas nukopijuojamas į „max“masyvą. Jei siunčiate „H“, AD9833 pakartotinai išleidžia palaipsniui didėjantį dažnį per 5 sekundes. Jis prasideda „min“dažniu, o po 5 sekundžių - „max“dažniu. Taigi

020000M000100SH

sklinda nuo 100 Hz iki 20 kHz. Dažnio pokytis yra logaritminis, todėl po 1 sekundės dažnis bus 288 Hz, po 2 sekundžių - 833 Hz, tada 2402, 6931 ir 20000. Dažnis keičiamas kas milisekundę.

Ciklas sustoja, kai „Arduino“gauna kitą simbolį, todėl būkite atsargūs ir nesiųskite komandos, o po to-vežimo grąžinimo arba eilutės tiekimo. Šis papildomas simbolis nutrauktų ciklą. Jei naudojate serijinį monitorių, apačioje dešinėje yra langelis, kuriame gali būti, pavyzdžiui, „Tiek NL, tiek CR“, kuris (manau) siunčia simbolius po jūsų komandos. Nustatykite jį „Nėra eilutės pabaigos“.

Žemiau galite atsisiųsti „Windows EXE“programą, kuri atsiųs reikiamas komandas, arba galite parašyti savo. Čia taip pat yra „Arduino INO“failas.

2 veiksmas: pridėkite OLED

Pridėkite OLED
Pridėkite OLED
Pridėkite OLED
Pridėkite OLED
Pridėkite OLED
Pridėkite OLED

Jei pridedate OLED ir du mygtukus, signalų generatorius gali veikti vienas be kompiuterio.

Tie, kurie perskaitėte mano mokomą osciloskopą, supras panašumą. AD9833 modulį galima pridėti prie mano osciloskopo, kad būtų sukurtas „Osciloskopas ir signalų generatorius degtukų dėžutėje“.

Ekranas yra 1,3 colio OLED, veikiantis 3,3 V, kurį valdo SH1106 lustas per I2C magistralę.

Ieškokite „eBay“1.3 OLED. Nenoriu rekomenduoti konkretaus pardavėjo, nes nuorodos greitai pasensta. Pasirinkite tą, kuris atrodo kaip ta nuotrauka, kuriame yra užrašas„ I2C “arba„ IIC “ir kuriame yra keturi kaiščiai, pažymėti VDD GND SCL SDA. (Atrodo, kad kai kuriuose ekranuose smeigtukai yra kitokia tvarka. Patikrinkite juos. Tinkamas I2C laikrodžio pavadinimas yra „SCL“, tačiau „eBay“lentose galima pažymėti „SCK“, kaip mano nuotraukoje.)

Išsamesnis OLED bibliotekos aprašymas yra mano osciloskopu, kurį galima instruktuoti 8 veiksme. Atsisiųskite ir įdiekite tvarkyklės biblioteką „SimpleSH1106.zip“, kuri yra 8 veiksme. (Nenoriu čia įkelti kitos kopijos ir turiu išlaikyti dvi kopijas.)

INO failą galima atsisiųsti žemiau. OLED naudojami PIN kodai nurodomi maždaug 70 eilutėje. Jei sukūrėte mano „Osciloskopą ir signalų generatorių„ Matchbox “ir norite su juo išbandyti šį INO failą, alternatyvūs PIN kodai įjungiami naudojant #define.

Aš parodžiau grandinės juostos išdėstymą. Yra dvi juostos - viena skirta „Nano“ir AD9833, kita - ekranui. Jie turėtų sudaryti sumuštinį. Lentos rodomos iš komponento pusės. Smulkios lanksčios vielos sujungia dvi plokštes. Pritvirtinkite plokštes kartu su lituotomis atramomis. Mano diagramoje juostelės varis rodomas žalsvai mėlyna spalva. Raudonos linijos yra vielos jungtys ant juostos arba lankstūs laidai, jungiantys plokštes. Nerodžiau maitinimo ir „signalinių“laidų.

AD9833 modulis yra lituojamas ant varinės juostos pusės - priešingoje pusėje nei „Nano“. Lituokite kaiščius ant varinių juostelių, tada pritvirtinkite prie jų AD9833 ir lituokite.

Ekrane rodomas vienas dažnis arba „min“ir „max“dažniai.

Yra du mygtukai: mygtukas „Horizontalus“, skirtas pasirinkti dažnių skaitmenį, ir mygtukas „Vertikalus“, norint pakeisti šį skaičių.

Maitinu signalų generatorių iš savo kuriamos grandinės - mano darbo vietoje visada yra 5 V įtampa.

3 žingsnis: Būsimi pokyčiai

Ateities įvykiai
Ateities įvykiai

Ar jis gali būti maitinamas baterijomis? Taip, tiesiog pridėkite 9 V PP3, prijungtą prie „Nano“RAW kaiščio. Paprastai jis naudoja 20 mA.

Ar jį gali maitinti vienas ličio elementas? Nesuprantu, kodėl ne. Turėtumėte prijungti OLED Vdd ir jo traukimo varžą prie 3,7 V baterijos (abejoju, ar tinkamai veiktų 3,3 V „Arduino“išėjimas).

Šlavimo generatorius yra naudingesnis tikrinant filtro dažnio atsaką, jei galite nubrėžti amplitudę ir dažnį. Išmatuoti signalo amplitudę yra sudėtinga - jūs turite pakeisti savo vokų detektoriaus gedimą ir pulsaciją, kad gautumėte žemus dažnius, o atsako laiką - aukštus. Sukūrę savo amplitudės detektorių, galite perduoti jo išvestį į „paprasčiausio signalo generatoriaus“„Arduino“ADC, tada nusiųsti rezultatą kartu su dabartiniu dažniu į kompiuterį.

Šis puslapis yra naudingas atspirties taškas arba ieškokite „Google“„vokų detektoriaus“arba „piko detektoriaus“. Aukščiau pateiktoje siūlomoje grandinėje nustatysite signalo dažnį, palaukite, kol jis stabilizuosis, nustatysite „Arduino A0“kaištį, kad išvestų skaitmeninį žemą lygį, palaukite, kol išsikraus C, nustatysite A0 įvestį, palaukite, tada išmatuokite naudodami ADC. Leiskite man žinoti, kaip jums sekasi.

Rekomenduojamas: