- Základy operačného zosilňovača
- Programovateľný zosilňovač zosilnenia pracuje
- Súčasti sú povinné
- Schematický diagram
- Arduino kód pre PGA
- Výpočty pre programovateľný zosilňovač zosilnenia
- Testovanie programovateľného obvodu zosilňovača zosilnenia
- Výhody a nevýhody programovateľného zosilňovača zosilnenia
- Ďalšie vylepšenie
V meračskom priemysle je veľmi dôležitým funkčným blokom programovateľný zosilňovač zosilnenia (PGA). Ak ste elektronickým nadšencom alebo vysokoškolským študentom, pravdepodobne ste videli multimetr alebo osciloskop, ktorý meria veľmi malé napätie veľmi precízne, pretože obvod má vstavaný PGA spolu s výkonným ADC, ktorý pomáha pri presnom procese merania.
V dnešnej dobe ponúka bežný PGA zosilňovač operačný zosilňovač, neinvertujúci zosilňovač s užívateľsky programovateľným faktorom zosilnenia. Tento typ zariadenia má veľmi vysokú vstupnú impedanciu, veľkú šírku pásma a voliteľnú referenciu vstupného napätia zabudovanú do integrovaného obvodu. Všetky tieto funkcie však majú svoju cenu a pre mňa sa neoplatí dať takú nákladnú čipovú kartu pre všeobecnú aplikáciu.
Aby som tieto situácie prekonal, prišiel som s usporiadaním pozostávajúcim z operačného zosilňovača, MOSFET a Arduino, prostredníctvom ktorého som dokázal programovo zmeniť zisk operačného zosilňovača. Takže v tomto tutoriále vám ukážem, ako si vytvoriť vlastný programovateľný zosilňovač zosilnenia s operačným zosilňovačom LM358 a MOSFETS, a popri testovaní budem diskutovať o niektorých výhodách a nevýhodách obvodu.
Základy operačného zosilňovača
Aby sme pochopili fungovanie tohto obvodu, je veľmi dôležité vedieť, ako funguje operačný zosilňovač. Ak sa chcete dozvedieť viac informácií o operačnom zosilňovači, postupujte podľa tohto testovacieho obvodu operačného zosilňovača.
Na vyššie uvedenom obrázku vidíte operačný zosilňovač. Základnou úlohou zosilňovača je zosilniť vstupný signál. Okrem zosilnenia môže operačný zosilňovač robiť aj rôzne operácie, ako je súčet, diferenciácia, integrácia atď. Viac informácií o sčítacom zosilňovači a diferenciálnom zosilňovači sa dozviete tu.
Operačný zosilňovač má iba tri terminály. Terminál so znamienkom (+) sa nazýva neinvertujúci vstup a terminál so znamienkom (-) sa nazýva invertujúci vstup. Okrem týchto dvoch svoriek je tretia svorka výstupnou svorkou.
Operačný zosilňovač dodržiava iba dve pravidlá
- Zo vstupov operačného zosilňovača neprúdi žiadny prúd.
- Operačný zosilňovač sa snaží udržiavať vstupy na rovnakých úrovniach napätia.
Po objasnení týchto dvoch pravidiel teda môžeme analyzovať nižšie uvedené okruhy. Dozviete sa tiež viac o operačnom zosilňovači prechádzaním rôznych obvodov založených na operačných zosilňovačoch.
Programovateľný zosilňovač zosilnenia pracuje
Vyššie uvedený obrázok poskytuje základnú predstavu o usporiadaní obvodov môjho hrubého PGA zosilňovača. V tomto obvode je operačný zosilňovač nakonfigurovaný ako neinvertujúci zosilňovač a ako všetci vieme s usporiadaním neinvertujúceho obvodu, môžeme zmeniť zisk operačného zosilňovača zmenou spätnoväzbového odporu alebo vstupného odporu, ako môžete vidieť z vyššie uvedeného usporiadania obvodov, musím len postupne prepínať MOSFETy, aby sa zmenil zisk operačného zosilňovača.
V testovacej časti som urobil iba to, že som postupne prepínal MOSFETy a porovnával namerané hodnoty s praktickými hodnotami, výsledky môžete sledovať v časti „testovanie obvodu“ nižšie.
Súčasti sú povinné
- Arduino Nano - 1
- LM358 IC - 1
- Regulátor LM7805 - 1
- Generický NPN tranzistor BC548 - 2
- BS170 Generický N-kanálový MOSFET - 2
- 200K rezistor - 1
- 50K rezistor - 2
- 24K rezistor - 2
- 6.8K rezistor - 1
- 1K rezistor - 4
- 4.7K rezistor - 1
- 220R, 1% rezistor - 1
- Hmatové spínače - 1
- Jantárová LED 3 mm - 2
- Chlebová doska všeobecná - 1
- Jumper Wires Generic - 10
- Napájanie ± 12V - 1
Schematický diagram
Pre demonštráciu programovateľného zosilňovača zosilnenia je obvod pomocou schémy skonštruovaný na spájkovacej doske bez spájkovania. Na zníženie vnútornej parazitnej indukčnosti a kapacity nepájivej dosky boli všetky komponenty umiestnené čo najbližšie.
A ak sa pýtate, prečo je v mojej nepájivej doske zhluk drôtov? poviem ti, že je potrebné urobiť dobré uzemnenie, pretože vnútorné uzemňovacie kontakty v doske sú veľmi zlé.
Tu je operačný zosilňovač v obvode nakonfigurovaný ako neinvertujúci zosilňovač a vstupné napätie z regulátora napätia 7805 je 4,99 V.
Nameraná hodnota pre rezistor R6 je 6,75 K a R7 je 220,8 R, tieto dva odpory tvoria delič napätia, ktorý sa používa na generovanie vstupného testovacieho napätia pre operačný zosilňovač. Odpory R8 a R9 sú používané k obmedzeniu vstupný prúd bázy tranzistora T3 a T4. Tieto rezistory R10 a R11 sú použité pre obmedzenie rýchlosti zopnutie tranzistorov MOSFET T1 a T2, inak môže dôjsť k osciláciu v obvode.
V tomto blogu vám chcem ukázať dôvod, prečo používať skôr MOSFET ako BJT, teda usporiadanie obvodov.
Arduino kód pre PGA
Tu sa Arduino Nano používa na riadenie základne tranzistora a hradla MOSFETov a multimetr sa používa na zobrazovanie úrovní napätia, pretože vstavaný ADC Arduina robí veľmi zlú prácu, pokiaľ ide o meranie nízkych úrovne napätia.
Kompletný Arduino kód pre tento projekt je uvedený nižšie. Pretože sa jedná o veľmi jednoduchý Arduino kód, nemusíme zahrňovať žiadne knižnice. Musíme však definovať niektoré konštanty a vstupné piny, ako je znázornené v kóde.
Void setup () je hlavný funkčný blok, kde čítanie a operácie zápisu pre všetky vstupy a výstupy sú vykonávané podľa požiadavky.
#define BS170_WITH_50K_PIN 9 #define BS170_WITH_24K_PIN 8 #define BC548_WITH_24K_PIN 7 #define BC548_WITH_50K_PIN 6 #define BUTTON_PIN 5 #define LED_PIN1 2 #define LED_PIN2 3_deFine PR_DINED 3_deFine int debounce_counter = 0; void setup () {pinMode (BS170_WITH_50K_PIN, OUTPUT); pinMode (BS170_WITH_24K_PIN, VÝSTUP); pinMode (BC548_WITH_24K_PIN, VÝSTUP); pinMode (BC548_WITH_50K_PIN, VÝSTUP); pinMode (LED_PIN1, VÝSTUP); pinMode (LED_PIN2, VÝSTUP); pinMode (BUTTON_PIN, INPUT); } void loop () {bool val = digitalRead (BUTTON_PIN); // načítať vstupnú hodnotu if (val == LOW) {debounce_counter ++; if (debounce_counter> PRESSED_CONFIDENCE_LEVEL) {debounce_counter = 0; button_is_pressed ++; } if (button_is_pressed == 0) {digitalWrite (BS170_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_24K_PIN, LOW);digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, LOW); digitalWrite (LED_PIN2, LOW); } if (button_is_pressed == 2) {digitalWrite (BS170_WITH_24K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, LOW); digitalWrite (LED_PIN2, HIGH); } if (button_is_pressed == 3) {digitalWrite (BC548_WITH_24K_PIN, HIGH); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (BS170_WITH_24K_PIN, LOW); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, HIGH); digitalWrite (LED_PIN2, HIGH); } if (button_is_pressed == 1) {digitalWrite (BC548_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (BS170_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (LED_PIN1, HIGH);digitalWrite (LED_PIN2, LOW); } if (button_is_pressed> = 4) {button_is_pressed = 0; }}}
Výpočty pre programovateľný zosilňovač zosilnenia
Namerané hodnoty pre obvod zosilňovača PGA sú uvedené nižšie.
Vin = 4,99 V R7 = 220,8 Ω R6 = 6,82 KΩ R5 = 199,5K R4 = 50,45 K R3 = 23,99 K R2 = 23,98 K R1 = 50,5 K
Poznámka! Namerané hodnoty odporu sú zobrazené, pretože pomocou nameraných hodnôt odporu môžeme úzko porovnať teoretické hodnoty a praktické hodnoty.
Teraz je výpočet z kalkulačky deliča napätia uvedený nižšie,
Výstup deliča napätia je 0,1564V
Výpočet zisku neinvertujúceho zosilňovača pre 4 rezistory
Vout, keď R1 je vybraný rezistor
Vout = (1+ (199,5 / 50,5)) * 0,1564 = 0,77425V
Vout, keď R2 je vybraný rezistor
Vout = (1+ (199,5 / 23,98)) * 0,1564 = 1,45755V
Vout, keď R3 je vybraný rezistor
Vout = (1+ (199,5 / 23,99)) * 0,1564 = 1,45701V
Vout, keď R4 je vybraný rezistor
Vout = (1+ (199,5 / 50,45)) * 0,1564 = 0,77486V
Urobil som všetko pre to, aby som čo najviac priblížil teoretické a praktické hodnoty.
Po vykonaní všetkých výpočtov môžeme prejsť k sekcii testovania.
Testovanie programovateľného obvodu zosilňovača zosilnenia
Vyššie uvedený obrázok zobrazuje výstupné napätie, keď je zapnutý MOSFET T1, a preto prúd preteká odporom R1.
Vyššie uvedený obrázok zobrazuje výstupné napätie, keď je zapnutý tranzistor T4, a preto prúd preteká odporom R4.
Vyššie uvedený obrázok zobrazuje výstupné napätie, keď je zapnutý MOSFET T2, a preto prúd preteká odporom R2.
Vyššie uvedený obrázok zobrazuje výstupné napätie, keď je zapnutý tranzistor T3, a preto prúd preteká odporom R3.
Ako je zrejmé zo schémy, T1, T2 sú MOSFETy a T3, T4 sú tranzistory. Takže keď sa používajú MOSFETy, chyba je v rozsahu 1 až 5 mV, ale keď sa tranzistory používajú ako prepínače, dostávame chybu v rozsahu 10 až 50 mV.
S vyššie uvedenými výsledkami je zrejmé, že MOSFET je goto riešenie pre tento druh aplikácie a chyby v teoretickej aj praktickej môžu byť spôsobené chybou offsetu operačného zosilňovača.
Poznámka! Upozorňujeme, že som kvôli testovaniu pridal dve LED diódy, ktoré v skutočnej schéme nenájdete. Zobrazuje binárny kód, ktorý ukazuje, ktorý pin je aktívny.
Výhody a nevýhody programovateľného zosilňovača zosilnenia
Pretože tento obvod je lacný, ľahký a jednoduchý, dá sa implementovať do mnohých rôznych aplikácií.
Tu sa MOSFET používa ako prepínač na prechod všetkého prúdu cez rezistor na zem, a preto vplyv teploty nie je istý. Vďaka obmedzenému použitiu nástrojov a testovacích zariadení som vám nemohol ukázať účinky meniacej sa teploty na obvod.
Cieľom použitia BJT spolu s MOSFET je to, že vám chcem ukázať, aký zlý môže byť BJT pre tento druh aplikácie.
Hodnoty spätnoväzbových rezistorov a vstupných rezistorov musia byť v rozsahu KΩ, to znamená, že pri nižších hodnotách rezistorov bude cez MOSFET pretekať viac prúdu, a teda cez MOSFET bude klesať väčšie napätie, čo spôsobí nepredvídateľné výsledky.
Ďalšie vylepšenie
Obvod je možné ďalej upravovať, aby sa zlepšil jeho výkon, pretože môžeme pridať filter na potlačenie vysokofrekvenčných zvukov.
Pretože sa v tomto teste používa operačný zosilňovač so želé fazuľou LM358, chyby výstupného zosilňovača hrajú pri výstupnom napätí hlavnú úlohu. Môže sa teda ďalej vylepšiť použitím inštrumentálneho zosilňovača namiesto LM358.
Tento obvod je vyrobený iba na demonštračné účely. Ak uvažujete o použití tohto obvodu v praktickej aplikácii, musíte na dosiahnutie absolútnej stability použiť zosilňovač operačného zosilňovača a vysoko presný 0,1 ohmový rezistor.
Dúfam, že sa vám tento článok páčil a dozvedeli ste sa z neho niečo nové. Ak máte pochybnosti, môžete sa opýtať v komentároch nižšie alebo môžete využiť naše fóra na podrobnú diskusiu.