Utilizzo di un optoisolatore per modificare l'amplificazione di un amplificatore operazionale


11

Considera questo circuito, che è un amplificatore standard non invertente con un'amplificazione di A = 1+R1/R2.

Amplificatore standard non invertente con A = 1 + R1 / R2

Ora voglio essere in grado di modificare dinamicamente questo valore di amplificazione, usando un pin del microcontrollore. Ho trovato questa soluzione, che sostanzialmente modifica il valore del resistore di feedback inserendo un altro resistore in parallelo:

Amplificatore senza inversione con amplificatore variabile

Io penso che la nuova amplificazione (con l'optoisolatore acceso) è

A = 1 + (R1||R3)/R2
  = 1 + (R1 R3)/(R2(R1+R3))

Questa soluzione funzionerebbe davvero nel modo in cui intendevo? Sono particolarmente preoccupato che la tensione di saturazione del fototransistor possa influenzare l'amplificatore operazionale in qualche modo. In tal caso, esiste una soluzione alternativa a questo problema?


1
Domanda interessante e sono curioso di rispondere io stesso. Ma imparerai di più costruendo il circuito e testando il risultato, quindi discuterai i risultati in una domanda se non li capisci o vuoi migliorare la risposta.
jippie,

2
C'è un motivo particolare per cui è necessario isolare l'MCU dall'opamp? Chiedo perché la mia risposta normale sarebbe quella di utilizzare una pentola digitale, o un interruttore digitale e alcuni resistori, per ottenere lo stesso risultato.
Markt

Dai un'occhiata a questo foglio dati , ci sono alcune applicazioni interessanti in esso. Si basa su un FET fotoaccoppiatore e le caratteristiche sono più compatibili con CA rispetto a un tipo bipolare. Hai davvero bisogno dell'isolamento BTW, potrebbero esserci anche altre opzioni.
jippie,

@markt: l'µC si trova effettivamente su un'altra scheda e la scheda con l'amplificatore operazionale ha solo un'alimentazione a 24 V. Inoltre, voglio che il circuito sia il più semplice possibile, quindi sarebbe meglio evitare di avere fili aggiuntivi per l'alimentazione ecc. Ma grazie comunque per il suggerimento, forse morderò il proiettile e userò la tua soluzione;)
Geier

@jippie: vedi la mia risposta al commento di markt. L'isolamento sarebbe bello, ma sono sicuramente curioso di altre soluzioni. Vorrei aggiungere l'isolamento da qualche altra parte, quindi.
Geier,

Risposte:


7

Presupposto : è necessario un certo isolamento ottico tra controllo del guadagno (uscita uC) e modulo di amplificazione.

Ecco una semplificazione dell'approccio nella domanda, che rimuove eventuali transistor / FET dal percorso di feedback e fornisce una gamma analogica (continua) di guadagni, pur mantenendo l'isolamento ottico - Utilizzare un accoppiatore ottico LDR come usato in alcuni classici e Amplificatori audio fai-da-te :

LDR opto

Per un'alternativa una tantum o fai-da-te, usa invece un resistore CdS economico e onnipresente, abbinato a un normale LED:

LDR

Lo schema è quindi:

schematico

simula questo circuito - Schema creato usando CircuitLab

La resistenza di controllo del guadagno è la combinazione parallela di R1 e (R2 + R_LDR).

Variando il ciclo di lavoro di un segnale PWM o la tensione di un pin di uscita DAC del microcontrollore, l'intensità della luce del LED viene variata. All'aumentare di questo, la resistenza del LED diminuisce, da un valore molto alto (ovvero un effetto limitato sul calcolo del guadagno) quando il LED è spento, a un valore basso quando il LED è quasi al 100% del ciclo di lavoro.

Nota : se si utilizza PWM, la frequenza PWM deve essere significativamente superiore alla banda di frequenza di interesse del segnale. Altrimenti il ​​PWM si accoppierà nel percorso del segnale, come sottolineato da @ pjc50.


La frequenza PWM non si accoppierebbe nell'uscita?
pjc50,

Non importa se la frequenza PWM non rientra bene nella frequenza audio. I LDR hanno una risposta molto lenta, il tempo di salita da 5 a 10 nS è tipico, quindi fungerebbero da filtri passa-basso.
Anindo Ghosh,

@ pjc50 In realtà, lasciami correggere che: OP non ha dichiarato in quale intervallo di frequenza è presente il segnale per l'amplificazione. Quindi sì, se la frequenza PWM fosse all'interno o vicino alla banda desiderata, e tuttavia non abbastanza alta per la risposta passa basso del LDR per dare il via, allora ci sarebbe l'accoppiamento del PWM nel percorso del segnale.
Anindo Ghosh,

5

Tutte le risposte fornite sono più o meno praticabili, ma presentano alcuni svantaggi:

  1. Tutti, ma le risposte di Anindo Ghosh funzionano solo con tensioni piuttosto basse o hanno un intervallo di regolazione ridotto (ben o distorsioni non lineari molto elevate).

  2. La soluzione con il resistore fotografico funzionerà, ma gli accoppiatori ottici del resistore sono una sorta di elementi esotici.

  3. È quasi impossibile fornire un guadagno esatto e questo guadagno varierà con la temperatura.

Quindi, tali schemi sono adatti solo per schemi AGC in cui il secondo back feed regolerà il guadagno ai valori necessari.

Se è necessario impostare il guadagno esatto e affidabile , l'unico metodo di lavoro consiste nell'utilizzare MOSFET controllati in modalità di commutazione (ON / OFF) e resistori normali:

schematico

simula questo circuito - Schema creato usando CircuitLab


al posto del MOSFET discreto è possibile utilizzare il CI di commutazione CMOS analogico Quad CD4066
yogece

1
@yogece Sì, ma non è davvero necessario, perché gli switch hanno un'estremità messa a terra. IMO, si può usare un pacchetto di diversi MOSFET a bassa potenza.
johnfound,

Prego.
Markt

2

Perché non usi un controllo di guadagno da un bus SPI dall'MCU: -

inserisci qui la descrizione dell'immagine

Esistono altri chip di controllo del guadagno che possono essere attivati ​​dalle linee hardware se non ti piace SPI. Ho ampiamente usato questo dispositivo e posso garantirne l'utilità e l'accuratezza.

Le cose SPI non devono essere ad alta velocità e possono essere isolate anche se ne hai davvero bisogno. Ho eseguito SPI 2MHz a 10 metri con driver decenti, ma andare a velocità piuttosto bassa non sarà un problema.


1

schematico

simula questo circuito - Schema creato usando CircuitLab

Supponendo che la terra del segnale dell'amplificatore operazionale e la terra dell'MCU siano identici, questo approccio funzionerebbe. In caso contrario, utilizzare un accoppiatore ottico per pilotare il MOSFET. È inoltre possibile aggiungere più MOSFET paralleli (con linee di controllo separate) per ottenere più opzioni di guadagno.


Hai scambiato gli ingressi dell'amplificatore operazionale;). Ma a parte questo, è un approccio interessante. Lo fa deve essere un MOSFET, o sarebbe un'opera uno bipolare come bene?
Geier,

lol non ha nemmeno pensato agli ingressi ;-) Un MOSFET sarebbe meglio, perché presenterà al circuito (quando attivo) come una piccola resistenza a terra. Ho il sospetto che un BJT sembrerebbe un pozzo attuale, cioè guiderebbe attivamente il percorso di feedback di Opamp e interferirebbe con il funzionamento di Opamp. Vale la pena provare la breadboard.
Markt

@ pjc50: Per come la vedo io, questa soluzione non dipende dal fatto che l'ingresso FET sia un PWM. Non voglio usare PWM comunque.
Geier,

Oops, quel commento era sulla risposta sbagliata!
pjc50,

0

Direi che un'idea migliore sarebbe quella di utilizzare l'optoisolatore per controllare uno switch CMOS e usarlo per attivare il resistore. Mettere un fototransistor nel loop in quel modo può avere strani risultati.


0

Sto rispondendo alla mia domanda qui, perché ho seguito il consiglio di jippie. Ho costruito il circuito su una breadboard ed eseguito le misurazioni.

  • Alimentazione: 5 V (7805)
  • Amplificatore operazionale: LM324
  • Optoisolatore: SFH610A-3
  • R1: 21,7 k
  • R2: 9,83 k
  • R3: 21,8 k
  • Acceso l'opto-isolatore con una corrente di 7,7 mA

Con questi valori di resistenza, l'amplificazione prevista è 2,11.

Ecco i risultati della misurazione:

Vin     Vout measured   Vout Expected   Difference in %
0       0               0   
0.077   0.164           0.162           1.2
0.1     0.213           0.211           0.9
0.147   0.314           0.31            1.3
0.154   0.329           0.324           1.5
0.314   0.668           0.661           1.1
0.49    1.04            1.032           0.8
0.669   1.422           1.409           0.9
0.812   1.726           1.71            0.9
1       2.12            2.106           0.7
1.23    2.61            2.591           0.7
1.52    3.24            3.202           1.2
1.84    3.75            3.876           -3.3     |
2.1     3.75            4.423           -15.2    | (reached max output voltage)
2.54    3.75            5.35            -29.9    v

misurazione

Inoltre, ho misurato la tensione attraverso R3 e l'opto-transistor, permettendomi di calcolare un valore di resistenza per il transistor. Questo ha oscillato da 400 a 800 Ohm, molto probabilmente a causa del mio multimetro che ha problemi a misurare le piccole tensioni. Compensare l'amplificazione prevista aggiungendo 600 Ohm a R3, riduce la differenza allo 0,6% max.

Quindi la mia risposta è: Sì, funzionerà come mi aspettavo, probabilmente principalmente a causa delle correnti così basse che il transistor viene utilizzato in un'area lineare. Non mi aspetterei gli stessi risultati se i resistori utilizzati avessero una resistenza molto inferiore.

Tuttavia, ho cambiato il mio circuito per usare il metodo suggerito da Markt e Johnfound. Sembra più corretto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.