Analogeingang absichern

Hi,

wollte kurz mal was mit euch diskutieren.
Ich hab einen Druck-Sensor, der gibt bei 0-10bar 4-20mA aus.
Mit dem will ich am Arduino eine Druck von max. 4 bar messen. Einen Trennverstärker will ich mir eigentlich sparen.
Mein Ansatz: Die 4-20mA durch einen 500R-Widerstand (2x1k parallel) schicken. Gibt 2-10V am Arduino.
Da ich maximal 4bar erwarte, wird die Maximale Spannung von 5 V ja auch nicht überschritten.
Um ganz sicher zu gehen hätte ich jetzt noch ein 5,1V Z-Diode zur Absicherung parallel zum 500R-Widerstand gelegt, damit die Spannung am Eingan nicht höher wie 5,1V werden kann.

Ich könnte ja auch einen 250R Widerstand verwenden, dann wären am Arduino max. 5V, aber da verlier ich an Auflösung.

Was sagt Ihr dazu?

Ich würde eine 4,7V Z-Diode verwenden und zwischen dieser und dem 500 Ohm Widerstand noch einen 1kOhm Widerstand schalten. Je nach Schnelligkeit der Druck-Änderungen würde ich noch einen Kondensator paralell zur Z-Diode/Analogen Eingang schalten.

Also 500Ohm auf Schnittstelle. Minus Pol auf Masse. Paralell zum 500Ohm Widerstand der 1kOhm-Widerstand und die Z-Diode auf Masse und die Spannung an der Z-Diode für den Eingang abgreifen. eventuell Kondensator paralell zum Eingang Arduino (Werte je nach Frequenz 0,1µF bis 10µF).

Achtung bei dieser Schaltung: Du verbindest den Minuspol der 4-20mA Schnittstelle auf die Masse. Die Masse des Arduino ist bei USB-Versorgng mit der Masse und somit mit der Erde des PC Verbunden. Das kann Probleme geben!! Klär das vorher ab, ob Du so keine Kurzschlüsse fabrizierst.

Grüße Uwe

Z-Diode werde ich nicht verwenden.
Z-Dioden haben Große Kapazität und sind sehr langsam.
Zwei Dioden und ein Suppressordiode wie bei USB.
Es ist Bomben fest bis 15Kv kein Problem.

Was ist denn das für ein Sensor? Datenblatt? Hintergrund: Ich wundere mich, dass der Sensor einen Strom liefert. Ich kenne solche Sensoren nur als druckabhängige Widerstände oder Spannungsquellen. Beides wäre etwas einfacher in der Absicherung.

Oliver

@olikraus
ist ein WIKA Drucktransmitter. Und der liefert als 2-LeiterSensor einen Strom von 4-20mA. Ist aber eigentlich üblich im Industriebereich. Stromsignale sind weniger anfällig gegen Störungen und längere Leitungslängen.

@uwefed
Kondensator: Ich messe den Druck in einem Wasserkreislauf. Und der ist eigentlich statisch.
Das mit dem zusätzlichen 1K-Widerstand leuchtet ein. Strombegrenzung für die Z-Diode.
So würde es dann aussehen !!?? --> Bild
Wobei der Widerstand R3 bei der Simulation die Funktion der Z-Diode zu Nichte macht.

Ich erwarte für 0..3,75bar -> 2..5V
Gibts eigentlich eine einfache Methode, um die 2V der Spannung abzuziehen. Dann könnte ich das Fenster noch weiter aufziehen. Hab da momentan keine Idee.

Unbenannt.JPG

hk007:
@uwefed
Kondensator: Ich messe den Druck in einem Wasserkreislauf. Und der ist eigentlich statisch.
Das mit dem zusätzlichen 1K-Widerstand leuchtet ein. Strombegrenzung für die Z-Diode.
So würde es dann aussehen !!?? --> Bild

Ich erhalte dann von 0..3,75bar -> 2..5V
Gibts eigentlich eine einfache Methode, um die 2V der Spannung abzuziehen. Dann könnte ich das Fenster noch weiter aufziehen. Hab da momentan keine Idee.

Anschluß des C1 und des Analogeingang Arduino am gemeinsamen Punkt D1 und R3 Nur so begrenzt Du die Eingangsspannung auf die Z-Diodenspannung. Wähle die Z-Diode zu 4,7V. Ist sicherer.
Um 2 V abzuziehen brauchst Du einen Operationsverstärker.

Grüße Uwe

Jaja,
wie dämlich von mir.
Allerdings kann ich keinen 1k Widerstand verwenden, da die Bürde des Sensors max. 700R sein darf.
Wobei ich jetzt nicht weiss, ob dann nur das Signal zusammenbricht, oder ob er Schaden nimmt.

Unbenannt.JPG

Nein wieder nicht so, wie ich es gemeint habe.

R1 paralell zu R2 am Sensor und paralell dazu (R3 und in serie D1). C1 und den Analogen Eingang paralell zu D1.

Grüße Uwe

Wenn man linear braucht, dann zwei Widerstände mit Stromquelle ersetzen.

uwefed:
Nein wieder nicht so, wie ich es gemeint habe.

R1 paralell zu R2 am Sensor und paralell dazu (R3 und in serie D1). C1 und den Analogen Eingang paralell zu D1.

Grüße Uwe

??? Jetzt steh ich aber auf dem Schlauch:

So??

hk007:
So??

Ja, genau so!
Grüße Uwe

Hallo nochmal,

@Uwe:
Ich hab die Schaltung jetzt mal nachgebaut. Hab anstelle der gezeichneten 24V "nur" 12V als Spannungsquelle verwendet. Aber das sollte m.E kein Problem sein.
Leider komm ich nicht auf das erwartete Ergebnis. Ich hab den Drucksensor mit einem Fluke Kalibrator simuliert und eine Messreihe aufgenommen.
Dazu hab ich Ströme von 4-20mA vorgegeben, und dann die resultierende Spannung gemessen.
U1 = Spannungsabfall an R1
U2 = Spannungsabfall an der Z-Diode (wie das Messinstrument in der letzten Schaltung)

Was fällt mir auf:
U1: Ich erreiche keine 10V bei 20mA, sondern nur 8,6V ???
U2: Ist um 0,2V gegenüber U1 verschoben. Hat bei 20mA folgenden Wert: 4,9V. Da ist auch kein Knick bei 4,7V, sondern ein schleichender Übergang.

Hmmmm???????

Unbenannt.JPG

Und nochmal,

Da mir das mit den 0,2V Versatz etwas komisch vorkam, hab ich die Schaltung noch einmal extern aufgebaut. (die 3 Widerstände und die Z-Diode)
Diesmal hab ich keinen Sensor simuliert, sondern direkt 4-20mA vorgegeben.

Wenn ich die 4-20mA nur über die parallelSchaltung der beiden 1k-Widerstände laufen lasse, dann bekomm ich erwartungsgemäss 2-10V

Sobald ich dazu parallel den 3.Widerstand + die Z-Diode hänge (so wie im Schaltbild) dann fallen bei 20mA über die beiden 1k-Widerstände nur noch 8,2V ab.
Die Kurve gemessen an der Z-Diode sieht genauso aus, wie bei meinem ersten Versuch direkt in meiner Schaltung. Keine lineare Kennlinie im unteren Bereich und schleichender Übergang im Bereich der der Z-Spannung.

Dachte immer, bis zu den 4,7V sperrt die Z-Diode vollständig, und bricht dann durch,so daß an der Z-Diode maximal 4,7V abfallen.

Hallo,

eine Zenerdiode ist leider kein digitales Bauteil.

Eine 4,7V-Diode wird schon bei Spannungen ab (geschätzt) etwa 3,5V zu leiten beginnen, wenn auch zunächst nur schwach.
Auch bei Spannungen > 4,7V macht sich dann noch der differentielle Widerstand bemerkbar, will heißen, der Widerstand der Z-Diode sinkt nicht auf 0 Ohm ab.

Sicherer wäre, die Bürde für den Druckaufnehmer mit 250 Ohm auszulegen und auf Auflösung zu verzichten, Du hast dann immer noch eine theoretische Auflösung von 0,012 bar!

Wenn Du die hohe Auflösung brauchst, dann wäre die Alternative ein externer 12-bit-Wandler über SPI, dann allerdings auch sinnvollerweise mit einer Referenzdiode als präzise Referenzspannungsquelle.

Gruß

Martin

eine Zenerdiode ist leider kein digitales Bauteil.

Ja, das glaube ich ist wohl das Problem.

Der Zweig mit der Z-Diode macht sich als Parallelschaltung bemerkbar und verändert mir die 500Ohm.
Es wird wohl wirklich das beste sein, ich nehm nen 250R. Dann hab ich ne Spannung von 1-5V. Mit den 10 Bit reicht das immer noch.
Schadet es, wenn ich vor dem Eingang des µC noch einen, sagen wir mal, 10K Widerstand nehme, um den Eingang zu schützen?

Ach ja: Muss ich mich um den AREF kümmern? Der hängt ja m.E. in der Luft.

gruß/hk007

Hallo hk007

Da hab ich Dir nicht den besten Ratschlag gegeben. Ich habe den Spannungsabfall durch den Strom der Zenerdiode, wenn sie leitend wird, weil die Zenerspannung erreicht wird nicht bedacht. Entschuldige bitte meinen Fehler.

Die Lösung einen 250 Widerstand zu nehmen fine ich eine gute Lösung.
Da hättest Du 1V bei 0 bar und 2,6V bei 4 bar.
Um den ganzen A/D Bereich auszunutzen könntest Du die interne Referenz von 1,1V, die 3,3V des Spannungsstabilisators oder eine Spannungteiler um die 3,3V auf 2,6V zu bringen, verwenden.

Interne Referenz 1,1V : Widerstand zur Spannungsmessung (R1/R2) 100 Ohm; da hast Du auch noch ein wenig mehr als 4 bar messen (bis 4,375 bar).

Externe Referenz 3,3V: Widerstand zur Spannungsmessung 317 Ohm; weiß jetzt nicht auswendig welcher 1% Widerstandswert am nächsten kommt. Falls Du keine Verbraucher an 3,3V hast solltest Du einen Widerstand hinschalten damit ca 5mA fließen und so der Spannungsstabilisator besser arbeitet.

Bei 2,6V Spannungsteiler braucht Du 250 Ohm. Der Spannungteiler muß aber auch mit 1% Widerstände gemacht werden und kann etwas niederohmig sein damit an den 3,3V etwas Strom fließt und so der Spannungsstabilisator besser arbeitet.

In allen 3 Fällen kann der Analogeingang bei 5V Spannungsversorgung des ATmega ohne Probleme 5V bekommen. Der ADC-Wert wird zwar 1023 sein, aber der Eingang geht nicht kaput. Die Schaltung kann gleich bleiben ( außer anderen Widerstandswert für R1/R2)

Grüße Uwe

Ein so hochwertiger Sensor hat doch fast schon einen kaufbaren I/U Wandler (4-20mA/0-5V) verdient... :stuck_out_tongue:

Da hab ich Dir nicht den besten Ratschlag gegeben. Ich habe den Spannungsabfall durch den Strom der Zenerdiode, wenn sie leitend wird, weil die Zenerspannung erreicht wird nicht bedacht. Entschuldige bitte meinen Fehler.

Du brauchst dich doch dafür nicht entschuldigen. Ich (und auch viele andere) sind um jeden Ratschlag von dir froh. Dafür opferst du auch viel Freizeit.
Hätt auch selber drauf kommen können, bevor ich rumlöte.

Aber nochmal zur Referenz. Das hab ich noch nicht so ganz kapiert. Da ist viel graues Halbwissen bei mir.
In dem AnalogInput-Beispiel wird mit der Referenz gar nix gemacht, und da sieht es aus, als ob mit dem Poti 0-5V eingelesen werden, und die ergeben dann 0-1023 digits

Hab grad den "analogReference(type)" Befehl entdeckt. Jetzt versteh ich wenigstens, wie man dem Mega mitteilt, welche Referenz er verwenden soll

Seh ich das jetzt richtig:
Fall 1:

analogReference(INTERNAL2V56): a built-in 2.56V reference (Arduino Mega only)

Würde bedeuten, keine externe Spannung an AREF. Ich verwende einen 250R Widerstand um 1-5V an den Arduino Analogeingang zu bekommen.
Und ich bekomme: 0..2,56V = 0-1023 digits sowie 2,57..5V werden immer als 1023 dargestellt

Fall2:

analogReference(default)

Würde bedeuten, keine externe Spannung an AREF. Ich verwende einen 250R Widerstand um 1-5V an den Arduino Analogeingang zu bekommen.
Und ich bekomme: 0..5V = 0-1023 digits

Aber die Referenzeinstellung gilt für alle Kanäle gleich, oder kann man die selektiv einstellen. (Wohl nicht)

Externe Referenz 3,3V: Widerstand zur Spannungsmessung 317 Ohm

Das haut aber nicht hin oder? WorstCase-Betrachtung: 20mA über 317R sind 6,34V :fearful:

fckw:
Ein so hochwertiger Sensor hat doch fast schon einen kaufbaren I/U Wandler (4-20mA/0-5V) verdient... :stuck_out_tongue:

Ich hab die Widerstände (4x1K) ja auch gekauft. :stuck_out_tongue:
OK,ok damit könnte ich die untere Grenze von 1V nach 0V runterziehen. Aber ehrlich gesagt, ist das mir das Geld nicht wert.

"Hochwertiger Sensor" Ja, mag sein, aber ich hab ihn halt günstig in der Bucht geschossen.

hk007:

Da hab ich Dir nicht den besten Ratschlag gegeben. Ich habe den Spannungsabfall durch den Strom der Zenerdiode, wenn sie leitend wird, weil die Zenerspannung erreicht wird, nicht bedacht. Entschuldige bitte meinen Fehler.

Du brauchst dich doch dafür nicht entschuldigen. Ich (und auch viele andere) sind um jeden Ratschlag von dir froh. Dafür opferst du auch viel Freizeit.
Hätt auch selber drauf kommen können, bevor ich rumlöte.

Danke :wink: :wink:

hk007:
Aber nochmal zur Referenz. Das hab ich noch nicht so ganz kapiert. Da ist viel graues Halbwissen bei mir.
In dem AnalogInput-Beispiel wird mit der Referenz gar nix gemacht, und da sieht es aus, als ob mit dem Poti 0-5V eingelesen werden, und die ergeben dann 0-1023 digits

Standartmäßig sind die 5V Versorgungspannung als Referenzspannung für den AD-Wandler aktiviert. Braucht nicht extra angegeben werden.

hk007:
Hab grad den "analogReference(type)" Befehl entdeckt. Jetzt versteh ich wenigstens, wie man dem Mega mitteilt, welche Referenz er verwenden soll

Hab nicht mitgekriegt, daß Du einen Mega hast.

hk007:
Seh ich das jetzt richtig:
Fall 1:

analogReference(INTERNAL2V56): a built-in 2.56V reference (Arduino Mega only)

Würde bedeuten, keine externe Spannung an AREF. Ich verwende einen 250R Widerstand um 1-5V an den Arduino Analogeingang zu bekommen.
Und ich bekomme: 0..2,56V = 0-1023 digits sowie 2,57..5V werden immer als 1023 dargestellt

Ja, richtig.

hk007:
Fall2:

analogReference(default)

Würde bedeuten, keine externe Spannung an AREF. Ich verwende einen 250R Widerstand um 1-5V an den Arduino Analogeingang zu bekommen.
Und ich bekomme: 0..5V = 0-1023 digits

Ja, richtig, aber dann kannst Du die Schutzschaltung nicht so verwenden wie beschrieben, da sie ab ca 4V nicht mehr linear ist.

hk007:
Aber die Referenzeinstellung gilt für alle Kanäle gleich, oder kann man die selektiv einstellen. (Wohl nicht)

Ja, für alle Kanäle gleich, Du kannst sie aber im Programm vor jeder Messung ändern, falls Du nur interne Referenzspannungen verwendest und die ersten 2 ADC-Read nach dem Umschalten verwirfst.

hk007:

Externe Referenz 3,3V: Widerstand zur Spannungsmessung 317 Ohm

Das haut aber nicht hin oder? WorstCase-Betrachtung: 20mA über 317R sind 6,34V :fearful:

Das war für 4 bar maximal gemessener Druck berechnet (4 bar entsprechen 3,3V). Habe ich da wieder etwas falsch verstanden oder wolltest Du nicht nur 4 bar messen?

Grüße Uwe