Come leggere alte tensioni su microcontrollore?


17

Voglio leggere alte tensioni, come ~ 50 V, usando un microcontrollore. Ho intenzione di inserirlo come input nella linea A / D del microcontrollore. Ma ovviamente, non dovresti avere una tensione così alta sull'ingresso di un microcontrollore o friggerà.

Come potrei leggere le alte tensioni? La cosa principale è che ho bisogno di scendere la tensione prima di leggerlo. Di cosa ho bisogno di prendere in considerazione quando si passa su questa tensione?

Grazie in anticipo!

Modifica: ho notato nel foglio dati PIC18 che dice "L'impedenza massima raccomandata per le fonti analogiche è 2,5 kOhm." In che modo incide come faccio un passo verso il basso la tensione, sia con divisori resistivi, ecc?


1
Vuoi dire con un microcontrollore? La nota impedenza merito sorgenti analogiche probabilmente significa che se le sorgenti sono superiori 2.5K, l'ingresso sul PIC inizierà a caricare giù. Di solito si desidera un'impedenza della sorgente di essere almeno dieci volte più piccola della impedenza di carico, in modo che non è disturbata dalla impedenza di carico. Questo potrebbe essere un modo indiretto di dire che l'ingresso fornisce 25K di impedenza. Quindi renderemmo il divisore di tensione di circa 2K "alto". Questo mezzo 25 mA fluirà. Se questo è inaccettabile, è possibile utilizzare un divisore molto più resistivo e di buffer di alta-Z.
Kaz

1
Combinando le risposte di seguito, ho usato un divisore di resistenza al passaggio lungo la tensione e mettere l'uscita di detto divisore di resistenza attraverso un inseguitore di tensione op-amp. Questo op-amp agisce come un buffer a bassa impedenza di uscita. In questo modo, posso usare resistori di alto valore per limitare la perdita di potenza in quei resistori.
Jack,

Risposte:


24

Un semplice resistivo divisore di tensione vi ottenere quello che vuoi.

Divisore di tensione

La formula per calcolare la tensione di uscita è:

Formula

Quindi, se assumiamo i vostri range di tensione in ingresso da 0-50V, abbiamo bisogno di dividerlo per 10 per ottenere 0-5V. Se assumiamo anche che vogliamo caricare la tensione di ingresso con 100kΩ, i calcoli farebbero qualcosa del tipo:

Vout / Vin = R2 / 100kΩ

0.1 = R2 / 100kΩ -> R2 = 10k

R1 = 100kΩ - R2 = 90kΩ

Quindi R1 = 90kΩ e R2 = 10kΩ

Per un ADC richiede un'impedenza massima fonte, è necessario assicurarsi che l'impedenza divisore di tensione è al di sotto di questo livello. L'impedenza al divisore può essere calcolato come R1 || R2.

Per <2.5kΩ, quanto sopra non soddisfa questo requisito come 10kΩ || 90kΩ = 9kΩ
Se utilizziamo 9kΩ e 1kΩ, otteniamo 1 / (1/1000 + 1/9000) = 900Ω

Tenete a mente minore è la resistenza alle alte le resistenze wattaggio avete bisogno. 50 V / 1 k = 50 mA -> 50 mA * 45 V = 2,25 W attraverso il resistore superiore (0,25 W sul fondo)
In questi casi è preferibile utilizzare un buffer opamp tra un divisore ad alta resistenza e l'ADC. Oppure utilizzare un 2kOhm e 18kΩ divisorio, che è non è così assetati di potere come la versione 1k / 9k.


3
2,25 W sono un sacco di energia da sprecare durante la misurazione della tensione.
Nick Johnson

Sì, sono d'accordo - nella maggior parte dei casi useresti il ​​buffer menzionato (ed elaborato da Steven).
Oli Glaser

50V / 1k. Come? Quei resistori non sono in serie?
Adithya

Stessa domanda qui ... come 50v / 1k? Da dove proviene questo 45v?
Prasan Dutt,

Non una parola su @OliGlaser condensatore? L'ingresso ADC, se guidato con alta resistenza, può distorcere il segnale. In realtà lo fa. Quindi minimo è usare un piccolo condensatore in parallelo con un resistore inferiore.
Gregory Kornblum

19

Per aggiungere alla risposta di Oli:

inserisci qui la descrizione dell'immagine

Il diodo Schottky protegge l'ingresso del opamp contro sovratensioni nel caso la tensione di ingresso superi il massimo specificato 50 V. Questa è una soluzione migliore rispetto al zener 5 V che è spesso disposto in parallelo con il resistore 3 kΩ. La tensione di zener 5 V richiede vari mA, se la corrente è molto più bassa della tensione di zener sarà inferiore e, e il diodo può bloccare l'ingresso per esempio 4 V, o anche meno.

La resistenza da 27 kΩ consentirà 2 mA, non è abbastanza per lo zener? Potrei, ma non è quello che otterrà lo zener; la maggior parte di quel 2 mA passerà attraverso il resistore 3 kΩ, lasciando solo decine a centinaia di uA per zener, che è semplicemente troppo poco.

Selezionare un diodo Schottky con una corrente di dispersione inversa bassa, in modo che la tensione di alimentazione a 5 V non influisca troppo sul divisore.


Perdona la mia ingenuità qui, ma il diodo Schottky che protegge l'opamp da una sovratensione sulla guida da 50 V, questa condizione aumenterebbe quindi la guida da 5 V? Pensando di fare questo, ma preoccupato per altri dispositivi sulla guida 5V (PIC, Arduino, ecc.)
GreenaGiant

No, se la corrente è piccola. Ovviamente se si collega una sorgente a bassa impedenza, la tensione aumenterà. Ma i 27k resistore assicura la corrente è piccola.
Martin

6

Per una misurazione isolata, è possibile utilizzare un trasduttore di tensione, ad esempio LV-25 di LEM o simile.

Ma un modo molto più semplice se non hai bisogno di isolamento è semplicemente usare un divisore di tensione :

inserisci qui la descrizione dell'immagine


6

Per combattere il problema dell'impedenza della sorgente, è possibile innanzitutto utilizzare un divisore di tensione e quindi utilizzare un opamp standard. Questo dovrebbe avere un'impedenza di uscita abbastanza basso per voi. Ecco una nota app che ho pubblicato ieri sull'utilizzo di opamp per la conversione dei livelli di tensione per gli ADC.

http://www.ti.com/lit/an/slyt173/slyt173.pdf


3

Cercare qualcosa chiamato un partitore resistivo . Usando due resistori, puoi moltiplicare una tensione per una costante tra 0 e 1. Nel tuo caso vuoi ridimensionare 50 V fino al livello del microcontrollore. Supponiamo che il micro funzioni a 5 V, quindi si desidera ridimensionare l'ingresso di 0,1. Questo potrebbe essere fatto con due resistori, il primo con una resistenza 9x del secondo. Il segnale va in prima. L'altra estremità è collegata al secondo resistore e all'ingresso micro A / D e l'altra estremità del secondo resistore è collegata a terra. Con il rapporto 9: 1 ottieni un guadagno di .1 (attenuazione di 10).

Probabilmente si desidera il più basso dei due (il resistore 1x) a circa 10 k, che renderebbe l'altro 90 kΩ. Probabilmente userei 100 kΩ per fornire un po 'di margine e di rilevamento di overrange.


0

Ho fatto con successo questo utilizzando un partitore di tensione ed un diodo Zener polarizzato in inversa tra il pin di ingresso e la massa (nel caso).


1
Un diodo zener dà fissato tensione di uscita e utilizzato per la regolazione. Come è stato utilizzato per la variazione della tensione di ingresso? Tensione di uscita del sensore è variabile tra 0-50v e ingresso ADC dovrebbe variare di conseguenza tra 0-5V. Utilizzando uno Zener risolverà la tensione di ingresso ADC.
Prasan Dutt,

3
Zener è quello di proteggere l'ingresso ADC contro tensioni superiori al uC può gestire, nel caso in cui, come ha detto. Diciamo il UC può gestire 0V-5V, se si prevede di misurare 50V, si mette a 10: 1 e un divisore 5V Zener, quindi se l'ingresso supera 50V, lo zener morsetti a 5V.
S3C
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.