Auto +12V mit Arduino erkennen

Ich möchte mit einem Arduino 12 + V von einem Autokabel erkennen.

Ich habe folgendes Schema gefunden:

Geben Sie hier die Bildbeschreibung ein

Ich weiß, wie verrückt Autospannung werden kann, also möchte ich nur sicherstellen, dass der Schaltplan, den ich oben gefunden habe, die verrückten Zufallsströme aufnehmen kann, die das Auto erzeugen könnte.

Würde ich nicht auch eine Art Kühlkörper benötigen, mit dem ich +12 V auf 5 V oder weniger heruntersetze? Das würde meiner Meinung nach eine ziemlich gute Menge an Wärme erzeugen?

Ein einfacher Widerstandsspannungsteiler würde in diesem Fall am besten funktionieren. Ein Transistor wird nur benötigt, um die Spannung aus irgendeinem Grund zu erhöhen. Ein Kühlkörper ist nicht erforderlich, da der Strom durch die Komponenten nicht sehr hoch ist. Je mehr Strom von den Komponenten verbraucht wird (P = I * V), desto mehr Wärme wird abgeführt. en.wikipedia.org/wiki/Voltage_divider
Kurt - Sie haben theoretisch Recht , aber in der Praxis unterliegen Automobilsysteme vielen Schwankungen + Spitzen + EMF. Wenn Sie also einen Teiler hätten, der eine zuverlässige logische 1 bei 5 V erzeugt (also mindestens 3 V, wahrscheinlich 4 V, um beim Anlassen sicher zu sein ) von 12 V, kann es hoch genug werden, um das Arduino zu beschädigen, wenn das Auto aufgeladen wird (moderne "intelligente" Lichtmaschinen laufen manchmal auf fast 20 V). Die Schaltung von StealthRT ist sehr vernünftig und ich habe viele ähnliche Anwendungen in Automobilanwendungen gesehen.
Als Referenz: www.industrologic.com/autotransients.pdf
Man könnte dem 2-Widerstands-Spannungsteiler aber noch eine Zener-Diode nachschalten.

Antworten (4)

Da ich weiß, dass in Kfz-Stromkreisen alle möglichen seltsamen Dinge passieren können, und da ich mich mit diesen Systemen nicht besonders auskenne, würde ich auf Nummer sicher gehen und einen Optokoppler verwenden .

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Pin 1 = Car 12v R1
Pin 2 = Car Ground
Pin 3 = NC
Pin 4 = Arduino Ground
Pin 5 = Arduino 5v R2
Pin 6 = NC

Mit diesem Schema sind Ihr Arduino und das Auto überhaupt nicht elektrisch verbunden. Im schlimmsten Fall wird der Optoisolator zerstört und Sie können ihn für weniger als einen Dollar ersetzen. Stecken Sie es in eine Steckdose und Sie brauchen nicht einmal einen Lötkolben, um die Reparatur durchzuführen.

R1 wurde so gewählt, dass Eingangsspannungstransienten bis zu 120 V den maximalen Durchlassstrom von U1 nicht überschreiten. D1 vermeidet das Überschreiten der maximalen Sperrspannung von U1, wenn die Eingangsspannung invertiert wird. Der Wert von R2 ist nicht besonders kritisch, also könnte es genauso gut der gleiche Wert wie R1 sein.

Sie benötigen keinen Kühlkörper. Wärme ist das Ergebnis der Umwandlung elektrischer Energie in Wärme, und Leistung ist die Rate der Energieumwandlung. Leistung P in einem elektrischen System ist das Produkt des Stroms ICH und Spannung E :

P = ICH E

Die Spannung selbst erzeugt also keine Wärme: Sie hängt auch davon ab, wie viel Strom fließt. In diesen beiden Schaltungen ist der Strom niedrig genug, dass die Leistung gering ist und kein Kühlkörper erforderlich ist.

+1 für Optokoppler, das ist praktisch das, wofür sie überhaupt entwickelt wurden.
Ich mag das. Dass 4N25 bei Jameco 25 Cent kostet (als Beispiel).
@Phil Frost weißt du zufällig, wie die Pinbelegung aussehen würde? Kommt an Pin 1 12V an? Die 5V kommen an Pin 5?
@StealthRT Wenn einer dieser Pins 12 V oder 5 V in Bezug auf seine jeweiligen Erdungen (Pins 2 und 4) sieht, wird ein 4N25 zerstört. Siehe Datenblatt für Pinbelegung und akzeptable Betriebsbedingungen.
@PhilFrost Ich habe mir die Pinbelegung angesehen ... war mir aber nicht sicher, welche verwendet werden sollte. Also habe ich mich mit den Pinbelegungen geirrt?
@StealthRT was meinst du mit "welches"? Gibt es mehr als einen? Sie liegen falsch, da 5 V und 12 V überhaupt nicht mit einem Pin verbunden sind. Schauen Sie sich den Schaltplan an, beachten Sie die Widerstände.
@PhilFrost ja ... ich meinte als Leitfaden, ich sagte die Linie für 12 V und 5 V ...
@PhilFrost kurze Frage: Für den 5-VDC-> 4-k-Widerstand-> Arduino-Pin-> 4N25-Pin 5 ... werden wirklich 2 Formen von 5 VDC benötigt? Einer kommt vom Arduino-Pin (5 V) und ein anderer separater 5 V DC?
@StealthRT Ein IO-Eingangspin entspricht nicht entfernt einer 5-VDC-Stromversorgung, es handelt sich also nicht um "2 Formen von 5 VDC". Ja, es wird benötigt. Wenn es eine Möglichkeit gibt, den Arduino so zu konfigurieren, dass er interne Pullups hat, dann können Sie einfach R2 und die +5 V loswerden, aber ich weiß nicht wirklich genug über Arduino, um das zu sagen.
Wie von @PhilFrost vor einem Kommentar gesagt, können Sie die internen Klimmzüge anstelle von R2 verwenden. Diese werden in Arduino mit konfiguriert pinMode(pin, INPUT_PULLUP).

Sie sind auf dem richtigen Weg, es schadet nie, die Rückwärtsdiode dort zu haben, obwohl Sie sie mit Gürtel und Hosenträgern befestigen können, indem Sie einen 18-22-V-Zener an ihre Stelle kleben.

Dies ist eine ähnliche Version, die weit verbreitet ist und gut funktioniert: http://www.msextra.com/forums/viewtopic.php?f=101&t=40330

Einige gute Hintergrundinformationen über die Art von Transienten in Automobilanwendungen Harris appnote , für den Anfang sagt diese Grafik einiges aus:

Geben Sie hier die Bildbeschreibung ein

Hier ist die Schaltung aus dem obigen Forumslink:Schaltung als Referenz

Wo ist die von Ihnen erwähnte Sperrdiode / Zener? Im Schaltplan sehe ich so etwas nicht.
Es befindet sich nicht in diesem Schaltkreis, aber wenn Sie die Diode im Schaltkreis des OP durch einen Zener ersetzen, schützt es sowohl vor Überspannung als auch vor Sperrspannung.

Wie im Kommentar zur Frage vermerkt: "Ein einfacher Widerstandsspannungsteiler würde in diesem Fall am besten funktionieren." Der Spannungsteiler erkennt das Vorhandensein von 12 V (HIGH @ 3 V3 oder 5 V) und wandelt die Spannung des Autoschaltkreises auf Arduino-Pegel herunter. http://en.wikipedia.org/wiki/Voltage_divider

  • Vout = R2 / (R1+R2) * Vin
  • 3300/(10000 + 3300) * 12,8 V = 3,17 V
  • 6800/(10000 + 6800) * 12,8 V = 5,1 V

Beachten Sie, dass die Spannung des Autos höher als 12 V sein kann, aber am Blei-Akku aus Ladegründen 13,8 V nicht überschreiten sollte. Ich habe dies zum Erkennen eines 12-V-Stromkreises verwendet. Sie können auch versuchen, dies zu verwenden, um den Ladezustand des Akkus zu erkennen, wenn Sie ihn an einen analogen Eingang anschließen.

Dies wäre normalerweise in Ordnung, obwohl ich mir bei einigen der gelegentlich vorhandenen höheren Spannungen (wie oben gezeigt) nicht sicher bin, wie gut die internen Klemmdioden in einem AVR damit umgehen würden.
Wenn Sie die 3V3-Schaltung mit einem 5V-Arduino verwenden, sollten Sie sicher sein. 3V werden immer noch als HIGH erkannt, und Sie können Überspannungen von 20V am Teiler haben.

Es mag ein bisschen spät sein, aber was ich getan habe, ist sehr einfach. Verstehen Sie dies, Optokoppler sind der richtige Weg, um Ihre gesamte Schaltung einfach und vom Stromsystem des Autos/Motorrads isoliert zu machen. Aber anstatt einen zu kaufen, können Sie einen innerhalb von 10 - 30 Cent bauen. Mit einer weißen 3,2-V-LED, einem Widerstand von ~ 620 Ohm und einem LDR. Jetzt ist es nur eine einfache LDR-Spannungsmessung auf Ihrer Arduino-Seite, um festzustellen, ob eine positive Batterie (+) angeschlossen ist oder nicht (Motor an / Batterie angeschlossen).

Schließen Sie einen 620-Ohm-Widerstand an den negativen Pin der LED an. Verbinden Sie dann den 12-V-Minuspol mit dem anderen Ende des Widerstands. Verbinden Sie die positive 12-V-Klemme mit dem positiven Pin der LED.

Das Gute daran ist, dass es Spannungen bis zu 19 Volt verarbeiten kann.Geben Sie hier die Bildbeschreibung ein