Digitaler Eingang 5-24V an Arduino

OP #4982024
Lesenswert?

Hallo !

Ich bin gerade dabei einen Digitalen Eingang für meinen Ardunio Nano zu 
bauen. Da er über USB versorgt wird und ich im Fehlerfalle nicht meinen 
PC schrotten will, sollte dies über einen Optokoppler laufen.

Dieser Eingang soll für verschieden Spannungen aber gleich sein.

Meine Idee derzeit,

5-24V ---R1-----R2---Optokoppler---Arduino mit Internem PullUp
             |         |      |
           Zener 5V1   |      |
             |         |      |
Gnd--------------------        --------GND Arduino

Hoffe es kommt so richtig an.
Müsste so funktionieren. Möchte die Teile aber so günstig wie möglich 
auslegen. Kann man da noch was verbessern? Welchen Optokoppler würdet 
Ihr nehmen? Für Printmontage (kein SMD)

Durch eine anderen Zenerdiode müsste die Schaltung auch bis 3V 
runtergehen können.
#4982034
Lesenswert?

bei 5-24V Eingang würde ich eine Konstantsromquelle davor aufbauen für 
10mA des Optokopplers (je nach dem was die Quelle als Strom hergibt, zur 
Not weniger) der an der IR Diode nur 1,2V braucht, bei 5V ist der drop 
vom LM317 evtl. nicht brauchbar, der LM1117 aber mit max. 1,2V drop auf 
jeden Fall, Rechnung 5V - 1,2V drop - 1,2V shunt > 1,2V für die IR Diode 
möglich.

Einfachste Ikonst Schaltungen mit LM317 oder low drop LM1117 adj sind ja 
überall veröffentlicht.

Welcher Optokoppler, CNY17-F4 für maximales CNR (aber F3 könnte auch 
reichen wenn man den Strom der Quelle kennen würde)
Gast #4982040
Lesenswert?

Da kannst du jeden beliebigen Optokoppler verwenden.

Die Schaltung funktion auch so schon ab ca 2 Volt, sofern dann genug 
Strom durch den Optokoppler fließt. Wenn du wirklich nur den internen 
Pull-Up des µC verwendest, sollte die Dimensionierung von R1 und R2 ganz 
unkompliziert sein.

Etwas vereinfacht wird es auch gehen:
1
            2,2k    Optokoppler
2
    + o----[===]---+---|>|----+
3
3-24V              |          |
4
                   +---|<|----+
5
                      1N4148  |
6
                              |
7
    - o-----------------------+

Man könnte auch einen weitere Anschlussklemme vorsehen, um zwischen zwei 
Widerständen/Spannungsbereich zu wechseln. Zum Beispiel:
1
                10k    Optokoppler
2
10-48V  + o----[===]---+---|>|----+
3
                       |          |
4
2-12V   + o----[===]---+---|<|----+
5
                1k        1N4148  |
6
                                  |
7
        - o-----------------------+
#4982090
Lesenswert?

Stefan U. schrieb:
> Da kannst du jeden beliebigen Optokoppler verwenden.

Das sollte man so nicht stehen lassen. Es gibt diverse Optokoppler, mit 
Triac- oder Fotodioden-Ausgängen, die hier nicht passen. Da der Arduino 
keine Schmitt-Trigger Eingänge hat, würde ich eher zu einem Optokoppler 
mit digitalem Ausgang greifen.
Die Eingangsbeschaltung mit Z-Diode und 2 Widerständen ist ok. Über die 
Z-Spannung kann man den unteren Schaltpunkt beeinflussen. Die oben 
gezeigte Schaltung arbeitet invertierend, das muss bei der Programierung 
berücksichtigt werden.
Ohne besondere Ansprüche an Geschwindigkeit kann man zu einem einfachen 
PC817 greifen. Mit digitalem Ausgang und bei höheren Geschwindigkeiten 
ist ein 6N137 guter Kandidat. Auswahlliste findet man hier 
https://www.mikrocontroller.net/articles/Optokoppler
Gast #4982121
Lesenswert?

> Über die Z-Spannung kann man den unteren Schaltpunkt beeinflussen.

Kann man nicht. Normale Optkoppler enthalten eine IR-LED, die ab 1,5V 
leuchtet. Die 5,1V Zenerdiode hat darauf keinen Einfluss. Sie reduziert 
nur den Strom bei höheren Spannung, was IMHO weder nötig noch für irgend 
etwas hilfreich ist.

Bevor der Optokoppler wegen zu viel Strom durchbrennt, ist der 
Widerstand davor schon lange verbrannt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren