Gute Nachrichten! Das wird billig! :-)
Ein einfacher Widerstandsteiler bringt die 12 V auf die 5 V, die ein Arduino verarbeiten kann. Die Ausgangsspannung kann wie folgt berechnet werden
VO UT= R 2R 1 + R 2VichN
Widerstandswerte im Bereich von 10 kΩ sind eine gute Wahl. Wenn Ihr R2 10 kΩ beträgt, sollte R1 14 kΩ betragen. Jetzt ist 14 kΩ kein Standardwert, aber 15 kΩ. Ihre Eingangsspannung beträgt 4,8 V anstelle von 5 V, aber das Arduino sieht das immer noch als hohen Pegel an. Sie haben auch ein bisschen Headroom, falls die 12 V etwas zu hoch sein sollten. Sogar 18 kΩ geben Ihnen immer noch ausreichend hohe 4,3 V, aber dann müssen Sie anfangen, über die 12 V ein bisschen zu niedrig nachzudenken. Wird die Spannung immer noch als hoch angesehen? Ich würde bei den 15 kΩ bleiben.
bearbeiten
Sie erwähnen eine Automobilumgebung und benötigen dann zusätzlichen Schutz. Die 12 V des Autos sind nie ganz 12 V, aber die meiste Zeit höher, mit Spitzenwerten von mehreren Volt über den Nennspannungen von 12 V. (Die Nennspannung entspricht eher 12,9 V bei 2,15 V pro Zelle.) Sie können einen 5 V-Zener einsetzen Diode parallel zu R2, und dies sollte jede Spannung abschalten, die höher als 5 V des Zeners ist. Eine Zenerspannung ändert sich jedoch mit dem Strom, und bei dem niedrigen Eingangsstrom, den die Widerstände Ihnen geben, wird sie bei niedrigeren Spannungen abschalten. Eine bessere Lösung wäre eine Schottky-Diode zwischen dem Arduino-Eingang und der 5-V-Versorgung. Bei einer Eingangsspannung von mehr als 5,2 V leitet die Schottky-Diode, und die Eingangsspannung ist auf 5,2 V begrenzt. Hierzu benötigen Sie wirklich eine Schottky-Diode, eine herkömmliche PN-Diode hat eine 0.
Besser
Michaels Optokoppler ist eine gute Alternative, wenn auch etwas teurer. Sie werden häufig einen Optokoppler verwenden, um den Eingang vom Ausgang zu isolieren. Sie können ihn jedoch auch verwenden, um einen Eingang wie hier gewünscht zu schützen.
So funktioniert es: Der Eingangsstrom leuchtet der internen Infrarot-LED auf, die einen Ausgangsstrom durch den Fototransistor verursacht. Das Verhältnis zwischen Eingangs- und Ausgangsstrom wird als CTR (Current Transfer Ratio) bezeichnet. Der CNY17 hat eine minimale CTR von 40%, was bedeutet, dass Sie einen 10-mA-Eingang für einen 4-mA-Ausgang benötigen. Lassen Sie uns für den 10-mA-Eingang gehen. Dann sollte R1 (12 V - 1,5 V) / 10 mA = 1 kΩ sein. Der Ausgangswiderstand muss bei 4 mA einen 5-V-Abfall verursachen, dann sollte dieser 5 V / 4 mA = 1250 Ω betragen. Es ist besser, einen etwas höheren Wert zu wählen, da die Spannung ohnehin nicht mehr als 5 V abfällt. Mit 4,7 kΩ wird der Strom auf ca. 1 mA begrenzt.
Vcc ist die 5-V-Versorgung des Arduino, Vout geht an den Eingang des Arduino. Beachten Sie, dass der Eingang invertiert wird: Er ist niedrig, wenn 12 V anliegen, und hoch, wenn er nicht anliegt. Wenn Sie das nicht möchten, können Sie die Position des Optokopplerausgangs und des Pull-up-Widerstands vertauschen.
edit 2
Wie löst die Optokopplerlösung das Überspannungsproblem nicht? Der Widerstandsteiler ist ratiometrisch: Die Ausgangsspannung ist ein festes Verhältnis zum Eingang. Wenn Sie für 5 V out bei 12 V in gerechnet haben, ergibt 24 V in 10 V out. Nicht OK, daher die Schutzdiode.
In der Optokopplerschaltung sehen Sie, dass die rechte Seite, die mit dem Eingangspin des Arduino verbunden ist, überhaupt keine höhere Spannung als 5 V aufweist. Wenn der Optokoppler eingeschaltet ist, zieht der Transistor Strom. Im obigen Beispiel habe ich 4 mA verwendet. 1,2 kΩ verursachen einen Spannungsabfall von 4,8 V aufgrund des Ohmschen Gesetzes (Strom mal Widerstand = Spannung). Dann beträgt die Ausgangsspannung 5 V (Vcc) - 4,8 V über dem Widerstand = 0,2 V, das ist ein niedriger Pegel. Wenn der Strom niedriger wäre, wäre auch der Spannungsabfall geringer und die Ausgangsspannung steigt an. Ein Strom von 1 mA verursacht beispielsweise einen Abfall von 1,2 V, und der Ausgang beträgt 5 V - 1,2 V = 3,8 V. Der Mindeststrom ist Null. Dann liegt am Widerstand keine Spannung an und der Ausgang ist 5 V. Das ist das Maximum.
Was ist, wenn die Eingangsspannung zu hoch wird? Sie haben versehentlich eine 24-V-Batterie anstelle von 12 V angeschlossen. Dann verdoppelt sich der LED-Strom von 10 mA auf 20 mA. Die 40% CTR verursacht einen Ausgangsstrom von 8 mA anstelle der berechneten 4 mA. 8 mA über den 1,2-kΩ-Widerstand wären ein Abfall von 9,6 V. Aber bei einer 5-V-Versorgung wäre das negativ, und das ist unmöglich. Sie können hier nicht niedriger als 0 V gehen. Während der Optokoppler sehr gerne 8 mA ziehen würde, wird der Widerstand dies begrenzen. Der maximale Strom durch ihn ist, wenn die vollen 5 V daran anliegen. Der Ausgang ist dann wirklich 0 V und der Strom 5 V / 1,2 kΩ = 4,2 mA. Unabhängig davon, welches Netzteil Sie anschließen, wird der Ausgangsstrom nicht höher und die Spannung bleibt zwischen 0 V und 5 V. Es ist kein weiterer Schutz erforderlich.
Wenn Sie Überspannung erwartet werden Sie überprüfen , ob die LED des Optokopplers verarbeiten kann der erhöhte Strom, aber die 20 mA wird kein Problem für die meisten Optokoppler sein (sie sind oft bei 50 mA maximal bewertet), und außerdem, dass die für Doppel Eingangsspannung, die wahrscheinlich nicht IRL passieren wird.