ich hab, vor allem mit eurer Hilfe, vor einiger Zeit eine kleine Steuerung mit einem dsPic33 entworfen.
Diese wird in einem KFZ verwendet und funktioniert seit vielen Stunden einwandfrei als LIN-CAN Gateway.
Beitrag "LIN-CAN Gateway / Bauteilauswahl"
Vielen Dank auch nochmal hierfür!
Wie es so ist, kommen nach und nach weitere Ideen dazu.
Inzwischen befindet sich auch ein Highside Switch auf der zweiten Version.
Für einen Bekannten benötige ich nun einen Eingang um eine Funktion erweitern zu können.
Da die Umgebung in seinem Auto (älteres Rennfahrzeug) sehr rauh ist, hab ich mich für einen Optokoppler entschieden.
Mir ist bewusst, dass ein ordentlich geschützter Spannungsteiler ebenfalls möglich wäre, allerdings möchte ich den Controller so gut es geht schützen.
Da der Controller unabhängig des Eingangs andere Funktionen ausführt, wäre es schlecht, wenn er auf Grund eines Fehlers am Eingang komplett ausfallen würde. Erfahrungsgemäß passieren die wildesten Sachen bei solchen Autos im Eifer des Gefechtes...
Ich hab mal eine kleine Schaltung für den Eingang angehangen.
Könnt ihr mir vielleicht das kurz ansehen, ob das so sinnig ist oder noch was beachten sollte oder übersehen hab?
Der Optokoppler ist ein PC817:
Max. IF = 50mA / Max. VF = 1,4V / Min. CTR 50% bei IF 5mA
IF = 10mA / Typisch VF = 1,2V
Die Diode (D1) und TVS Diode (D2) habe ich bereits im Bereich der Spannungsversorgung und hab diese ebenfalls spendiert, um eine möglich Verpolung oder "Load dump" zu schützen.
Den Widerstand für den Optokoppler hab ich wie folgt berechnet:
(U-VF)/IF=R
(14,4V-1,2V)/0,01A=1320 Ohm ~ 2x 620 Ohm
Max. Spannung 36V:
(U-VF)/R=I
(36V-1,2V)/1240Ohm=28mA
Min. Spannung 8V:
(8V-1,2V)/1240Ohm=5,4mA
Die Z-Diode (Z1/16V) soll die Spannung begrenzen.
Sorry, jetzt beim nochmal durchlesen frag ich mich grad, macht das Sinn oder grill ich mir da nur den R1 weg?
Ich glaub die letzte Nacht war zu kurz... Ich schau mir den Z1 nochmal an.
Könnt ihr mir vielleicht das kurz ansehen, ob das so sinnig ist
Nein.
Da Fahrzeugseite und Controllerseite an einer gemeinsamen Masse hängen gibt es keine galvanische Trennung und du kannst den Optokoppler gleich ganz weglassen.
Nun, dein Optpkoppler muss nur 330uA schalten, dafur reicht auch dem schlechtesten 1mA.
Mach also aus 620 Ohm eher 6k2.
Die OpzikoplerLED hält meistens 50mA aus, dann reichen die 13.4k Vorwiderstand bis 670V, du brauchst keine Spannungsbegrenzung per Transil.
Su brauchst noch nicht mal eine Vorstabilisierung per Z-Diode.
Ein Verpolschutz wäre ohne die beiden Dioden aber nicht per Reihendiode, sondern nur per Antiparalleldiode erreichbar. Bei 13.4k Vorwuderstand und 1A Spitzenstrom der meisten Diodenvreicht das bis -13kV, also auch locker aus.
Bleibt noch die Frage, ob man auf uC Seite wirklich bei 330uA bleiben will oder nicht doch eher 1mA (dann mit 3.6k LED Vorwiderstand), und ob man nicht lieber den Emitter an Masse hätte, das invertiert das Signal zwar, macht den Optokoppler aber unempfindlicher gegenüber Masseversatz.
Als Schutzschaltung genügt ein 3k3 / 0,6W Widerstand und eine antiparallelgeschaltete 1N4148 vor dem Optokoppler LED, um für 36V und Falschpolung gewappnet zu sein.
Könnt ihr mir vielleicht das kurz ansehen, ob das so sinnig ist
Nein.
Da Fahrzeugseite und Controllerseite an einer gemeinsamen Masse hängen
gibt es keine galvanische Trennung und du kannst den Optokoppler gleich
ganz weglassen.
So isses.
Zumal im KFZ Störungen auch oft über die Masse kommen.
Zumal im KFZ Störungen auch oft über die Masse kommen.
Andererseits geht so ein GPIO direkt ins Herz des MC. Es ist also schon nicht dumm, sich über einen Schutz Gedanken zu machen. Der Controller meines E-Autos z.B. wird komplett mit Optokopplern getrennt und funktioniert seit 30 Jahren so.
Ich hab das Schema geändert und nochmal angehangen.
Bei einer Minimum Spannung von 8 Volt wäre der LED Strom (IF) 1,8mA und Kollektorstrom 3,6mA. Das sollte auf jeden Fall reichen.
(8V-1,2V)/3600 Ohm = 1,8mA / CTR ~ 200% bei IF von 1,8mA
Hab den Emitter auch auf Masse gelegt, da an den Eingang höchstwahrscheinlich ein Taster kommt.
Dann hängt der auch nicht permanent an der Masse.
Ich würde das ganze auf dem Steckbrett mal testen oder gibt's noch bedenken von eurer Seite?
Erfahrungsgemäß passieren die wildesten Sachen bei
solchen Autos im Eifer des Gefechtes...
Na dann versuche zum Testen mal einen Kurzschluss des GND-Anschlusses auf 14V Bordnetzspannung. Das ist ein typischer Fehler wie er im Auto schon mal auftreten kann.
(Nach deiner Schaltung wird dann Rauch aufsteigen)
Na dann versuche zum Testen mal einen Kurzschluss des GND-Anschlusses
auf 14V Bordnetzspannung.
Ja und? Was soll dem Optokoppler oder dem nachgeschalteten MC dann passieren? Gar nichts. Da geht höchstens was anderes im Fahrzeug kaputt - vermutlich nur eine Sicherung.
Ich verstehe nicht, warum der Optokoppler hier so mies gemacht wird. Der muss ja nicht unbedingt immer auch die Masse auftrennen, sondern es reicht doch, wie hier, das er den GPIO schützt. Ausserdem bildet er einen Widerange Levelkonverter mit nur 3 Bauteilen.
Sicher, aber eben auch mit OK. Die Alterung lässt sich durch entsprechende Dimensionierung kompensieren. Und es sind einfach wenige Bauteile, die sowohl als Levelkonverter und auch als Schutz des GPIO fungieren.
Wie gesagt, das wird in meinem Auto auch so gemacht und nach 30 Jahren funktioniert das immer noch bestens - von wegen Alterung.
Ich hänge mal ein Bild des Car Controllers an - dänische Wertarbeit :-)
Ich komme bei einem 10k Pull-Up Widerstand auf 0,33mA.
Richtig, ich hab den Satz falsch geschrieben.
Über den Optokoppler können dann 3,6mA fließen, aber ist natürlich vom Widerstand davor begrenzt. Hab auch nicht bedacht, dass bei 3,3V der Strom doch so gering ist. Da wären 3k6 schon besser, wie auch Michael B. geschrieben hat.
Kein Problem, kann dann in der Software gemacht werden. Allerdings hängt dann der Eingang des Controllers nicht mehr direkt auf der Masse und wäre somit ein wenig besser geschützt oder?
Das geht auch ohne OK. Ich habe hunderttausende Eingänge ohne OK am
laufen. Absolut ohne Auffälligkeiten.
Ich muss nicht unbedingt den Optokoppler einsetzten.
Aus meiner Sicht ist es ein einfaches Layout ohne viele Komponenten.
Das mit der Alterung hatte ich nicht auf dem Schirm, weshalb ich auch gern im Forum nachfrage und dankbar für genau diese Tipps bin.
Der Controller wird vermutlich nicht riesen Betriebsstunden bekommen wie Steuerungen die 24/7 laufen.
Ich bin aber sehr offen für einen Vorschlag einer alternativen Schaltungen um den Eingang ein wenig zu schützen ohne einen OK.
Da die Umgebung in seinem Auto (älteres Rennfahrzeug) sehr rauh ist, hab
ich mich für einen Optokoppler entschieden
Meine Unterstützung dazu hast Du. So wird das auch in anderen Bereichen gemacht. Ob gemeinsame Masse hin oder her. Dein Eingang und Deine ganze Schaltung auf der Platine um den Prozi ist damit geschützt. Im Maximalfall zerlegt es halt den Optokoppler.
Lass die Super-Experten hier denken wie se wollen. Die haben anscheinend noch keine Erfahrung mit 'rauher Umgebung'.
Lass die Super-Experten hier denken wie se wollen.
Hört sich irgendwie ein wenig überheblich an.
Die haben anscheinend noch keine Erfahrung mit 'rauher Umgebung'.
Der Schein trügt. Ich war auch schon recht erfolgreich im Tuningbereich unterwegs. Direkt die Injektoren vom Common-Rail eingelesen und angesteuert. Ganz ohne OK. Die "Rauhigkeit" an dieser Ecke kannst du sicher selber einschätzen.
Ich möchte durch meinen Beitrag hier keine Kompetenzen in Frage stellen!
Sollte es in einem Forum nicht so sein, dass jeder seine Bedenken äußern und diese dann fachlich betrachtet und diskutiert werden darf?
Letztendlich ist keiner allwissend und vielleicht kommt dem ein oder anderen eine Idee, die auch seine Berechtigung hat oder sogar eine bessere Lösung ist. Am Schluss geht es immer um das abwägen von Vor- und Nachteilen oder Kosten.
Ab und zu sieht man auch den Wald vor lauter Bäumen nicht.
Vielleicht ist der Optokoppler wirklich nicht die ideale Lösung, aber die Kritiker des Optokopplers haben auch keine alternative Schaltung in den Raum gestellt, um diese zu betrachten und die eventuellen Vorteile zu sehen oder zu Diskutieren.
Dies ist meine persönliche Meinung und vielleicht auch der Grund, weshalb oft in Foren immer wieder gleiche Themen aufkommen, da oft kritisiert und keine alternative vorgeschlagen wird.
Ich bin auf jeden Fall dankbar für all eure Beiträge bis jetzt.
Bei dem einen Artikel wird auch zu dem Thema mit "schnellem Verschleiß von Schaltkontakten bei zu niedrigen Strömen" berichtet.
Das ist natürlich abhängig was für ein Schalter und Kontaktmaterial eingesetzt wird, aber habt ihr da einen Richtwert oder Erfahrungen wie hoch der Strom sein sollte?
z.B. 0,1x Max. Strom des Schalters?
Bei dem Widerstand von 3k6 wären es ja nur 3,72mA.
Es kann ja unter Umständen nicht immer vorhergesehen werden, welcher Schalter verwendet wird. Wie wird sowas in der Praxis handgehabt?
Hatte ich oben schon mal geschrieben.
In meiner 'rauhen' Welt, wird dies immer, oder ähnlich so gelöst. Dies dient dem Schutz der Schaltung. Das habe nicht ich erfunden, sondern es machen in meinem Umfeld sehr viele, bis alle Hersteller so oder ähnlich. Und dies nicht erst seit dem es uC's gibt, sonder im TTL/cmos Zeitalter bereits.
Nur weil etwas verkauft wird muss es nicht zwangsläufig gut sein ;-)
Daran brauchst Du nicht zweifeln. Die Steuerungen haben noch nie in der Richtung Probleme gehabt.
Manche hier mögen vieleicht ihre Schaltungen im 'Stübchen' zum laufen bringen. Aber im 'Feld draußen' ist das ne andere Hausnummer. Die Schaltungen haben weder ein Problem mit Spannungsgehopse, noch mit Störungen durchs Netz, noch durch gewollte Manipulationen durch z.B. Piezo.
Du ahnst nicht, was draußen alles versucht wird!
Aber bleiben wir doch mal in der Industrie.
Hast Du schon mal beäugelt wie z.B. SPS Steuerkarten I/O beschaltet sind?
Manche hier mögen vieleicht ihre Schaltungen im 'Stübchen' zum laufen
bringen. Aber im 'Feld draußen' ist das ne andere Hausnummer. Die
Schaltungen haben weder ein Problem mit Spannungsgehopse, noch mit
Störungen durchs Netz, noch durch gewollte Manipulationen durch z.B.
Piezo.
Ganz schön großmäulig. Lege bei fehlender VCC rechts an den 2k2 12 oder mehr Volt an und garantiere uns, dass die LED nicht stirbt.
Du kannst noch tagelang strampeln, ebenso wie Thomas F. halte ich die Schaltung für keinesfalls robust. Ich habe schon einiges gebaut, was mein 'Stübchen' in Richtung kommerzieller Verwendung verlassen hat.
Wenn wir einfach mal den Aufwand zum Schutz eines GPIO vor hoher Spannung, Spikes, Load Dump und so betrachten, ist der Optokoppler das Bauteil mit dem geringsten Aufwand bei höchster Schutzwirkung. Und es ist ja nicht von der Hand zu weisen, das nahezu alle SPS mit Optokoppler am Eingang arbeiten. Warum wohl? Waren die gerade billig zu haben oder ist es vllt. doch der geringste Aufwand mit der besten Wirkung?
Lege bei fehlender VCC rechts an den 2k2 12 oder
mehr Volt an und garantiere uns, dass die LED nicht stirbt.
Lege mal an einen GPIO 12V an und garantiere, das der MC nicht stirbt. Selbst wenn ein Optokoppler mal kaputt geht, schützt er trotzdem das wertvolle Bauteil dahinter.
Lege bei fehlender VCC rechts an den 2k2 12 oder
mehr Volt an und garantiere uns, dass die LED nicht stirbt.
Lege mal an einen GPIO 12V an und garantiere, das der MC nicht stirbt.
Selbst wenn ein Optokoppler mal kaputt geht, schützt er trotzdem das
wertvolle Bauteil dahinter.
Das tut er, solange der Eingang (die Diode) nicht mit dem Ausgang der Optpokopplers verbunden ist. In dem gezeigten Unfug schlägt die Diode auf VCC der µC-Seite durch, was der Bastler nicht erkennt.
Und es
ist ja nicht von der Hand zu weisen, das nahezu alle SPS mit Optokoppler
am Eingang arbeiten. Warum wohl?
Bei einer SPS würde ich mal tippen dass man für die Ein- und Ausgänge einfach ein unabhängiges Massepotential schaffen will. Dafür ist ein Optokoppler natürlich sehr gut geeignet.
Bei einer verbundenen Masse wie es hier immer wieder vorgestellt wird entfällt dieser Vorteil allerdings sofort.
Bei einer SPS würde ich mal tippen dass man für die Ein- und Ausgänge
einfach ein unabhängiges Massepotential schaffen will.
Eine SPS ist eine Steuerung, wo der Entwickler nicht weiß, was später damit gemacht wird. Und auch nicht, wie schlau der Anwender ist. Da muss man auf alles vorbereitet sein.
Bei einer verbundenen Masse wie es hier immer wieder vorgestellt wird
entfällt dieser Vorteil allerdings sofort.
Und alles andere wie Überspannungs-, Verpol- und ESD-Festigkeit bekomme ich mit einer RCD-Beschaltung (Widerstand, Kondensator, Diode) auch hin.
Selbst wenn ein Optokoppler mal kaputt geht, schützt er trotzdem das
wertvolle Bauteil dahinter.
Von einer funktionierenden Schutzschaltung hätte ich als Laie erwartet dass der Eingang bei Missbrauch einfach nur ein unplausibles Signal liefert. Das kann man aber in der Software abfangen.
Dass im Fehlerfall ein Optokoppler sterben muss finde ich wenig überzeugend weil die Platine damit trotzdem kaputt ist.
Dass im Fehlerfall ein Optokoppler sterben muss finde ich wenig
überzeugend weil die Platine damit trotzdem kaputt ist.
Das sehe ich anders. Das sehe ich als 'Sollbruchstelle'.
Beispiel:
Ein Kunde kommt mit der defekten Platine, die mehrere Hundert Euro kosten.
Frägt: Kannst Du die reparieren?
Ich reparier die, und sag zum Schluss: Hast Du Glück gehabt, sind nur die Eingangsbausteine defekt.
Wenn man dann hinterfrägt, wie es überhaupt dazu kam, schlägst Du die Hände übern Kopf. Garantiert.
Dass Ihr nun auf dem 'rumreitet' finde ich absolut unter der Gürtellinie.
Viele Steuerungen aus meinem Umfeld sind so konstruiert, und zwar von Hersteller die lange genug Erfahrung damit haben. Die sind kompetent genug dazu. Wenn das seit Jahrzenten draußen im Feld funktioniert, denke ich, sagt das mehr, als ihr mir hier an diesem Punkt erzählen wollt.
Ich schätze aber auch eure Hilfe, keine Frage. Aber hierzu verschlägt es mir die die Sprache.
Dass Ihr nun auf dem 'rumreitet' finde ich absolut unter der
Gürtellinie.
Ich sehe es ein wenig ähnlich wie Thomas S. Es wird meist nur kritisiert, statt konstruktive Kritik anzubringen. Man könnte ja konkrete Lösungsansätze vorschlagen um sein Beispiel zu verbessern. Seine Eingänge werden auf Masse geschalten, was in meinem Fall nicht weiterhilft. Vielleicht aber dem ein oder anderen der später mal bei der Suche über den Beitrag fällt.
Beitrag "Re: Arduino Inputs willkürlich HIGH & LOW trotz Pullup"
Den Vorteil bzw. entstehende Schutz dieser Schaltung ist mir leider nicht ganz ersichtlich, aber vielleicht kannst du ihn mir kurz erklären?
Das ist ein Spannungsteiler der direkt am Eingang der Controller hängt.
Die Dioden sollen zu hohe Spannungen abfangen und direkt in die Spannungsversorgung aller weiteren Bauteile leiten?
In dem Fall sind nur zwei Widerstände zwischen dem Eingang des Controllers und den 12V, die nie ein Problem haben sollten?
Es kann ja unter Umständen nicht immer vorhergesehen werden, welcher
Schalter verwendet wird. Wie wird sowas in der Praxis handgehabt?
Bei der Frage ging es um den "Verschleiß" der Schalter bei zu niedrigen (Einschalt-)Strömen. Das wurde auch in dem Beitrag der von Thomas F. verlinkt wurde angesprochen. Leider wurde da nichts konkreteres beschrieben. Gibt es hierfür vielleicht eine Faustregel wie hoch solche ströme sein sollten?
Vermutlich wird sowas meist über einen parallel geschalteten Kondensatoren gelöst?