Um zu wissen, wie deine Schaltung aussieht, muss man erst einmal ein paar Infos dazu schreiben! Soll 24V oder GND geschaltet werden. Für GND hätte es auch ein Logik-N-Mosfet gereicht. Welcher Typ von Optokoppler hast du bestellt?
Um den Status des "Ausganges" anzuzeigen, verwende ich zudem eine LED mit Integriertem Vorwiderstand.
Diese soll Parallel zum Optokoppler geschaltet sein.
Da siehst du UF = 1,2V (steigt mit zunehmendem Vorwärtsstrom leicht an). Für IF sollten hier 5 oder 10mA reichen. So kommt man auf 380 - 760 Ohm.
Ausgangsseitig machst du 10k vom Kollektor gegen 24V. Wie hier: http://www.siongboon.com/projects/2006-06-19_switch/opto-coupler.gif
Dann hält der Pullup den SPS-Eingang auf 24V wenn der Transistor sperrt. Wenn die LED geschaltet wird, wird der Transistor niederohmig und es liegen nahe 0V an.
Nahezu 0V = max. 0,2V. Es fällt eben die Kollektor-Emitter-Sättigungsspannung ab. Geht nicht anders. Das wird schon als Low-Pegel erkannt. Dein Arduino erkennt auch noch einige Zeit lang LOW.
So wie sich die Natur manchmal etwas schwer tut, z.B. bei 100%igen Geraden, Kreisen und rechten Winkeln, so tut sich die Elektronik mit exakten Null-Spannungen etwas schwer.
Darum haben auch alle µC und SPS Eingänge Schaltschwellen und meist auch Hysteresen.
Schließe die LED so an dass an der Anode (oben) 5V anliegen und du die Kathode (unten) schaltest. Dann ist die LED bei 5V an der Kathode aus, der Transistor sperrt und es sind 24V am Kollektor.
Du kannst aber auch einfach die Logik in der Software herumdrehen! Das ist völlig normal. Sehr viel Elektronik ist Low-aktiv oder invertiert.
Nun habe ich ein grosses Probelm, ich bring das Ganze gewirr nicht auf meine Platine die maximal 100x100 sein darf, es dürfen keine SMD Bauteile verwendet werden und Bauteile nur auf einer Seite bestückt sein.
Gibt es noch eine Kompaktere lösung? Ich könnte bei der SPS auch NPN Eingänge nehmen sodass ich "Minus" Schalte..
Wieso hast du dann so einen riesigen 4-fach Optokoppler genommen? Brauchst du 4 Stück? Wenn ja, dann ok. Aber auf deiner Platine sind 4 * 3 = 12 drauf.
Ich brauche 11 Signale mit 3 Stück bin ich bei 12 Signalen das ist das Problem :s
Ich bräuchte eine Kompaktere Lösung die ev. auch ohne Widerstände geht oder zumindest weniger
Könnt ihr mir was vorschlagen :s?
Für die Stromversorgung müsste ich noch einen Kondensor verwenden oder? Würde datzu einen 100nF reichen?
Willst du die Platine selber ätzen, oder z.B. in China bei einem Auftragsfertiger machen lassen? Doppelseitig, oder einseitig? Wenn doppelseitig und Auftagsfertiger, dann ist's doch relativ easy. Die Vorwiderstände der LEDs der Optokoppler verwendest du zum "Entflechten" der Leitungen, wobei du die I/Os des µC sowieso weitestgehend frei zuweisen kannst. Warum willst du keine SMD Bauelemente verwenden? Man muß ja keine 402 oder 603 Widerstände verbauen. 1206 ist doch noch halbwegs handlich. Und mit Lötstopplack und verzinnten Pads ist das ein guter Einstieg.
Ich habe mir mal das Datenblatt vom PC847 angeguckt. Der hat 80V Uce. Somit kannst du locker die 24V schalten. Es gibt halt auch Modelle, die nur 20V können. Somit im grünen Bereich. Koppelfaktor ist mit 50% angegeben. Das bedeutet, bei überschlägig knapp 10 mA Eingangsstrom kannst du maximal 5 mA Kollektorstrom erwarten. Mit gut 2 mA bist du also ebenfalls im grünen Bereich, weil du somit fast mit dem Doppelten übersteuerst.
Galvanische Trennung wäre natürlich schön, aber wenn es nicht anders geht wären vielleicht zwei ULN2803 eine Option. Die Pullups sind dann immer noch nötig, aber man braucht keine Vorwiderstände mehr. Und als Pullups könnte man einfach eine Widerstandsdekade/Widerstandsarray nehmen (z.B. SIL 9-8 10K wenn ich das richtig sehe).
Allerdings hängen dann Arduino und SPS im gleichen Stromkreis!
Außerdem sollte man dann unbedingt nachschauen wo genau die Logik-Pegel der SPS liegen. Durch die Darlington-Schaltung hätte man dann eine Kollektor-Emitter-Sättigungsspannung von ca. 0,9-1V! Das wird auch auf dem Arduino noch als Low erkannt. Daher könnte ich mir denken dass es bei 24V auch geht. Aber auf der Ebene weiß ich über SPS gar nichts.