Analisi di stabilità (margine di fase) in circuiti di feedback reali


15

Quindi ho avuto una brillante idea di usare un feedback negativo per controllare la corrente di offset nel mio circuito di acquisizione dati. Certo, potresti farlo nel software, ma rimuovere l'offset in fase di ingresso ridurrebbe l'oscillazione e consentirebbe più guadagno nell'amplificatore pre-ADC senza saturazione, migliorando così SNR.

Quindi ho progettato questo circuito di feedback e la mia azienda lo ha realizzato. E ha oscillato a circa 50kHz, il che probabilmente non sorprende la maggior parte degli esperti, perché l'unica analisi di stabilità che ho fatto è stata di verificare tre volte di avere un feedback negativo.

Il loop effettivo include un amplificatore di campionamento e mantenimento (questa sezione, che include la traccia e entrambi i resistori della traccia R , è stata dimostrata in una precedente iterazione), ma l'oscillazione si verifica solo durante la fase della traccia, quindi ho riprodotto il loop come esiste durante la fase della traccia.CtrackRtraccia

L'idea di base è che l'anello di retroazione deve forzare i due ingressi del OA2 alla stessa tensione (bene, la tensione di uscita divisa per il guadagno ad anello aperto OA2), in modo che 's tensione di offset è costretto a V compensare . Quindi il sample-and-hold passa alla modalità hold e io acquisisco V out .VoutVcompensareVsu

CircuitLab Schematic vx9f56

Ho studiato margine di guadagno e margine di fase a scuola, ma non ho avuto alcuna pratica recente con questo e non sono davvero sicuro di come creare un diagramma di Bode per questo circuito reale. OA1 e OA2 sono un OPA2376 e OA3 è un OPA340 . Ci sono connessioni aggiuntive per bypass di alimentazione, ecc., Che ho interrotto perché non credo siano rilevanti per il percorso del segnale. Ma sentiti libero di chiedere su quelli se c'è una ragione per cui avrebbero importanza per la stabilità. E l' alimentazione rappresenta la corrente dal sensore, che non è in realtà una fonte di corrente ideale.io1

Come si sviluppa un diagramma di Bode per circuiti come questo usando op-amp non ideali che contengono poli importanti oltre a quelli creati dai miei componenti passivi? Basta leggere quelli dai fogli dati e sovrapporre

Sono preoccupato perché la frequenza di oscillazione è così bassa e vicina alla banda passante desiderata.

Ho ragione a pensare che il problema dello sfasamento sia causato dalle frequenze d'angolo degli amplificatori operazionali inferiori a 10Hz? Se utilizzo una rete di feedback della resistenza, troncerò il guadagno ad anello aperto, spostando la frequenza dell'angolo verso destra (dove il diagramma ad anello aperto interseca il mio nuovo guadagno)? E lo sfasamento inizierà anche a una frequenza più elevata?

La mia impressione è che sia OA1 che OA3 abbiano un guadagno di tensione unitaria (invertendo), a causa del feedback esistente. Il che lascia OA2 come problema. Quale sarebbe un buon circuito di feedback per OA2 per stabilizzare il circuito complessivo, mantenendo piccolo l'errore di offset e tempo di assestamento non più di (perché poi devo passare alla modalità di attesa)? O dovrei essere adegua C TIA e / o R pista , invece, per spostare i miei pali esistenti invece di crearne di nuovi?250μSCtiaRtraccia


1
Capisci, non è vero, che anche il feedback negativo della larghezza di banda eliminerà il segnale e l'offset? Si desidera limitare la larghezza di banda del feedback di annullamento dell'offset a un valore molto basso, in genere inferiore a 1 Hz. Questo si chiama "DC servo loop" e puoi trovare molte informazioni usando quello come termine di ricerca.
Dave Tweed

@Dave: ecco a cosa serve il sample-and-hold. Forse "input offset" non è esattamente il termine giusto, ma sto misurando un accoppiamento ottico variabile nel tempo tra un LED e un fototransistor, il LED è modulato da un'onda quadra. Questo circuito dovrebbe azzerare la risposta alla luce ambientale / esterna, che può cambiare più velocemente di 1Hz. L'amplificatore Sample-and-hold OA3 è sincronizzato con l'eccitazione a LED.
Ben Voigt,

1
In tal caso, ciò che stai costruendo è noto come " amplificatore stabilizzato a chopper " - un altro buon termine di ricerca.
Dave Tweed

1
@Kaz: guarda più da vicino, l'ingresso è una fonte attuale.
Ben Voigt,

1
Ah, mio ​​cattivo. Vedo la piccola freccia ora dietro la sinusoidale.
Kaz

Risposte:


19

Caspita, è impressionante che tu faccia questa domanda, mostra un ammirevole coraggio.

Analisi di stabilità del loop nel mondo reale.

"Come si sviluppa un diagramma di Bode per circuiti come questo usando amplificatori operazionali non ideali che contengono poli importanti oltre a quelli creati dai miei componenti passivi?"

Due domande dovrebbero essere tenute a mente durante lo sviluppo di progetti di circuiti:

  1. Questo design fa quello che deve fare?
  2. Questo design fa quello che dovrebbe (progettato) fare?

La prima domanda è la più importante, ma la ignoreremo ora per esaminare la seconda, che è dove l'analisi di stabilità si adatterebbe al processo di progettazione. Questa sarà una dimostrazione di una tecnica ben nota, l'analisi di Bode, applicata a semplici loop costituiti da OpAmps, resistori, condensatori e poli e zeri del semipiano sinistro. Mentre questo può essere esteso a tipi di loop più complicati, non sarà qui, perché sarà abbastanza lungo così com'è. Quindi, non troverai discussioni sulle topologie di loop che cambiano periodicamente durante un ciclo operativo, senza poli che scompaiono, senza zeri del mezzo piano vaganti a destra e nessun altro trucco sporco.

L'analisi di stabilità prevede tre passaggi:

  1. Valutazione rapida e sporca (QnD).
    • Cerca bandiere rosse. Scopri eventuali errori evidenti.
    • Eseguire un rilevamento di poli e zeri e guadagno del loop.
    • Utilizzare un modello asintotico di Bode per ottenere una valutazione approssimativa del margine di fase. Presta la massima attenzione al margine di fase poiché è il più affidabile raccontare della stabilità, mentre il guadagno deve essere maggiore di 0 dB.
  2. Modello numerico e simulazione. Utilizzare questo per ottenere un'immagine più precisa e accurata del guadagno del loop e del margine di fase rispetto a QnD. Inoltre puoi anche fare un'analisi montecarlo della stabilità del loop.
  3. Misurazione fisica. Ne parlerò (a malapena) di questo qui nell'introduzione, poiché è un argomento troppo grande. Chiunque lavori con circuiti ad alte prestazioni e si preoccupi della stabilità farà una misura del circuito fisico del proprio circuito. Per la misurazione del loop avrai bisogno di un analizzatore di rete (come un E5061 o AP300 per esempio) e un amplificatore sommatore per interrompere il loop e iniettare il segnale perturbante. È davvero bello costruire l'amplificatore summing, insieme ad alcuni micro connettori, nel tuo design in modo da poter eseguire un loop in qualsiasi momento.

Alcune cose da tenere a mente sull'analisi di Bode:

  • Questa è solo una tecnica lineare. Nessuna moltiplicazione di frequenza consentita nel loop ... la frequenza della sorgente spazzata deve essere confrontata in ingresso e in uscita senza che l'energia sia stata inserita in altre frequenze per rendere utili i risultati.
  • Anche questo è davvero un tipo di analisi del segnale AC piccolo.
  • L'analisi viene eseguita solo su loop aperti. Tutta un'analisi a circuito chiuso ti darebbe una risposta piatta di zero dB fino a quando il guadagno ad anello aperto scende al di sotto di zero dB. Quindi, devi interrompere il loop e quindi puoi vedere il contributo di tutti i poli e zeri nel loop.
  • Qualsiasi loop con guadagno che attraversa zero dB a> 20dB / decade (più di 1 polo non compensato) sarà instabile.
  • Volete davvero un margine di fase> 35 gradi.

Eseguiremo i passaggi 1 e 2 usando il tuo loop come esempio.

1. Veloce e sporco

Bandiere rosse

Dai una rapida occhiata globale al loop per tutto ciò che risalta.

  • In questo caso vediamo OA2, non compensato con guadagno incontrollato. Avere un amplificatore non compensato nel loop è sempre discutibile, e di solito una cattiva idea. Se è necessario un elevato guadagno in CC, è necessario utilizzare un integratore.
  • Nessuno zero. Questo è negativo poiché c'è più di 1 polo (in realtà ci sono 3 poli) ... il loop sarà instabile con un guadagno adeguato (e poiché OA2 ha il massimo guadagno, le cose non sembrano troppo buone).

Ricorda che questa è un'impressione istantanea, alla ricerca di cose che si distinguono in modo evidente. Funziona meglio se vedi cosa c'è in 5 o 10 secondi. Spesso è difficile farlo con il proprio circuito, una visione esterna può essere molto preziosa.

Indagine su palo, zero e guadagno

L'analisi asintotica di Bode funziona meglio con poli e zeri semplici ed è meno accurata con poli e zeri complessi a causa del fattore di smorzamento. Di solito i loop OpAmp hanno principalmente poli e zeri semplici. Andare avanti e tenere conto di eventuali coppie complesse, ma tenere presente che questa analisi approssimativa sarà probabilmente imprecisa e eccessivamente ottimista quando sono presenti. In questo caso, tuttavia, tutti i poli sono semplici.

Di solito è meglio rompere le cose per fase di OpAmp, quindi:

  • OA1: polo a 36kHz, guadagno = 26dB
  • OA2: Polo a 1Hz, guadagno = 120dB Nota, questa è un'ipotesi sull'LFP e guadagno di OA2 poiché non mi sono ancora preoccupato di guardare
  • OA3: polo a 6kHz, guadagno = 0 dB

Modello di Bode asintotico

Utilizzando le posizioni dei poli dell'indagine, calcolare il margine di fase usando il modello asintotico di Bode. Richiama il polo sinistro del mezzo piano e le caratteristiche zero secondo Bode sono:

  • Poli: il guadagno scende a 20 dB / decennio (6 dB / ottava) a partire dalla frequenza dei poli. La fase scende a 45 ° / decennio (13,5 ° / ottava) per un totale di 90 ° centrato sulla frequenza dei poli.
  • Zeri: il guadagno aumenta a 20 dB / decennio (6 dB / ottava) a partire dalla frequenza zero. La fase aumenta a 45 ° / decennio (13,5 ° / ottava) per un totale di 90 ° centrato alla frequenza zero.

Innanzitutto, sappiamo che in questo caso dobbiamo solo prestare attenzione alla fase a causa dell'elevato guadagno di OA2. Basta aggiungere la fase per alcune frequenze fino a quando non troviamo dove il margine di fase è zero. Per mantenere le cose in ordine, lo metterò in un tavolo.

FreqOA1OA2OA3φT φM DC-180-180-180-5401806KHz-190-270-225-6853518KHz-212-270-247-729-936kHz-225-270-260-755-35

Basato sul margine di fase (φM) risultato, il loop oscillerà a circa 15kHz (perché è lì φM è zero).

Il calcolo usando QnD per raggiungere questa conclusione è durato circa 4 minuti. Ora, questo è una specie di caso semplificato speciale, dal momento che non era necessario considerare il guadagno del loop (il guadagno era così alto che non c'era dubbio che il loop sarebbe instabile, proprio doveφM sarebbe zero) quindi, altri loop potrebbero richiedere un po 'più di tempo.

L'uso approssimativo dell'analisi di Bode può essere un modo molto rapido per comprendere un loop. Puoi scarabocchiarlo su un tovagliolo in una fredda barra scura ... ah, non importa, è uno spreco orribile di un happy hour. Tuttavia, puoi scarabocchiarlo a margine di una diapositiva di revisione del ciclo del loop mentre il presentatore ne parla, quindi prima che la diapositiva venga capovolta chiedi loro se sono preoccupati per tutto quel cambiamento di fase. (Inizia a fare domande del genere nelle recensioni sul design e probabilmente non perderai più molto tempo in esse.)

Quindi, chi fa questo tipo di analisi? Sembra che quasi nessuno lo faccia. La maggior parte delle persone si tuffa nel modello numerico, il che è un peccato. L'approccio QnD può farti pensare al loop in un modo che altrimenti non potresti. Dopo QnD saprai fondamentalmente cosa dovrebbe fare il loop e eviterai il problema più grande con la simulazione numerica che è la cieca credulità e l'accettazione di una risposta magica.

2. Modello numerico e simulazione

Ora che hai una buona idea di cosa dovrebbe fare il loop, è tempo di un modello numerico e una simulazione. Ciò si tradurrà in un vero diagramma di Bode. Per l'analisi della stabilità, il modello opamp deve tenere conto della resistenza in ingresso (Rio), resistenza di uscita (Ro), guadagno ad anello aperto (UNv) e polo a bassa frequenza (LFP). Puoi farlo con quello che viene spesso chiamato un modello di amplificatore di livello 1 che utilizza 3 resistori, 2 sorgenti di tensione controllate in tensione e un condensatore. Un esempio di un modello di livello 1 può essere trovato qui . Per un'analisi del segnale di piccole dimensioni in CA è sufficiente un modello di livello uno.

Per i due amplificatori utilizzati qui i parametri del modello sono:

ParametroOPA2376OPA340UNv 126dB115 dBLFP0.6 Hz4 HzRi1012 Ohm1013 Ohmro150 Ohm10 Ohm

È possibile interrompere il loop ovunque (tranne una giunzione sommatoria dell'amplificatore) durante la costruzione del modello. Ho scelto di romperlo nel nodo comune con Rfb, Rtrack2 e OA3out separando Rfb per renderlo esplicitamente l'input per il 1 ° stadio (OA1). Quindi, l'oscillatore (e l'ingresso del loop) andrebbe in OA1 attraverso Rfb e l'uscita del loop sarebbe sull'uscita OA3. Costruisci il modello in un SPICE come un simulatore a tua scelta, e traccia l'ampiezza e la fase di OA3out / Oscin.

Ecco i risultati che ho ottenuto da 1Hz a 1MHz.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Analisi QnD mostrate φM = 0 a 15kHz, ma il modello numerico mostra φM= 0 a circa 10 kHz. Questa è una differenza troppo grande tra i due risultati. Cosa sta succedendo qui?

Si scopre che l'OPA2376 utilizzato per OA1 non ha abbastanza guadagno ad anello aperto per supportare 26dB di guadagno ad anello chiuso vicino a 36kHz. Questo avrebbe dovuto notare molto prima (scrollata di spalle leggermente imbarazzata). Vicino a 36kHz l'OPA2376 ha solo circa 29dB di guadagno (guadagno ad anello aperto solo 3dB in più rispetto al guadagno ad anello chiuso) e l'LFP interferisce con il polo di feedback posto a 36kHz. Volete sempre che il guadagno ad anello aperto sia almeno 20dB superiore al guadagno ad anello chiuso di OpAmp. L'equazione del feedback teorico si interrompe quando non c'è abbastanza guadagno. Nel modello numerico a segnale piccolo, il polo a bassa frequenza e il polo a 36kHz causano una sorta di poltigliaφM cadere presto e far cadere la frequenza di crossover di fase di circa 4kHz da quanto previsto.

È bello che ciò sia accaduto, perché illustra alcuni limiti della modellazione e il vantaggio di aver avviato un'analisi QnD per iniziare. Se non ci fosse stata una differenza tra i dueφMrisultati, il problema potrebbe non essere stato notato. Una delle cose più interessanti qui è la differenza che probabilmente vedresti tra un circuito reale in cui l'LFP interferisce con un polo di feedback e un modello numerico del circuito. Il modello numerico mostra l'effetto dei due poli in quanto il margine di fase diminuisce prima che dovrebbe, quasi come se il polo fosse distribuito. Ma il comportamento reale dell'amplificatore diventa inquietante quando non c'è un guadagno ad anello aperto insufficiente per supportare il guadagno ad anello chiuso e accadono cose insolite. Un circuito reale, per misurazione, mostrerebbe i poli che interagiscono più come una coppia complessa. Si vedrebbe un lobo di guadagno vicino alla posizione del polo di retroazione in cui il guadagno aumenterebbe per avvicinarsi al guadagno ad anello aperto e il margine di fase aumenterebbe temporaneamente e si sposterebbe verso un punto di crossover a frequenza più elevata. Dopo il guadagno e l'estensione della fase, sia il guadagno che la fase si arresterebbero rapidamente. In questo caso ha sensoφM il punto di crossover verrebbe espulso da 15kHz a un punto più vicino a 40kHz.

Come risolvere questo ciclo?

In questo loop OA2 è effettivamente un amplificatore di errore, la cui funzione è quella di ridurre al minimo l'errore (o la differenza) tra un riferimento e una quantità controllata. Normalmente si vorrebbe che OA2 avesse il più alto guadagno possibile a DC per ridurre al minimo l'errore, quindi la struttura di base di OA2 sarebbe un integratore. La migliore prestazione sarebbe che il circuito aperto avesse un guadagno di 20 dB / decennio oltre il crossover con guadagno zero, con un margine di fase superiore a 45 gradi. Se ci sono n poli nel loop si vorrebbe che (n-1) zeri coprissero i poli che avrebbero effetto sul guadagno a frequenze inferiori alla larghezza di banda desiderata. In questo caso, aggiungerei zeri allo stage OA2 per coprire i poli in OA1 e OA3. Si vorrebbe anche aggiungere 2 poli ad alta frequenza a OA2 per gestire il guadagno ad anello chiuso (dello stadio OA2) mentre si avvicinava il guadagno ad anello aperto dell'OPA2376. Oh,

Materiale bonus

Torna alla domanda di progettazione 1: questa progettazione fa ciò che deve fare? La risposta probabilmente non lo è. Nei commenti dici che stai cercando di eliminare dal campo un back ground o un livello ambientale. Questo di solito viene fatto con un doppio campionatore correlato (CDS) o qualcosa che viene talvolta chiamato circuito di ripristino CC. Il primo passo in entrambi i casi sarebbe quello di convertire il segnale corrente in una sorgente di segnale di tensione, sostanzialmente come hai fatto con lo stadio OA1, ma senza il feedback di OA3.

In un CDS, in seguito alla conversione da corrente a tensione, ci sarebbero due circuiti di campionamento. Uno campionerebbe durante il periodo di background, mentre l'altro campionerebbe durante il periodo attivo. La differenza tra le due uscite campionate verrebbe quindi presa come nuovo segnale.

Nel ripristino DC, la rappresentazione della tensione del segnale passerebbe attraverso un amplificatore AC accoppiato in seguito. Durante il periodo di background, il terminale del condensatore di accoppiamento che si collega all'ingresso dell'amplificatore successivo verrebbe messo a terra (o legato a un riferimento), che mette la tensione di fondo attraverso il condensatore. Quindi durante il periodo attivo quel terminale del condensatore sarebbe stato rilasciato da terra o riferimento e lasciato fluttuare, e questa è la tensione del segnale con lo sfondo rimosso.


Grazie mille. Mi ci vorrà un po 'per digerire. Sono a conoscenza di una tecnica a doppio campionamento, ma questo fa vedere all'amplificatore di transimpedenza la piena corrente CC che la satura. Quindi stavo cercando di trovare un meccanismo per deviare la corrente CC e ridurre così la gamma dinamica all'ingresso TIA. Spostando il guadagno più tardi nel circuito (ovvero TIA a basso guadagno, cancellazione ambientale, alto guadagno, ADC) si ottengono scarse prestazioni di rumore.
Ben Voigt,

Wow, @endolith grazie per la generosità e la modifica. Ho imparato una nuova parola. Vedo che un errore di dito fumble nella seconda tabella ha confuso LFP (polo a bassa frequenza, degli OpAmps) con LPF.
gsills,

@gsills Oh, scusami per il mio errore. Probabilmente dovresti spiegarlo allora?
endolith il

@endolith Va bene. Sarei stato anche confuso, leggendolo così com'era. LFP è menzionato come un importante parametro OpAmp nella sezione 2 del paragrafo prima della tabella, ma poi l'ho digitato in modo errato (invertendo F e P) nella tabella, per rovinare le cose. Spero sia chiaro adesso. Apprezzo la modifica.
gsills,

2

Sembra che tu abbia praticamente costruito un oscillatore di sfasamento attorno a OA2.

Guardalo dal punto di vista di OA2. A livello locale, OA2 funziona come un comparatore senza feedback locale intorno all'amplificatore, il che significa semplicemente che è uno stadio di guadagno con guadagno molto elevato.

Il feedback negativo viene fornito a OA2 tramite gli stadi OA3 e OA1. Entrambi questi stadi hanno un roll off ad alta frequenza, il che significa che c'è un'area della loro operazione, nel dominio della frequenza, in cui passano alcuni segnali, ma ad alcuni sfasamenti.

Poiché OA2 ha un enorme guadagno, è necessario un feedback minimo per sostenere l'oscillazione (cioè il segnale molto piccolo deve passare attraverso OA3 e OA1). Abbiamo bisognoUNβ=1, ma se UN è enorme, quindi Betun' deve essere piccolo.

A soli 50 Khz, ci sono solo circa 83 gradi di spostamento nello stadio OA3 e circa 55 gradi in OA1. È lontano da 180. Per compensare il gioco, il loop deve rilevare alcuni gradi di sfasamento da alcuni comportamenti non ideali dell'amplificatore operazionale, come i poli di compensazione interni. Ma questa convinzione è difficile da giustificare. Osservando i fogli di dati, gli amplificatori operazionali in uso non hanno quasi nessuno sfasamento fino a 1 Mhz.

Qualcos'altro è in gioco: capacità parassite al di fuori dell'amplificatore operazionale o percorsi di feedback che non sono evidenti dallo schema (forse attraverso l'alimentazione). Poiché OA2 è completamente aperto, amplifica il segnale più debole che supera la tensione di riferimento.

Gli amplificatori sono CMOS, quindi hanno un'impedenza di ingresso molto elevata, rendendoli sensibili alle capacità di shunt parassite. Di 'che hai un1012Ωimpedenza di ingresso. Una semplice capacità parassita di 0,001 pF crea un polo con una frequenza 3dB di 160 Hz!

Se il circuito non oscilla affatto, collegare una sonda dell'oscilloscopio a Vout potrebbe aggiungere una capacità di shunt sufficiente per creare un polo all'ingresso di OA1 che aggiunge lo sfasamento necessario per farlo oscillare.

Hai prove che il circuito oscilla a 50 Khz (o non oscilla affatto) quando non lo cerchi, e hai provato a toccare in più di un punto del ciclo?


Il mio ADC collegato a Vout mostra anche oscillazione. Inoltre, ho simulato questo circuito con TINA-TI e l'analisi transitoria prevede anche l'oscillazione, purché la dimensione del passo sia ragionevolmente piccola.
Ben Voigt,
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.