Tartalomjegyzék:

Funkciógenerátor: 12 lépés (képekkel)
Funkciógenerátor: 12 lépés (képekkel)

Videó: Funkciógenerátor: 12 lépés (képekkel)

Videó: Funkciógenerátor: 12 lépés (képekkel)
Videó: Женитьба Бальзаминова (FullHD, комедия, реж. Константин Воинов, 1964 г.) 2024, Július
Anonim
Funkciógenerátor
Funkciógenerátor
Funkciógenerátor
Funkciógenerátor

Ez az utasítás leírja a Maxims MAX038 analóg integrált áramkörén alapuló funkciógenerátor kialakítását

A funkciógenerátor nagyon hasznos eszköz az elektronikai őrültek számára. Szükség van a rezonancia áramkörök hangolására, az audio- és videoberendezések tesztelésére, az analóg szűrők tervezésére és sok más célra.

Manapság két fő típusú funkciógenerátor létezik; digitális, (DSP alapú, DDS…), amelyeket egyre gyakrabban használnak, és analógok, amelyek eredetük.

Mindkét típusnak megvannak az előnyei és hátrányai. A digitális generátorok nagyon stabil frekvenciájú jeleket tudnak generálni, de problémáik vannak a nagyon tiszta szinuszjelek generálásával (ami nem probléma az analóg esetén). A DDS megközelítésen alapuló, főleg elterjedt függvénygenerátorok frekvenciagenerációs tartománya sem túl nagy.

Régóta hasznos funkciógenerátort akartam tervezni, amely valahogy ötvözheti mindkét típusú (analóg és digitális) generátor néhány előnyét. Úgy döntöttem, hogy a tervezést a Maxim MAX038 chipre alapozom

* Megjegyzés - ezt a chipet a Maxim többé nem gyártja és nem értékesíti. Ez elavult. Továbbra is megtalálható az eBay -en, az Aliexpress -en és más elektronikus alkatrészek webhelyein.

Vannak más analóg funkciógenerátor chipek is (XR2206 az Exar -tól, icl8038 az Intersil -től), de

egy MAX038 kapható, és én használtam. A funkciógenerátor digitális szolgáltatásait egy Atmega328 chip hajtotta végre. Funkciói a következők:

  • vezérli a frekvenciatartomány kiválasztását
  • vezérli a jel típusát (szinusz, téglalap, háromszög, fűrészfog)
  • méri a jel amplitúdóját
  • méri a DC eltolást
  • méri a jel frekvenciáját
  • méri a szinuszjel THD -jét az audio tartományban (ezt még meg kell valósítani)
  • mindezt az információt egy 16x2 méretű karakteres LCD kijelzőn jeleníti meg.

1. lépés: MAX038 Leírás

MAX038 Leírás
MAX038 Leírás

Csatoltam a MAX038 adatlapot. Láthatóak a legfontosabb chipparaméterek:

♦ 0,1 Hz és 20 MHz közötti működési frekvencia tartomány

♦ Háromszög, fűrészfog, szinusz, négyzet és impulzus hullámformák

♦ Független frekvencia- és munkaciklus-beállítások

♦ 350-1 frekvencia -áthúzási tartomány

♦ 15% és 85% közötti változó terhelési ciklus

♦ Alacsony impedanciájú kimeneti puffer: 0,1Ω

♦ Alacsony 200 ppm/° C hőmérséklet -eltolódás

Egy másik fontos követelmény a kettős tápellátás (± 5 V) szükségessége. A kimeneti amplitúdó fix (~ 2 VP-P 0 V DC eltolással).

Az adatlap 8. oldalán látható a chip tömbvázlata. A 11. oldalon a legegyszerűbb áramkör látható, amely szinuszjel előállítására használható. Ezt az áramkört vették alapul a függvénygenerátor tervezéséhez.

2. lépés: Az áramkör…

Az áramkör…
Az áramkör…

A képen a függvénygenerátor áramköre látható. Ezt a képet a lehető legnagyobb felbontásban készítettem, hogy garantáljam, hogy minden.eszköz érték megfelelően olvasható legyen. A vázlatok meglehetősen összetettnek tűnnek, és hogy jobban megértsük, külön elmagyarázom a fő részeit. Sok olvasó azzal vádolhat engem, hogy az áramkör túl felesleges. Az igaz. Először láthatja, hogy két MAX038 chipet tartalmaz. Ennek oka az, hogy a NYÁK támogatja az SO és DIP típusú csomagokat is. A redundancia bizonyos funkciókban is megfigyelhető -

1) A LED -ek az aktuális aktív frekvenciatartományt mutatják, de az LCD -n is;

2) A LED -ek a jel típusát is jelzik, de az LCD is ezt az információt mutatja

A tervezés így történik, hogy nagyobb rugalmasságot biztosítson a felhasználó számára - vágya szerint nem használhatta az LCD -t, vagy egyszerűen kihagyhatja a LED -ek forrasztását. Forrasztottam őket, hogy a tervezési fázisokban hibakeresést tudjak végezni.

Azt is észre lehet venni, hogy sok opamp -et használok. Néhányuk gond nélkül kihagyható - különösen a pufferek. Jelenleg az opampok önmagukban nagy redundanciát kínálnak - egy csomagban 2, 4 vagy 8 különálló erősítőt találhat, és ezt viszonylag alacsony áron. Miért nem használja őket?

Feleslegesek a szűrő kondenzátorok is - minden analóg chipnek saját kondenzátor bankja van (tantál + kerámia kondenzátorok mindkét tápegységhez). Ezek közül néhány ki is hagyható.

3. lépés: Az áramkör magyarázata - Tápegység (1)

Áramkörmagyarázat - Tápegység (1)
Áramkörmagyarázat - Tápegység (1)

Mint mondtam, ez a generátor kettős tápellátást igényel. A pozitív feszültséget 7805 lineáris feszültségszabályozó használatával hozzák létre. A negatív kínálatot 7905 chip generálja. A 2x6V -os transzformátor középső érintkezési pontja csatlakozik a kártya közös földjéhez. Az előállított tápegységeket - mind a pozitív, mind a negatív - dugók választják el az analóg és a digitális tápegységektől. Két LED jelzi az egyes tápegységek jelenlétét.

4. lépés: Áramkörmagyarázat - Frekvenciatartomány -szabályozás (2)

Áramkörmagyarázat - Frekvenciatartomány -szabályozás (2)
Áramkörmagyarázat - Frekvenciatartomány -szabályozás (2)

A nagy frekvenciatartomány lefedéséhez több kondenzátor bankot használnak. A kondenzátorok különböző értékekkel rendelkeznek, és különböző frekvencia altartományokat határoznak meg. A munka során csak az egyik ilyen kondenzátort használják - alsó lapja MOS tranzisztoros kapcsolóval van földelve. Az Atmega328 szabályozza, hogy melyik kondenzátor földelhető lemezt kell földelni, a 74HC238 demultiplexer chip használatával. MOS kapcsolóként BSS123 tranzisztorokat használtam. Ennek a kapcsolónak a fő követelménye, hogy alacsony legyen Ron és a lehető legalacsonyabb leeresztő kapacitás. A kondenzátor bank digitális vezérlését el lehet hagyni - a NYÁK lyukakat tartalmaz a vezetékek forrasztásához a mechanikus forgókapcsolóhoz.

5. lépés: Az áramkör magyarázata - a frekvencia beállítása (3)

Áramkörmagyarázat - a frekvencia beállítása (3)
Áramkörmagyarázat - a frekvencia beállítása (3)

A képen a frekvencia és a ciklusvezérlő áramkör látható. Ott a szabványos LM358 opamp -ot használtam (kettős erősítő egy csomagban). Kettős 10K potenciométert is használtam.

A MAX038 chip 2,5 V belső feszültségreferenciát generál, amelyet általában minden beállításhoz referenciaként használnak.

Ezt a feszültséget az IC8a invertáló bemenetén alkalmazzák, és ez negatív feszültségreferenciát generál, amelyet a DADJ -hez (terhelési ciklus beállítás) használnak. Mindkét feszültséget a DADJ potenciométerén alkalmazzák, amely középső csapot pufferelik, és a MAX038 chip DADJ csapjára adják. A JP5 jumper használható a DADJ funkció letiltására, ha földre van csatlakoztatva. A "Course" frekvenciavezérlést a MAX038 "IIN" érintkezőben lévő áram alá- / bekapcsolásával változtatják. Ezt az áramot az R41 ellenállás és az opamp kimeneti feszültsége határozza meg, amely a pályafrekvencia -szabályozó potenciométer középső csapját puffereli. Mindezek cserélhetők egyetlen potenciométerrel (reostat csatlakozásban) a REF és az IIN MAX038 csapok között.

6. lépés: Áramkörmagyarázat - amplitúdó -szabályozás, SYNC -jelgenerálás… (4)

Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)
Áramkörmagyarázat - Amplitúdó szabályozás, SYNC jelgenerálás… (4)

Az adatlapban leírtak szerint a MAX038 pf kimeneti jel amplitúdója ~ 1 V, egyenfeszültsége egyenlő a földpotenciállal.

Azt akartam, hogy legyen lehetőségem szabályozni a jel amplitúdóját, és hogy magam határozzam meg a DC eltolást. További funkcióként azt akartam, hogy a kimeneti jellel párhuzamosan legyen SYNC jel CMOS szinttel. Alapértelmezés szerint a MAX038 chip ilyen jelet generál, de az adatlapon azt olvastam, hogy ha ez a funkció engedélyezve van (mit jelent - DV+ pin 5V -ra csatlakoztatva), akkor bizonyos csúcsok (zaj) figyelhetők meg a kimeneti analóg jelben. a lehető legtisztább legyen, és ezért a SYNC jelet külsőleg generáltam. A NYÁK úgy történik, hogy a DV+ tű könnyen áthidalható a fő tápellátáshoz. A SYNC csap a BNC csatlakozóhoz van vezetve - csak 50 ohmos ellenállást kell forrasztani. Ebben az esetben a SYNC jelgeneráló áramkör elhagyható. Itt látom, hogy kettős potenciométereket is használok, de nincsenek párhuzamosan csatlakoztatva. Ennek oka - viszonylag megmérem az amplitúdót. Az egyik potenciométer középső pontján lévő feszültséget az Atmega328 ADC érzékeli, és a jel amplitúdóját ez alapján számítják ki. Természetesen ez a módszer nem túl pontos (mindkét potenciométer szakasz illeszkedésén alapul, ami nem mindig fordul elő), de az én alkalmazásaimhoz elég pontos. Ebben az áramkörben az IC2A feszültségpufferként működik. IC4A is. Az IC2B opamp összegző erősítőként működik - létrehozza a funkcionális generátor kimeneti jelét az eltolt feszültség és a beállított amplitúdójú főjel összegeként. Az R15. R17 feszültségosztó megfelelő feszültségjelet generál az egyenáramú fő jel eltolás mérésére. Ezt az Atmega328 ADC érzékeli. Az IC4B opamp komparátorként működik - a két MOS tranzisztor (BSS123 és BSS84) által megvalósított SYNC generátor invertert vezérli. Az U6 (THS4281 - Texas Instruments) a MAX038 DC által generált kimeneti jelet 2,5 V -mal eltolja, és másfélszeresére erősíti. Így a generált jelet az AVR ADC érzékeli, és tovább dolgozza fel FFT algoritmussal. Ebben a részben kiváló minőségű sín -sín opampe -ket használtam 130 MHz sávszélességgel (TI - LMH6619).

Annak érdekében, hogy könnyen megérthető legyen a SYNC jelgenerálás pontos működése, néhány képet is közlök az áramkör LTSpice szimulációiról. A harmadik képen: a kék jel az eltolt feszültség (az IC2B bemenete). A zöld a beállított amplitúdójú kimeneti jel. A piros a funkcionális generátor kimeneti jele, a cián görbe a SYNC jel.

7. lépés: NYÁK -tervezés

NYÁK -tervezés
NYÁK -tervezés

Az Eagle -t használtam a NYÁK tervezéséhez. A PCBway -n rendeltem a PCB -ket. Csak négy napba telt a táblák előállítása, és egy hét a leszállításuk. Minőségük magas, áruk pedig rendkívül alacsony. Csak 13 USD -t fizettem 10 NYÁK -ért!

Ezen kívül rendelhettem különböző színű NYÁK -okat áremelés nélkül. Én a sárgákat választottam:-).

A gerber fájlokat a "PCBway" tervezési szabályok szerint csatolom.

8. lépés: Forrasztás

Image
Image
Forrasztás
Forrasztás
Forrasztás
Forrasztás

Először forrasztottam a tápegység áramköreit.

A tápegység tesztelése után forrasztottam az Atmega328 chipet a támogató eszközeivel: kvarckristály, kondenzátorok, szűrősapkák és az ISP csatlakozó. Amint látja, van egy jumper az AVR chip tápvezetékében. Lekapcsolom, amikor a chipet az ISP -n keresztül programozom. Én USBtiny programozót használok erre a célra.

Következő lépésként forrasztottam a 74HC238 de-mux chipet, a LED-ek jelzik a frekvenciatartományt. Betöltöttem egy kis Arduino programot az Atmega chipbe, amely a multiplexelést tesztelte. (lásd a videót a fenti link alatt)

9. lépés: Forrasztás…

Forrasztás…
Forrasztás…
Forrasztás…
Forrasztás…
Forrasztás…
Forrasztás…

Következő lépésként forrasztottam az egyenáramú üzemmódban (LM358) működő opampokat, valamint a frekvencia- és DADJ -beállítási potenciométereket, és ellenőriztem minden funkciójukat.

Továbbá forrasztottam a BSS123 kapcsolókat, a frekvencia meghatározó kondenzátorokat és a MAX039 chipet. Teszteltem a funkcionális generátort, amely a natív chipjel kimenetén lévő jelet szondázza. (Láthatod a régi szovjet, 1986-ban gyártott, még mindig működő oszcilloszkópomat működés közben:-))

10. lépés: További forrasztás…

További forrasztás…
További forrasztás…
További forrasztás…
További forrasztás…
További forrasztás…
További forrasztás…

Ezt követően forrasztottam az LCD kijelző aljzatát, és teszteltem a "Hello world" vázlattal.

A többi megmaradt opamp, kondenzátor, potenciométer és a BNC csatlakozókat forrasztottam.

11. lépés: Szoftver

Image
Image
Szoftver
Szoftver

Az Atmega328 firmware létrehozásához az Arduino IDE -t használtam.

A frekvenciaméréshez a "FreqCounter" könyvtárat használtam. A vázlatfájl és a használt könyvtár letölthető. Külön szimbólumokat hoztam létre a jelenleg használt mód (szinusz, téglalap, háromszög) ábrázolására.

A fenti képen az LCD -n látható információk láthatók:

  • F frekvencia F = xxxxxxxx Hz -ben
  • Frekvencia tartomány Rx
  • Amplitúdó mV A = xxxx
  • Eltolás mV 0 = xxxx
  • a jel típusa x

A funkciógenerátor két nyomógombbal rendelkezik az elülső oldalon a bal oldalon - ezek a frekvenciatartomány megváltoztatására szolgálnak (léptetés felfelé - lefelé). A jobb oldalon található az üzemmód vezérlésére szolgáló csúszka, utána balról jobbra a frekvencia (irány, finom, DADJ), amplitúdó és eltolás szabályozására szolgáló potenciométer. Az eltolás beállításának potenciométeréhez közel helyezkedik el a kapcsoló, amely a 2,5 V egyenáramú egyenletes eltolás és a beállított közötti kommutációra szolgál.

Egy apró hibát találtam a ZIP fájl "Generator.ino" kódjában - a szinusz és a háromszög hullámforma szimbólumait felcserélték. Az itt csatolt egyetlen "Generator.ino" fájlban a hibát kijavítják.

12. lépés: El kell végezni…

Image
Image

Utolsó lépésként további funkciót kívánok megvalósítani - az audio frekvencia szinuszjel THD -jének valós idejű mérését FFT segítségével. Erre azért van szükség, mert a szinuszjel működési ciklusa 50%-tól eltérhet, amit a belső chipek eltérései és egyéb okok okozhatnak, és harmonikus torzulásokat okozhatnak. A teljesítményciklus beállítható a potenciométerrel, de az oszcilloszkóp vagy a spektrumanalizátor jelének figyelése nélkül lehetetlen finomra szabni alakját. A THD kiszámítása az FFT algoritmus alapján megoldhatja a problémát. A THD számítások eredménye megjelenik a jobb felső sarokban, az LCD -n.

A videón látható a MAX038 szinuszjel által generált spektrum. A spektrumanalizátor az Arduino UNO board + 2,4 TFT pajzson alapul. A spektrumelemző az Anatolij Kuzmenko által kifejlesztett SpltRadex Arduino könyvtárat használja az FFT valós idejű elvégzésére.

Még mindig nem döntöttem - ezt a könyvtárat vagy a Musiclabs által létrehozott FHT könyvtárat használom.

Szándékomban áll a frekvenciamérő méréseiből származó információkat felhasználni a megfelelő mintavételi ablak kiszámításához, és felfüggeszteni a kiegészítő ablakok használatát az FFT számítások során. Csak találnom kell egy kis szabadidőt, hogy ez megvalósulhasson. Remélem hamarosan lesz valami eredményem….

Ajánlott: