SPS Signal -> Arduino

OP #5874744
Lesenswert?

Hallo liebe Leute,
für eine Darstellung eines Projektes habe ich für eine SPS gesteuerte 
Tunnelbeleuchtung einen Mikrocontroller programmiert der dafür Neopixel 
ansteuert.

Nun habe ich noch ein Problem undzwar bekomme ich das Signal der SPS 
nicht auf die 5V die der Arduino nano dazu benötigt.

Ich habe hier bei mc.net und im Elektronikkompendium von der Möglichkeit 
mit Optokopplern gelesen, jedoch tue ich mich noch ein wenig schwer 
damit.

In unserer Werkstatt habe ich noch 4N25 von Motorola gefunden und frage 
mich ob das mit diesen auch geht.

An dem SPS Ausgang habe ich so 22V gemessen.

Ist das überhaupt mit den 4N25 möglich? Und welche Schaltung macht sinn 
damit eine stabile Spannung an den Mikrokontroller geht.

Ich freue mich über hilfreiche Beiträge
Bei fragen einfach fragen ?
Gast #5874779
Lesenswert?

Wenn Du eh den gleichen GND hast, bringt ein Optokoppler überhaupt 
nichts - ausser, wie Du selbst schon festgestellt hast, dass es 
komplizierter wird.

Hast Du also den gleichen Ground, nimm den Spannungsteiler! Ganz Mutige 
nehmen nur einen Widerstand und lassen die Schutzdioden den Rest 
machen...

Gruss Chregu
OP #5874788
Lesenswert?

Christian M. schrieb:
> Wenn Du eh den gleichen GND hast, bringt ein Optokoppler überhaupt
> nichts - ausser, wie Du selbst schon festgestellt hast, dass es
> komplizierter wird.
>
> Hast Du also den gleichen Ground, nimm den Spannungsteiler! Ganz Mutige
> nehmen nur einen Widerstand und lassen die Schutzdioden den Rest
> machen...
>
> Gruss Chregu

Gut ich könnte ja hingehen und GND kurzschließen. An sich habe ich aber 
2 Netzteile.
OP #5874807
Lesenswert?

Für den Eingangswiderstand des Optokopplers habe ich R1=(22V-1.2)/0.01A
R1=2.080 Ohm.

Der Arduino verbraucht in etwa die gleiche Strommenge von 0.01A oder von 
welchem wert geht man durchschnittlich aus?

0.02A sind scheinbar maximallast pro Eingang wie ich gelesen habe.

Benötige ich einen anderen Optokoppler?

CTR war doch Ausgangsstrom durch Eingangsstrom.

Das müsste in etwa die gleiche Menge an Strom sein 0.01A für die Led und 
selbes für den Arduino.

Korrigiert mich bitte wenn ich Fehler mache.
Gast #5874816
Lesenswert?

Bastian J. schrieb:
> Soweit war ich auch schon leider ohne Erfolg, mit dem 4N25 habe ich eher
> Ergebnisse vom MC zur SPS gefunden und nicht andersherum.

Der 4N25 ist ein ziemlich gewöhnlicher Operationsverstärker. Die meisten 
Bauvorschläge, die Google findet, gehen auch damit 1:1.

> Der Arduino verbraucht in etwa die gleiche Strommenge von 0.01A oder von
> welchem wert geht man durchschnittlich aus?

Das musst du so berechnen. Ich gehe davon aus, dass du einen Arduino mit 
AVR Mikrocontroller verwendest. Wenn du dessen interne Pull-Up 
Widerstände nutzt, benötigen dessen Eingänge weniger etwas 0,1mA Strom.

Wenn der Optokoppler mindestens 20% Übertragungsverhältnis hat, muss er 
daher 5x so viel Eingangsstrom bekommen. Das wären dann 0,5mA. Diesen 
Wert soll man nochmal etwa mit 4 multiplizieren, damit da auch saubere 
Logiksignale raus kommen. Und dann packen wir noch ordentlich 
Sicherheitsreserve oben drauf. Damit langen wir bei pi mal Daumen 4mA.

Wenn aus der SPS 24V raus kommen und an der Diode des Optokoppler 1,2V 
abfallen, dann berechnet man den Vorwiderstand so:

(24V - 1,2V) / 0,004A = 5700 Ohm

Ich halte es allerdings für Ratsam, nicht den internen Pull-Widerstand, 
sondern einen externen mit 2 bis 20kΩ zu benutzen, weil das weniger 
Störanfällig ist. Dann müssen wir nochmal neu rechnen:

5V / 2kΩ = 2,5mA
Das mal 4 und dann nochmal zur Sicherheit verdoppeln:
2,5mA x 4 x 2 = 20mA

Du brauchst dann also 20mA Steuerstrom.

(24V - 1,2V) / 0,02A = 1140 Ohm
Gast #5874827
Lesenswert?

Bastian J. schrieb:
> Stefanus F. schrieb:
>>
> 
https://www.google.com/search?q=optokoppler+sps&client=ubuntu&hs=bSC&channel=fs&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjwrMjLhOfiAhUIMuwKHcOMA1EQ_AUIESgC&biw=1326&bih=649
>
> Soweit war ich auch schon leider ohne Erfolg, mit dem 4N25 habe ich eher
> Ergebnisse vom MC zur SPS gefunden und nicht andersherum.

Da sind mindestens fünf Lösungen für dein Problem dabei !!!
Gast #5874830
Lesenswert?

Sorry, ich habe den Teil mit externem Pull-Up falsch geschrieben, da 
habe ich den CTR vergessen. So ist es richtig:

Ich halte es allerdings für Ratsam, nicht den internen Pull-Widerstand, 
sondern einen externen mit 10kΩ zu benutzen, weil das weniger 
Störanfällig ist. Dann müssen wir nochmal neu rechnen:

5V / 10kΩ = 0,5mA
Das mal 5 (wegen dem CTR) dann mal 4 (für saubere Logik-Pegel/Sättigung) 
und dann nochmal zur Sicherheit verdoppeln:
0,5mA x 5 x 4 x 2 = 20mA

Du brauchst dann also 20mA Steuerstrom.

(24V - 1,2V) / 0,02A = 1140 Ohm
Gast #5874833
Lesenswert?

Bastian J. schrieb:
> Gut ich könnte ja hingehen und GND kurzschließen. An sich habe ich aber
> 2 Netzteile.

Wenn du die zwei Netzteile getrennt haben willst / musst, dann ist der 
Optokoppler das Richtige.
Wenn du ohne Einschränkung deiner Anlage die GNDs verbinden 
kannst/darfst, dann ist er überkandidelt! Da tut es ein Spannungsteiler.

Bastian J. schrieb:
> Der Arduino verbraucht in etwa die gleiche Strommenge von 0.01A oder von
> welchem wert geht man durchschnittlich aus?
>
> 0.02A sind scheinbar maximallast pro Eingang wie ich gelesen habe.

Das glaube ich nicht. Ein Eingang eines CMOS-Prozessors ist sehr 
hochohmig. Als Ausgang sind die 20mA max. ein sinnvoller Wert, ein 
Eingang wir keine 100nA aufnehmen. Den Eingangsstrom kannst du also 
getost vernachlässigen!

Bau einen Spannungsteiler aus z.B 22k und 6k2 für einen 5V-Eingang, für 
3.3V musst du die 6k2 eben verkleinern und gut iss!
OP #5874886
Lesenswert?

Richard B. schrieb:
> Stefanus F. schrieb:
>> Upps, natürlich. Habe mich vertippt.
>
> Stefanus F. schrieb:
>> Du brauchst dann also 20mA Steuerstrom.
>
> Die Simatic (S7 12xx/15xx) von Siemens arbeitet mit 1-3mA.
> Für den AVR würde ich max. 1mA einplanen.

Ist ne S7 400 mit nem DO 24V/2A ( 21,7V lt Multimeter am Ausgang).

Fand die Lösung gut beschrieben und wollte mich dafür nochmal stark beim 
Ersteller bedanken.

Warum denn nur 1mA max ?
(Firma: Q3) #5874889
Lesenswert?

Ich greife aus der SPS einer älteren Autowaschanlage (24V) mittels 
Reed-Relais Signale für einen Arduino ab. Das funktioniert nun seit ca. 
3 Jahren Tag und Nacht.

Die Reed-Relais haben eine Steuerspannung von 24V, benötigen ca. 10mA 
und sind gegen Spannungsspitzen und Verpolung absolut unempfindlich. Sie 
gewährleisten eine völlige Potentialtrennung. Am Arduino ziehen die 
Schließer einfach ohne jedes zusätzliche Bauelement jeweils einen auf 
Input/Pullup programmierten Eingang nach Masse ... das Entprellen wird 
per Software erledigt ...
Gast #5874936
Lesenswert?

Bastian J. schrieb:
> Ist aber ein anderer Optokoppler. Habe hier nen 4N25 nicht 4N35 :S

Kannst Du Dir schon selbst die Schuhe zubinden?

Thomas T. kaut Dir eine perfekt fertige Lösung vor, Dein 'Problem' ist 
vollkommen trivial, Basteln zweite Stunde. Oder anders gesagt: Diese 
Grundschaltung funktioniert mit praktisch jedem beliebigen Optokoppler.

Warum also baust Du es nicht einfach zusammen und testest aus, ob es 
geht?

Richard B. schrieb:
> Du willst ja dein AVR nicht grillen, oder?
Es heißt Deinen AVR.

Im Beispiel des anderen Threads ergeben sich etwa 16mA LED-Strom @ 
5V-Arduino, zwar etwas viel, aber im Rahmen dessen, was ein AT328 
klaglos liefert. Das funktioniert so und fängt auch Toleranzen / 
Alterung der Optokoppler gut weg.

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