Satura rādītājs:

Signālu ģenerators AD9833: 3 soļi
Signālu ģenerators AD9833: 3 soļi

Video: Signālu ģenerators AD9833: 3 soļi

Video: Signālu ģenerators AD9833: 3 soļi
Video: AD9833 DDS Generator 2024, Jūlijs
Anonim
Signāla ģenerators AD9833
Signāla ģenerators AD9833
Signāla ģenerators AD9833
Signāla ģenerators AD9833

Signālu ģenerators ir ļoti noderīgs testa rīks. Tas izmanto AD9833 moduli un Arduino Nano - tas ir viss, pat ne PCB. Pēc izvēles varat pievienot OLED displeju. AD9833 var pārveidot sinusa, trīsstūra un kvadrātveida viļņus no 0,1 Hz līdz 12,5 MHz - šī projekta programmatūra ir ierobežota līdz 1 Hz līdz 100 kHz.

Šeit un šeit ir bijuši citi norādījumi, izmantojot Arduino un AD9833. Tas ir vienkāršāk un to var izmantot kā slaucīšanas ģeneratoru. Slaucīšanas ģeneratori palīdz pārbaudīt filtru, pastiprinātāju un tā tālāk frekvences reakciju. Atšķirībā no citiem Instructables dizainiem, tas neietver pastiprinātāju vai amplitūdas vadību, bet, ja vēlaties, varat tos pievienot.

1. solis: vienkāršākais signālu ģenerators

Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators
Vienkāršākais signālu ģenerators

Vienkāršākajam signālu ģeneratoram jūs vienkārši pielodējat AD9833 moduli Arduino Nano aizmugurē. PCB nav nepieciešams.

AD9833 modulis, kuru izvēlējos, ir līdzīgs šim. Es nesaku, ka tas ir labākais vai lētākais piegādātājs, bet jums vajadzētu iegādāties tādu, kas izskatās kā šis fotoattēls (vai fotoattēls iepriekš).

Savienojumi starp moduļiem ir šādi:

  • kopā savienoti pamati
  • D2 = FSync
  • D3 = Clk
  • D4 = Dati
  • D6 = AD9833 Vcc

AD9833 tiek darbināts no Arduino datu tapas D6 - Arduino var piegādāt pietiekamu strāvu. Esmu pievienojis 100n atvienošanas kondensatoru, jo man likās, ka tam vajadzētu, bet es neredzēju nekādas atšķirības - uz AD9833 moduļa plates jau ir atvienošanas kondensators.

Ja jūs būtu iedomāts, jūs varētu uztraukties par “analogo zemi” un “digitālo zemi”, bet, ja jūs iedomātos, jūs tērētu vairāk nekā 4 mārciņas.

Vienkāršāko signālu ģeneratoru kontrolē un baro, izmantojot datora USB vadu. USB atdarina seriālo portu, kas darbojas ar ātrumu 115200 bps (8 biti, bez paritātes). Komandas ir šādas:

  • '0'.. '9': pārvietot ciparu uz "min" frekvenču masīvu
  • “S”: iestatiet AD9833 frekvenci un radiet sinusoīdu
  • “T”: iestatiet frekvenci un radiet trīsstūra vilni
  • “Q”: iestatiet frekvenci un radiet kvadrātveida viļņus
  • “R”: atiestatiet AD9833
  • “M”: kopējiet “min” frekvenču masīvu “max” masīvā
  • “G”: slaucīšana no “min” līdz “max” ilgāk par 1 sekundi
  • “H”: slaucīt no “min” uz “max” 5 sekunžu laikā
  • “I”: slaucīt no “min” uz “max” 20 sekunžu laikā

Arduino programmā ir divi 6 rakstzīmju masīvi "min" un "max. Ja pārsūtāt ciparu, tas tiek pārvietots uz" min "masīvu. Ja sūtāt" S ", tad" min "masīva rakstzīmes tiek pārvērstas par Longint frekvence un nosūtīta uz AD9833. Tātad, nosūtot virkni

002500S

iestatīs AD9833 izeju uz 2500Hz sinusoidālo viļņu. Jums vienmēr jānosūta visi 6 cipari. Minimālā frekvence ir 000001, bet maksimālā - 999999.

Ja sūtāt “M”, masīvs “min” tiek kopēts masīvā “max”. Ja sūtāt “H”, AD9833 atkārtoti izdala pakāpeniski pieaugošu frekvenci 5 sekunžu laikā. Tas sākas ar "min" frekvenci un 5 sekundes vēlāk ir ar "max" frekvenci. Tātad

020000M000100SH

slaucīšana no 100Hz līdz 20kHz. Frekvences maiņa ir logaritmiska, tāpēc pēc 1 sekundes frekvence būs 288 Hz, pēc 2 sekundēm - 833 Hz, pēc tam 2402, 6931 un 20000. Frekvence tiek mainīta katru milisekundi.

Cikls apstājas, kad Arduino saņem citu rakstzīmi, tāpēc esiet piesardzīgs un nesūtiet komandu, kam seko vagona atgriešana vai rindas padeve. Šī papildu rakstzīme pārtrauktu ciklu. Ja izmantojat sērijveida monitoru, labajā apakšējā stūrī ir lodziņš, kurā varētu būt, piemēram, "Gan NL, gan CR", kas (manuprāt) nosūta rakstzīmes pēc jūsu komandas. Iestatiet to uz “Bez rindas beigām”.

Tālāk varat lejupielādēt Windows EXE programmu, kas nosūtīs nepieciešamās komandas, vai arī varat uzrakstīt savu. Šeit ir arī Arduino INO fails.

2. darbība: pievienojiet OLED

Pievienojiet OLED
Pievienojiet OLED
Pievienojiet OLED
Pievienojiet OLED
Pievienojiet OLED
Pievienojiet OLED

Ja pievienojat OLED un divas pogas, signālu ģenerators var darboties viens pats bez datora.

Tie no jums, kuri ir izlasījuši manu osciloskopu Instructable, atpazīs līdzību. AD9833 moduli var pievienot manam osciloskopam, lai izveidotu "Osciloskopu un signālu ģeneratoru sērkociņu kastē".

Displejs ir 1,3 collu OLED, kas darbojas ar 3,3 V spriegumu, ko kontrolē SH1106 mikroshēma, izmantojot I2C kopni.

Meklējiet eBay 1.3 collu OLED. Es nevēlos ieteikt konkrētu pārdevēju, jo saites ātri noveco. Izvēlieties tādu, kas izskatās pēc šī fotoattēla, ar uzrakstu “I2C” vai “IIC” un kurā ir četras tapas ar uzrakstu VDD GND SCL SDA. (Šķiet, ka dažos displejos ir tapas citā secībā. Pārbaudiet tos. I2C pulksteņa pareizais nosaukums ir "SCL", bet eBay dēļos var iezīmēt "SCK" tāpat kā manu fotoattēlā.)

Pilnīgs OLED bibliotēkas apraksts ir manā osciloskopā Instructable 8. darbībā. Jums vajadzētu lejupielādēt un instalēt draivera bibliotēku SimpleSH1106.zip, kas ir 8. darbībā. (Es nevēlos šeit augšupielādēt citu kopiju un man ir jāuztur divas kopijas.)

INO failu var lejupielādēt zemāk. OLED izmantotie tapu numuri ir norādīti ap 70. rindiņu. Ja esat izveidojis manu "Osciloskopu un signālu ģeneratoru sērkociņu kastē" un vēlaties ar to pārbaudīt šo INO failu, alternatīvie PIN numuri ir iespējoti, izmantojot #define.

Esmu parādījis ķēdes sloksnes izkārtojumu. Ir divi sloksnes dēļi - viens Nano un AD9833 un otrs displejam. Viņiem vajadzētu veidot sviestmaizi. Plāksnes ir parādītas no detaļas puses. Abiem dēļiem pievienojas smalki elastīgi vadi. Piestipriniet dēļus kopā ar lodētiem statīviem. Manā diagrammā sloksnes plāksnes varš ir parādīts ciānā krāsā. Sarkanās līnijas ir stieples saites uz sloksnes vai elastīgi vadi, kas savieno plāksnes kopā. Es neesmu parādījis strāvas un "signāla" vadus.

Modulis AD9833 ir pielodēts sloksnes plāksnes vara pusē - pretējā pusē no Nano. Lodēšanas tapas uz vara sloksnēm, pēc tam piestipriniet tām AD9833 un pielodējiet to.

Displejā tiek parādīta viena frekvence vai "min" un "max" frekvences.

Ir divas spiedpogas: poga "Horizontālā", lai izvēlētos frekvenču ciparu, un poga "Vertikālā", lai mainītu šo ciparu.

Es baroju signālu ģeneratoru no ķēdes, kuru es izstrādāju - manā darbstacijā vienmēr ir pieejams 5 V.

3. solis: turpmākā attīstība

Nākotnes attīstība
Nākotnes attīstība

Vai tas var darboties ar akumulatoru? Jā, vienkārši pievienojiet 9V PP3, kas savienots ar Nano RAW tapu. Tas parasti izmanto 20 mA.

Vai to var darbināt ar vienu litija elementu? Es nesaprotu, kāpēc ne. Jums vajadzētu savienot OLED Vdd un tā pievilkšanas rezistoru ar 3,7 V akumulatoru (es šaubos, vai Arduino 3,3 V izeja darbotos pareizi).

Slaucīšanas ģenerators ir noderīgāks, pārbaudot filtra frekvences reakciju, ja varat attēlot amplitūdu pret frekvenci. Signāla amplitūdas mērīšana ir sarežģīta - jums ir jāapmaina aploksnes detektora sabrukums pret pulsāciju, lai iegūtu zemas frekvences un reakcijas laiku augstām frekvencēm. Kad esat izveidojis savu amplitūdas detektoru, varat ievadīt tā izvadi "vienkāršākā signāla ģeneratora" Arduino ADC, pēc tam nosūtīt rezultātu kopā ar pašreizējo frekvenci uz datoru.

Šī lapa ir noderīgs sākumpunkts vai meklējiet Google vietnē “aploksnes detektors” vai “maksimuma detektors”. Iepriekš minētajā ierosinātajā shēmā jūs iestatītu signāla frekvenci, pagaidiet, līdz tā stabilizējas, iestatiet Arduino A0 tapu, lai izvadītu digitāli zemu, pagaidiet, līdz izlādējas C, iestatiet A0 uz ievadi, pagaidiet un pēc tam mēriet ar ADC. Ļaujiet man zināt, kā jums iet.

Ieteicams: