- Conceptes bàsics de l'Op-Amp
- Funcionament de l'amplificador de guany programable
- Components necessaris
- Diagrama esquemàtic
- Codi Arduino per a PGA
- Càlculs per amplificador de guany programable
- Prova del circuit amplificador de guany programable
- Avantatges i inconvenients de l'amplificador de guany programable
- Millora addicional
A la indústria de la mesura, un bloc funcional molt crucial és un amplificador de guany programable (PGA). Si sou un entusiasta de l’electrònica o un estudiant universitari, probablement hàgiu vist un multímetre o un oscil·loscopi que mesurava tensions molt petites molt preuat perquè el circuit té un PGA integrat al costat d’un potent ADC que us ajuda amb el procés de mesura precís.
Avui en dia, l’amplificador PGA a la venda ofereix un amplificador sense inversió basat en amplificador operatiu amb un factor de guany programable per l’usuari. Aquest tipus de dispositiu té una impedància d’entrada molt elevada, un ample de banda ampli i una referència de voltatge d’entrada seleccionable integrada a l’IC. Però totes aquestes funcions tenen un cost i, per a mi, no val la pena posar-ho tan car per a una aplicació genèrica.
Per superar aquestes situacions, he arribat a un acord que consisteix en un amplificador operatiu, MOSFET i Arduino, mitjançant el qual he pogut canviar el guany de l’amplificador operatiu per programació. Per tant, en aquest tutorial, us mostraré com construir el vostre propi amplificador de guany programable amb un amplificador operatiu LM358 i MOSFETS, i discutiré alguns pros i contres del circuit junt amb les proves.
Conceptes bàsics de l'Op-Amp
Per entendre el funcionament d’aquest circuit, és molt important saber com funciona un amplificador operacional. Per obtenir més informació sobre l’amplificador operatiu, seguiu aquest circuit de prova.

A la figura anterior, podeu veure un amplificador operacional. La tasca bàsica d’un amplificador és amplificar un senyal d’entrada, juntament amb l’amplificació, l’amplificador operatiu també pot fer diverses operacions com sumar, diferenciar, integrar, etc. Més informació sobre l’amplificador de suma i l’amplificador diferencial aquí.
L’amplificador operatiu només té tres terminals. El terminal amb el signe (+) s’anomena entrada que no inverteix i el terminal amb el signe (-) es diu entrada inversora. A més d’aquests dos terminals, el tercer terminal és el terminal de sortida.
Un amplificador operatiu només segueix dues regles
- Cap corrent entra ni surt de les entrades d'amplificador operatiu.
- L’amplificador operatiu intenta mantenir les entrades als mateixos nivells de voltatge.
Així, amb aquestes dues regles aclarides, podem analitzar els circuits següents. A més, podeu obtenir més informació sobre els amplificadors d’Op passant per diversos circuits basats en amplificadors d’Op.
Funcionament de l'amplificador de guany programable

La figura anterior us dóna una idea bàsica sobre la disposició del circuit del meu amplificador PGA cru. En aquest circuit, l’ ampli operatiu es configura com un amplificador sense inversió i, com tots sabem amb una disposició de circuits no inversors, podem canviar el guany de l’amplificador operatiu canviant la resistència de retroalimentació o la resistència d’entrada, com es pot veure a la disposició del circuit anterior, només necessito canviar els MOSFET d’un en un per canviar el guany de l’amplificador operatiu.
A la secció de proves, només vaig canviar els MOSFET d’un en un i vaig comparar els valors mesurats amb els valors pràctics i podeu observar els resultats a la secció "Prova del circuit" següent.
Components necessaris
- Arduino Nano - 1
- LM358 IC - 1
- Regulador LM7805 - 1
- BC548 Transistor NPN genèric - 2
- BS170 MOSFET genèric de canal N - 2
- Resistència 200K - 1
- Resistència de 50 K - 2
- Resistència 24K - 2
- Resistència de 6,8 K - 1
- Resistència 1K: 4
- Resistència de 4,7 K - 1
- 220R, 1% resistència - 1
- Interruptor tàctil genèric - 1
- LED ambre 3mm - 2
- Bread Board Generic - 1
- Jumper Wires Genèric - 10
- Font d'alimentació ± 12V - 1
Diagrama esquemàtic

Per a una demostració de l'amplificador de guany programable, el circuit es construeix sobre una placa de soldadura sense soldadura amb l'ajut de l'esquema; Per reduir la inductància i la capacitat paràsites internes de la placa, tots els components s'han col·locat el més a prop possible.

I si us pregunteu per què hi ha un cúmul de cables a la taula de treball? Permeteu-me que us digui que és una bona connexió a terra, ja que les connexions de terra internes en una taula de treball són molt pobres.
Aquí l’amplificador operatiu del circuit es configura com un amplificador sense inversió i la tensió d’entrada del regulador de voltatge 7805 és de 4,99 V.
El valor mesurat per a la resistència R6 és 6,75 K i R7 és 220,8R; aquestes dues resistències formen un divisor de tensió que s’utilitza per generar la tensió de prova d’entrada per a l’amplificador operacional. Les resistències R8 i R9 s’utilitzen per limitar el corrent de base d’entrada del transistor T3 i T4. Les resistències R10 i R11 s’utilitzen per limitar la velocitat de commutació dels MOSFET T1 i T2, en cas contrari, poden provocar oscil·lacions al circuit.
En aquest bloc, vull mostrar-vos el motiu per utilitzar un MOSFET en lloc d’un BJT, d’aquí la disposició del circuit.
Codi Arduino per a PGA
Aquí Arduino Nano s’utilitza per controlar la base del transistor i la porta dels MOSFET, i s’utilitza un multímetre per mostrar els nivells de tensió perquè l’ADC integrat de l’Arduino fa un treball molt deficient quan es tracta de mesurar la baixa nivells de tensió.
A continuació es mostra el codi Arduino complet per a aquest projecte. Com que es tracta d’un codi Arduino molt senzill, no cal que incloguem cap biblioteca. Però hem de definir algunes constants i pins d'entrada tal com es mostra al codi.
El buid setup () és el bloc funcional principal on es realitza l'operació de lectura i escriptura de totes les entrades i sortides segons el requisit.
#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_LE_FIN_PRESS int debounce_counter = 0; configuració nul·la () {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); // llegeix el valor d'entrada si (val == BAIX) {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, BAIX);digitalWrite (BC548_WITH_24K_PIN, BAIX); digitalWrite (BC548_WITH_50K_PIN, BAIX); digitalWrite (LED_PIN1, BAIX); digitalWrite (LED_PIN2, BAIX); } if (button_is_pressed == 2) {digitalWrite (BS170_WITH_24K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, BAIX); digitalWrite (BC548_WITH_24K_PIN, BAIX); digitalWrite (BC548_WITH_50K_PIN, BAIX); digitalWrite (LED_PIN1, BAIX); digitalWrite (LED_PIN2, HIGH); } if (button_is_pressed == 3) {digitalWrite (BC548_WITH_24K_PIN, HIGH); digitalWrite (BC548_WITH_50K_PIN, BAIX); digitalWrite (BS170_WITH_24K_PIN, BAIX); digitalWrite (BS170_WITH_50K_PIN, BAIX); digitalWrite (LED_PIN1, HIGH); digitalWrite (LED_PIN2, HIGH); } if (button_is_pressed == 1) {digitalWrite (BC548_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, BAIX); digitalWrite (BS170_WITH_24K_PIN, BAIX); digitalWrite (BC548_WITH_24K_PIN, BAIX); digitalWrite (LED_PIN1, HIGH);digitalWrite (LED_PIN2, BAIX); } if (button_is_pressed> = 4) {button_is_pressed = 0; }}}
Càlculs per amplificador de guany programable
Els valors mesurats per al circuit amplificador PGA es mostren a continuació.
Vin = 4,99 V R7 = 220,8 Ω R6 = 6,82 KΩ R5 = 199,5K R4 = 50,45K R3 = 23,99K R2 = 23,98K R1 = 50,5K
Nota! Es mostren els valors mesurats de la resistència perquè amb els valors de resistència mesurats podem comparar de prop els valors teòrics i els valors pràctics.
Ara es mostra a continuació el càlcul de la calculadora de divisor de tensió,

La sortida del divisor de tensió és de 0,1564V
Càlcul del guany de l'amplificador sense inversió per a les 4 resistències
Voteu quan R1 és la resistència seleccionada
Vout = (1+ (199,5 / 50,5)) * 0,1564 = 0,77725V
Voteu quan R2 és la resistència seleccionada
Vout = (1+ (199,5 / 23,98)) * 0,1564 = 1,45755V
Voteu quan R3 és la resistència seleccionada
Vout = (1+ (199,5 / 23,99)) * 0,1564 = 1,45701V
Voteu quan R4 és la resistència seleccionada
Vout = (1+ (199,5 / 50,45)) * 0,1564 = 0,77486V
Vaig fer tot això per comparar els valors teòrics i pràctics el més a prop possible.
Amb tots els càlculs fets, podem passar a la secció de proves.
Prova del circuit amplificador de guany programable

La imatge anterior us mostra el voltatge de sortida quan el MOSFET T1 està encès, per tant, el corrent flueix a través de la resistència R1.

La imatge anterior us mostra el voltatge de sortida quan el transistor T4 està engegat, per tant el corrent circula per la resistència R4.

La imatge anterior us mostra el voltatge de sortida quan el MOSFET T2 està engegat, per tant el corrent flueix a través de la resistència R2.

La imatge anterior us mostra la tensió de sortida quan el transistor T3 està engegat, de manera que el corrent circula per la resistència R3.
Com es pot veure a l’esquema que T1, T2 són MOSFET i T3, T4 són transistors. Per tant, quan s’utilitzen MOSFET, l’error està en un rang d’1 a 5 mV, però quan s’utilitzen transistors com a commutadors, rebem un error entre 10 i 50 mV.
Amb els resultats anteriors, queda clar que el MOSFET és la solució per a aquest tipus d’aplicacions i que els errors en el pla teòric i en el pràctic es poden produir a causa de l’error de compensació de l’amplificador operatiu.
Nota! Tingueu en compte que he afegit dos LEDs només per provar-los i no els podeu trobar a l’esquema real, mostra codi binari per mostrar quin pin està actiu
Avantatges i inconvenients de l'amplificador de guany programable
Com que aquest circuit és barat, fàcil i senzill, es pot implementar en moltes aplicacions diferents.
Aquí MOSFET s’utilitza com a interruptor per passar tot el corrent a través de la resistència a terra, per això l’efecte de la temperatura no és segur i , amb les meves eines i equips de prova limitats, no he estat capaç de mostrar-vos els efectes de la temperatura variable el circuit.
L'objectiu d'utilitzar un BJT juntament amb els MOSFET és perquè vull mostrar-vos el mal que pot ser un BJT per a aquest tipus d'aplicacions.
Els valors de les resistències de retroalimentació i les resistències d’entrada han d’estar en el rang de KΩ, és a dir, perquè amb valors de resistència més baixos, més corrent fluirà a través del MOSFET, de manera que caurà més tensió a través del MOSFET provocant resultats imprevisibles.
Millora addicional
El circuit es pot modificar per millorar el seu rendiment, de la mateixa manera que podem afegir el filtre per rebutjar sorolls d'alta freqüència.
Com que en aquesta prova s’utilitza l’ampli operatiu LM358 gelatina, els errors de compensació de l’amplificador operatiu tenen un paper important en la tensió de sortida. Per tant, es pot millorar encara més utilitzant un amplificador instrumental en lloc d’un LM358.
Aquest circuit es fa només amb fins demostratius. Si esteu pensant en utilitzar aquest circuit en una aplicació pràctica, heu d’utilitzar un amplificador operatiu tipus chopper i una resistència de 0,1 ohms d’alta precisió per aconseguir una estabilitat absoluta.
Espero que aquest article us hagi agradat i n’hagueu après alguna cosa nova. Si teniu algun dubte, podeu demanar-los als comentaris següents o fer servir els nostres fòrums per a una discussió detallada.
