Kazalo:

Generator funkcij: 12 korakov (s slikami)
Generator funkcij: 12 korakov (s slikami)

Video: Generator funkcij: 12 korakov (s slikami)

Video: Generator funkcij: 12 korakov (s slikami)
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Julij
Anonim
Generator funkcij
Generator funkcij
Generator funkcij
Generator funkcij

Ta navodila opisujejo zasnovo funkcijskega generatorja, ki temelji na Maxims -ovem analognem integriranem vezju MAX038

Funkcijski generator je zelo uporabno orodje za čudake elektronike. Potreben je za uglaševanje resonančnih vezij, preskušanje avdio in video opreme, oblikovanje analognih filtrov in za številne druge različne namene.

Danes obstajata dve glavni vrsti generatorjev funkcij; digitalni (na osnovi DSP, DDS …), ki se vse pogosteje uporabljajo, in analogni, ki so bili izvor.

Obe vrsti imata svoje prednosti in slabosti. Digitalni generatorji lahko generirajo signale z zelo stabilno frekvenco, vendar imajo težave pri ustvarjanju zelo čistih sinusnih signalov (kar za analognega ni problem). Tudi generatorji funkcij razširjenih funkcij, ki temeljijo na pristopu DDS, nimajo tako velikega frekvenčnega območja.

Že dolgo sem želel oblikovati uporaben funkcijski generator, ki bi lahko nekako združil nekatere prednosti obeh vrst (analognih in digitalnih) generatorjev. Odločil sem se, da bom zasnoval dizajn na čipu Maxim MAX038*

* Opomba - tega čipa Maxim ne proizvaja in ne prodaja več. To je zastarelo. Še vedno ga je mogoče najti na eBayu, Aliexpressu in drugih spletnih mestih za elektronske komponente.

Obstajajo tudi drugi čipi za generiranje analognih funkcij (XR2206 iz podjetja Exar, icl8038 iz podjetja Intersil), vendar sem imel

en MAX038 je na voljo in sem ga uporabil. Digitalne funkcije generatorja funkcij je izvedel en čip Atmega328. Njegove funkcije so naslednje:

  • nadzoruje izbiro frekvenčnega območja
  • nadzoruje vrsto signala (sinusni, pravokotni, trikotni, žagasti)
  • meri amplitudo signala
  • meri DC odmik
  • meri frekvenco signala
  • meri THD sinusnega signala v avdio območju (to je še treba izvesti)
  • prikaže vse te informacije na znakovnem LCD zaslonu 16x2.

1. korak: Opis MAX038

MAX038 Opis
MAX038 Opis

Priložil sem podatkovni list MAX038. Tu so vidni najpomembnejši parametri čipa:

♦ 0,1Hz do 20MHz delovno frekvenčno območje

♦ Trikotni, žagovinski, sinusni, kvadratni in pulzni val

♦ Neodvisne nastavitve frekvence in delovnega cikla

♦ 350 do 1 frekvenčni razpon

♦ 15% do 85% spremenljiv delovni cikel

♦ Izhodni vmesnik z nizko impedanco: 0,1 Ω

♦ Nizek temperaturni premik pri 200 ppm/° C

Druga pomembna zahteva je potreba po dvojnem napajanju (± 5V). Izhodna amplituda je fiksna (~ 2 VP-P z odmikom 0 V DC).

Na strani 8 podatkovnega lista je prikazan blok diagram čipa. Na strani 11 je prikazano najpreprostejše vezje, ki ga lahko uporabimo za generiranje signala sinusnega valovanja. To vezje je bilo vzeto kot osnova za zasnovo funkcijskega generatorja.

2. korak: Vezje…

Krog…
Krog…

Na sliki je predstavljeno vezje generatorja funkcij. To sliko sem naredil z najvišjo možno ločljivostjo, da zagotovim, da se lahko vsaka vrednost.device pravilno odčita. Sheme so videti precej zapletene, zato jih bom za boljše razumevanje ločeno razložil. Mnogi bralci bi mi lahko očitali, da je vezje preveč odveč. To je res. Sprva lahko vidite, da vsebuje dva čipa MAX038. Razlog je v tem, da PCB podpira obe vrsti paketov SO in DIP. Odvečnost je vidna tudi pri nekaterih funkcijah -

1) LED diode prikazujejo trenutno aktivno frekvenčno območje, prikazano pa je tudi na LCD -prikazovalniku;

2) LED -ji se uporabljajo tudi za označevanje vrste signala, LCD pa prikazuje tudi te informacije

Zasnova je narejena tako, da uporabniku omogoča večjo prilagodljivost - po želji ne more uporabiti LCD -ja ali pa preprosto izpusti spajkanje LED -jev. Spajal sem jih, da bi lahko odpravljali napake pri delovanju v fazah načrtovanja.

Opaziti je tudi, da uporabljam veliko opampov. Nekatere od njih je mogoče brez težav izpustiti - zlasti odbojnike. Trenutno opampi sami ponujajo veliko odvečnosti - v enem paketu lahko najdete 2, 4 celo 8 ločenih ojačevalnikov, in to po relativno nizki ceni. Zakaj jih ne bi uporabili?

Odvečni so tudi filtrirni kondenzatorji - vsak uporabljen analogni čip ima svojo kondenzatorsko bazo (tantal + keramični kondenzatorji za oba napajanja). Nekatere od njih je mogoče tudi izpustiti.

3. korak: Pojasnilo vezja - Napajanje (1)

Pojasnilo vezja - Napajanje (1)
Pojasnilo vezja - Napajanje (1)

Kot sem rekel, ta generator potrebuje dvojno napajanje. Pozitivna napetost nastane z uporabo linearnega regulatorja napetosti 7805. Negativno napajanje ustvarja čip 7905. Srednja točka dotika transformatorja 2x6V je priključena na skupno maso plošče. Ustvarjeni napajalniki - tako pozitivni kot negativni, so ločeni od analognih in digitalnih z zatiči. Dve LED diodi označujeta prisotnost vsakega napajanja.

4. korak: Pojasnilo vezja - Nadzor frekvenčnega območja (2)

Pojasnilo vezja - Nadzor frekvenčnega območja (2)
Pojasnilo vezja - Nadzor frekvenčnega območja (2)

Za pokrivanje velikega frekvenčnega območja se uporablja več kondenzatorskih baterij. Kondenzatorji imajo različne vrednosti in opredeljujejo različne frekvenčne podrazpone. Med delom se uporablja le eden od teh kondenzatorjev - njegova spodnja plošča je ozemljena s tranzistorskim stikalom MOS. Katero spodnjo ploščo kondenzatorja ozemljite, nadzira Atmega328 z uporabo čipa demultiplekserja 74HC238. Kot stikala MOS sem uporabil tranzistorje BSS123. Glavna zahteva za to stikalo je nizek Ron in najnižja možna odtočna kapacitivnost. Digitalno krmiljenje kondenzatorske baterije lahko izpustite - tiskano vezje vsebuje luknje za spajkanje žic za mehansko vrtljivo stikalo.

5. korak: Pojasnilo vezja - prilagoditev frekvence (3)

Pojasnilo vezja - nastavitev frekvence (3)
Pojasnilo vezja - nastavitev frekvence (3)

Na sliki sta prikazana krmiljenje frekvence in delovnega cikla. Tam sem uporabil standardni opam LM358 (dvojni ojačevalnik v enem paketu). Uporabil sem tudi dvojne 10K potenciometre.

Čip MAX038 ustvarja referenčno napetost notranje napetosti 2,5 V, ki se običajno uporablja kot referenca za vse nastavitve.

Ta napetost se uporablja na invertirnem vhodu IC8a in ustvari referenčno vrednost negativne napetosti, ki se uporablja za DADJ (nastavitev obratovalnega cikla). Obe napetosti se uporabljata na potenciometru za DADJ, katerega srednji pip je medpomnilnik in uporabljen na zatiču DADJ čipa MAX038. Mostiček JP5 lahko uporabite za onemogočanje funkcije DADJ, ko je priključen na ozemljitev. Frekvenčni nadzor "Course" se izvede s spreminjanjem toka, potopljenega / pridobljenega v zatiču "IIN" MAX038. Ta tok je določen z uporom R41 in izhodno napetostjo opampa, ki puferira srednjo pipo potenciometra za regulacijo frekvence tečaja. Vse to je mogoče zamenjati z enim potenciometrom (v povezavi z reostatom) med nožicama REF in IIN MAX038.

Korak 6: Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)

Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)
Pojasnilo vezja - Nadzor amplitude, Generiranje signala SYNC … (4)

Kot je zapisano v podatkovnem listu, ima izhodni signal pf MAX038 amplitudo ~ 1 V z enosmerno napetostjo, ki je enaka zemeljskemu potencialu.

Želel sem imeti možnost nadzora nad amplitudo signala in sam določiti odmik enosmernega toka. Kot dodatno funkcijo sem hotel imeti signal SYNC z nivoji CMOS vzporedno z izhodnim signalom. Privzeto čip MAX038 generira tak signal, vendar sem v podatkovnem listu prebral, da če je ta funkcija omogočena (kaj pomeni - DV+ pin priključen na 5V), lahko opazimo nekaj vrhov (šum) v izhodnem analognem signalu. je čim bolj čist in zato sem signal SYNC generiral od zunaj. PCB je narejen tako, da se lahko DV+ pin enostavno poveže z glavnim napajanjem. SYNC pin je speljan na priključek BNC - le 50 ohmski upor je treba spajkati. V tem primeru lahko vezje za generiranje signala SYNC izpustite. Kot vidite, uporabljam tudi dvojne potenciometre, ki pa niso povezani vzporedno. Razlog za to je, da amplitudo merim relativno. Napetost na srednji točki enega potenciometra zazna ADC Atmega328 in amplituda signala se izračuna na podlagi te vrednosti. Seveda ta metoda ni zelo natančna (opira se na ujemanje obeh odsekov potenciometra, kar se ne zgodi vedno), vendar je za moje aplikacije dovolj natančna. V tem vezju IC2A deluje kot napetostni odbojnik. Tudi IC4A. Opamp IC2B deluje kot seštevalni ojačevalnik - ustvarja izhodni signal funkcionalnega generatorja kot vsoto odmikalne napetosti in glavnega signala s prilagojeno amplitudo. Delilnik napetosti R15. R17 ustvarja ustrezen napetostni signal za merjenje odmika glavnega enosmernega signala. Zazna ga ADC Atmega328. Opamp IC4B deluje kot primerjalec - nadzoruje pretvornik generacije SYNC, ki ga realizirata dva tranzistorja MOS (BSS123 in BSS84). U6 (THS4281 - Texas Instruments) premakne izhodni signal, ki ga ustvari enota MAX038 DC, z 2,5 V in ga ojača 1,5 -krat. Tako generiran signal zazna AVR ADC in nadaljuje z algoritmom FFT. V tem delu sem uporabil visokokakovostne opampe od železnice do železnice s pasovno širino 130 MHz (TI - LMH6619).

Za lažje razumevanje, kako natančno deluje generiranje signala SYNC, prilagam nekaj slik simulacij vezja LTSpice. Na tretji sliki: modri signal je offset napetost (vhod IC2B). Zeleni je izhodni signal s prilagojeno amplitudo. Rdeča je izhodni signal funkcionalnega generatorja, cianova krivulja je signal SYNC.

7. korak: Oblikovanje tiskane plošče

Oblikovanje PCB
Oblikovanje PCB

Za oblikovanje tiskanega vezja sem uporabil "Eagle". PCB sem naročil pri "PCBway". Za izdelavo plošč so potrebovali le štiri dni, za dostavo pa teden dni. Njihova kakovost je visoka, cena pa zelo nizka. Za 10 PCB -jev sem plačal le 13 USD!

Poleg tega sem lahko naročil drugačne barvne tiskane vezje brez dviga cene. Izbral sem rumene:-).

Prilagam datoteke gerber v skladu s pravili oblikovanja "PCBway".

8. korak: Spajkanje

Image
Image
Spajkanje
Spajkanje
Spajkanje
Spajkanje

Najprej sem spajkal naprave za napajanje.

Po preskusu napajalnega bloka sem čip Atmega328 spajkal s podpornimi napravami: kremenčevim kristalom, kondenzatorji, filtrirnimi pokrovi in priključkom ISP. Kot vidite, imam napajalnik v napajalni liniji čipa AVR. Odklopim ga, ko programiram čip prek ponudnika internetnih storitev. V ta namen uporabljam programer USBtiny.

Kot naslednji korak sem spajkal de-mux čip 74HC238, LED diode označujejo frekvenčno območje. V čip Atmega sem naložil majhen program Arduino, ki je testiral multipleksiranje. (oglejte si video pod zgornjo povezavo)

9. korak: Spajkanje …

Spajkanje…
Spajkanje…
Spajkanje…
Spajkanje…
Spajkanje…
Spajkanje…

Kot naslednji korak sem spajkal opampe, ki delujejo v načinu DC (LM358), ter potenciometre za nastavitev frekvence in DADJ ter preveril vse njihove funkcije.

Nadalje sem spajkal stikala BSS123, kondenzatorje za določanje frekvence in čip MAX039. Preizkusil sem funkcionalni generator, ki sondira signal na izvornem izhodu signala čipa. (Lahko vidite moj stari sovjetski, letnik 1986, še delujoč osciloskop v akciji:-))

10. korak: Več spajkanja …

Več spajkanja…
Več spajkanja…
Več spajkanja…
Več spajkanja…
Več spajkanja…
Več spajkanja…

Nato sem spajkal vtičnico za LCD zaslon in jo preizkusil s skico "Hello world".

Ostale preostale opampe, kondenzatorje, potenciometre in konektorje BNC sem spajkal.

11. korak: Programska oprema

Image
Image
Programska oprema
Programska oprema

Za ustvarjanje vdelane programske opreme Atmega328 sem uporabil Arduino IDE.

Za merjenje frekvence sem uporabil knjižnico "FreqCounter". Datoteka skice in uporabljena knjižnica sta na voljo za prenos. Ustvaril sem posebne simbole, ki predstavljajo trenutno uporabljeni način (sinus, pravokotnik, trikotnik).

Na zgornji sliki so prikazani podatki, prikazani na LCD -prikazovalniku:

  • Frekvenca F = xxxxxxxx v Hz
  • Frekvenčno območje Rx
  • Amplituda v mV A = xxxx
  • Odmik v mV 0 = xxxx
  • vrsta signala x

Funkcijski generator ima na sprednji strani na levi strani dva gumba - uporabljata se za spreminjanje frekvenčnega območja (korak navzgor - korak navzdol). Desno od njih je drsno stikalo za nadzor načina, za njim od leve proti desni sledi potenciometer za nadzor frekvence (tečaj, fino, DADJ), amplitude in odmika. Blizu potenciometra za nastavitev zamika je nameščeno stikalo, ki se uporablja za preklapljanje med fiksnim pri 2.5V DC odmiku in nastavljenim.

V datoteki ZIP sem našel majhno napako v kodi "Generator.ino" - simboli za sinusne in trikotne valovne oblike so bili zamenjani. V posamezni datoteki "Generator.ino", priloženi tukaj, je napaka odpravljena.

12. korak: Dokončati…

Image
Image

Kot zadnji korak nameravam izvesti dodatno funkcijo - merjenje THD zvočnega frekvenčnega sinusnega signala v realnem času z uporabo FFT. To je potrebno, ker se lahko obratovalni cikel sinusnega signala razlikuje od 50%, kar je lahko posledica notranjih neusklajenosti čipov in drugih razlogov ter lahko povzroči harmonična popačenja. Delovni cikel lahko nastavite s potenciometrom, vendar brez opazovanja signala na osciloskopu ali analizatorju spektra ni mogoče natančno obrezati njegove oblike. Izračun THD na podlagi algoritma FFT bi lahko rešil težavo. Rezultat izračunov THD bo prikazan na LCD -zaslonu v zgornjem desnem prostoru.

Na videoposnetku je mogoče videti spekter, ki ga ustvari sinusni signal MAX038. Analizator spektra temelji na plošči Arduino UNO + 2,4 -palčni ščit TFT. Analizator spektra uporablja knjižnico SpltRadex Arduino, ki jo je razvil Anatolij Kuzmenko za izvajanje FFT v realnem času.

Še vedno se nisem odločil - uporabiti to knjižnico ali uporabiti knjižnico FHT, ki so jo ustvarili Musiclabs.

Podatke, vzete iz meritev frekvenčnega merilnika, nameravam uporabiti za izračun ustreznega okna vzorčenja in začasno ustaviti uporabo dodatnih oken med izračuni FFT. Moram najti le nekaj prostega časa, da se to zgodi. Upam, da bo kmalu nekaj rezultatov …

Priporočena: