Galvanische Trennung zum simultanen erfassen mehrerer Signale mit dem Arduino

Hi Leute :slight_smile:

Bevor ich meine Frage zu dem Thema stelle, kurz zum Hintergrund:

Zur Zeit arbeite ich an einem Projekt für mein Auto. Dieses besteht darin mir einen eigenen kleinen Bordcomputer mithilfe eines Arduino Unos und eines Nextion LCD Displays zu bauen. Da mein Tacho noch keine Anbindung zum CAN-Bus hat, greife ich also einfach die analogen Signale aus der Platine des Kombiinstruments ab und verarbeite diese mit dem Arduino. Hierbei musste ich nun aber leider feststellen, dass das Kombiinstrument auf Masse geschaltet ist, sodass ich Probleme habe mehrere Signale gleichzeitig an den Arduino anzubinden. Ein Bordcomputer, der mir nur eine einzige Information anzeigen kann, ist mir aber leider doch zu langweilig :smiley:

Daher meine Frage:

Gibt es eine besonders "einfache" Methode für die galvanische Trennung, die ihr mir empfehlen könntet? Ich weiß, dass es Optokoppler gibt, die diese Aufgabe übernehmen, jedoch habe ich noch nicht ganz verstanden, wie ich diese dann mit dem Arduino und meinem Tacho verschalte, da ich ja jeweils von jedem Signal, dass ich am Tacho abgreife eine eigene Masseleitung habe. Vielleicht hat ja jemand davon mehr Ahnung und kann mir ein wenig weiter helfen ob - und wenn ja wie - genau man so eine Schaltung aufbauen müsste.

Ich hoffe ich konnte mein Problem halbwegs verständlich erklären und bedanke mich schon mal für eure Antworten :slight_smile:

drkgreen:
Gibt es eine besonders "einfache" Methode für die galvanische Trennung, die ihr mir empfehlen könntet?

Soweit ich weiß besteht die einfachste Methode gerade im Einsatz eines Optokopplers. Eine andere Möglichkeit wäre evtl. ein „Übertrager“ (funktionieren wie Trafos), die aber vorwiegend in Audio-Schaltungen angewendet werden.

Wenn jemand mehr weiß -- ich lese interessiert mit.

Gruß

Gregor

Vielen Dank für deine Antwort, Gregor!

Bisher vermute ich auch, dass der Optokoppler die sinnvollste Lösung ist, jedoch kenne ich mich damit leider nicht wirklich aus. Also angenommen ich nehme jetzt so einen 8-Fach Optokoppler - heißt 8-Fach dann ich kann tatsächlich 8 getrennte Stromkreise damit bilden? Ich habe mir schon ein paar Datenblätter angeguckt und werde daraus irgendwie nicht schlau, da es hier meist so aussieht, als gäbe es trotzdem nur bspw. 7 Input Pins und einen Masse Pin, ich bräuchte aber ja für jeden einzelnen Stromkreis einen eigenen Masse Pin. Oder verstehe ich da etwas ganz falsch?

drkgreen:
... angenommen ich nehme jetzt so einen 8-Fach Optokoppler - heißt 8-Fach dann ich kann tatsächlich 8 getrennte Stromkreise damit bilden?

Diese Frage sollte sich durch einen Blick in die entsprechenden Datenblätter beantworten lassen. Auch ich habe bislang keine Erfahrungen mit Optokopplern. Das von mir verwendete Bauteil, das einem Optokoppler am nächsten kommt, ist der CNY70 (ein IR-Taster mit IR-LED und Fototransistor in einem Gehäuse).

Von Kfz-Elektrik habe ich nur soviel Ahnung, dass ich mit Sicherheit sagen kann, dass eine Batterie mitspielt und dass es um Strom geht. Mich wundert allerdings, dass es bei Dir wohl um Masseleitungen geht, die getrennt voneinander behandelt werden müssen. Hast Du mal gemessen, ob es da tatsächlich Potentialunterschiede gibt?

Gruß

Gregor

gregorss:
Das von mir verwendete Bauteil, das einem Optokoppler am nächsten kommt, ist der CNY70 (ein IR-Taster mit IR-LED und Fototransistor in einem Gehäuse).

Den werde ich mir mal angucken und ansonsten die Datenblätter der Optokoppler weiter durchstöbern und sehen ob ich daraus schlau werde.

gregorss:
Mich wundert allerdings, dass es bei Dir wohl um Masseleitungen geht, die getrennt voneinander behandelt werden müssen. Hast Du mal gemessen, ob es da tatsächlich Potentialunterschiede gibt?

Ja das ist leider das Problem... Wäre nicht alles im Tacho auf Masse geschaltet, könnte ich ja alle Masseleitungen einfach zusammenlegen. Leider musste ich beim Messen aber feststellen, dass an jeder Signalquelle die ich abgreife durchgehend 12V anliegen und diese eben durch die Masseleitungen reguliert werden. Würde ich die also zusammenlegen, hätte ich einfach nur an jeder Leitung durchgehend 12V, wovon ich ja leider nicht viel habe.

drkgreen:
... greife ich also einfach die analogen Signale aus der Platine des Kombiinstruments ab und verarbeite diese mit dem Arduino. ...

Optokoppler werden zur galvanischen Trennung digitaler Signale verwendet, für analoge ist mir das nicht bekannt.

Was Du über die "Masse" schreibst, ist mir gänzlich unverständlich. Nach meinem Verständnis ist "Masse" das Blech vom Auto. Abgesehen von speziellen Situationen wie Rost, sehr viel Strom und dergleichen ist das Massepotential überall gleich. Wenn der Tacho Masse hat, dann ist das die selbe Masse wie anderswo.

Oder habe ich Dich gänzlich mißverstanden?

drkgreen:
Den [CNY70] werde ich mir mal angucken ...

Der wird Dir kaum nützen, fürchte ich. Es sei denn, Du bastelst etwas, das dazu führt, dass das IR-Signal der LED immer direkt auf den Fototransistor reflektiert wird.

drkgreen:
.... Würde ich die also zusammenlegen, hätte ich einfach nur an jeder Leitung durchgehend 12V, wovon ich ja leider nicht viel habe.

Oooch ... Du könntest die Enden von Potis an Plus und Masse anschließen und den Schleifer jeweils an einen Analogeingang des Arduinos. Dann könntest Du Knöpfchen drehen, was das Zeug hält, und Dir die Werte der AD-Wandler irgendwie anzeigen lassen. Frag mich jetzt aber nicht nach dem Sinn ... :slight_smile:

Gruß

Gregor

Optokoppler sind fast ausschließlich für digitale Signale zu gebrauchen.

Es gibt einige Modelle die eine SendeLED aber 2 Fototransistoren haben. Mit Hilfe eines Operationsverstärkers wird die LED so geregelt daß der Ausgang am 1 Transistor dem Eingengssignal entspricht. In diesem Fall ist das Signal am 2. Transistor gleich groß dem ersen und damit galvanisch getrennte Gleichspannung. Das ist kompliziert.

Andre Möglichkeit die Spannung in Frequenz umzuwandeln und diese über Optokoppler zu schicken.

Möglich ist auch noch einen AD/converter zu nehmen und die Daten galvanisch zu trennen.

Grüße Uwe

Irgendwie verstehe ich die ganze Aufregung nicht. Wenn, wie im Auto, eine gemeinsame Masse vorliegt, und alle Signale nominell im Bereich 0-12V liegen, dann reichen doch einfache Spannungsteiler um alle Signale in den zulässigen Bereich des Controllers zu bekomen.

Bis man allerdinges alle Besonderheiten im Kfz-Betrieb berücksichtigt (Ladeschlußspannung, Spannungsspitzen...), können etliche Klimmzüge notwendig werden, um jeden Eingang gegen alle Eventualitäten zu schützen. Da kann es durchaus einfacher sein, für digitiale Signale Optokoppler einzusetzen. Digitale Ausgänge vertragen meist den Strom, der zusätzlich durch den Optokoppler fließen muß.

Analoge Signale lassen sich besser mit Operationsverstärkern konditionieren, für deren Betrieb die Bordspannung benutzt werden kann. Die Opamps können bei Bedarf auch direkt an den Meßstellen plaziert werden, um Störungen auf langen Leitungen zu reduzieren. Für solche Fälle bietet sich der Industriestandard mit der 4-20mA Stromschnittstelle an, die am ADC-Eingang mit einem Widerstand wieder in eine Spannung umgewandelt wird. Wenn man auf die Erkennung einer Leitungsunterbrechung verzichtet, und der Elektronik keine 4mA für Eigenbedarf zuteilen muß, kann man auch 0-20mA verwenden.

Das nur mal als Überblick,auf die Feinheiten der Kfz-Bordelektrik und Opamp-Schaltungstechnik möchte ich hier erst mal nicht weiter eingehen.

DrDiettrich:
Irgendwie verstehe ich die ganze Aufregung nicht. Wenn, wie im Auto, eine gemeinsame Masse vorliegt, und alle Signale nominell im Bereich 0-12V liegen, dann reichen doch einfache Spannungsteiler um alle Signale in den zulässigen Bereich des Controllers zu bekomen.

Eben nicht. Da liegt ja sein Problem.
Im Auto liegen Sensoren am Motor oder ähnliches oft an Masse und liefern damit ein Signal das "invertiert" ist.
Im Instumententräger liegen dann alle Instrumente an einem gemeinsamen + Anschluß und an den Leitungen
die von den Sensoren kommen.

Ich glaube, das der TO seine Messungen falsch interpretiert. Wenn ich am Auto ein analoges Signal messe, bekomme ich sowohl gegen 12V als auch gegen Masse ein korrektes Messergebnis. Jedoch u.U. nicht das erwartete.
Hat das Signal z.B. 5,8V gg. Masse, hat es -6,2V gegen 12V. Meiner Logik nach muss das Signal gg. Masse gemessen werden, weil im Bordnetz 12V nie exaxt 12V sind und somit die gemessenen Werte je nach tatsächlicher Bordnetzspannung variieren würden.

Also notfalls Polarität umkehren und Spannungsteiler dran.

Katsumi:
Eben nicht. Da liegt ja sein Problem.
Im Auto liegen Sensoren am Motor oder ähnliches oft an Masse und liefern damit ein Signal das "invertiert" ist.
Im Instumententräger liegen dann alle Instrumente an einem gemeinsamen + Anschluß und an den Leitungen
die von den Sensoren kommen.

Ja, so ist das durchaus üblich. Nicht nur im Auto, auch die üblichen Arduino Meßmodule haben eine gemeinsame Masse.

Was zeigen denn diese analogen Instrumente im Auto an? Den Strom, der durch den Sensor nach Masse fließt! Somit bilden Sensor und Instrument einen Spannungsteiler, dessen Mittenspannung gemessen werden kann (nach Herunterteilen auf 0-5V).

Wie geht es dann weiter? Der Innenwiderstand des Instruments ist konstant, die an ihm anliegende Spannung also genau der interessierende Meßwert. Okay, diese Spannung ist nicht auf Masse bezogen, sondern auf +. Man muß also zwei Werte messen (tatsächliche +12V und Mittenspannung), und die Differenz bilden. Oder einen OpAmp verwenden, um die Differenz zu bilden.

Nun müßte man für jedes Signal einen eigenen OpAmp mit allem Zubehör zusammenlöten. Deutlich einfacher wird das, wenn man einen externen Multiplexer verwendet, und einen einzigen OpAmp an dessen gemeinsamen Ausgang hängt, der die Spannungsdifferenz an einen einzelnen Analogeingang weitergibt.

Mit einem Arduino Mega kann man sogar die Differenz direkt messen, der hat neben 16 Analogeingängen noch einen programmierbaren Verstärker und Differenzbildung eingebaut.

drkgreen:
Also angenommen ich nehme jetzt so einen 8-Fach Optokoppler - heißt 8-Fach dann ich kann tatsächlich 8 getrennte Stromkreise damit bilden? Ich habe mir schon ein paar Datenblätter angeguckt und werde daraus irgendwie nicht schlau, da es hier meist so aussieht, als gäbe es trotzdem nur bspw. 7 Input Pins und einen Masse Pin, ich bräuchte aber ja für jeden einzelnen Stromkreis einen eigenen Masse Pin. Oder verstehe ich da etwas ganz falsch?

In den Fahzeugen gibt es gerne Minussignale, die du dann gegen Plus auswerten mußt. Und Plussignale gegen Minus. Schaue dir einen PC847 an. Der hat völlig getrennte Ein- und Ausgänge. Allerdings nur 4 Optos. Aber dann nimmt man eben zwei IC´s für die 8 Signale.

Aha. Und der macht also analog?