ich habe eine Frage über die man zwar viel findet, jedoch unterschiedliche Lösungen und ich würde gerne die "richtige" umsetzen. Folgende Herausforderung: In einem 24 V Gleichspannungs-Stromkreis möchte ich einen Tastendruck in meinem Arduino verarbeiten um darauf zu reagieren (ich möchte nichts schalten). Hier im Forum und im Netz "kursieren" mehrere Lösungen (meist für Anwendungen, bei denen etwas geschalten wird), die wahrscheinlich alle richtig sind, mich jedoch interessieren würde, welche für meinen Anwendungsfall die richtige ist.
Lösung: Spannungsteiler: Hier würde mich interessieren, ob das wirklich ausreicht? Stichwort Spannungsspitzen, einige Lösungen nutzen hier zusätzlich Kondesatoren werden diese benötigt und wenn ja, warum? Tatsächlich aufgrund der Spannungsspitzen?
Lösung: Transistor: Hier eine ähnliche Frage: Nehme ich einfach einen Transistor mit diesem Spannungsbereich und verbinde die beiden GROUND (24/5V) zusammen und den 5V-Ausgang dann mit meinem DigitalIN vom Arduino? Ist es so einfach? Bei manchen Lösungen werden hier noch Widerstand zusätzlich eingesetzt, z.B. in dem beigefügten Bild. Hier interessiert mich, wie diese dimensioniert werden? Bedarf es weiterer Schutzmaßnahmen?
Was auch oft in diesem Zusammenhang vorkommt sind "Optokoppler" zur galvanische Trennung (teilweise auch zusätzlich zu den o.g. Ansätzen), was meint Ihr, muss ich einen derartigen einsetzen oder ist das nur relevant wenn man eine Last schaltet und nicht, wenn etwas detektiert wird?
Was würdet Ihr mir empfehlen? Wie gesagt, zum Schalten findet man viel, zum einfachen detektieren eines 24V-Signals nicht so wirklich. Vielleicht ist das auch zu einfach und ich mache mir zuviele Gedanken?
Es wäre super, wenn Ihr mir den einen oder anderen Hinweis hättet.
VIELEN DANK schon einmal an alle, die sich an der Diskussion beteiligen.
Ein Spannungsteiler ist meist ausreichend, mit einer zum Controllereingang hinzugeschalteten Z-Diode 5,1, die die max. Spannung begrenzt.
Ein Optokoppler wäre allerdings optimal und würde ich an der Stelle einsetzen.
@noiasca: Nein, es handelt sich nicht um ein KFZ, sondern um eine Bohrmaschine. Spannungsspitzen beim Einschalten des Motors (Das Signal soll nämlich erkennen, ob der Motor an/aus ist. Ist das abwegig / unkritisch?
@HotSystems: Dann werde ich mich einmal gezielt über Optokoppler informieren.
bire:
.....
Nein, es handelt sich nicht um ein KFZ, sondern um eine Bohrmaschine. Spannungsspitzen beim Einschalten des Motors (Das Signal soll nämlich erkennen, ob der Motor an/aus ist. Ist das abwegig / unkritisch?
Auch da entstehen Spannungsspitzen.
Ein Motor erzeugt beim Abschalten eine Spannung mit entgegengesetzter Polarität, die du auch abfangen musst.
Hier ist ein Optokoppler das bessere mit einer antiparallel geschalteten Diode an der Led.
Ganz simpler Vorschlag:
SI-Diode (eine ganz Normale) mit ANODE zum Arduino und mit KATHODE zur zu überwachenden 24V (allgemein >=5V).
Den INPUT stellt mal auf PULLUP, der Arduino-Pin ist also auf 5V gezogen.
Wenn jetzt 'Außen' die 24V anliegen, sperrt die Diode, der Pin bleibt auf 5V.
Geht das Signal auf GND (Wichtig! nur fehlende 24V KÖNNEN auch gehen, müssen aber nicht), fließt Strom vom Pin nach GND ab - begrenzt durch den PullUP des Arduino.
Wir erkennen ein LOW.
Der GND des Arduino muß mit dem GND der 24V verbunden sein, damit Beide 'auf gleicher Augenhöhe' sind.