Ich möchte ein Signal, das von einem Messumformer mit 4..20mA kommt, mit einem Arduino auswerten. Der Sensor misst einen Druck in einem Bereich von 0 bis 6 bar. Die Schaltung seht ihr im Screenshot. Vermutlich müsste das auch so gehen, dieser Thread hier scheint das Thema zu behandeln: Beitrag "4-20mA --> 0-5 V transformieren" Meine konkreten Fragen sind (teilweise etwas gemischt, sorry. Wollte nicht für jedes Thema extra einen Thread aufmachen): 1) Kann ich die Schaltung so verwenden? 2) Ist die Z-Diode so korrekt verwendet, wenn ich mich gegen unzulässige Spannungen (größer 27 Volt) absichern möchte? 3) Wenn 2) korrekt ist: Mein Netzteil hat eine Leistung von 60 Watt, die ausgewählte Diode kann nur 5 Watt. Wie sichert man dann so etwas ab? Durch eine zusätzliche Feinsicherung mit z.B. 40 mA, die in Reihe zur Z-Diode geschaltet wird? Oder gibt es einen eleganteren Weg? (Eingangsspannung Ub ist 24 Volt) 4) Es handelt sich um diesen Drucksensor hier: https://www.sensorshop24.de/tpl/download/FME11.pdf Welche Variante ist besser für mich geeignet? Die mit 4..20mA oder mit 0..10V? Bei ersterer spare ich mir einen Leiter und kann einen Kabelbruch recht leicht feststellen, wenn der Strom 0mA beträgt. Der Messfehler dürfte klein sein, da die Leitung nicht sonderlich lang ist. Was spricht für die 0..10V-Variante? 5) Wenn ich die 0..10V-Variante verwende, dann muss müsste ich vermutlich einen Spannungsteiler mit sagen wir mal 2x 5,1kOhm Widerständen verwenden, um das Signal auf 0..5V zu bringen, korrekt? 6) Wie funktioniert eigentlich der Messwertumformer 4..20mA? Ist das eine Konstantstromquelle, die das ggf. nichtlineare Signal vom Sensor linear macht und dann einfach einen gleichbleibenden Strom ausgibt (und gleichzeitig mit 10 Volt Spannung versorgt wird)? Wäre super, wenn mir jemand weiterhelfen könnte -- gerne auch nur bei einzelnen Fragen.
:
Bearbeitet durch User
Mein Vorschlag wäre ähnlich: Meßwiderstand auf der Masseseite von 250 Ohm. Ideal wäre für gute Meßgenauigkeit ein 0.1% Typ mit niedrigen TK. Für den Spannungsschutz des Sensors eine TVS Diode zwischen Masse und Eingangsspannung und Sicherung oder PTC Überstromschutz. TVS deswegen weil die im Vergleich zu Zenerdioden viel schneller reagieren. Industrielle 4-20mA Sensoren sind aber meist schon vom Hersteller recht gut geschützt. Ob dafür ein Spannungsschutz notwendig ist fraglich. Wenn nur der Arduinomeßeingang geschützt werden soll, genügt ein 10K Serienwiderstand vom 250Ohm zum ADC Eingang und eine Schottkydiode nach VDD. Eine 5.6V Zenerdiode nach Masse ist da weniger günstig weil im Beteich der Zenerknickspannung unberechenbare Leckströme fließen könnten, die die Meßgenauigkeit beeinflussen. Ein 10n nach Masse ist notwendig um dem Input MUX des uC Kontrollets genug Strom beim internen Umschalten zu geben. (Steht im Datenblatt wie groß die ADC Signal Impedanz sein darf). Solange der Eingangsstrom im Fehlerfall begrenzt genug ist, genügen dann die internen CMOS Substratdioden die immer vorhanden sind. Nur passiert bei zu viel Strom ein möglicher Latchup, der den uC bei genug Strom der Spannungsversorgung den IC zerstören könnte. Besser wäre sonst den 10K Serienwiderstand aufteilen und einer 6.8V TVS Diode nach Masse dazwischenlegen. (Siehe beiligende Skizze). Dann ist der Strom in den ADC Eingang definiert begrenzt. Sollte auch noch der Messwiderstand gegen Überlastung geschützt werden wird es aufwendiger. Wenn ein 24V Netzteil in Frage kommt, dann sollten für den Arduino zum Schutz des internen Spannungsregler die Versorgungsspannung auf 8-12V reduziert werden. Übrigens, obwohl Du nicht danach gefragt hast: Durch ADC Oversampling, also laufend so schnell wie praktisch erfassen, läßt sich durch Mitteln die Auflösung um mindestens 1-2bit (Dithering) vergrößern wenn genug Zeit vorhanden ist. Das immer vorhandene Rauschen erlaubt mit dieser Methode die effektive ADC Auflösung zu verbessern. Das lohnt sich ab 16-64 ADC Messungen per Zyklus. Nicht vergessen die Hälfte des Mittelwert N zum Result hinzuaddieren um den 1/2-bit Fehler zu kompensieren. Z.B. bei 64 Messungen addierst Du dann am Ausgangswert 32. durch diese Massnahmen kannst Du den (teuren) Sensor durch bis zu 1-2-bit mehr, besser ausnutzen ohne einen besseren ADC verwenden zu müssen. Idealerweise, sollte auch eine gute 5V Spannungsreferenz am AREF Pin angeschlossen werden und auf externe Referenz umschalten. Ob sich das lohnt weiß ich nicht, da ich den Sensor nicht kenne. Da müsste man mal rechnen ob es sich lohnt. https://www.cypress.com/file/236481/download https://thecavepearlproject.org/2017/02/27/enhancing-arduinos-adc-resolution-by-dithering-oversampling/ http://www.ti.com/lit/an/snoa232/snoa232.pdf Nachtrag: Ich würde den 4-20mA bevorzugen. Das ist bei größeren Entfernungen vorteilhaft und einfacher und billiger.
:
Bearbeitet durch User
Gerhard O. schrieb: > Meßwiderstand auf der Masseseite von 250 Ohm "Masseseite" deshalb, damit ich automatisch einen Pull-Down bei nicht anliegender Spannung für die Digitaleingang habe, korrekt? > Für den Spannungsschutz des Sensors eine TVS Diode zwischen Masse und > Eingangsspannung und Sicherung oder PTC Überstromschutz. TVS deswegen > weil die im Vergleich zu Zenerdioden viel schneller reagieren. OK, mir geht es weniger um Überspannung als z.B. um Anlegen einer dauerhaft falschen zu hohen Spannung beim Einbau. Dann würde der PTC mir vermutlich nur bedingt helfen. Er würde zwar die Diode vor Überlast schützen, aber dann bei steigendem Widerstand ggf. irgendwann wieder die zu hohe Spannung anliegen lassen. Also wäre für diesen Fall der dauerhaft zu hohen Spannung die Sicherung die bessere Lösung, korrekt? > Besser wäre sonst den 10K Serienwiderstand aufteilen und einer 6.8V > TVS Diode nach Masse dazwischenlegen. (Siehe beiligende Skizze). Könntest Du in Deiner Zeichnung noch mal die einzelnen Spannungen (und Ströme) an den Widerständen und der TVS-Diode einzeichnen? Ich bin nicht sicher, ob ich da so durchsteige. Was für einen Spannungsabfall hat eine TVS-Diode? Habe ich noch die 5 Volt als anliegende Spannung am Arduino? > Ein 10n nach Masse ist notwendig um dem Input MUX des uC Kontrollets > genug Strom beim internen Umschalten zu geben. Das nehme ich einfach mal so hin. Übersteigt meine Elektrotechnik-Kenntnisse... > Wenn ein 24V Netzteil in Frage kommt, dann sollten für den Arduino zum > Schutz des internen Spannungsregler die Versorgungsspannung auf 8-12V > reduziert werden. Genau, da habe ich schon einen Festspannungsregler vorgesehen, den ich auf den Buchseneingang des Arduino lege. Ich gehe also nicht direkt aufs Board. Soweit ich weiß, ist der Buchseneingang auch noch mal abgesichert
Sebastian E. schrieb: > Gerhard O. schrieb: > >> Meßwiderstand auf der Masseseite von 250 Ohm > > "Masseseite" deshalb, damit ich automatisch einen Pull-Down bei nicht > anliegender Spannung für die Digitaleingang habe, korrekt? Ja. Auf alle Fälle. Ist auch für den ADC Meßeingang notwendig. > >> Für den Spannungsschutz des Sensors eine TVS Diode zwischen Masse und >> Eingangsspannung und Sicherung oder PTC Überstromschutz. TVS deswegen >> weil die im Vergleich zu Zenerdioden viel schneller reagieren. > > OK, mir geht es weniger um Überspannung als z.B. um Anlegen einer > dauerhaft falschen zu hohen Spannung beim Einbau. Dann würde der PTC mir > vermutlich nur bedingt helfen. Er würde zwar die Diode vor Überlast > schützen, aber dann bei steigendem Widerstand ggf. irgendwann wieder die > zu hohe Spannung anliegen lassen. Also wäre für diesen Fall der > dauerhaft zu hohen Spannung die Sicherung die bessere Lösung, korrekt? Naja. Kommt darauf an welche Fehlerquellen möglich sind. Gegen Falschpolung genügt eine Diode. Gegen Sensorüberspannung ist es besser die Versorgungsspannung zu sichern. Hier könnte eine Sicherung und Leistungszenerdiode helfen, so daß die zulässige 30V am Sensor nicht überschriten werden kann. Bei 4mA fallen dann noch 1V am 250 Ohm Widerstand und 5V bei 20mA. Der Sensor selber braucht eine gewisse interne Betriebsspannung von ein paar Volt, die aber bei der 30V maximalen Betriebspannung schon miteinbezogen ist. 24V ist übrigens in der Industrie üblich. Wenn ich Du wäre, würde ich einfach eine flinke 100mA Sicherung und 27V TVS Diode parallel zum Netzteil nehmen. Zum Falschpolungsschutz noch eine Seriendiode nach dem Netzteil zum Sensor. > >> Besser wäre sonst den 10K Serienwiderstand aufteilen und einer 6.8V >> TVS Diode nach Masse dazwischenlegen. (Siehe beiligende Skizze). > > Könntest Du in Deiner Zeichnung noch mal die einzelnen Spannungen (und > Ströme) an den Widerständen und der TVS-Diode einzeichnen? Ich bin nicht > sicher, ob ich da so durchsteige. Was für einen Spannungsabfall hat eine > TVS-Diode? Habe ich noch die 5 Volt als anliegende Spannung am Arduino? In meinem Schaltungsvorschlag teilte ich den Schutzwiderstand auf um den Strom durch die Schutzdiode auf einen sicheren Wert zu begrenzen. Das könnte passieren wenn mal versehentlich 24V am Messwiderstand angelegt werden würden. Das überlastet zwar den Messwiderstand, schützt aber den AVR Eingang weil in diesem Fall die Spannung auf rund 6.8V begrenzt würde. Über die restlichen 10K fließt dann gegen VDD intern über die CMOS Schutzdiode die bei CMOS immer vorhanden nur ein sehr kleiner Strom der den AVR nicht beschädigt. Da die 6.8V TVS diode 1.8V von 5V weg ist, sollte der Leckstrom vernachläßig sein. Im Normalfall bekommt also der AVR ADC Eingang die erwartete Spannung von 1-5V. Also fallen am 1K und 10K im normalen Betriebsbereich keine Spannungen ab und kannst ignorieren. Wenn Du auch noch den 250Ohm Messwiderstand gegen Überspannung bis 30V schützen willst, müsste mein Schaltungsvorschlag geändert werden. Dann würde ich einen 50mA SRF oder flinke 63mA Sicherung vor dem Meseingang in Serie vorschlagen und die TVS Diode parallel zum 250 Ohm Widerstand. Wenn dann 30V angelegt werden, begrenzt der TVS die Spannung auf 6.8V und es fliesst dann genug Strom um den 50mA SRF ansprechen zu lassen. Durch den 250 Ohm Widerstand fliessen dann nur rund 30mA was er verkraften sollte. Mit komplizierteren aktiven Schaltungen könnte man noch bessere Schutzeigenschaften erzielen. Ob sich das lohnt muß im Einzelfall entschieden werden. Es gibt dafür zahlreiche Schaltungsvorschläge seitens der IC Hersteller. > >> Ein 10n nach Masse ist notwendig um dem Input MUX des uC Kontrollets >> genug Strom beim internen Umschalten zu geben. > > Das nehme ich einfach mal so hin. Übersteigt meine > Elektrotechnik-Kenntnisse... Reduziert nur etwaige Störspannungen und erhöht die Meßgenauigkeit bei Meßsignalen mit hohen Innenwiderstand. Ist nicht unbedingt notwendig außer daß ohne C der Innenwiderstand des Messsignals niedrig sein soll. Beim AVR bedeutet das übrigens nicht größer sein als 10K. Der Grund ist, daß beim Umschalten des Mux kleine interne Cs im Meßzweig des ADCs umgeschalten werden müssen und der externe C diese Energie bereitstellt um Messfehler zu vermeiden. Das wird im Datenblatt näher beschrieben. > >> Wenn ein 24V Netzteil in Frage kommt, dann sollten für den Arduino zum >> Schutz des internen Spannungsregler die Versorgungsspannung auf 8-12V >> reduziert werden. > > Genau, da habe ich schon einen Festspannungsregler vorgesehen, den ich > auf den Buchseneingang des Arduino lege. Ich gehe also nicht direkt aufs > Board. Soweit ich weiß, ist der Buchseneingang auch noch mal abgesichert Ich hoffe, das klärt einige Fragenpunkte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.