Go Down

Topic: Geschaltete Masse auswerten (Read 1 time) previous topic - next topic

maeckes

Hi!

Ich möchte die geschaltete Masse VOR meinem Netzteil im Arduino verwenden.

Zum genauen "Problem":
Kfz-Spannung wird per DC-DC-Step-Down-Modul auf Arduino-freundliche Spannung am Hohlstecker transformiert.
Innerhalb des KFZ-Boardnetzes gibt es einen Schließerkontakt, der auf Masse schaltet.

Kann ich die Masse nach dem Step-Down Modul mit der KFZ-Masse verbinden und dann am Digitaleingang den Schließerkontakt auswerten?

Gruß
Morris

Serenifly

#1
Jun 17, 2013, 05:37 pm Last Edit: Jun 17, 2013, 05:39 pm by Serenifly Reason: 1
Da musst du mal in das Datenblatt des Wandlers schauen ob der galvanisch getrennt ist. "Richtige" DC-DC-Wandler sind glaube ich immer getrennt, aber manchmal bezeichnet man damit auch einfache Step-Down Wandler.

Hatte da letztens auch mal was wo ich eine kleinere Spannung galvanisch getrennt brauchte. Habe dann einen DC-DC-Wandler für die Trennung gehabt und dahinter noch mal einen nicht getrennten Step-Down Wandler um auf die gewünschte Spannung zu kommen.

maeckes

Datenblatt leider nicht vorhanden....  :smiley-roll:

Serenifly

#3
Jun 17, 2013, 05:56 pm Last Edit: Jun 17, 2013, 05:58 pm by Serenifly Reason: 1
Kannst auch einfach mit einem Ohm-Meter messen ob die verbunden sind

maeckes

Ja, aber was ist denn, wenn
- die verbunden sind
- wenn die nicht verbunden sind

Kann ich in beiden Fällen die Masse vom Arduino mit der vom KFZ verbinden?

Serenifly

#5
Jun 17, 2013, 06:01 pm Last Edit: Jun 17, 2013, 06:47 pm by Serenifly Reason: 1
Wenn die Massen verbunden sind und damit keine galvanische Trennung da ist, kannst das natürlich einfach machen.

Ob man eine galvanische Trennung aufheben kann in dem man die Massen einfach verbindet und das dann alles noch läuft weiß ich nicht. Die Frage ist ob der DC-DC-Wandler dann noch richtig läuft. Er muss nicht kaputt gehen, aber ich wäre erst mal vorsichtig damit.

Andere Sache: wenn das ein einzelner Kontakt ist, ist es nicht möglich daran einfach zwei Kabel vom Arduino hinlegen? Mit der Masse vor dem Wandler hat das dann doch nichts mehr zu tun. Vielleicht denkst du da einfach zu kompliziert. Oder ist der Kontakt direkt auf einer Platine verlötet? Selbst dann kann man eventuell die Leiterbahn unterbrechen.

Wenn es galvanisch getrennt ist, kannst du auch einfach einen Optokoppler dazwischen schalten. So ähnlich
http://upload.wikimedia.org/wikipedia/commons/9/9c/Optokoppler.gif

Den Vorwiderstand der LED mit 12V berechnen und mit dem Ausgangstransitor in Emitterschaltung kannst du dann ein 5V Signal erzeugen, das invertiert zu dem Schließer ist. Die Dinger gibts für 30-40 Cent.

rudirabbit


Mit der Masse vor dem Wandler hat das dann doch nichts mehr zu tun. Vielleicht denkst du da einfach zu kompliziert.


Dann denke ich wohl auch zu kompliziert, denn der Wandler hat seine Masse an dem Bordnetz des Fahrzeugs.
Wenn du nun ein Signal in den Arduino vom Auto bekommen will, muss man die Arduinomasse auf die Masse des Autos klemmen.

Ich würde wie vorgeschlagen mit nem Ohmmeter die Massen vom Wandler messen, und den Schaltplan des Wandlers ansehen.

Wenn galvanisch getrennt, dann halt mit den Optos.
Arduino UNO,MEGA  Fremdgänger mit dem  Nucleo L152RE   
Dunkel die andere Seite ist. - Klappe, Yoda, und iss deinen Toast :-)

maeckes

Es geht dabei um einen Kontakt am Getriebe.
Der holt sich die Masse vom Motor/Rahmen/Generator/Batterie.


Serenifly

Ich meinte damit, dass der Schaltkontakt doch zwei Anschlüsse hat. Das hängt jetzt damit zusammen wie das mechanisch gemacht ist, aber wenn die beide offen/frei sind kann man ja einmal Arduino-Masse hinhängen.

Oder hat der Kontakt schon eine Funktion und die soll beibehalten werden? Dann geht das natürlich nicht. Mit einem Optokoppler lässt sich das aber einfach und sauber lösen. Sind klein und billig.

maeckes

?
Wie gesagt... Ein Kontakt vom Schließer liegt zwangsläufig auf Fahrzeugmasse.
Das kann ich nicht ändern!

Der andere Kontakt ist zur Zeit mit dem Kontakt einer Lampe verbunden, die wiederum mit Dauerplus versorgt wird. Lampe leuchtet also, wenn der Schließer am Getriebe schaltet (Leerlauf eingelegt ist).

Nun soll der Arduino diese Anzeige übernehmen -> de geschaltete Masse auswerten.


Serenifly

#10
Jun 17, 2013, 07:26 pm Last Edit: Jun 17, 2013, 07:29 pm by Serenifly Reason: 1
Also ich sehe dann diese Optionen:

1. Keine galvanische Trennung -> einfach verbinden

2. Galvanische Trennung ->
 2.1. Die Verbindung des Kontakts zur Masse zerstören. Leiterbahnen kann man z.B. mit einem scharfen Gegenstand durchtrennen oder leicht anbohren. Das hängt wie gesagt vom Aufbau ab. Wie gesagt eventuell nicht möglich
 2.2. Optokoppler

maeckes

... Man kann den Kontakt vom getriebe/motor zur Masse nicht unterbrechen!
Sonst läuft der Motor nicht mehr.....

Sollte man irgendwelche Dioden/Sicherungen verbauen, um den Arduino zu schützen?

Serenifly

#12
Jun 17, 2013, 07:38 pm Last Edit: Jun 17, 2013, 07:44 pm by Serenifly Reason: 1
Nein. Durch den Optokoppler ist ja alles getrennt. :) Das ist einfach eine LED und ein Foto-Transistor. Der Ausgangstransistor schaltet einfach zwischen 5V und Masse je nachdem ob die LED an ist oder nicht.

z.B. hier:
http://www.reichelt.de/Optokoppler/MOC-3043-ISO/3/index.html?;ACTION=3;LA=446;ARTICLE=42048;GROUPID=3046;artnr=MOC+3043+ISO

Schau nur wegen dem Strom. Manche haben 20mA und andere bis zu 60mA. Das ist in dieser Anwendung im Prinzip egal, aber du musst den Vorwiderstand demnach auslegen. Gibt sogar in DIP-4

maeckes

Hm ich kann es noch nicht ganz nachvollziehen.

Ich möchte genau genommen 7 Schaltkontakte auswerten.
Der Optokoppler ist ja scheinbar (von der Funktion her) wie ein Relais.

Am einfachsten wäre es halt, ich lege einfach die Arduino-Masse auf die Fahrzeugmasse, setze die Pullup-Widerstände und hänge jeden Kontakt an einen Pin.
Wenn dann einer der Kontakte auf Masse schaltet, ist der Digitaleingang geschaltet und ich kann ihn auswerten.

Wie sähe denn die Schaltung bei Verwendung des Optokopplers aus? Ich habe es jetzt so verstanden:
Die LED (Relaisspule) wird auf der einen Seite mit Dauer+ versorgt, mit der anderen Seite von der geschalteten Masse.
Der Schaltausgang des Transistors (der Schließer des Relais) wird dann auf der einen Seite an die Arduino-Masse/5V/3,3V gehangen und die andere Seite kommt jeweils an einen Dig.Eingang.
Je nach dem, werden halt noch Pullup/Pulldown Widerstände geschaltet.


Nur bräuchte ich dann 7 Optokoppler und hätte deutlich mehr Verdrahtungsaufwand. Da währe die erste Möglichkeit doch einfacher

Serenifly

#14
Jun 17, 2013, 08:26 pm Last Edit: Jun 17, 2013, 08:57 pm by Serenifly Reason: 1
Es ist halt die Frage wie wichtig da die galvanische Trennung ist. Manche Lasten stören auch. Da ist eine Trennung schon sinnvoll. Gerade wenn man mit einem µC arbeitet, der Spannungsabfälle oder -spitzen nicht gut verkraftet. Es ist auch theoretisch möglich, dass der DC-DC-Wandler nicht mehr arbeitet wenn man beide Massen verbinden. Das weiß ich nicht.

Du liegst richtig mit der Erklärung. Das Prinzip des Optokopplers ist so:
http://upload.wikimedia.org/wikipedia/commons/9/9c/Optokoppler.gif

Der LED Vorwiderstand ist (12V - Uf) / If. Das sind IR LEDs also ist Uf (Vorwärtsspannung) ca. 1,4-1,6V. Genauer Wert dafür und If (Vorwärtstrom) siehe Datenblatt. Nimm da die "typischen" Werte.

Auf dem Bild, denke dir die LED im Ausgangskreis weg. Statt dessen einfach vom Kollektor auf den Digital-Eingang. Da liegen dann 5V und wenn der Transistor durchschaltet zieht er den Pin auf Masse runter. Den Kollektorwiderstand so wählen dass ein vertretbarer Strom fließt. Dazu sollte auch was im Datenblatt über den Kollektorstrom Ic stehen. Logisch musst du dann beachten, dass du durch die Emitterschaltung einen Inverter gebastelt hast. Also ist der Eingang LOW wenn der Kontakt geschlossen ist.

Für 7 Kontakte kannst du 2 ICs verwenden die je 4 Koppler haben.

Go Up