- Podstawy wzmacniacza operacyjnego
- Działa wzmacniacz z programowalnym wzmocnieniem
- Wymagane składniki
- Schemat
- Kod Arduino dla PGA
- Obliczenia dla programowalnego wzmacniacza wzmocnienia
- Testowanie obwodu wzmacniacza programowalnego wzmocnienia
- Plusy i minusy programowalnego wzmacniacza wzmocnienia
- Dalsze ulepszenia
W branży pomiarowej bardzo ważnym blokiem funkcjonalnym jest wzmacniacz programowalnego wzmocnienia (PGA). Jeśli jesteś entuzjastą elektroniki lub studentem, prawdopodobnie widziałeś multimetr lub oscyloskop bardzo precyzyjnie mierzący bardzo małe napięcia, ponieważ obwód ma wbudowany PGA wraz z potężnym ADC, który pomaga w precyzyjnym procesie pomiaru.
Obecnie, dostępny z półki wzmacniacz PGA oferuje oparty na wzmacniaczu operacyjnym, nieodwracający wzmacniacz z programowalnym przez użytkownika współczynnikiem wzmocnienia. Ten typ urządzenia ma bardzo wysoką impedancję wejściową, szerokie pasmo i wybieralne napięcie odniesienia wbudowane w układ scalony. Ale wszystkie te funkcje mają swoją cenę, a dla mnie nie warto umieszczać tak kosztownego chipa dla ogólnej aplikacji.
Aby przezwyciężyć te sytuacje, opracowałem układ składający się ze wzmacniacza operacyjnego, MOSFET i Arduino, dzięki którym mogłem programowo zmienić wzmocnienie wzmacniacza operacyjnego. Tak więc w tym samouczku pokażę, jak zbudować własny wzmacniacz z programowalnym wzmocnieniem z wzmacniaczem operacyjnym LM358 i tranzystorami MOSFET, a oprócz testowania omówię kilka zalet i wad obwodu.
Podstawy wzmacniacza operacyjnego
Aby zrozumieć działanie tego obwodu, bardzo ważne jest, aby wiedzieć, jak działa wzmacniacz operacyjny. Dowiedz się więcej o wzmacniaczu operacyjnym, postępując zgodnie z tym obwodem testera wzmacniacza operacyjnego.
Na powyższym rysunku widać wzmacniacz operacyjny. Podstawowym zadaniem wzmacniacza jest wzmacnianie sygnału wejściowego. Oprócz wzmacniania, wzmacniacz operacyjny może również wykonywać różne operacje, takie jak sumowanie, różnicowanie, całkowanie itp. Dowiedz się więcej o wzmacniaczu sumującym i wzmacniaczu różnicowym.
Wzmacniacz operacyjny ma tylko trzy zaciski. Terminal ze znakiem (+) nazywany jest wejściem nieodwracającym, a terminal ze znakiem (-) nazywany jest wejściem odwracającym. Oprócz tych dwóch terminali trzeci zacisk jest terminalem wyjściowym.
Wzmacniacz operacyjny przestrzega tylko dwóch zasad
- Żaden prąd nie wpływa ani nie wypływa z wejść wzmacniacza operacyjnego.
- Wzmacniacz operacyjny stara się utrzymywać wejścia na tym samym poziomie napięcia.
Po wyjaśnieniu tych dwóch reguł możemy przeanalizować poniższe obwody. Dowiedz się więcej o wzmacniaczu operacyjnym, przechodząc przez różne obwody oparte na wzmacniaczu operacyjnym.
Działa wzmacniacz z programowalnym wzmocnieniem
Powyższy rysunek daje podstawowe wyobrażenie o układzie obwodu mojego crudowego wzmacniacza PGA. W tym obwodzie wzmacniacz operacyjny jest skonfigurowany jako wzmacniacz nieodwracający, a jak wszyscy wiemy z układem nieodwracającym, możemy zmienić wzmocnienie wzmacniacza operacyjnego, zmieniając rezystor sprzężenia zwrotnego lub rezystor wejściowy, jak widać z powyższego układu obwodów, wystarczy przełączać tranzystory MOSFET pojedynczo, aby zmienić wzmocnienie wzmacniacza operacyjnego.
W sekcji testowej zrobiłem tylko, że przełączałem tranzystory MOSFET pojedynczo i porównywałem zmierzone wartości z wartościami praktycznymi, a wyniki możesz obserwować w sekcji „testowanie obwodu” poniżej.
Wymagane składniki
- Arduino Nano - 1
- Układ scalony LM358 - 1
- Regulator LM7805 - 1
- Ogólny tranzystor NPN BC548 - 2
- BS170 Generic N-kanałowy MOSFET - 2
- Rezystor 200 K - 1
- Rezystor 50 K - 2
- Rezystor 24 K - 2
- Rezystor 6,8 K - 1
- Rezystor 1K - 4
- Rezystor 4,7 K - 1
- 220R, 1% rezystor - 1
- Przełącznik dotykowy Generic - 1
- Bursztynowa dioda LED 3mm - 2
- Deska do chleba Generic - 1
- Przewody połączeniowe ogólne - 10
- Zasilanie ± 12 V - 1
Schemat
Aby zademonstrować działanie wzmacniacza programowalnego wzmocnienia, obwód jest zbudowany na bezlutowej płytce stykowej za pomocą schematu; Aby zmniejszyć wewnętrzną indukcyjność pasożytniczą i pojemność płytki stykowej, wszystkie elementy zostały umieszczone jak najbliżej.
A jeśli zastanawiasz się, dlaczego w mojej płytce stykowej jest wiązka przewodów? powiem ci, że należy wykonać dobre połączenie z masą, ponieważ wewnętrzne połączenia uziemiające w płytce stykowej są bardzo słabe.
Tutaj wzmacniacz operacyjny w obwodzie jest skonfigurowany jako wzmacniacz nieodwracający, a napięcie wejściowe z regulatora napięcia 7805 wynosi 4,99 V.
Zmierzona wartość dla rezystora R6 to 6,75K, a R7 to 220,8R, te dwa rezystory tworzą dzielnik napięcia, który jest używany do generowania wejściowego napięcia testowego dla wzmacniacza operacyjnego. Rezystory R8 i R9 są stosowane w celu ograniczenia prądu bazowego wejścia tranzystora T3 i T4. Do rezystorów R10 i R11 są stosowane do ograniczenia prędkości przełączania tranzystorów MOSFET T1 i T2, w przeciwnym razie może to spowodować oscylacji układu.
Na tym blogu chcę pokazać powód używania MOSFET-u zamiast BJT, stąd układ obwodu.
Kod Arduino dla PGA
Tutaj Arduino Nano służy do sterowania bazą tranzystora i bramką tranzystorów MOSFET, a multimetr służy do pokazywania poziomów napięcia, ponieważ wbudowany ADC Arduino radzi sobie bardzo słabo, jeśli chodzi o pomiar niskich poziomy napięcia.
Pełny kod Arduino dla tego projektu znajduje się poniżej. Ponieważ jest to bardzo prosty kod Arduino, nie musimy dołączać żadnych bibliotek. Ale musimy zdefiniować pewne stałe i piny wejściowe, jak pokazano w kodzie.
Void setup () to główny blok funkcjonalny gdzie odczytu i zapisu operacji dla wszystkich wejść i wyjść są wykonywane zgodnie z wymaganiami.
# zdefiniować BS170_WITH_50K_PIN 9 # zdefiniować BS170_WITH_24K_PIN 8 # zdefiniować BC548_WITH_24K_PIN 7 # zdefiniować BC548_WITH_50Kpress_PIN 6 # zdefiniować BUTTON_PIN 5 # zdefiniować BC548_WITH_24K_PIN 7 # zdefiniować BC548_WITH_50Kpress_PIN 6 # zdefiniować BUTTON_PIN 5 # zdefiniować LED_PIN1_PIN1 2ine int debounce_counter = 0; void setup () {pinMode (BS170_WITH_50K_PIN, OUTPUT); pinMode (BS170_WITH_24K_PIN, OUTPUT); pinMode (BC548_WITH_24K_PIN, OUTPUT); pinMode (BC548_WITH_50K_PIN, OUTPUT); pinMode (LED_PIN1, OUTPUT); pinMode (LED_PIN2, OUTPUT); pinMode (BUTTON_PIN, INPUT); } void loop () {bool val = digitalRead (BUTTON_PIN); // odczytaj wartość wejściową 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; }}}
Obliczenia dla programowalnego wzmacniacza wzmocnienia
Poniżej przedstawiono zmierzone wartości dla obwodu wzmacniacza PGA.
Vin = 4,99 V R7 = 220,8 Ω R6 = 6,82 KΩ R5 = 199,5 K R4 = 50,45 K R3 = 23,99 K R2 = 23,98 K R1 = 50,5 K
Uwaga! Wyświetlane są zmierzone wartości rezystora, ponieważ dzięki zmierzonym wartościom rezystora możemy dokładnie porównać wartości teoretyczne i praktyczne.
Teraz obliczenia z kalkulatora dzielnika napięcia pokazano poniżej,
Wyjście dzielnika napięcia wynosi 0,1564 V.
Obliczenie wzmocnienia wzmacniacza nieodwracającego dla 4 rezystorów
Vout, gdy R1 jest wybranym rezystorem
Vout = (1+ (199,5 / 50,5)) * 0,1564 = 0,77425 V.
Vout, gdy R2 jest wybranym rezystorem
Vout = (1+ (199,5 / 23,98)) * 0,1564 = 1,45755V
Vout, gdy R3 jest wybranym rezystorem
Vout = (1+ (199,5 / 23,99)) * 0,1564 = 1,45701 V.
Vout, gdy R4 jest wybranym rezystorem
Vout = (1+ (199,5 / 50,45)) * 0,1564 = 0,77486 V.
Zrobiłem to wszystko, aby jak najbliżej porównać wartości teoretyczne i praktyczne.
Po wykonaniu wszystkich obliczeń możemy przejść do sekcji testów.
Testowanie obwodu wzmacniacza programowalnego wzmocnienia
Powyższy obraz przedstawia napięcie wyjściowe, gdy tranzystor MOSFET T1 jest włączony, stąd prąd przepływa przez rezystor R1.
Powyższy obraz pokazuje napięcie wyjściowe, gdy tranzystor T4 jest włączony, stąd prąd przepływa przez rezystor R4.
Powyższy obraz pokazuje napięcie wyjściowe, gdy tranzystor MOSFET T2 jest włączony, stąd prąd przepływa przez rezystor R2.
Powyższy obraz pokazuje napięcie wyjściowe, gdy tranzystor T3 jest włączony, stąd prąd przepływa przez rezystor R3.
Jak widać ze schematu, T1, T2 to tranzystory MOSFET, a T3, T4 to tranzystory. Więc kiedy używane są tranzystory MOSFET, błąd mieści się w zakresie od 1 do 5 mV, ale gdy tranzystory są używane jako przełączniki, otrzymujemy błąd w zakresie od 10 do 50 mV.
Z powyższych wyników jasno wynika, że MOSFET jest rozwiązaniem goto dla tego rodzaju aplikacji, a błędy w teorii i praktyce mogą być spowodowane błędem offsetu wzmacniacza operacyjnego.
Uwaga! Zwróć uwagę, że dodałem dwie diody tylko ze względu na testowanie i nie możesz ich znaleźć na rzeczywistym schemacie, pokazuje kod binarny, aby pokazać, który pin jest aktywny
Plusy i minusy programowalnego wzmacniacza wzmocnienia
Ponieważ ten obwód jest tani, łatwy i prosty, można go wdrożyć w wielu różnych zastosowaniach.
Tutaj MOSFET jest używany jako przełącznik do przepuszczania całego prądu przez rezystor do masy, dlatego wpływ temperatury nie jest pewny, a przy moich ograniczonych narzędziach i sprzęcie testowym nie byłem w stanie pokazać Ci wpływu zmiennej temperatury na obwód.
Celem stosowania BJT obok tranzystorów MOSFET jest to, że chcę pokazać, jak słaby może być BJT dla tego rodzaju aplikacji.
Wartości rezystorów sprzężenia zwrotnego i rezystorów wejściowych muszą znajdować się w zakresie KΩ, to znaczy, że przy niższych wartościach rezystorów przez MOSFET przepłynie więcej prądu, a tym samym więcej napięcia spadnie na MOSFET, powodując nieprzewidywalne wyniki.
Dalsze ulepszenia
Obwód można dalej modyfikować, aby poprawić jego wydajność, tak jak możemy dodać filtr odrzucający szumy o wysokiej częstotliwości.
Ponieważ w tym teście używany jest wzmacniacz operacyjny Jelly Bean LM358, błędy przesunięcia wzmacniacza operacyjnego odgrywają główną rolę przy napięciu wyjściowym. Więc można go dalej ulepszyć, używając wzmacniacza instrumentalnego zamiast LM358.
Ten obwód jest przeznaczony wyłącznie do celów demonstracyjnych. Jeśli myślisz o zastosowaniu tego obwodu w praktycznym zastosowaniu, musisz użyć wzmacniacza operacyjnego typu przerywacza i wysokiej precyzji rezystora 0,1 oma, aby uzyskać absolutną stabilność.
Mam nadzieję, że spodobał Ci się ten artykuł i nauczyłeś się z niego czegoś nowego. Jeśli masz jakiekolwiek wątpliwości, możesz zapytać w komentarzach poniżej lub skorzystać z naszych forów w celu szczegółowej dyskusji.