Obsah:

Generátor funkcií: 12 krokov (s obrázkami)
Generátor funkcií: 12 krokov (s obrázkami)

Video: Generátor funkcií: 12 krokov (s obrázkami)

Video: Generátor funkcií: 12 krokov (s obrázkami)
Video: Как устроена электрическая часть на бензиновом генераторе с AVR 2024, Júl
Anonim
Generátor funkcií
Generátor funkcií
Generátor funkcií
Generátor funkcií

Tento návod popisuje návrh generátora funkcií založený na analógovom integrovanom obvode MAX038 spoločnosti Maxims

Generátor funkcií je veľmi užitočný nástroj pre šialených elektronikov. Je potrebný na ladenie rezonančných obvodov, testovanie zvukových a obrazových zariadení, navrhovanie analógových filtrov a mnoho ďalších rôznych účelov.

Dnes existujú dva hlavné typy generátorov funkcií; digitálne (založené na DSP, DDS …), ktoré sa čoraz častejšie používajú, a analógové, z ktorých pochádzajú.

Oba typy majú svoje výhody a nevýhody. Digitálne generátory môžu generovať signály s veľmi stabilnou frekvenciou, ale majú problémy s generovaním veľmi čistých sínusových signálov (čo nie je problém pre analógový). Tiež generátory hlavne rozloženej funkcie založené na prístupe DDS nemajú taký veľký rozsah generovania frekvencií.

Už dlho som chcel navrhnúť užitočný generátor funkcií, ktorý by nejako mohol kombinovať niektoré výhody oboch typov (analógových a digitálnych) generátorov. Rozhodol som sa založiť dizajn na čipe Maxim MAX038*

* Poznámka - tento čip už spoločnosť Maxim nevyrába a nepredáva. Je to zastarané. Stále je možné ho nájsť na eBay, Aliexpress a ďalších stránkach pre elektronické súčiastky.

Existujú aj ďalšie čipy generátora analógových funkcií (XR2206 od Exar, icl8038 od Intersil), ale mal som

k dispozícii je jeden MAX038 a ja som ho použil. Digitálne funkcie generátora funkcií vykonával jeden čip Atmega328. Jeho funkcie sú nasledujúce:

  • ovláda výber frekvenčného rozsahu
  • ovláda typ signálu (sínusový, obdĺžnikový, trojuholníkový, pílový)
  • meria amplitúdu signálu
  • meria posun DC
  • meria frekvenciu signálu
  • meria THD sínusového signálu v audio rozsahu (to sa ešte musí implementovať)
  • zobrazuje všetky tieto informácie na znakovom LCD displeji 16x2.

Krok 1: Popis MAX038

Popis MAX038
Popis MAX038

Priložil som list s údajmi MAX038. Tu sú uvedené najdôležitejšie parametre čipu:

♦ Rozsah prevádzkových frekvencií 0,1 Hz až 20 MHz

♦ Trojuholníkové, pílové, sínusové, štvorcové a pulzné vlny

♦ Nezávislé úpravy frekvencie a pracovného cyklu

♦ Rozsah frekvenčného zametania 350 až 1

♦ 15% až 85% variabilný pracovný cyklus

♦ Výstupný buffer s nízkou impedanciou: 0,1Ω

♦ Teplotný drift nízkych 200 strán za minútu/° C

Ďalšou dôležitou požiadavkou je potreba duálneho napájania (± 5 V). Výstupná amplitúda je pevná (~ 2 VP-P s 0 V DC offsetom).

Na strane 8 listu s technickými údajmi je vidieť blokový diagram čipu. Na strane 11 je znázornený najjednoduchší obvod, ktorý je možné použiť na generovanie signálu sínusovej vlny. Tento obvod bol vzatý ako základ pre návrh generátora funkcií.

Krok 2: Okruh…

Okruh…
Okruh…

Na obrázku je znázornený obvod generátora funkcií, ktorý som urobil, s najvyšším možným rozlíšením, aby sa zaručilo, že každú hodnotu.zariadenia je možné správne prečítať. Schéma vyzerá dosť zložito a aby som lepšie porozumel, vysvetlím jej hlavné časti oddelene. Mnoho čitateľov mi mohlo vyčítať, že obvod je príliš nadbytočný. To je pravda. Najprv môžete vidieť, že obsahuje dva čipy MAX038. Dôvodom je, že PCB podporuje oba typy balíkov SO a DIP. Redundanciu je možné vidieť aj na niektorých funkciách -

1) LED diódy zobrazujú aktuálny aktívny frekvenčný rozsah, ale sú tiež zobrazené na LCD displeji;

2) LED diódy sa používajú aj na označenie typu signálu, ale tieto informácie zobrazuje aj displej LCD

Dizajn je vyrobený tak, aby poskytol užívateľovi väčšiu flexibilitu - v prípade potreby nemôže používať LCD displej alebo jednoducho môže vynechať spájkovanie LED diód. Spájkoval som ich, aby dokázali ladiť funkčnosť vo fázach návrhu.

Tiež si môžem všimnúť, že používam veľa opampov. Niektoré z nich je možné bez problémov vynechať - najmä nárazníky. V súčasnej dobe ponúkajú operačné zosilňovače samy o sebe veľkú redundanciu - v jednom balení nájdete 2, 4 až 8 samostatných zosilňovačov, a to za relatívne nízku cenu. Prečo ich nevyužiť?

Nadbytočné sú aj filtračné kondenzátory - každý použitý analógový čip má svoju vlastnú kondenzátorovú banku (tantalové + keramické kondenzátory pre oba zdroje). Niektoré z nich je možné tiež vynechať.

Krok 3: Vysvetlenie obvodu - napájací zdroj (1)

Vysvetlenie obvodu - napájací zdroj (1)
Vysvetlenie obvodu - napájací zdroj (1)

Ako som povedal, tento generátor vyžaduje duálne napájanie. Kladné napätie je vytvorené použitím lineárneho regulátora napätia 7805. Zápornú zásobu generuje čip 7905. Stredný bod odbočenia transformátora 2x6V je pripojený k spoločnému uzemneniu dosky. Generované napájacie zdroje - pozitívne aj negatívne, sú oddelené k analógovým a digitálnym klinom. Dve LED diódy indikujú prítomnosť každého zdroja.

Krok 4: Vysvetlenie obvodu - ovládanie frekvenčného rozsahu (2)

Vysvetlenie obvodu - ovládanie frekvenčného rozsahu (2)
Vysvetlenie obvodu - ovládanie frekvenčného rozsahu (2)

Na pokrytie veľkého frekvenčného rozsahu sa používa banka viacerých kondenzátorov. Kondenzátory majú rôzne hodnoty a definujú rôzne frekvenčné čiastkové rozsahy. Pri práci sa používa iba jeden z týchto kondenzátorov - jeho spodná doska je uzemnená tranzistorovým spínačom MOS. Ktoré spodné dosky kondenzátorov majú byť uzemnené, riadi Atmega328 pomocou demultiplexorového čipu 74HC238. Ako prepínače MOS som použil tranzistory BSS123. Hlavnou požiadavkou tohto prepínača je mať nízky Ron a najnižšiu možnú kapacitu odtoku. Digitálne ovládanie banky kondenzátorov je možné vynechať - DPS obsahuje otvory na spájkovanie vodičov pre mechanický otočný spínač.

Krok 5: Vysvetlenie obvodu - úprava frekvencie (3)

Vysvetlenie obvodu - úprava frekvencie (3)
Vysvetlenie obvodu - úprava frekvencie (3)

Na obrázku sú zobrazené riadiaci obvod frekvencie a pracovného cyklu. Tam som použil štandardný zosilňovač LM358 (duálny zosilňovač v jednom balení). Použil som aj duálne 10K potenciometre.

Čip MAX038 generuje vnútornú referenčnú hodnotu napätia 2,5 V, ktorá sa bežne používa ako referencia pre všetky úpravy.

Toto napätie sa aplikuje na invertujúci vstup IC8a a generuje zápornú referenciu napätia použitú pre DADJ (úprava pracovného cyklu). Obe napätia sú aplikované na potenciometri DADJ, ktorého stredný kohútik je uložený do vyrovnávacej pamäte a aplikovaný na pin DADJ čipu MAX038. Po prepojení so zemou je možné prepojku JP5 použiť na deaktiváciu funkcie DADJ. Ovládanie frekvencie "Course" sa realizuje zmenou aktuálneho zapusteného / vygenerovaného v pine MAX038 "IIN". Tento prúd je definovaný odporom R41 a výstupným napätím operačného zosilňovača, ktoré ukladá stredný kohútik potenciometra riadenia frekvencie kurzu. Všetky tieto môžu byť nahradené jediným potenciometrom (v spojení s reostatom) medzi kolíkmi REF a IIN MAX038.

Krok 6: Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)

Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)
Vysvetlenie obvodu - riadenie amplitúdy, generovanie signálu SYNC … (4)

Ako je uvedené v technickom liste, výstupný signál pf MAX038 má amplitúdu ~ 1 V s jednosmerným napätím rovným potenciálu zeme.

Chcel som mať možnosť ovládať amplitúdu signálu a byť schopný definovať DC offset sám. Ako ďalšiu funkciu som chcel mať signál SYNC s úrovňami CMOS paralelne s výstupným signálom. V predvolenom nastavení čip MAX038 generuje takýto signál, ale v technickom liste som čítal, že ak je táto funkcia povolená (čo znamená - DV+ pin pripojený k 5V), vo výstupnom analógovom signáli je možné pozorovať určité špičky (šum). Chcel som zachovať je to čo najčistejšie a z tohto dôvodu som externe vygeneroval signál SYNC. Doska plošných spojov je vyrobená tak, aby bolo možné pin DV+ ľahko premostiť k hlavnému zdroju. Pin SYNC je vedený do konektora BNC - je potrebné spájkovať iba odpor 50 Ohm. V tomto prípade možno obvody generovania signálu SYNC vynechať. Tu, ako vidíte, používam aj dvojité potenciometre, ale nie sú zapojené paralelne. Dôvodom je to, že amplitúdu meriam relatívne. Napätie v strednom bode jedného potenciometra sníma Atmega328 ADC a na základe tejto hodnoty sa vypočíta amplitúda signálu. Táto metóda samozrejme nie je veľmi presná (spolieha sa na zosúladenie oboch sekcií potenciometra, čo sa nie vždy vyskytuje), ale pre moje aplikácie je dostatočne presná. V tomto obvode IC2A pracuje ako napäťová vyrovnávacia pamäť. Tiež IC4A. Operátor IC2B funguje ako súčtový zosilňovač - vytvára výstupný signál funkčného generátora ako súčet ofsetového napätia a hlavného signálu s nastavenou amplitúdou. Delič napätia R15. R17 generuje vhodný napäťový signál na meranie offsetu hlavného signálu DC. Vníma to Atmega328 ADC. Operátor IC4B funguje ako komparátor - riadi generátor generátora SYNC realizovaný dvoma tranzistormi MOS (BSS123 a BSS84). U6 (THS4281 - Texas Instruments) posúva výstupný signál generovaný MAX038 DC o 2,5 V a 1,5 -krát ho zosilňuje. Takto generovaný signál je snímaný AVR ADC a ďalej spracovaný algoritmom FFT. V tejto časti som použil vysokokvalitné zosilňovače rail to rail s šírkou pásma 130 MHz (TI - LMH6619).

Aby bolo ľahké pochopiť, ako presne funguje generovanie signálu SYNC, prikladám niekoľko obrázkov simulácií obvodu LTSpice. Na treťom obrázku: modrý signál je ofsetové napätie (vstup IC2B). Zelený je výstupný signál s nastavenou amplitúdou. Červená je výstupný signál funkčného generátora. Azúrová krivka je signál SYNC.

Krok 7: Návrh DPS

Dizajn DPS
Dizajn DPS

Na navrhovanie DPS som použil „Eagle“. PCB som objednal na „PCBway“. Výroba dosiek im trvala iba štyri dni a dodanie týždeň. Ich kvalita je vysoká a cena je extrémne nízka. Za 10 PCB som zaplatil iba 13 USD!

Okrem toho som si mohol objednať rôznofarebné PCB bez zvýšenia ceny. Vybral som žlté:-).

Pripájam súbory gerber podľa návrhových pravidiel „PCBway“.

Krok 8: Spájkovanie

Image
Image
Spájkovanie
Spájkovanie
Spájkovanie
Spájkovanie

Najprv som spájkoval zariadenia s obvodmi napájania.

Po otestovaní napájacieho bloku som spájkoval čip Atmega328 s jeho podpornými zariadeniami: kremenným kryštálom, kondenzátormi, filtračnými krytkami a konektorom ISP. Ako vidíte, v napájacom potrubí čipu AVR mám prepojku. Keď programujem čip cez ISP, odpojím ho. Na tento účel používam programátor USBtiny.

Ako ďalší krok som spájkoval čip de-mux 74HC238, LED diódy indikovali frekvenčný rozsah. Do čipu Atmega som načítal malý program Arduino, ktorý testoval multiplexovanie. (pozrite si video pod odkazom vyššie)

Krok 9: Spájkovanie…

Spájkovanie…
Spájkovanie…
Spájkovanie…
Spájkovanie…
Spájkovanie…
Spájkovanie…

Ako ďalší krok som spájkoval opampy pracujúce v režime DC (LM358) a potenciometre nastavenia frekvencie a DADJ a skontroloval som všetky ich funkcie.

Ďalej som spájkoval prepínače BSS123, kondenzátory určujúce frekvenciu a čip MAX039. Testoval som funkčný generátor snímajúci signál na výstupe natívneho čipového signálu. (Môžete vidieť môj starý sovietsky stroj vyrobený v roku 1986, stále pracujúci osciloskop v prevádzke:-))

Krok 10: Viac spájkovania …

Viac spájkovania…
Viac spájkovania…
Viac spájkovania…
Viac spájkovania…
Viac spájkovania…
Viac spájkovania…

Potom som spájkoval zásuvku pre LCD displej a vyskúšal som to pomocou náčrtu „Hello world“.

Spájkoval som ostatné zostávajúce zosilňovače, kondenzátory, potenciometre a konektory BNC.

Krok 11: Softvér

Image
Image
Softvér
Softvér

Na vytvorenie firmvéru Atmega328 som použil Arduino IDE.

Na meranie frekvencie som použil knižnicu „FreqCounter“. Súbor náčrtu a použitá knižnica sú k dispozícii na stiahnutie. Vytvoril som špeciálne symboly, ktoré predstavujú aktuálne používaný režim (sínusový, obdĺžnikový, trojuholníkový).

Na obrázku vyššie môžete vidieť informácie zobrazené na LCD:

  • Frekvencia F = xxxxxxxx v Hz
  • Frekvenčný rozsah Rx
  • Amplitúda v mV A = xxxx
  • Ofset v mV 0 = xxxx
  • typ signálu x

Generátor funkcií má vpredu na ľavej strane dve tlačidlá - slúžia na zmenu frekvenčného rozsahu (krok nahor - krok nadol). Vpravo od nich je posuvný prepínač na ovládanie režimu, potom zľava doprava za potenciometrom na ovládanie frekvencie (priebeh, jemné, DADJ), amplitúdy a ofsetu. V blízkosti potenciometra nastavenia ofsetu je umiestnený prepínač slúžiaci na komutáciu medzi pevným offsetom 2,5 V DC a vyladeným.

V súbore ZIP som našiel malú chybu v kóde „Generator.ino“- symboly pre tvary sínusovej a trojuholníkovej vlny boli vymenené. V jedinom priloženom súbore „Generator.ino“je chyba opravená.

Krok 12: byť hotový …

Image
Image

Ako posledný krok mám v úmysle implementovať dodatočnú funkciu - meranie THD zvukovo frekvenčného sínusového signálu v reálnom čase pomocou FFT. Je to potrebné, pretože pracovný cyklus sínusového signálu sa môže líšiť od 50%, čo môže byť spôsobené vnútornými nesúladmi čipov a inými dôvodmi a mohlo by to spôsobiť harmonické skreslenia. Pracovný cyklus je možné nastaviť potenciometrom, ale bez pozorovania signálu na osciloskope alebo spektrálnom analyzátore nie je možné orezať jeho tvar. Problém by mohol vyriešiť výpočet THD na základe algoritmu FFT. Výsledok výpočtov THD sa zobrazí na LCD displeji v pravom hornom prázdnom mieste.

Na videu je vidieť spektrum generovaného sínusovým signálom MAX038. Spektrálny analyzátor je založený na doske Arduino UNO + 2,4 TFT štít. Spektrálny analyzátor používa knižnicu SpltRadex Arduino vyvinutú Anatolym Kuzmenkom na vykonávanie FFT v reálnom čase.

Stále som sa nerozhodol - použiť túto knižnicu alebo použiť knižnicu FHT vytvorenú Musiclabs.

Mám v úmysle použiť informácie získané z meraní frekvenčného merača na výpočet okna správneho odberu vzoriek a pozastaviť používanie dodatočného sledovania okien počas výpočtov FFT. Potrebujem len nájsť nejaký voľný čas, aby sa to stalo. Dúfam, že čoskoro budem mať nejaké výsledky ….

Odporúča: