Hallo, ich plane in einem Fahrzeug einen Adapter zu bauen um Analoge Signale, welche von einem Steuergerät geschalten werden um Verbraucher zu bestromen, in Can Bus-Signale umzuwandeln. Grundsätzlich soll es nachher so funktionieren, dass der Verbraucher nicht mehr vom eigentlichen Steuergerät geschalten wird sondern von einem externen, welches die Can Bus Nachricht auswertet und dann schaltet. Das heißt, dass das aktuelle Ausgangssignal, das ich verwerten möchte mit 12V Batteriespannung geschalten wird. Wie kann ich die 12V so aufbereiten, dass ich sie einfach als simples Schaltsignal für z.B. einen Arduino nutzen kann? Beste Grüße Maxi
:
Verschoben durch Moderator
Es gibt verschiedene Ansätze, die du verfolgen kannst: - Spannungsteiler + Dioden nach VCC und GND, um Über- und Unterspannungsspitzen abzufangen - Optokoppler mit passendem Vorwiderstand sind sehr beliebt, auch wenn die galv. Trennung nicht benötigt bzw. oftmals aufgehoben wird - Die angehängte Schaltung ist luxuriöser Overkill. Galvanische Trennung und der Optokoppler wird mit einer Konstanstromquellen-Diode betrieben, die für die 15mA durch die LED im OK sorgt.
Ich denke ein Spannungsteiler ist nicht wirklich geeignet, da die Ausgangsspannung ja über die Batteriespannung relativ hohen Schwankungen ausgesetzt ist - oder? Wie sieht es dann mit der Wärmeentwicklung aus, ich kann den Gesamtstrom in der Schaltung ja durch große Widerstände gering halten, aber wie viel wird noch benötigt um den Arduino sauber zu schalten? Danke Sebastian, von Optokopplern habe ich auch gelesen. Ich verstehe nur die Schaltung nicht so ganz. Klar ist, dass ich mit den 12V auf der linken Seite die rechte Seite des Optokopplers schalte. Aber wozu dienen die zwei Anschlüsse mit 3,3V mit einer LED? Also ich verstehe noch nicht so ganz was ich wann an CAR_OK messen kann.
Maxi schrieb: > Aber wozu dienen > die zwei Anschlüsse mit 3,3V mit einer LED? Also ich verstehe noch nicht > so ganz was ich wann an CAR_OK messen kann. Naja, der Optokoppler hat einen NPN-Ausgang, kann also so erst einmal nur nach GND schalten. Für ein High-Signal am Controller braucht es dazu einen Pullup-Widerstand. Entweder den internen vom Controller oder wie in meiner Schaltung einen externen. Die LED Leuchtet, sobald auf der linken Seite ~5...30V anliegen. Ohne 12V am Eingang ist CAR_OK high auf 3.3V, mit 12V am Eingang ist CAR_OK low auf GND. Zur Sicherheit: Möchtest du erkennen, ob die Batteriespannung nur vorhanden ist oder möchtest du wissen, ob sie eine bestimmte Spannung über/Unterschritten hat? Oder gar die Spannung quantitativ messen?
Okay, das verstehe ich soweit. Ich möchte quasi nur erkennen, ob eine Lampe eingeschaltet wird oder nicht. Wenn also z.B. das Abblendlicht mit Spannung versorgt wird möchte ich das mit der Elektronik auswerten und die Information auf einen externen Can Bus senden, auf welchem ein Steuergerät die Daten empfangen soll und dann die Lampen, welche dann ebenso Bus gesteuert sind einschaltet. Das 12V Signal schaltet dann also nicht mehr die Lampe sondern nur noch den Eingang am Arduino. Ich müsste damit ca. 6 Signale auswerten müssen. Vllt. ist das auch alles zu kompliziert, aber so ist erstmal meine Wunschvorstellung.
Maxi schrieb: > Ich denke ein Spannungsteiler ist nicht wirklich geeignet, da die > Ausgangsspannung ja über die Batteriespannung relativ hohen Schwankungen > ausgesetzt ist - oder? Die Steuergeräte in KFZ können das damit problemlos (Optokoppler wären da schlicht zu teuer und haben zudem pfundige Fertigungstoleranzen). Der Witz beim Spannungsteiler sind die ebenfalls erwähnten Klemmdioden nach Vcc und GND.
Vielen Dank für die Antworten, ich probiere mich dann erstmal auf dem Tisch aus. Beste Grüße
:
Bearbeitet durch User
Maxi schrieb: > Ich möchte quasi nur erkennen, ob eine Lampe eingeschaltet wird oder > nicht. Wenn also z.B. das Abblendlicht mit Spannung versorgt wird möchte > ich das mit der Elektronik auswerten und die Information "Mit Spannung versorgt" heißt aber noch lange nicht, dass die Lampe auch leuchtet. Das zu ermitteln wird wohl nur über den Stromverbrauch gehen. Ganz früher gab's mal Kontrollrelais, die aus einem Reedkontakt und einer Wicklung mit dicken Kupferlackdraht bestanden. Konnte man ganz einfach nachbauen, geht heute immer noch (*). Blackbird (*) das Nachbauen und auch die nachgebauten und originalen Kontrollrelais.
Lothar J. schrieb: > "Mit Spannung versorgt" heißt aber noch lange nicht, dass die Lampe auch > leuchtet. Das zu ermitteln wird wohl nur über den Stromverbrauch gehen. Es werden andere Lampen eingebaut, welche Can Bus gesteuert sind. Die alte Stromversorgung soll nur noch als Signal für den Controller dienen.
Maxi schrieb: > aber wie viel wird noch benötigt um den Arduino sauber zu schalten? Der uC auf dem Arduino ist in CMOS aufgebaut und besitzt am Eingang folglich eine isolierende Silikat-Schicht. Strom brauchst du nur, um die Eingangskapazität umzuladen, d.h. es kommt auf die gewünschte Geschwindigkeit der Umschaltung an
Hi! Passendes OEM Steuergerät verbauen geht nicht? Oder wäre dasdann ne komplette Neuverkabelung des Fahrzeugs? VG
Lothar M. schrieb: > Die Steuergeräte in KFZ können das damit problemlos (Optokoppler wären > da schlicht zu teuer und haben zudem pfundige Fertigungstoleranzen). Der > Witz beim Spannungsteiler sind die ebenfalls erwähnten Klemmdioden nach > Vcc und GND. Wenn die Schaltung sich aus der gleichen Spannung speist wie das Signal das sie verwerte, ok. Sonst: Wenn die 12V da sind, die Versorgung der Schaltung aber nicht, gilt zu bedenken, was passiert, wenn das auftritt. Die meisten IC haben Klemmdioden, und damit fließt ein Strom in die Versorgung. Das muss bei einem Spannungsteiler nicht zwingend ein Problem sein. Man sollte es aber bedenken. Einen Reset-Loop trotz fehlender Versorgung durch Fremdspeisung über eine UART sieht man leider manchmal. Inklusive kaputter Platinen. Lösungen dafür gibts viele. Wie der vorgeschlagene Optokoppler, ein einfacher FET, ein Logikgatter das Spannung am Eingang ohne Versorgung toleriert (74LVC-Serie z.B.) oder auch nur den Spannungsteiler hochohmig machen.
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.