Divisori di tensione e ADC


13

Voglio leggere una tensione da 0-30 V con un MCU ADC che ha un input massimo di 3 V.

Inizialmente ho pensato di utilizzare un divisore da 100k-10k (quindi 33V si traducono in 3V) ma secondo le risposte all'impedenza di ingresso ADC su MCU , questo aggiungerà un errore del 3% a causa della corrente di dispersione in ingresso; Sto cercando un errore dello 0,5% massimo. Tuttavia, a valori più bassi per il divisore, rischio di danneggiare gli ingressi dell'MCU a causa della sovratensione (i resistori agiscono in tandem con i diodi di serraggio sull'ingresso.) Inoltre aumento la dissipazione di potenza nei miei resistori, che sono piccoli dispositivi 0603, classificati per 0,063 W. massimo. Come posso evitarlo? l'impedenza di ingresso nb non è critica.

Non sono preoccupato per la velocità di campionamento, monitorerà la tensione della batteria ad un massimo di 100 campioni al secondo.


hai costruito il precedente? Il 3% è stato il caso peggiore in base alla perdita del caso peggiore, a meno che non ne stia leggendo molti di questi è possibile calibrarli.
Kortuk,

Kortuk, pensi che potrei regolare uno dei resistori del 3% o gestirlo nel software (scala di 1,03x?)
Thomas O

Stai dicendo che vuoi un'alta precisione, un basso consumo energetico, con un costo aggiuntivo molto basso. Non sono sicuro che sia possibile. Puoi calibrare in software come ha menzionato Kortuk, ma in un processo favoloso che richiede tempo che equivale a soldi.
Kellenjb,

Guidare un ingresso ADC MCU con una grande impedenza è comunque negativo. Aumenta il tempo di assestamento e provoca distorsione, ecc. "L'ADC è ottimizzato per segnali analogici con un'impedenza di uscita di circa 10 kΩ o inferiore. Se viene utilizzata una tale sorgente, il tempo di campionamento sarà trascurabile. Se una sorgente con impedenza maggiore viene utilizzato, il tempo di campionamento dipenderà da quanto tempo la sorgente deve caricare il condensatore S / H, con può variare ampiamente. Si consiglia all'utente di utilizzare solo sorgenti a bassa impedenza con segnali che variano lentamente, poiché ciò riduce al minimo il trasferimento di carica richiesto al limite S / H "
endolith

Risposte:


10

Utilizzare successivamente il partitore di tensione con resistori e un seguace Opamp. In alternativa, utilizza un circuito Opamp per ridurre la tensione e puoi eseguire il filtraggio anti alias in uno stadio!


+1 usa l'amplificatore operazionale con un guadagno di 0.1 e
rendilo

Non posso permettermi un amplificatore operazionale. Purtroppo non ho abbastanza spazio. Potrei essere in grado di permettermi un buffer IC, se sono abbastanza piccoli e sono disponibili con 8 canali.
Thomas O

Di solito basta acquistare un piccolo amplificatore operazionale e collegarlo come buffer. national.com/mpf/LM/LMC7111.html SOT23 è troppo grande?
endolith

Oh, vuoi 8 canali.
endolith

1
l'uso di resistori di maggiore precisione ridurrà l'errore del partitore di tensione, il secondo problema è quello di guidare quel segnale in un ADC. È qui che si verificano le imprecisioni, quindi la proposta di utilizzare un buffer.
smashtastic,

14

Ok, dalla tua risposta al mio commento penso di poter essere di maggiore aiuto con una risposta completa.

Costruiscilo!

Costruisci il tuo semplice divisore resistivo. Questo ha molti vantaggi, per una dimensione, un altro è il costo.

Caratterizzalo!

Ora utilizzerai anche un microcontrollore, è qui che devi caratterizzare il tuo errore. usa un generatore di tensione molto accurato, ora controlla le tensioni e vedi quale errore l'IC misura effettivamente.

Analizzalo!

Ora è quando si diverte. Ci sono molte cose che potresti misurare.

Accuratezza e precisione

La cosa più grande da misurare qui è se l'errore nei punti è ripetibile. SE ogni volta che si esegue la scansione viene visualizzato un errore diverso o se la scansione che segue un percorso diverso genera un errore diverso nello stesso punto, questa non è un'opzione. Ciò accade spesso con correnti di dispersione. La parte importante qui è che non hai bisogno di alta precisione, solo un alto grado di precisione. Se riesci a caratterizzare il tuo errore, il tuo uC può correggerlo. Se hai una grande varianza, devi cambiare la tua soluzione.

Che cos'è una calibrazione del punto X?

Ora, se si dispone di un'alta precisione, come discusso in precedenza, è possibile passare alla correzione dell'accuratezza. Ora, se quando si rappresenta graficamente la tensione di ingresso rispetto alla tensione di uscita, si dovrà decidere il numero di "punti di riferimento" necessari. I dispositivi piacevoli consentono 1 punto (o punto zero, non è necessaria la calibrazione). Molte sonde di temperatura.

Calibrazione a un punto

Entrambe le linee hanno la stessa pendenza, ma un offset, quindi devi solo trovare il valore che devi aggiungere a un punto dati per correggerlo. Questa è una situazione ideale, poiché qualsiasi nuova calibrazione richiede solo un singolo punto dati per eseguire nuovamente la calibrazione.

Calibrazione a due punti

entrambe le curve lineari, possibilmente un offset e c'è una differenza di pendenza, sono necessari solo due punti di riferimento e interpolazione lineare per estrarre l'offset. Questo è ancora relativamente semplice, basta prendere qualsiasi punto, moltiplicarlo per uno scalare e aggiungere un offset.

Come puoi vedere, diventa più disordinato più punti hai bisogno. Ad un certo punto è più semplice prendere ogni punto dati e correlarlo al valore effettivo. Ad esempio, scoprendo che 0000 è 1V, 0001 è 2V, 0002 è 1,5V. Questo è disordinato e funziona ancora solo se gli offset sono ripetibili. Questo può succedere però.

Riassumendo

Spero che questo aiuti, dimmi se hai bisogno di più chiarezza. Se si finisce con una corrente di dispersione variabile che non è affidabile, è tempo di occuparsi solo della necessità di un buffer o di qualcosa del genere.

Vedo una possibilità di errore elevato da perdita, ma scommetto che l'errore è relativamente piccolo sulla maggior parte dell'intervallo e quando è lì può essere facilmente corretto.


1
Come nota a margine, questo sembra un sacco di lavoro, ma in realtà è una quantità relativamente piccola di lavoro per contenere i costi dei componenti.
Kortuk,

buon commento! un modo geniale per farlo nel software. Il metodo finale di ricerca della tabella è probabilmente il metodo migliore. L'unico inconveniente è la ROM che consuma, ma per un ADC a 8-10 bit su un MCU dovrebbe essere fattibile.
smashtastic,

Dipende dai dati, ho molti casi diversi che una calibrazione a 1 punto era sufficiente. Solo un offset. E poi la costruzione dell'hardware per la calibrazione paga automaticamente.
Kortuk,
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.