Wie liest man Hochspannungen auf Mikrocontrollern?

Ich möchte hohe Spannungen wie ~ 50 V mit einem Mikrocontroller lesen. Ich plane, dies als Eingang in die A / D-Leitung des Mikrocontrollers zu stecken. Aber natürlich sollte am Eingang eines Mikrocontrollers keine so hohe Spannung anliegen, sonst brät er.

Wie kann ich Hochspannungen ablesen? Die Hauptsache ist, dass ich die Spannung verringern muss, bevor ich sie lese. Was muss ich beachten, wenn ich diese Spannung heruntersetze?

Danke im Voraus!

Bearbeiten: Ich habe im PIC18-Datenblatt festgestellt, dass dort steht: "Die maximal empfohlene Impedanz für analoge Quellen beträgt 2,5 kOhm." Wie wirkt sich dies darauf aus, wie ich die Spannung heruntersetze, sei es mit Widerstandsteilern usw.?

Du meinst mit einem Mikrocontroller? Der Impedanzhinweis zu analogen Quellen bedeutet wahrscheinlich, dass der Eingang am PIC beginnt, sie herunterzuladen, wenn die Quellen höher als 2,5 K sind. Sie möchten normalerweise, dass eine Quellenimpedanz mindestens zehnmal kleiner als die Lastimpedanz ist, damit sie nicht durch die Lastimpedanz gestört wird. Dies könnte ein Umweg sein, um zu sagen, dass der Eingang eine Impedanz von 25 K liefert. Also würden wir den Spannungsteiler etwa 2K "groß" machen. Es fließen also 25 mA. Wenn dies nicht akzeptabel ist, können Sie einen viel widerstandsfähigeren Teiler und einen High-Z-Puffer verwenden.
Wenn ich die folgenden Antworten kombiniere, habe ich einen Widerstandsteiler verwendet, um die Spannung zu verringern und den Ausgang dieses Widerstandsteilers durch einen Spannungsfolger-Operationsverstärker zu leiten. Dieser Operationsverstärker fungiert dann als Puffer mit niedriger Ausgangsimpedanz. Auf diese Weise kann ich hochwertige Widerstände verwenden, um den Leistungsverlust in diesen Widerständen zu begrenzen.

Antworten (6)

Ein einfacher Widerstandsspannungsteiler wird erreichen, was Sie wollen.

Spannungsteiler

Die Formel zur Berechnung der Ausgangsspannung lautet:

Formel

Wenn wir also davon ausgehen, dass Ihre Eingangsspannung im Bereich von 0-50 V liegt, müssen wir sie durch 10 teilen, um 0-5 V zu erreichen. Wenn wir außerdem davon ausgehen, dass wir die Eingangsspannung mit 100 kΩ belasten wollen, dann würden die Berechnungen in etwa so aussehen:

Vout / Vin = R2 / 100kΩ

0,1 = R2 / 100 kΩ -> R2 = 10 kΩ

R1 = 100kΩ - R2 = 90kΩ

Also R1 = 90kΩ und R2 = 10kΩ

Für einen ADC, der eine maximale Quellenimpedanz erfordert, müssen Sie sicherstellen, dass die Spannungsteilerimpedanz unter diesem Wert liegt. Die Impedanz am Teiler kann als R1||R2 berechnet werden.

Für <2,5 kΩ erfüllt das Obige diese Anforderung nicht, da 10 kΩ||90 kΩ = 9 kΩ
Wenn wir jedoch 9 kΩ und 1 kΩ verwenden, erhalten wir 1 / (1/1000 + 1/9000) = 900 Ω

Denken Sie daran, je niedriger der Widerstand, desto höher die Nennleistung der Widerstände, die Sie benötigen. 50 V / 1 k = 50 mA -> 50 mA * 45 V = 2,25 W über dem oberen Widerstand (0,25 W über dem unteren)
In diesen Fällen ist es am besten, einen Operationsverstärkerpuffer zwischen einem hochohmigen Teiler und dem ADC zu verwenden. Oder verwenden Sie einen 2kΩ- und einen 18kΩ-Teiler, der nicht ganz so leistungshungrig ist wie die 1k/9k-Version.

2,25 W sind eine Menge Energie, die bei einer Spannungsmessung verschwendet werden kann.
Ja, ich stimme zu - Sie würden in den meisten Fällen den erwähnten (und von Steven ausgearbeiteten) Puffer verwenden.
50V/1k. Wie? Sind die Widerstände nicht in Reihe?
Gleiche Frage hier ... wie 50v/1k? Woher kamen diese 45V?
@OliGlaser kein Wort über Kondensator? ADC-Eingang kann das Signal verzerren, wenn er mit hohem Widerstand angesteuert wird. Eigentlich tut es das. Das Minimum besteht also darin, einen kleinen Kondensator parallel zu einem niedrigeren Widerstand zu verwenden.
@GregoryKornblum - Wenn Sie ein Signal mit hoher Impedanz haben, ist ein Puffer am besten, wie in Stevens Antwort gezeigt. Ein Kondensator würde nicht helfen, da er einen RC-Filter (Tiefpass) erzeugen würde, der dazu führen würde, dass die höheren Frequenzen im Signal gedämpft werden. Es sei denn natürlich, Sie messen bei oder sehr nahe DC und möchten tatsächlich alle kurzfristigen Änderungen herausfiltern.
"sehr nahe" hängt von Zahlen ab. Und Sie wollen sowieso LPF über Ihrer interessierenden Frequenz.

Um Olis Antwort zu ergänzen:

Geben Sie hier die Bildbeschreibung ein

Die Schottky-Diode schützt den Eingang des Operationsverstärkers vor Überspannung, falls die Eingangsspannung die maximal spezifizierten 50 V überschreiten würde. Dies ist eine bessere Lösung als der 5-V-Zener, der oft parallel zum 3-kΩ-Widerstand geschaltet wird. Die 5-V-Zenerspannung erfordert mehrere mA. Wenn der Strom viel niedriger ist, ist auch die Zenerspannung niedriger, und die Diode kann den Eingang beispielsweise auf 4 V oder sogar niedriger klemmen.

Der 27-kΩ-Widerstand lässt 2 mA zu, reicht das nicht für den Zener? Ich könnte, aber das wird der Zener nicht bekommen; Die meisten dieser 2 mA werden durch den 3-kΩ-Widerstand geleitet, sodass nur zehn bis hundert µA für den Zener übrig bleiben, was einfach zu wenig ist.

Wählen Sie eine Schottky-Diode mit niedrigem Sperrstrom, damit die 5-V-Versorgungsspannung den Teiler nicht zu sehr beeinflusst.

Verzeihen Sie hier meine Naivität, aber die Schottky-Diode, die den Operationsverstärker vor einer Überspannung auf der 50-V-Schiene schützt, würde dieser Zustand daher die 5-V-Schiene anheben? Denken Sie darüber nach, sind aber besorgt über andere Geräte auf der 5-V-Schiene (PIC, Arduino usw.)
Nicht, wenn der Strom klein ist. Wenn Sie eine Quelle mit niedriger Impedanz anschließen, steigt die Spannung natürlich an. Der 27k-Widerstand sorgt jedoch dafür, dass der Strom klein ist.

Um Ihr Quellimpedanzproblem zu bekämpfen, könnten Sie zuerst einen Spannungsteiler und dann einen Standard-Operationsverstärker verwenden. Das sollte eine ausreichend niedrige Ausgangsimpedanz für Sie haben. Hier ist eine App-Notiz, die ich gestern über die Verwendung von Operationsverstärkern zum Konvertieren von Spannungspegeln für ADCs gepostet habe.

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

Für eine isolierte Messung können Sie einen Spannungswandler verwenden, z. B. den LV-25 von LEM oder ähnliches.

Aber ein viel einfacherer Weg, wenn Sie keine Isolierung benötigen, ist die Verwendung eines Spannungsteilers :

Geben Sie hier die Bildbeschreibung ein

Suchen Sie nach etwas, das als Widerstandsteiler bezeichnet wird . Mit zwei Widerständen können Sie eine Spannung mit einer Konstanten zwischen 0 und 1 multiplizieren. In Ihrem Fall möchten Sie 50 V auf das Niveau des Mikrocontrollers herunterskalieren. Nehmen wir an, das Mikro läuft mit 5 V, also möchten Sie den Eingang um 0,1 skalieren. Dies könnte mit zwei Widerständen erfolgen, wobei der erste den 9-fachen Widerstandswert des zweiten hat. Das Signal geht in den ersten. Das andere Ende ist mit dem zweiten Widerstand und dem Mikro-A/D-Eingang verbunden, und das andere Ende des zweiten Widerstands ist mit Masse verbunden. Mit dem Verhältnis 9:1 erhalten Sie eine Verstärkung von 0,1 (Dämpfung um 10).

Sie möchten wahrscheinlich, dass der niedrigere der beiden (der 1x-Widerstand) etwa 10 kΩ beträgt, was die anderen 90 kΩ ergeben würde. Ich würde wahrscheinlich 100 kΩ verwenden, um eine gewisse Margin- und Overrange-Erkennung bereitzustellen.

Ich habe dies erfolgreich mit einem Spannungsteiler und einer Zenerdiode gemacht, die zwischen dem Eingangspin und Masse in Sperrrichtung vorgespannt ist (nur für den Fall).

Eine Zenerdiode gibt eine feste Ausgangsspannung und wird zur Regelung verwendet. Wie haben Sie es zum Variieren der Eingangsspannung verwendet? Die Sensorausgangsspannung variiert zwischen 0-50 V und der ADC-Eingang sollte entsprechend zwischen 0-5 V variieren. Die Verwendung eines Zeners fixiert die Eingangsspannung.
Der Zener soll den ADC-Eingang vor Spannungen schützen, die höher sind, als der uC verarbeiten kann, nur für den Fall, wie er sagte. Nehmen wir an, der uC kann 0 V bis 5 V verarbeiten. Wenn Sie 50 V messen möchten, setzen Sie einen 10: 1-Teiler und einen 5-V-Zener ein. Wenn der Eingang also 50 V überschreitet, klemmt der Zener ihn auf 5 V.