Das sollte nicht zu schwer sein:
Vcc ist das +5 V Arduino-Netzteil, Vout geht an einen I / O-Pin.
Ein wichtiger Parameter für einen Optokoppler ist dessen CTR (Current Transfer Ratio), vergleichbar mit HFE für einen Transistor. Wenn der HFE-Wert für einen Allzwecktransistor jedoch häufig bei 100 liegt, liegt er für einen Optokoppler häufig unter 1 und wird daher häufig als Prozentsatz ausgedrückt, z. B. CTR = 50%. Dies bedeutet, dass Sie 5 mA für 10 mA erhalten.
Sie haben anscheinend genug Strom zur Verfügung, aber wir werden nicht alles brauchen. Der CNY17-2 hat eine CTR von mindestens 22% bei 1 mA Eingang, sodass wir 0,22 mA ausgeben können. Der Arduino arbeitet mit 5 V, dann sollte der Pull-up-Widerstand mindestens 22,7 kΩ betragen, damit der Transistor den Ausgang auf Low ziehen kann. Sie können sogar noch höher gehen, müssen dann aber den Leckstrom des Transistors im Auge behalten. Der CNY17-2 hat dafür niedrige 50 nA, so dass keine Probleme auftreten. Es gibt auch ein maximales 1-µA-Leck im AVR-Controller, aber selbst das führt nur zu einem 100-mV-Abfall bei ausgeschaltetem Transistor. Das ist also sicher.
Die 100 kΩ würden auch bedeuten, dass Sie nur 50 µA Ausgangsstrom benötigen, um den Ausgang niedrig zu ziehen. Bei 1 mA Eingang hatten wir 220 µA Ausgang, also ist alles pfirsichfarben. Bei einer Eingangsspannung von 35 V und einem maximalen Spannungsabfall an der LED von 1,65 sollte VR1 maximal 33 kΩ betragen.
Bei diesem Widerstandswert müssen Sie überprüfen, wie hoch der Strom bei der minimalen Eingangsspannung ist. Wenn die Eingangsspannung beispielsweise nur 12 V betragen kann, benötigen Sie maximal 10 kΩ.
Die antiparallele Diode schützt vor Verpolung und kann eine beliebige Diode sein, z. B. eine 1N4148.
Hinweis: Darlington-Ausgangsoptokoppler wie der 4N32 von Oli haben eine viel höhere CTR, aber es sieht so aus, als könnten wir darauf verzichten, und Darlington-Geräte sind teurer: Der 4N32 ist doppelt so teuer wie der CNY17.