Taula de continguts:

Generador de senyals AD9833: 3 passos
Generador de senyals AD9833: 3 passos

Vídeo: Generador de senyals AD9833: 3 passos

Vídeo: Generador de senyals AD9833: 3 passos
Vídeo: Generador de Frecuencia AD9833 - Tip Técnicos, Código Arduino y Tip's para realizar una App 2024, De novembre
Anonim
Generador de senyals AD9833
Generador de senyals AD9833
Generador de senyals AD9833
Generador de senyals AD9833

Un generador de senyals és una peça molt útil d’engranatges de prova. Aquest utilitza un mòdul AD9833 i un Arduino Nano; això és tot, ni tan sols un PCB. Opcionalment, podeu afegir una pantalla OLED. L'AD9833 pot gererar sinus, triangles i ones quadrades de 0,1 Hz a 12,5 MHz; el programari d'aquest projecte està limitat a 1Hz a 100kHz.

Hi ha hagut altres instruccibles utilitzant un Arduino i un AD9833, aquí i aquí. Això és més senzill i es pot utilitzar com a generador de barres. Els generadors de barres ajuden a provar la resposta en freqüència de filtres, amplificadors, etc. A diferència dels altres dissenys Instructables, això no inclou un amplificador ni un control d'amplitud, però podeu afegir-los si voleu.

Pas 1: generador de senyals més senzill

Generador de senyals més senzill
Generador de senyals més senzill
Generador de senyals més senzill
Generador de senyals més senzill
Generador de senyals més senzill
Generador de senyals més senzill
Generador de senyals més senzill
Generador de senyals més senzill

Per al generador de senyals més senzill, acabeu de soldar el mòdul AD9833 a la part posterior de l’Arduino Nano. No es necessita cap PCB.

El mòdul AD9833 que he triat és similar a aquest. No dic que sigui el millor o el més barat proveïdor, però hauríeu de comprar-ne un que sembli aquesta foto (o la foto de dalt).

Les connexions entre els mòduls són:

  • terrenys connectats entre si
  • D2 = FSync
  • D3 = Clk
  • D4 = Dades
  • D6 = Vcc de AD9833

L’AD9833 s’alimenta del pin de dades D6 de l’Arduino: Arduino pot subministrar prou corrent. He afegit un condensador de desacoblament de 100n perquè pensava que "hauria de" fer-ho, però no vaig poder veure cap diferència: ja hi ha un condensador de desacoblament a la placa del mòdul AD9833.

Si us agradés, us podria preocupar el "terreny analògic" contra el "terreny digital", però si us agradés, gastareu més de 4 lliures esterlines.

El generador de senyals més senzill es controla i s’alimenta mitjançant un cable USB des d’un PC. El USB emula un port sèrie que funciona a 115200bps (8 bits, sense paritat). Les ordres són:

  • '0'.. '9': canvia el dígit a la matriu de freqüències "min"
  • 'S': estableix la freqüència AD9833 i produeix ona sinusoïdal
  • 'T': estableix la freqüència i produeix una ona triangular
  • 'Q': estableix la freqüència i produeix una ona quadrada
  • 'R': restableix l'AD9833
  • 'M': copia la matriu de freqüència "min" a la matriu "max"
  • 'G': passa de "min" a "max" durant 1 segon
  • 'H': passa de "min" a "max" durant 5 segons
  • "Jo": passa de "mín" a "màxim" durant 20 segons

El programa Arduino conté dues matrius de 6 caràcters "min" i "max. Si transmeteu un dígit, es canvia a la matriu" min ". Si envieu una" S ", els caràcters de la matriu" min "es converteixen en de freqüència llarga i enviada a l'AD9833. Per tant, enviant la cadena

002500S

configurarà la sortida AD9833 a una ona sinusoïdal de 2500Hz. Sempre heu d'enviar els 6 dígits. La freqüència mínima és 000001 i la freqüència màxima és 999999.

Si envieu una "M", la matriu "min" es copia a la matriu "max". Si envieu una "H", l'AD9833 genera repetidament una freqüència que augmenta gradualment durant 5 segons. Comença a la freqüència "mínima" i 5 segons més tard és a la freqüència "màxima". Tan

020000M000100SH

barreja de 100Hz a 20kHz. El canvi de freqüència és logarítmic, de manera que al cap d'1 segon la freqüència serà de 288 Hz, al cap de 2 segons de 833Hz, després de 2402, 6931 i 20000. La freqüència es canvia cada milisegon.

El bucle s’atura quan l’Arduino rep un altre caràcter, així que tingueu cura de no enviar l’ordre seguida de retorn de carro o d’alimentació de línia. Aquest caràcter addicional acabaria el bucle. Si utilitzeu el monitor de sèrie, hi ha un quadre a la part inferior dreta que pot dir, per exemple, "Tant NL com CR" que (crec) envia caràcters després del vostre comandament. Establiu-lo a "Sense final de línia".

A continuació, podeu descarregar el programa Windows EXE, que us enviarà les ordres necessàries o podríeu escriure les vostres. El fitxer INO d'Arduino també és aquí.

Pas 2: afegiu un OLED

Afegiu un OLED
Afegiu un OLED
Afegiu un OLED
Afegiu un OLED
Afegiu un OLED
Afegiu un OLED

Si afegiu un OLED i dos botons, el generador de senyal pot funcionar sol sense un PC.

Els que heu llegit el meu oscil·loscopi instructable reconeixeran la semblança. El mòdul AD9833 es pot afegir al meu oscil·loscopi per produir un "Oscil·loscopi i generador de senyal en una caixa de llumins".

La pantalla és un OLED de 1,3 polzades que funciona a 3,3 V que es controla mitjançant un xip SH1106 mitjançant un bus I2C.

Cerqueu a eBay 1,3 "OLED. No vull recomanar un venedor en particular, ja que els enllaços caducaran ràpidament. Trieu-ne un que sembli aquesta foto, que digui" I2C "o" IIC "i que tingui quatre pins etiquetats com a VDD GND SCL SDA. (Algunes pantalles semblen tenir els pins en un ordre diferent. Comproveu-los. El nom correcte del rellotge d'I2C és "SCL", però a eBay els taulers es poden etiquetar com "SCK" com el meu de la foto.)

Al meu oscil·loscopi hi ha una descripció més completa del meu oscil·loscopi que es pot instruir al pas 8. Haureu de descarregar i instal·lar la biblioteca de controladors SimpleSH1106.zip que es troba al pas 8. (No vull penjar una altra còpia aquí i he de conservar-ne dues còpies).)

A continuació es pot descarregar el fitxer INO. Els números de pin que s’utilitzen per a l’OLED es declaren al voltant de la línia 70. Si heu construït el meu "Oscil·loscopi i generador de senyals en una caixa de coincidències" i voleu provar aquest fitxer INO amb ell, els números de pin alternatius s’activaran mitjançant un #define.

He mostrat un disseny de taulers per al circuit. Hi ha dos taulers: un per al Nano i l’AD9833 i un per a la pantalla. Han de formar un entrepà. Els taulers es mostren des del costat component. Els fils flexibles fins s’uneixen a les dues taules. Col·loqueu les taules juntes amb separadors soldats. Al meu diagrama, el coure del tauler es mostra en color cian. Les línies vermelles són enllaços de fil del tauler o cables flexibles que uneixen les taules. No he mostrat els cables d'alimentació i de "senyal".

El mòdul AD9833 està soldat al costat de coure del tauler de fusta, al costat oposat del Nano. Col·loqueu els passadors a les tires de coure i, a continuació, col·loqueu-hi l’AD9833 i torneu-les a soldar.

La pantalla mostra una única freqüència o les freqüències "mínima" i "màxima".

Hi ha dos botons: un botó "Horitzontal" per seleccionar un dígit de les freqüències i un botó "Vertical" per canviar aquest dígit.

Alimento el generador de senyal del circuit que estic desenvolupant: sempre tinc 5V disponibles a la meva estació de treball.

Pas 3: desenvolupaments futurs

Desenvolupaments futurs
Desenvolupaments futurs

Podria funcionar amb bateria? Sí, només cal afegir un PP3 de 9V connectat al pin RAW del Nano. Normalment utilitza 20 mA.

Podria ser alimentat per una sola cèl·lula de liti? No veig per què no. Hauríeu de connectar l’OLED Vdd i la seva resistència a la bateria de 3,7 V (dubto que la sortida de 3,3 V de l’Arduino funcionés correctament).

Un generador d’escombrat és més útil a l’hora de provar la resposta en freqüència d’un filtre si podeu representar una amplitud en funció de la freqüència. Mesurar l’amplitud d’un senyal és complicat: haureu de compensar la decadència del vostre detector d’embolcall vs ondulació per a freqüències baixes i el temps de resposta per a freqüències altes. Un cop construït el detector d'amplitud, podeu alimentar la seva sortida a l'ADC de l'Arduino del "Generador de senyal més senzill" i enviar el resultat, juntament amb la freqüència actual, al PC.

Aquesta pàgina és un punt de partida útil o cerqueu a Google "detector de sobre" o "detector de pics". En el circuit suggerit anterior, definiríeu la freqüència del senyal, esperareu que s’estabilitzi, configureu el pin Arduino A0 per a la sortida digital baixa, espereu a descarregar C, configureu A0 a l’entrada, espereu i, a continuació, mesureu amb l’ADC. Feu-me saber com us endavant.

Recomanat: