Forum: Mikrocontroller und Digitale Elektronik Optische End Stop Schalter für eine CNC


von Harald (Gast)


Lesenswert?

Ich habe für jede Achse einen Endstop Schalter an meiner Käsefräse 
angebracht.

Das Arduino Board hat nur 2 Pins pro Achse.

Die optischen Endschalter funktionieren daran einzeln einwandfrei, 
jedoch nicht parallel und auch nicht in Reihe.

Parallel leuchten die LEDs der Schalter genauso, aber sobald ich 
unterbreche, glimmen die LEDs nur etwas weniger, statt auszugehen.

Unterbreche ich beide Schalter zusammen, gehen auch beide aus und die 
Fräse reagiert und schaltet ab, als wäre es eben nur ein Schalter.

Die optischen Schalter sind die hier:

https://www.amazon.de/Optischer-Endschalter-optischen-besonders-verwendet/dp/B01NASDW1Y

S V G   / Signal, Voltage, Ground (meine Interpretation)

Weiß jemand, wieso die parallel nicht laufen?

Wurde auch so im Instruction Manual der CNC empfohlen, also die parallel 
zu betreiben. Egal ob optisch oder mechanisch.

von Einhart P. (einhart)


Lesenswert?

Gabellichtschranken als Endschalter einer Fräse sind nicht optimal. Die 
sind schmutzempfindlich. Nimm mechanische Schalter. Da gibt's dann auch 
kein Problem bei Parallelschaltung.

von Harald (Gast)


Lesenswert?

Ist bereits alles verbaut, es muss also leider irgendwie gehen

von Christopher J. (christopher_j23)


Lesenswert?

Harald schrieb:
> Weiß jemand, wieso die parallel nicht laufen?

Damit das funktioniert muss das Signal an einen Pull-Up und bei 
Betätigung der Lichtschranke auf Masse gezogen werden (Open-Drain 
Konfiguration). Suche oder erstelle mal einen Schaltplan für die Dinger 
und stell den hier ein. Mit dem Amazon-Link und den dort zu findenden 
Bildern kann man nichts anfangen.

Einhart P. schrieb:
> Gabellichtschranken als Endschalter einer Fräse sind nicht optimal. Die
> sind schmutzempfindlich. Nimm mechanische Schalter. Da gibt's dann auch
> kein Problem bei Parallelschaltung.

Sehe ich auch so.

Harald schrieb:
> Ist bereits alles verbaut, es muss also leider irgendwie gehen

Dann bau sie doch aus und tüdel die mechanischen Endschalter irgendwie 
da dran.

von Harald (Gast)


Lesenswert?

Christopher J. schrieb:

> Damit das funktioniert muss das Signal an einen Pull-Up und bei
> Betätigung der Lichtschranke auf Masse gezogen werden (Open-Drain
> Konfiguration). Suche oder erstelle mal einen Schaltplan für die Dinger
> und stell den hier ein. Mit dem Amazon-Link und den dort zu findenden
> Bildern kann man nichts anfangen.


Das klingt interessant. Einen Schaltplan erstellen kann ich nicht.
Wie gesagt: G S V  ... ground, signal, voltage (5V)


Würde gerne etwas zurecht löten. Habe es schon in etlichen Variationen 
mit Dioden versucht. Dachte mir, dass nicht das Signal von Schalter 2 zu 
Schalter 1 zurück soll. Funktioniert hat dann Schalter 2, aber 1 nicht.

Bin hier nicht der Elektronik Guru, aber eine Schaltung löten kann ich 
schon. Habe mir versucht die Open-Drain-Geschichte mal rein zu fahren - 
keine Chance. To much für mich.

Also wenn hier nicht einer eine zündende Idee hat, darf ich 3 volle Tage 
in die Tonne kloppen und echt mechanische dran machen. Würde mich zum 
Berserker machen. Kann sein, dass ich raus renn und ne Katze fress! Also 
helft mir

von Bastlerhelfer (Gast)


Lesenswert?

Versuch mal welche Variante funktioniert:


a.)

  Sensor1  o----|>|-----+---------o  Arduino
                        |
                        |
  Sensor2  o----|>|-----+
                        |
                       ###
                       # #
                       # #   Widerstand, 4,7 Kiloohm
                       # #
                       ###
                        |
                        o

                Minus (Ground, 0 Volt, Masse...)



b.)

                   Plus (5V, 3,3V)

                        o
                        |
                       ###
                       # #
                       # #   4,7 Kiloohm
                       # #
                       ###
                        |
  Sensor1  o----|<|-----+
                        |
                        |
  Sensor2  o----|<|-----+---------o  Arduino





Die Dinger "--|<|--" sollen Dioden sein. Der Pfeil gibt die Richtung an, 
in der sie leiten. Kannst auch einen andern Widerstand verwenden, 10 
Kiloohm. Sollte nur nicht kleiner als 1 Kiloohm sein, was halt gerade da 
ist.

von Christopher J. (christopher_j23)


Lesenswert?

Harald schrieb:
> Würde mich zum Berserker machen. Kann sein, dass ich raus renn und ne
> Katze fress! Also helft mir

Ich mag Katzen, also versuche mal das Prinzip zu erklären ;)

Ein Pull-Up ist erstmal nichts weiter als ein hochohmiger Widerstand 
(z.B. 4,7kOhm) der mit einem Ende an VCC und mit dem anderen Ende an 
deiner Signal-Leitung hängt. Dadurch hat die Signalleitung im 
"Ruhezustand" einen High-Pegel. Nun klemmst du einen Transistor zwischen 
deine Signalleitung und GND. Sperrt der Transistor bleibt dein Signal im 
High-Pegel, leitet der Transistor jedoch, zieht der Transistor das 
Signal auf einen Low-Pegel, da du einen Spannungsteiler zwischen deinem 
hochohmigen Pullup-Widerstand und deinem niederohmigen (leitenden) 
Transistor hast. Nimmt man als Transistor einen N-Kanal Mosfet, so hängt 
der Drain des Transistors an der Signal-Leitung (daher der Name 
"Open-Drain"). Der Clou bei der Sache ist, dass du mehrere Transistoren 
parallel zwischen diese Signalleitung und GND klemmen kannst und das 
Signal einen Low-Pegel annimmt, sobald mindestens einer der Transistoren 
leitet. Leiten mehrere Transistoren gleichzeitig ist das kein Problem, 
da sie ja alle nur das Signal auf GND ziehen und nicht "gegeneinander" 
arbeiten.

Ob deine optischen Endstopps mit dieser Konfiguration arbeiten lässt 
sich relativ leicht herausfinden:
- du prüfst den Pegel am Signal-Pin bei geöffneter und geschlossener 
Schranke
- du misst (im abgesteckten Zustand) den Widerstand zwischen den Pins 
"S" und "V"

Wenn bei geöffneter Schranke "S" in etwa VCC entspricht und bei 
geschlossener Schranke "S" in etwa 0V und du zwischen "S" und "V" 
irgendwas im Kiloohm-Bereich misst, dann müsstest du sie eigentlich 
problemlos parallelschalten können.

So wie du das beschreibst klingt das für mich so, als wäre der Pull-Up 
zu niederohmig und somit packt es eine einzelne Lichtschranke nicht das 
Signal auf GND zu ziehen.

von Harald (Gast)


Lesenswert?

Alles klar danke. Mache mich nach dem WE sofort dran und berichte hier.

von Harald (Gast)


Lesenswert?

Okay, 2 Dioden und ein 10k Widerstand brachten folgendes Ergebnis.

Geschlossen bringen die Schalter am Signal Pin 0,8V und unterbrochen 
(also geöffnet) 5V.

Parallel ohne Dioden und PullUp bringen die Schalter jeweils aber nur 
1,8V statt 5V am Signal Pin.

Mit den Dioden und dem Pull-Up bringen sie nun 4,4V Volt. Die LED der 
Schalter geht auch vollständig aus, aber das Arduino Board reagiert 
leider nicht.

Entweder fehlen hier noch die 0,6V am Signal Pin also insgesamt 5V, 
damit das Arduino reagiert oder... ?! ..

Was kann ich tun, damit die Spannung noch etwas hoch geht? Evtl. den 
Pull-Up kleiner dimensionieren? 2kOhm ?

von Harald (Gast)


Lesenswert?

Habe gerade mal 5V am Schalter mit dem Signal Pin kurz geschlossen. Auch 
keine Reaktion. Hier stimmt also etwas anderes nicht :-/

von Harald (Gast)


Lesenswert?

Zuletzt habe ich nun mal NUR den 10k Widerstand zwischen die gekoppelten 
Signal Pins der Schalter und dem Arduino geklemmt. Nun habe ich bei 
einem 2V am Signal pin und beim andern 1,53V.

Bei dem Schalter, der am Signal Pin 2V hat klappt es. Er schaltet bzw. 
das Board reagiert. Beim andern Schalter mit nur 1,53V reagiert das 
Board nicht.

von Harald (Gast)


Lesenswert?

Also zusammenfassend:

Egal in welche Richtung das Signal durch kann... vom Board zu den 
Schaltern oder von den Schaltern zum Board (inkl. Pull Up Widerstand)...

Äußerlich verhalten sich die Schalter richtig und wechseln von 0,8V zu 
5V am Signal pin. Auch die LEDs gehen aus, wenn ich unterbreche.

Passieren tut in beiden Fällen jedoch beim Board nichts. Die Stepper 
stoppen nicht.

Ich habe nochmal gegen geprüft, ob die Schalter defekt sind und einzeln 
laufen. Das tun sie.

von Christopher J. (christopher_j23)


Lesenswert?

Harald schrieb:
> Ich habe nochmal gegen geprüft, ob die Schalter defekt sind und einzeln
> laufen. Das tun sie.

D.h. dann schalten die Stepper auch ab?

Harald schrieb:
> Habe gerade mal 5V am Schalter mit dem Signal Pin kurz geschlossen. Auch
> keine Reaktion. Hier stimmt also etwas anderes nicht :-/

Normalerweise (Ausnahmen bestätigen die Regel) hat man bei solchen 
Endschaltern 5V bei geöffnetem Schalter und 0V bei betätigtem bzw. 
geschlossenen Schalter. Das hängt zum einen mit der Möglichkeit der 
Veroderung mittels Open-Drain/Pull-Up Verschaltung zusammen und 
andererseits ist ein Defekt des Schalters bzw. der Verkabelung (liefert 
0V) gleichbedeutend mit einem betätigten Endschalter und man merkt, dass 
etwas nicht stimmt. Andersherum merkt man das erst bei einem Crash ;)

Harald schrieb:
> Äußerlich verhalten sich die Schalter richtig und wechseln von 0,8V zu
> 5V am Signal pin. Auch die LEDs gehen aus, wenn ich unterbreche.

Das Problem könnten die 0,8V sein, weil das hart an der Grenze zu dem 
ist, was der AVR als low-Pegel akzeptiert.

Ohne Schaltplan ist das alles ein stochern im Nebel. Prüfe mal ob der 
Schaltplan vom "Reprap Opto Endstop 2.1" passt:
https://www.flickr.com/photos/hoeken/2932013987/in/set-72157607358104210/

von Katzenfreund (Gast)


Lesenswert?

Christopher J. schrieb:
> Ich mag Katzen, also versuche mal das Prinzip zu erklären ;)

Ich mag auch Katzen - ich kenne da ein gutes Rezept ...

von René F. (Gast)


Lesenswert?

Stichwort: Drahtbruchsicherheit

von Harald (Gast)


Lesenswert?

Christopher J. schrieb:
> Harald schrieb:
>> Ich habe nochmal gegen geprüft, ob die Schalter defekt sind und einzeln
>> laufen. Das tun sie.
>
> D.h. dann schalten die Stepper auch ab?
>
> Harald schrieb:
>> Habe gerade mal 5V am Schalter mit dem Signal Pin kurz geschlossen. Auch
>> keine Reaktion. Hier stimmt also etwas anderes nicht :-/
>
> Normalerweise (Ausnahmen bestätigen die Regel) hat man bei solchen
> Endschaltern 5V bei geöffnetem Schalter und 0V bei betätigtem bzw.
> geschlossenen Schalter. Das hängt zum einen mit der Möglichkeit der
> Veroderung mittels Open-Drain/Pull-Up Verschaltung zusammen und
> andererseits ist ein Defekt des Schalters bzw. der Verkabelung (liefert
> 0V) gleichbedeutend mit einem betätigten Endschalter und man merkt, dass
> etwas nicht stimmt. Andersherum merkt man das erst bei einem Crash ;)
>
> Harald schrieb:
>> Äußerlich verhalten sich die Schalter richtig und wechseln von 0,8V zu
>> 5V am Signal pin. Auch die LEDs gehen aus, wenn ich unterbreche.
>
> Das Problem könnten die 0,8V sein, weil das hart an der Grenze zu dem
> ist, was der AVR als low-Pegel akzeptiert.
>
> Ohne Schaltplan ist das alles ein stochern im Nebel. Prüfe mal ob der
> Schaltplan vom "Reprap Opto Endstop 2.1" passt:
> https://www.flickr.com/photos/hoeken/2932013987/in/set-72157607358104210/



Passt leider nicht der Plan. Wie gesagt die 0,8V am Signal Pin des 
Schalters funktionieren bei einem Schalter. Parallel mit einem 2. 
Schalter, der auch 0,8V hat klappt es nicht.

Nur nochmal zur Erklärung. 5V Signal am Arduino kurz geschlossen mit 
Ground = Erfolg.

Ground 5V und Signal Leitung am Schalter = 0,8V am Signal pin des 
Schalters und 5V am Signal Pin des Schalters, sobald ich die Schranke 
unterbreche.

Und hier komme ich nicht weiter. Wie kann es sein, dass das Arduino 
reagieren soll bzw. reagiert, wenn die 5V des Signal Pins auf Masse 
gezogen werden und (EIN) der Schalter das auch hin bekommt, indem er 
messbar am Signal Pin auch statt 0,8V (wo auch immer die her kommen) 5V 
hat.

Sozusagen 5V nicht auf Masse ziehen, sondern mit 5V verbinden!? ... 
trotzdem klappts (mit einem Schalter). Ich verstehe nicht, was da vor 
sich geht.

von Harald (Gast)


Lesenswert?

Ich denke ich habe jetzt einen Hinweis. Damit sollte man evtl. arbeiten 
können.

Die ganze Zeit habe ich das Verhalten zwischen ground und Signal Pin 
gemessen und habe mich gewundert, warum ich 5V hatte, obwohl der 
Schalter unterbrochen war, ABER

Wenn ich den Signal Pin als Masse sehe und zwischen ihm und +5V messe, 
habe ich 4,3V und 0V je nachdem ob der Schalter offen oder unterbrochen 
ist.

Und schließe ich nun 2 Schalter parallel an, habe ich 4,3V an jedem 
Schalter und ... tadada  3V statt 0V.

Jetzt brauche ich nur eine Lösung, wie beide Schalter auf 0V runter 
kommen.

von Harald (Gast)


Angehängte Dateien:

Lesenswert?

Evtl. lässt sich auch am Schalter selbst noch etwas ändern?

von Harald (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch ein 2. Foto.

von spess53 (Gast)


Lesenswert?

Hi

>Hier noch ein 2. Foto.

Mach lieber einen Schaltplan von dem Teil. Das ist 10x aussagekräftiger.

MfG Spess

von Sebastian S. (amateur)


Lesenswert?

Sind die Endschalter nicht explizit zum parallel Schalten gedacht, so 
würde ich auch davon Abstand nehmen.

Am Ausgang ist es oft ein Transistor, der einen Widerstand gegen Masse 
schaltet. Der Widerstand ist - normalerweise - für optimalen Betrieb 
dimensioniert. Natürlich als Einzelkämpfer.

Schaltest Du jetzt zwei "Ausgänge" parallel, so muss der Transistor den 
doppelten Strom schalten, da jetzt zwei Widerstände Parallel liegen.
Daraus können sich zwei Probleme ergeben:
1. Der Transistor wird überlastet. (Hitzetod)
2. Der Transistor "schafft" es nicht. (Undefinierte Ausgangsspannung)

Kommst Du natürlich an die Teile ran und weist was Du tust, so könnte 
das Entfernen eines Widerstandes helfen. Aber ohne Garantie.

: Bearbeitet durch User
von Christopher J. (christopher_j23)


Lesenswert?

Harald schrieb:
> Passt leider nicht der Plan.

Den Bildern nach würde ich wetten, dass er passt. Lediglich die 
Widerstände haben andere Werte. So hat R1 bei dir 180 Ohm statt 220 Ohm 
und R2 hat bei dir 2,2 kOhm statt 10 kOhm.

Schnapp dir mal dein Multimeter und verifizier mal den Schaltplan und 
stell ihn am besten nochmal hier rein. Ging bei mir leider nicht wegen 
Handy.

von Harald (Gast)


Angehängte Dateien:

Lesenswert?

Mehr kann ich nicht tun. Ich kann keine Schaltpläne lesen, geschweige 
denn abgleichen mit dem Schalter. Vielleicht hilft das aber.

von Harald (Gast)


Angehängte Dateien:

Lesenswert?

Hier auch nochmal die Oberseite des Schalters.

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.