Forum: Analoge Elektronik und Schaltungstechnik Endschalter isolieren über Optokoppler


von Nico (nico99)



Lesenswert?

Hallo!

ich habe eigenen Lasergravierer gebaut, gesteuert über ARDUINO UNO mit 
GRBL. Maschine hat Endschalter in X, Y und Z-Richtung sowie ein 
Probe-Eingang.
X und Y haben angeschlossene mechanische Sprungkontakte als NC, Z und 
Probe sind Klemmen und die NC-Kontakte werden nur bei Bedarf montiert.
Die Steuerung sitzt in einem Extra-Kasten, von Maschine getrennt. Für 
Betrieb wird Maschine mit Steuerung über ein Kabel verbunden. Leider 
bekomme ich, sobald die Maschine eingeschaltet wird und die 
Schrittmotoren Spannung bekommen Fehlermeldungen dass die Endschalter 
ausgelöst haben. Die Signale bekomme ich über X- und Y-Schalter rein, Z 
und Probe sin soweit OK, es sei dem, die werden auch angeschlossen. 
Ganze Fehlersuche zeigt dass es über die EMV-Einstreuung in die Adern 
passiert, Oszilloskop-Messung bestätigt es, dort sind Spannungsspitzen 
drin.
Ich habe dazwischen eine Schaltung mit je einem Optokoppler pro
Eingang geschaltet, trotzdem kommen die Fehler. Scheinbar reicht die im 
Kabel erzeugte Spannung um den Optokoppler "schalten" zu lassen. 
Verwendung mehrerer Kabel fällt aus, wird irgendwann unhandlich.
Meine Frage: lässt sich die Schaltung irgendwie verbessern oder 
erweitern dahingehend, dass an der Eingangsseite, da wo es zum 
Kabel/Maschine/Schaltern geht die induzierte Spannung "runtergedrückt 
wird. Eine LED? Andere Optokoppler?
Hat jemand Ideen oder Vorschläge?

Vielen dank voraus und schönen Samstagabend noch!

Gruß, Nico

von H. H. (hhinz)


Lesenswert?

Mal wieder ein prima Beispiel für überflüssige Optokoppler.

von Jörg (lixtop)


Lesenswert?

Sind die Endschalter entprellt; vermutlich nicht oder?

von Walter B. (Firma: privat) (waldopepper4)


Lesenswert?

softwaremäßig entprellt hoffentlich. Interessant wäre den Aufbau zu 
sehen, gibt es einen zentralen Massepunkt für Signalleitungen ? 100nF an 
jedem Arduino Eingang ?

von Nico (nico99)


Lesenswert?

H. H. schrieb:
> Mal wieder ein prima Beispiel für überflüssige Optokoppler.
Verstehe ich nicht. Diese Optokoppler-Schaltung wird von GRBL-Projekt 
empfohlen, wenn die Endschalter verwendet werden. Bei 2 anderen 
Projekten gab es sporadische Auslösungen ohne diese Schaltung, mit läuft 
es Prima.

Jörg schrieb:
> Sind die Endschalter entprellt; vermutlich nicht oder?
Walter B. schrieb:
> softwaremäßig entprellt hoffentlich. Interessant wäre den Aufbau zu
> sehen, gibt es einen zentralen Massepunkt für Signalleitungen ? 100nF an
> jedem Arduino Eingang ?

Ja, die Eingänge habe ich in der GRBL-Software entprellt. Alle 
Minus-Potentiale habe ich zentral miteinander verbunden.
Die 100nF's hatte ich nicht am ARDUINO dran sondern am Eingang des 
Optokopplers (zu den Schaltern hin). Leider ohne merklichen Erfolg: laut 
Oszi sind zwar die Spitzen kleiner geworden, aber trotzdem kommen 
Signale am Arduino-Pins an.

von Otto K. (opto_pussy)


Lesenswert?

Die langen Leitungen dürfen nicht von den Optokoppler-Transistoren quer 
durch die Werkhalle zum Arduino geleitet werden. Es muss genau umgekehrt 
sein, die lange Leitung muss von den Endschaltern durch die Werkhalle 
durch zu den LEDs von den Optokopplern geführt werden und dann von den 
Transistorausgängen auf kurzem Wege zum Arduino.

von Nico (nico99)


Lesenswert?

Otto K. schrieb:
> Die langen Leitungen dürfen nicht von den Optokoppler-Transistoren quer
> durch die Werkhalle zum Arduino geleitet werden.

Nee so Schlimm ist es nicht. Die Maschine mit Endschalter ist eine 
Hobby, Maschine, 1m x 1m. Die Leitubgslänge zur  Steuerung (aus 
Handhabungsgründen) extra Kiste ist 2 Meter ubd wird über 30-polige 
Stecker angeschlossen.
An der Maschine sind nur Laser, Schrittmotor en und die Schalter 
montiert. Alles Andere (Netzteile, Atduino, Treiber, Optokoppler usw. 
sind in der Steuerungbuntergebracht (400mmx400mm) und haben sehr kurze 
Leitungswege.

von Hannes J. (pnuebergang)


Lesenswert?

Nico schrieb:
> Alle
> Minus-Potentiale habe ich ... miteinander verbunden.

Das ist der Fehler bei Optokopplern. Warum weigert sich die 
Arduino-Blase so hartnäckig zu verstehen wie man Optokoppler verwendet 
(und wann)?

von Michael B. (laberkopp)


Lesenswert?

Nico schrieb:
> Scheinbar reicht die im Kabel erzeugte Spannung um den Optokoppler
> "schalten" zu lassen

Nein.

Das musste über 5mA in die Leitungen pumpen.

Selbst wenn du Hin- und Rückleitung (Masse und Signal) zu den Tastern 
nicht in einem Kabel führst sondern getrennte Wege einer linksrum der 
andere rechtsrum um die Fräse gehen lässt, wird das nicht so viel 
einkoppeln.

Die Schaltung an sich ist in Ordnung, sogar die Widerstandsverhältnisse 
passen zu dem Optokopplertyp, und selbst wenn du 1k parallel zu jeder 
Optokoppler-LED und 1nF parallel zu jedem Optokoppler Transistor 
schaltest werden die Störungen nicht weggehen.

Weil sie woanders her kommen  vermutlich über die Masseleitung 
induziert.

Hast du das Gestell der Fräse an Masse gelegt, nutzt du gar das Gestell 
der Fräse als Masserückführung der Endtaster ?

von Uwe (uhi)


Lesenswert?

Ich bin ein Fan von "Messen - Verstehen - Korrigieren". In dieser 
Reihenfolge.
Mit dem Oszi folgende Fragen klären:
1. Im Fehlerfall, ist die Kathode des Optokopplers auf 0V und geht 
sporadisch höher? Oder liegt sie auf 3V und geht sporadisch gegen 0 oder 
negativer?
2. Wie sieht die Störung am Kollektor des Optokopplers aus? Positive 
oder negative Nadeln?
3. Wenn mit dem Oszi die Masse und die 5V gemessen werden, sind die 
ruhig? (Um auszuschließen, das Oszi wegen Masseschleifen Unsinn 
anzeigt.)

von M.A. S. (mse2)


Lesenswert?

Hannes J. schrieb:
> Nico schrieb:
>> Alle
>> Minus-Potentiale habe ich ... miteinander verbunden.
>
> Das ist der Fehler bei Optokopplern. Warum weigert sich die
> Arduino-Blase so hartnäckig zu verstehen wie man Optokoppler verwendet
> (und wann)?
Vermutlich weil elektrotechnisches Grundlagenwissen unter den 
Arduinoianern realtiv dünn gesät ist.

Nico schrieb:
> Maschine hat Endschalter...

Nico schrieb:
>> Mal wieder ein prima Beispiel für überflüssige Optokoppler.
> Verstehe ich nicht. Diese Optokoppler-Schaltung wird von GRBL-Projekt
> empfohlen, wenn die Endschalter verwendet werden....
Nun:
- Sind die Endschalter denn nicht potentialfrei?
- Wenn ja: wozu dann per Optokoppler noch eine Potentialtrennung?
- Und warum diese Trennung dann durch Verbindung der Massen der beiden 
Seiten dann wieder aufheben?
Eine Reihe von Sinnlosigkeiten, so ist das gemeint.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Moin,
ich habe bei meinem Selbstbauplotter gute Erfahrungen mit der Trennung 
vom Steuerteil und dem Leistungsteil gemacht. Wenn Du die Endschalter 
mit der Versorgungsspannung der Motore speist (24V ?) und die Massen 
trennst, könnte die Empfindlichkeit sinken. Dafür brauchst Du allerdings 
zwei Netzteile. Ich bevorzuge es auch, mit dem OK das Signal zum Arduino 
nach 5V zu ziehen also R10 und U1 zu tauschen.
Geuß
 Carsten

von Manfred P. (pruckelfred)


Lesenswert?

Carsten-Peter C. schrieb:
> ich habe bei meinem Selbstbauplotter gute Erfahrungen mit der Trennung
> vom Steuerteil und dem Leistungsteil gemacht. Wenn Du die Endschalter
> mit der Versorgungsspannung der Motore speist (24V ?) und die Massen
> trennst, könnte die Empfindlichkeit sinken.

So, und nur so, machen Optokoppler Sinn. In dem Fall würde man die 
Motorversorgung vor den Endschaltern vielleicht noch zusätzlich per 
Widerstand und Elko etwas putzen.

> Dafür brauchst Du allerdings zwei Netzteile.

Ja, und wenn nicht, macht ein Optokoppler keinen Sinn.

> Ich bevorzuge es auch, mit dem OK das Signal zum Arduino
> nach 5V zu ziehen also R10 und U1 zu tauschen.

Das dürfte egal sein, Taster / Schalter nach GND sind üblich. Wichtiger 
ist, das einigermaßen niederohmig zu gestalten und nicht nur die 
internen PullUps des µC (um geschätzte 50kOhm herum) zu nutzen.

von Joachim B. (jar)


Lesenswert?

H. H. schrieb:
> Mal wieder ein prima Beispiel für überflüssige Optokoppler.

die wären soger eventuell nicht überflüssig wenn er 2 getrennte GND 
verwenden würde, aber mit demselben GND hast du wie immer Recht es 
bleibt bullshit

von Andreas S. (bastelmax)


Angehängte Dateien:

Lesenswert?

Ich hatte auch mal einen zwei Achse Lasergravierer (max. für A4)
umgebaut.
Allerdings nur für zwei Achsen - den Fokus für den Läser stelle ich
manuell ein.
Das orginale Chinaboard ist mir "abgeraucht", wenn Interesse besteht -
bitte PN.
Einen ersten Eindruck gibt es hier:
https://forum.arduino.cc/t/china-laser-mit-neuem-board/1242967
Nur soviel, ich nehme einen isolierten DC/DC Wandler für die
Optokoppler.

von Nico (nico99)


Lesenswert?

Guten Morgen zusammen!

Ich muss mal über Alles nachdenken, werde auf jedem Fall die 
Eingangsseite der Optokoppler trennen und über eigene Stromversorgung 
laufen lassen.

Carsten-Peter C. schrieb:
> Moin,
> ich habe bei meinem Selbstbauplotter gute Erfahrungen mit der Trennung
> vom Steuerteil und dem Leistungsteil gemacht.
Ich habe 4 Netzteile drin: je eins für Stepper, Laser, Arduino und 
Lüftung

Uwe schrieb:
> Mit dem Oszi folgende Fragen klären:
> 1. Im Fehlerfall, ist die Kathode des Optokopplers auf 0V und geht
> sporadisch höher? Oder liegt sie auf 3V und geht sporadisch gegen 0 oder
> negativer?
> 2. Wie sieht die Störung am Kollektor des Optokopplers aus? Positive
> oder negative Nadeln?
> 3. Wenn mit dem Oszi die Masse und die 5V gemessen werden, sind die
> ruhig? (Um auszuschließen, das Oszi wegen Masseschleifen Unsinn
> anzeigt.)
zu 1: nein
zu 2. positiv
zu 3. ruhig

M.A. S. schrieb:
> - Sind die Endschalter denn nicht potentialfrei?
> - Wenn ja: wozu dann per Optokoppler noch eine Potentialtrennung?
> - Und warum diese Trennung dann durch Verbindung der Massen der beiden
> Seiten dann wieder aufheben?
Danke für Erklärung, werde ich überarbeiten.

von Andreas S. (bastelmax)


Lesenswert?

Schau Dir auch dass mal an:
https://github.com/gnea/grbl/issues/1030
Besonders die letzte Antwort sollte beachtet werden.
Die ganze fliegende Verdrahtung fängt auch noch Störungen ein,daher
habe ich auch alles auf einer Platine zusammen gefasst.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Carsten-Peter C. schrieb:
> Ich bevorzuge es auch, mit dem OK das Signal zum Arduino
> nach 5V zu ziehen also R10 und U1 zu tauschen.

Das ist doch ziemlich egal. VCC und Gnd sind bezüglich Störungen 
kurzgeschlossen und die Eingangsstufe des Arduinos ist weitgehend 
symmetrisch.

von Andreas S. (bastelmax)


Lesenswert?

Noch etwas: wenn Du die A4988 Module als Driver hast,habe ich
noch einige Platinen unbestückt als Reserve zu liegen.
Wenn Interesse besteht,bitte kurze PN

von Rainer W. (rawi)


Lesenswert?

Andreas S. schrieb:
> Schau Dir auch dass mal an:
> https://github.com/gnea/grbl/issues/1030

Schon beim Eröffnungspost "First option:" wird einem ganz komisch. In 
dem Moment, wo der Schalter schließt, bekommt die LED des Optokopplers 
erstmal einen übergebraten, weil der Strom aus dem voll aufgeladenen 
Kondensator nur durch Leitungs- und Kontaktwiderstand, also ziemlich 
ungebremst, einen kräftigen Peak erzeugt.

Wenn man einen Optokoppler mit einem Vorwiderstand von nur 220 Ω an 5V 
betreibt (-> 17mA), ist das in Anbetracht des zu steuernden Stromes von 
0,5mA außerdem maßlos überzogen und schlängt wegen NC-Tastern nur 
unnötig auf die Lebensdauer der LED.
Die erste Option ist keine Option und die zweite schlecht dimensioniert.

: Bearbeitet durch User
von Andreas S. (bastelmax)


Lesenswert?

Ich habe dass auch anders dimensoniert - mir ging es nur um den Hinweis
auf die zweite (isolierte) Spannungsversorgung.
Auch ohne C,s an irgendeiner Stelle läuft dass bei mir schon seit
letztes Jahr super stabil und zuverlässig.

von Helmut -. (dc3yc)


Lesenswert?

Und bitte daran denken, dass der Endschalter ein Öffner sein muss, da du 
nur so die Sicherheit hast, einen Kabelbruch zu erkennen!

von Rainer W. (rawi)


Lesenswert?

Helmut -. schrieb:
> Und bitte daran denken, dass der Endschalter ein Öffner sein muss, da du
> nur so die Sicherheit hast, einen Kabelbruch zu erkennen!

Die Info aus dem Eröffnungspost dürfte dich dann doch beruhigen, einfach 
lesen.

Nico schrieb:
> X und Y haben angeschlossene mechanische Sprungkontakte als NC

von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Angehängte Dateien:

Lesenswert?

Man könnte es natürlich auch so machen, wie im Anhang.

von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

Schlecht bewerten, aber keine Idden abliefern. Oder gar nen Satz was 
daran nicht gefällig ist.

Was für Trolls seit Ihr?

von Nemopuk (nemopuk)


Lesenswert?

Thomas S. schrieb:
> Was für Trolls seit Ihr?

Du hast wohl noch nich nicht mit bekommen, dass hier ein jemand seit 
Jahren automatisiert -1 verteilt, um Leute wie dich (die darauf sensibel 
reagieren) zu ärgern.

Das sind nicht "wir", sondern genau ein "Arschloch".

: Bearbeitet durch User
von H. H. (hhinz)


Angehängte Dateien:

Lesenswert?

Ganz einfach machen.

von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

H. H. schrieb:
> Ganz einfach machen.

Kann man auch so machen. Zweifel ich ja nicht dran.
Allerdings wissen wir nicht, wie die Situation von außen aussieht. 5-50 
Meter Kabel zu den Schalter, parallel zu Leistungskabeln, parallel mit 
FU-Last.

Spätestens dann würde ich Optokoppler, MIT externer Spannung erwägen. 
Ohne Potentialbezug. Allerdings habe ich hier auch Pläne von renomierten 
Firmen, die das mit den Optokopplern, und gleichem (Masse-) Bezug so 
machen. Hintergrund sind Piezospielerreien. Ohne diese Entkopplung 
würden massenhaft Fehlfunktion und Zerstörung entstehen.

von H. H. (hhinz)


Lesenswert?

Thomas S. schrieb:
> Allerdings wissen wir nicht, wie die Situation von außen aussieht. 5-50
> Meter Kabel zu den Schalter, parallel zu Leistungskabeln, parallel mit
> FU-Last.

Du hast die Außerirdischen vergessen!

von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

H. H. schrieb:
> Du hast die Außerirdischen vergessen!

Hab ich doch gewusst, .. das ich die Außerirdischen vergessen hatte. 
Dann ist höchste Vorsicht geboten.
Mind. 1500V Eingangs-Optokopler.
Schlitzgefräste Platinen unter den Optoisolator.
Dahinter - mit separatem Trafo und Netzteil auf 'isolierten' 
Zwischenkreis mit Trennübertrager.
Zur Sicherheit nochmal einen Optokoppler. Der dann auf den 
Controllereingang des Arduino-Board darf.

von Norbert (der_norbert)


Lesenswert?

Thomas S. schrieb:
> H. H. schrieb:
>> Du hast die Außerirdischen vergessen!
>
> Hab ich doch gewusst, .. das ich die Außerirdischen vergessen hatte.
> Dann ist höchste Vorsicht geboten.
> Mind. 1500V Eingangs-Optokopler.
> Schlitzgefräste Platinen unter den Optoisolator.
> Dahinter - mit separatem Trafo und Netzteil auf 'isolierten'
> Zwischenkreis mit Trennübertrager.
> Zur Sicherheit nochmal einen Optokoppler. Der dann auf den
> Controllereingang des Arduino-Board darf.

Wirst du so nicht verkaufen können, da ist nirgendwo ›[AK]I‹ erwähnt!

von Helmut -. (dc3yc)


Lesenswert?

Rainer W. schrieb:
> Helmut -. schrieb:
>> Und bitte daran denken, dass der Endschalter ein Öffner sein muss, da du
>> nur so die Sicherheit hast, einen Kabelbruch zu erkennen!
>
> Die Info aus dem Eröffnungspost dürfte dich dann doch beruhigen, einfach
> lesen.
>
> Nico schrieb:
>> X und Y haben angeschlossene mechanische Sprungkontakte als NC

Das heißt aber nicht unbedingt, dass das auch mit Optokoppler dazwischen 
so ist. Ein OK kann auch die Logik invertieren!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.