Taula de continguts:

Generador de funcions: 12 passos (amb imatges)
Generador de funcions: 12 passos (amb imatges)

Vídeo: Generador de funcions: 12 passos (amb imatges)

Vídeo: Generador de funcions: 12 passos (amb imatges)
Vídeo: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Desembre
Anonim
Generador de funcions
Generador de funcions
Generador de funcions
Generador de funcions

Aquesta instrucció descriu el disseny del generador de funcions basat en el circuit integrat analògic de Maxims MAX038

El generador de funcions és una eina molt útil per als monstres electrònics. Es necessita per sintonitzar circuits de ressonància, provar equips d'àudio i vídeo, dissenyar filtres analògics i per a molts altres propòsits diferents.

Avui en dia hi ha dos tipus principals de generadors de funcions; digitals (basats en DSP, DDS …) que s’utilitzen cada cop més i analògics, que van ser els orígens.

Tots dos tipus tenen els seus avantatges i desavantatges. Els generadors digitals poden generar senyals amb una freqüència molt estable, però tenen problemes amb la generació de senyals sinusoïdals molt purs (el que no és un problema per a un analògic). A més, els generadors de funcions de difusió principalment basats en l'enfocament DDS no tenen un rang de generació de freqüències tan gran.

Des de molt de temps volia dissenyar un generador de funcions útil, que d'alguna manera pogués combinar alguns dels avantatges dels dos tipus de generadors (analògics i digitals). Vaig decidir basar el disseny en el xip Maxim MAX038 *

* Observació: aquest xip ja no és produït i venut per Maxim. Està obsolet. Encara és possible trobar-lo a eBay, Aliexpress i altres llocs de components electrònics.

També hi ha altres xips generadors de funcions analògiques (XR2206 d'Exar, icl8038 d'Intersil), però jo tenia

un MAX038 disponible, i l'he utilitzat. Les funcions digitals del generador de funcions es van realitzar mitjançant un xip Atmega328. Les seves funcions són les següents:

  • controla la selecció del rang de freqüències
  • controla el tipus de senyal (sinus, rectangular, triangular, de dents de serra)
  • mesura l'amplitud del senyal
  • mesura el desplaçament de CC
  • mesura la freqüència del senyal
  • mesura el THD del senyal sinusoïdal del rang d'àudio (encara s'ha d'implementar)
  • mostra tota aquesta informació en una pantalla LCD de 16x2 caràcters.

Pas 1: descripció MAX038

Descripció MAX038
Descripció MAX038

He adjuntat el full de dades MAX038. Es poden veure els paràmetres de xip més importants:

♦ Gamma de freqüència de funcionament de 0,1 Hz a 20 MHz

♦ Formes d'ona de triangle, dents de serra, seno, quadrat i pols

♦ Ajustos independents de la freqüència i del cicle de treball

♦ Interval d'escombrat de freqüència de 350 a 1

♦ Cicle de treball variable del 15% al 85%

♦ Búfer de sortida de baixa impedància: 0,1Ω

♦ Deriva de temperatura baixa de 200 ppm / ° C

Un altre requisit important és la necessitat de subministrament dual (± 5V). L'amplitud de sortida és fixa (~ 2 VP-P amb 0 V DC offset).

A la pàgina 8 del full de dades es pot veure el diagrama de blocs del xip. A la pàgina 11 es pot veure el circuit més simple, que es pot utilitzar per generar senyals d'ona sinusoïdal. Aquest circuit es va prendre com a base per al disseny del generador de funcions.

Pas 2: el circuit …

El Circuit…
El Circuit…

A la imatge es presenta el circuit del generador de funcions que he fet aquesta imatge amb la màxima resolució possible per garantir que cada valor del dispositiu es pugui llegir correctament. L’esquema té un aspecte força complex i, per entendre’m millor, explicaré les seves parts principals per separat. Molts lectors em podrien culpar que el circuit és massa redundant. Això és cert. Al principi es pot veure que conté dos xips MAX038. La raó és que el PCB admet ambdós tipus de paquets SO i DIP. La redundància es pot veure també en algunes funcions:

1) Els LED mostren el rang de freqüència actiu actual, però també es mostren a la pantalla LCD;

2) Els LED també s'utilitzen per indicar el tipus de senyal, però també la pantalla LCD mostra aquesta informació

El disseny es realitza d'aquesta manera per permetre més flexibilitat a l'usuari, si no volia utilitzar la pantalla LCD o simplement pot ometre la soldadura dels LED. Els he soldat per poder depurar la funcionalitat durant les fases de disseny.

Es pot notar també que faig servir molts opamps. Alguns d’ells es poden ometre sense problemes, especialment els buffers. Actualment, els opamps ofereixen una gran redundància: en un paquet podeu trobar 2, 4 fins i tot 8 amplificadors separats, i això a un preu relativament baix. Per què no utilitzar-les?

Els condensadors de filtratge també són redundants: cada xip analògic utilitzat té el seu propi banc de condensadors (tantal + condensadors ceràmics per a tots dos subministraments). Alguns d’ells també es poden ometre.

Pas 3: explicació del circuit: font d'alimentació (1)

Explicació del circuit: font d'alimentació (1)
Explicació del circuit: font d'alimentació (1)

Com he dit, aquest generador requereix doble subministrament. El voltatge positiu es crea mitjançant l'ús del regulador de tensió lineal 7805. El subministrament negatiu és generat pel xip 7905. El punt central del transformador de 2x6V està connectat a la terra comuna de la placa. Les fonts d’alimentació generades, tant les positives com les negatives, es separen a analògiques i digitals per mitges. Dos LED indiquen la presència de cada subministrament.

Pas 4: explicació del circuit: control de la freqüència (2)

Explicació del circuit: control de rang de freqüència (2)
Explicació del circuit: control de rang de freqüència (2)

Per cobrir un gran rang de freqüències s’utilitza un banc de condensadors múltiples. Els condensadors tenen valors diferents i defineixen diferents subgamens de freqüència. Només s’utilitza un d’aquests condensadors durant el treball: la placa inferior està connectada a terra mitjançant un commutador de transistor MOS. Quina placa inferior de condensadors a terra està controlada per l'Atmega328 mitjançant l'ús del xip demultiplexador 74HC238. Com a commutadors MOS, feia servir transistors BSS123. El requisit principal per a aquest commutador és tenir un Ron baix i una capacitat de drenatge mínima possible. El control digital del banc de condensadors es pot ometre: el PCB conté forats per soldar els cables del commutador rotatiu mecànic.

Pas 5: explicació del circuit: l'ajust de freqüència (3)

Explicació del circuit: l'ajust de freqüència (3)
Explicació del circuit: l'ajust de freqüència (3)

A la imatge es mostra la freqüència i el circuit de control del cicle de treball. Allà vaig fer servir el LM358 opamp estàndard (amplificador dual en un paquet). També he utilitzat potenciòmetres dobles de 10K.

El xip MAX038 genera una tensió interna de referència de 2,5 V, que s’utilitza normalment com a referència per a tots els ajustos.

Aquesta tensió s'aplica a l'entrada d'inversió de l'IC8a i genera una referència de tensió negativa utilitzada per al DADJ (ajust del cicle de treball). Ambdues tensions s’apliquen al potenciòmetre del DADJ, que l’aixeta central es memòria intermèdia i s’aplica al pin DADJ del xip MAX038. El pont JP5 es pot utilitzar per desactivar la funció DADJ quan es connecta a terra. El control de freqüència "Course" es preforma canviant el corrent enfonsat / obtingut al pin "IIN" MAX038. Aquest corrent es defineix per la resistència R41 i la tensió de sortida de l’opamp que emmorteix l’aixeta central del potenciòmetre de control de freqüència de curs. Tots aquests es poden substituir per un únic potenciòmetre (en connexió de reostat) entre els pins REF i IIN MAX038.

Pas 6: explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)

Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)
Explicació del circuit: control d'amplitud, generació de senyal SYNC … (4)

Tal com s’escriu al full de dades, el senyal de sortida pf del MAX038 té una amplitud d’1 V amb una tensió de CC igual al potencial de terra.

Volia tenir la possibilitat de controlar l'amplitud del senyal i poder definir jo mateix la compensació de corrent continu. Com a característica addicional, volia tenir senyal SYNC amb nivells CMOS en paral·lel al senyal de sortida. Per defecte, el xip MAX038 genera aquest senyal, però al full de dades he llegit que, si aquesta funció està habilitada (què significa - DV + pin connectat a 5V), es poden observar alguns pics (soroll) al senyal analògic de sortida. el més net possible i per aquest motiu he generat el senyal SYNC externament. El PCB es fa de la manera que el pin DV + es pot connectar fàcilment al subministrament principal. El pin SYNC s’encamina al connector BNC: només s’ha de soldar la resistència de 50 Ohm. En aquest cas, es poden ometre els circuits de generació de senyals SYNC. Aquí, com veieu, també faig servir potenciòmetres dobles, però no estan connectats en paral·lel. La raó és: mesuro l'amplitud relativament. El voltatge en el punt mig d’un potenciòmetre és detectat per l’Atmega328 ADC i l’amplitud del senyal es calcula en funció d’aquest valor. Per descomptat, aquest mètode no és molt precís (es basa en la coincidència de les dues seccions del potenciòmetre, cosa que no sempre es produeix), però és prou precís per a les meves aplicacions. En aquest circuit IC2A funciona com a memòria intermèdia de tensió. IC4A també. L'opamp IC2B funciona com a amplificador sumatori: crea el senyal de sortida del generador funcional com a suma del voltatge de desplaçament i el senyal principal amb amplitud ajustada. El divisor de tensió R15. R17 genera un senyal de tensió adequat per mesurar el desplaçament del senyal principal de CC. Es percep per l’Atmega328 ADC. L'opamp IC4B funciona com a comparador: controla l'inversor de generació SYNC realitzat pels dos transistors MOS (BSS123 i BSS84). L'U6 (THS4281 - Texas Instruments) desplaça el senyal de sortida generat pel MAX038 DC amb 2,5 V i l'amplifica 1,5 vegades. Així doncs, el senyal generat és detectat per AVR ADC i processat posteriorment amb l'algorisme FFT. En aquesta part he utilitzat ferrocarrils d'alta qualitat per ampliar opamps amb una amplada de banda de 130 MHz (TI - LMH6619).

Per ser fàcil d’entendre com funciona exactament la generació del senyal SYNC, incloc algunes imatges de simulacions LTSpice del circuit. A la tercera imatge: el senyal blau és la tensió de desplaçament (entrada de l'IC2B). El verd és el senyal de sortida amb amplitud ajustada. El vermell és el senyal de sortida del generador funcional, la corba cian és el senyal SYNC.

Pas 7: disseny de PCB

Disseny de PCB
Disseny de PCB

Vaig utilitzar "Eagle" per al disseny del PCB. Vaig demanar els PCB a "PCBway". Només van trigar quatre dies a produir les taules i una setmana a lliurar-les. La seva qualitat és alta i el preu és extremadament baix. He pagat només 13 USD per 10 PCB.

A més d'això, podia demanar un PCB de color diferent sense augment de preus. N’he triat de grocs:-).

Adjunto els fitxers gerber segons les regles de disseny "PCBway".

Pas 8: soldadura

Image
Image
Soldadura
Soldadura
Soldadura
Soldadura

Primer vaig soldar els dispositius de circuit d'alimentació..

Després de provar el bloc de subministrament, he soldat el xip Atmega328 amb els seus dispositius de suport: cristall de quars, condensadors, taps filtrants i el connector ISP. Com veieu, tinc un pont a la línia de subministrament del xip AVR. El desconnecto quan programa el xip a través de l’ISP. Utilitzo el programador USBtiny per a aquest propòsit.

Com a pas següent, vaig soldar el xip de-mux 74HC238, els LED que indiquen el rang de freqüència. Vaig carregar un petit programa Arduino al xip Atmega, que estava provant el multiplexatge. (vegeu el vídeo que hi ha a sota de l’enllaç anterior)

Pas 9: soldar …

S'està soldant …
S'està soldant …
S'està soldant …
S'està soldant …
S'està soldant …
S'està soldant …

Com a pas següent, vaig soldar els opamps que funcionaven en mode CC (LM358) i els potenciòmetres d’ajust de freqüència i DADJ i vaig comprovar totes les seves funcions.

A més, he soldat els commutadors BSS123, els condensadors de determinació de freqüència i el xip MAX039. He provat el generador funcional que prova el senyal a la sortida del senyal del xip natiu. (Podeu veure el meu antic soviètic, produït el 1986, que encara funciona l'oscil·loscopi en acció:-))

Pas 10: més soldadura …

Més soldadura …
Més soldadura …
Més soldadura …
Més soldadura …
Més soldadura …
Més soldadura …

Després vaig soldar el sòcol per a la pantalla LCD i el vaig provar amb l'esbós "Hello world".

Vaig soldar els altres opamps, condensadors, potenciòmetres i connectors BNC restants.

Pas 11: programari

Image
Image
Programari
Programari

Per a la creació del microprogramari Atmega328 he utilitzat l'IDE Arduino.

Per a la mesura de freqüència he utilitzat la biblioteca "FreqCounter". El fitxer d'esbós i la biblioteca utilitzada estan disponibles per descarregar. He creat símbols especials per representar el mode utilitzat actualment (sinus, rectangular, triangle).

A la imatge superior es pot veure la informació que es mostra a la pantalla LCD:

  • Freqüència F = xxxxxxxx en Hz
  • Rang de freqüències Rx
  • Amplitud en mV A = xxxx
  • Desplaçament en mV 0 = xxxx
  • tipus de senyal x

El generador de funcions té dos polsadors a la part frontal a la part esquerra: s’utilitzen per canviar el rang de freqüències (pas amunt-pas avall). A la dreta d’ells hi ha l’interruptor lliscant per al control del mode, després que d’esquerra a dreta segueixi el potenciòmetre per al control de la freqüència (curs, fina, DADJ), amplitud i desplaçament. Prop del potenciòmetre d'ajust de desplaçament es col·loca l'interruptor que s'utilitza per commutar entre el desplaçament fix a 2,5 V CC i el sintonitzat.

He trobat un petit error al codi "Generator.ino" del fitxer ZIP: s'han canviat els símbols de les formes d'ona sinusoïdal i triangular. Al fitxer únic "Generator.ino" adjunt aquí, l'error es corregeix.

Pas 12: per fer …

Image
Image

Com a darrer pas, tinc la intenció d'implementar una característica addicional: la mesura del THD del senyal sinusoïdal de freqüència d'àudio en temps real mitjançant FFT. Això és necessari, perquè el cicle de treball del senyal sinusoïdal pot diferir del 50%, cosa que pot ser causada per desajustaments interns del xip i altres motius i que podria crear distorsions harmòniques. El cicle de treball es pot ajustar mitjançant el potenciòmetre, però sense observar el senyal de l'oscil·loscopi o de l'analitzador d'espectre és impossible retallar bé la seva forma. El càlcul del THD basat en l'algorisme FFT podria resoldre el problema. El resultat dels càlculs de THD es mostrarà a la pantalla LCD de l’espai buit superior dret.

Al vídeo es pot veure l'espectre generat pel senyal sinusoïdal MAX038. L'analitzador d'espectre es basa en la placa Arduino UNO + escut TFT de 2,4 . L'analitzador d'espectre utilitza la biblioteca SpltRadex Arduino desenvolupada per Anatoly Kuzmenko per realitzar FFT en temps real.

Encara no vaig decidir: fer servir aquesta biblioteca o fer servir la biblioteca FHT creada pels Musiclabs.

Tinc la intenció d'utilitzar la informació extreta de les mesures del mesurador de freqüència per calcular la finestra de mostreig adequada i suspendre l'ús de finestres addicionals durant els càlculs FFT. Només he de trobar una mica de temps lliure perquè això passi. Espero tenir alguns resultats aviat …

Recomanat: