Sisukord:

Signaaligeneraator AD9833: 3 sammu
Signaaligeneraator AD9833: 3 sammu

Video: Signaaligeneraator AD9833: 3 sammu

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

Signaaligeneraator on väga kasulik katseseade. See kasutab AD9833 moodulit ja Arduino Nano - see on kõik, isegi mitte PCB. Soovi korral saate lisada OLED -ekraani. AD9833 suudab muuta siinus-, kolmnurk- ja ruutlaineid vahemikus 0,1 Hz kuni 12,5 MHz - selle projekti tarkvara on piiratud sagedusega 1 Hz kuni 100 kHz.

Siin ja siin on olnud ka teisi juhiseid, kasutades Arduino ja AD9833. See on lihtsam ja seda saab kasutada pühkimisgeneraatorina. Pühkimisgeneraatorid aitavad testida filtrite, võimendite jms sagedusreaktsiooni. Erinevalt teistest Instructabeli disainidest ei sisalda see võimendit ega amplituudi juhtimist, kuid võite need soovi korral lisada.

Samm: lihtsaim signaaligeneraator

Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator
Lihtsaim signaaligeneraator

Lihtsaima signaaligeneraatori jaoks jootke AD9833 moodul lihtsalt Arduino Nano tagaküljele. PCB -d pole vaja.

Minu valitud AD9833 moodul on sarnane sellele. Ma ei ütle, et see on parim või odavaim tarnija, kuid peaksite ostma sellise, mis näeb välja nagu see foto (või ülaltoodud foto).

Ühendused moodulite vahel on järgmised:

  • krundid omavahel ühendatud
  • D2 = FSync
  • D3 = Clk
  • D4 = andmed
  • D6 = AD9833 Vcc

AD9833 saab toite Arduino andmestikust D6 - Arduino suudab toita piisavalt voolu. Olen lisanud 100n lahtiühendamise kondensaatori, sest arvasin, et peaksin seda tegema, kuid ma ei näinud mingit erinevust - AD9833 mooduliplaadil on juba eralduskondensaator.

Kui te oleksite väljamõeldud, võite muretseda „analoogmaa” ja „digitaalse maa” pärast, kuid kui te oleksite väljamõeldud, kulutaksite rohkem kui 4 naela.

Lihtsaim signaaligeneraator on juhitav ja toide saadakse arvuti USB -kaabli kaudu. USB emuleerib jadaporti, mis töötab kiirusel 115200 bps (8-bitine, ilma pariteedita). Käsud on järgmised:

  • '0'.. '9': nihutage number "min" sagedusmassiivi
  • 'S': määrake AD9833 sagedus ja tekitage siinuslaine
  • "T": määrake sagedus ja tekitage kolmnurga laine
  • 'Q': määrake sagedus ja tekitage ruutlaine
  • "R": lähtestage AD9833
  • 'M': kopeerige "min" sagedusmassiiv "max" massiivi
  • "G": pühkimine "min" -st "max" -ni üle 1 sekundi
  • 'H': pühkimine "min" -st "max" -ni 5 sekundi jooksul
  • "I": pühkimine "min" -lt "max" -le üle 20 sekundi

Arduino programm sisaldab kahte 6-kohalist massiivi "min" ja "max. Kui edastate numbri, nihutatakse see massiivi" min ". Kui saadate tähe" S ", teisendatakse massiivi" min " Longint sagedus ja saadetakse AD9833. Nii et stringide saatmine

002500S

seab AD9833 väljundiks 2500Hz siinuslaine. Peate alati saatma kõik 6 numbrit. Minimaalne sagedus on 000001 ja maksimaalne sagedus on 999999.

Kui saadate tähe "M", kopeeritakse massiiv "min" massiivi "max". Kui saadate tähe „H”, väljastab AD9833 korduvalt järk -järgult suureneva sageduse 5 sekundi jooksul. See algab "min" sagedusega ja 5 sekundit hiljem on "max" sagedusel. Niisiis

020000M000100SH

pühib 100Hz kuni 20kHz. Sageduse muutus on logaritmiline, nii et 1 sekundi pärast on sagedus 288 Hz, 2 sekundi pärast 833 Hz, seejärel 2402, 6931 ja 20000. Sagedust muudetakse iga millisekundi järel.

Silmus peatub, kui Arduino saab teise märgi, nii et olge ettevaatlik, et mitte saata käsku, millele järgneb käru tagasitulek või rea etteandmine. See lisamärk lõpetaks tsükli. Kui kasutate jadamonitori, on paremas alanurgas kast, mis võib öelda näiteks „Nii NL kui ka CR”, mis (ma arvan) saadab pärast käsku märke. Määrake see olekuks "Rida ei lõpe".

Võite alla laadida Windowsi EXE -programmi, mis saadab vajalikud käsud või võite ise kirjutada. Siin on ka Arduino INO fail.

Samm: lisage OLED

Lisage OLED
Lisage OLED
Lisage OLED
Lisage OLED
Lisage OLED
Lisage OLED

Kui lisate OLED -i ja kaks nuppu, saab signaaligeneraator töötada üksi ilma arvutita.

Need, kes on lugenud minu juhitavat ostsilloskoopi, tunnevad ära sarnasuse. AD9833 mooduli saab minu ostsilloskoopile lisada, et toota "Ostsilloskoop ja signaaligeneraator tikutoos".

Ekraan on 1,3 -tolline OLED, mis töötab 3,3 V pingel ja mida juhib SH1106 kiip I2C siini kaudu.

Otsige eBayst 1.3 "OLED -i. Ma ei taha soovitada konkreetset müüjat, kuna lingid aeguvad kiiresti. Valige üks, mis näeb välja nagu see foto, ütleb" I2C "või" IIC "ja millel on neli tihvti sildiga VDD GND SCL SDA. (Tundub, et mõnel kuvaril on tihvtid erinevas järjekorras. Kontrollige neid. I2C kella õige nimi on "SCL", kuid eBay -s saab tahvlid sildistada "SCK" nagu minu fotol.)

Täielik OLED -i teeki kirjeldus on minu ostsilloskoobis, mis on juhendatav 8. sammus. Laadige alla ja installige draiveriteek SimpleSH1106.zip, mis asub 8. etapis. (Ma ei taha siia teist koopiat üles laadida ja pean säilitama kaks eksemplari.)

INO -faili saab alla laadida allpool. OLED -i jaoks kasutatavad PIN -numbrid on deklareeritud rea 70 ümber. Kui olete loonud minu "Ostsilloskoobi ja signaaligeneraatori tikutoosi" ja soovite seda INO -faili sellega testida, on alternatiivsed PIN -numbrid lubatud #define abil.

Olen näidanud vooluringi ribalaua paigutust. Seal on kaks ribalauda - üks Nano ja AD9833 jaoks ning teine ekraani jaoks. Nad peaksid moodustama võileiva. Plaadid on näidatud komponendi poolelt. Peened painduvad juhtmed ühendavad kaks plaati. Kinnitage lauad koos joodetud vaheseintega. Minu skeemil on ribalaua vask näidatud tsüaanis. Punased jooned on ribalaual olevad traatühendused või painduvad juhtmed, mis ühendavad lauad kokku. Ma pole toite- ja "signaali" juhtmeid näidanud.

AD9833 moodul on joodetud ribalaua vasest küljest - Nano vastasküljelt. Jootke tihvtid vaskribade külge, seejärel paigaldage AD9833 neile ja jootke see edasi.

Ekraanil kuvatakse kas üks sagedus või "min" ja "max" sagedus.

Nuppe on kaks: nupp "Horisontaalne" sageduste numbri valimiseks ja nupp "Vertikaalne" selle numbri muutmiseks.

Toitan signaaligeneraatorit oma arendatavast vooluahelast - mul on tööjaamas alati 5 V saadaval.

3. samm: tulevased arengud

Tulevased arengud
Tulevased arengud

Kas see võib olla patareitoitega? Jah, lisage lihtsalt 9 V PP3, mis on ühendatud Nano RAW -tihvtiga. Tavaliselt kasutab see 20 mA.

Kas seda saab toita ühe liitiumelemendiga? Ma ei mõista, miks mitte. Peaksite ühendama OLED Vdd ja selle tõmbetakisti 3,7 V akuga (ma kahtlen, kas Arduino 3,3 V väljund töötaks korralikult).

Pühkimisgeneraator on filtri sagedusreaktsiooni testimisel kasulikum, kui saate joonistada amplituudi vs sageduse. Signaali amplituudi mõõtmine on keeruline - madalate sageduste puhul peate oma ümbrikuanduri lagunemise ja pulsatsiooni vastu vahetama ja kõrgete sageduste puhul reageerimisaja. Kui olete oma amplituudidetektori sisse ehitanud, saate selle väljundi sisestada lihtsaima signaaligeneraatori Arduino ADC -sse, seejärel saata tulemus koos praeguse sagedusega arvutisse.

See leht on kasulik lähtepunkt või otsige Google'ist "ümbrikuandurit" või "piikandurit". Ülaltoodud soovitatud vooluringis seadistate signaali sageduse, oodake, kuni see stabiliseerub, seadistage Arduino A0 tihvt digitaalseks madalaks väljundiks, oodake C tühjenemist, seadke A0 sisendiks, oodake ja seejärel mõõtke ADC -ga. Andke teada, kuidas teil läheb.

Soovitan: