Das Elend mit den Störungen an den Endstops

Zum betreiben der CNC3018 nutze ich zur Zeit eine Steuerung aus Arduino mit GRBL und CNC Shield.
Hier kommt es inzwischen durch die dichte Bauweise zu übersprechenden zwischen den Leitungen der Schrittmotoren und den Leitungen der Endschalter an den Achsen. Folglich, wenn die Schrittmotoren laufen löst sofort ein Endschalter aus. Ein Betrieb ist somit mit Endschaltern nicht möglich.
Diese wurden vorerst zum Betrieb deaktiviert.

Lösungsversuche
1. Versuch:
Ich habe an den Microschaltern der Endstops an den 3. Pol (NC) ein + Leitung angebracht, so dass nach Theorie die Sensorleitung so lange der Endschalter nicht ausgelöst ist, immer 5 Volt anliegen. Pustekuchen. Es lösen immer noch fremdinduzierte Signale die Endschalter in der Steuerung aus. Zusätzlich, habe ich nicht bedacht, das am CNC Shield Signale für + und – einer Achse Ein und das Selbe sind. Das hat zur Folge, dass wenn man einen der mechanischen Endschalter auslöst, auf der Signalleitung GND angelegt wird, während an dem anderen Endschalter an der selben Signalleitung +5V anliegen. Kurzschuss.
Das hat sogar mein am Arduino angeschloßenes Macbook abstürzen lassen.

2. Versuch:
Induktiver Näherungsschalter als Endschalter.
Hier TTL 5V kompatibel vom Typ NPN – NO.
Im Prinzip arbeiten diese wie ein Metallsuchgerät. Durch die kleine Bauform sind die Abstände, in denen Metall erkannt wird, relativ klein. Hier bei diesem Modell mit 12mm Durchmesser sind Metalle in 0 … 4mm Entfernung erkennbar.
Auslösen mit sich nähernden Metall wird erkannt, Prima.
Störung wird noch immer induziert sobald die Schrittmotoren laufen, NICHT Prima.

3. Versuch:
Alle Leitungen werden in Kupferfolienband eingewickelt. Das Band von jeder Leitung am CNC-Shield an GND angeschossen.
Sieht schick aus, macht die Leitungen sehr Steif und Unhandlich.
Auswirkungen sind nicht ersichtlich. Fail.

Die Lösung:
Da die Ströme die in den Leitungen induziert werden winzig klein sind, sind sie zwar ausreichend um in einen Arduino als Schaltvorgang erkannt zu werden, aber mit den µA nicht ausreichend um eine LED zum leuchten zu bringen.
Dies macht man sich zu Nutze um Signalleitungen mit Optokopplern zu entkoppeln und somit zu entstören.
Die Anschlüsse auf dem CNC-Shield sind mir eh zu Fummelig und eng gepackt. Somit entschied ich mich ein zusätzliches Shield zu entwerfen welches ich zwischen Arduino und CNC Shield stecke.

Entwurf in Fritzing

Es sind ja nicht viele Bauteile, bei den Optokopplern habe ich zuerst geschaut, welche wir auf Lager haben und bin bei ILD74 gelandet, die gleich 2 Optokoppler in einem DIP Gehäuse mitbringen.
Den größten Platz nehmen die von mir heiß geliebten steckbaren Schraubklemmen in 3,81mm(0,15in) Ausführung ein.

Entkoppelt werden die Leitungen für X, Y, Z, und Probe welches für Nullpunktsensoren verwendet wird. X und Y bekommen die Anschlüsse doppelt für jedes Ende der Achse.
Z benötigt dies nicht, da in der Regel nach unten immer das eingespannte Werkzeug im Weg sein sollte bevor irgendein Endschalter auslöst. Z hat also nur oben am Ende der Achse einen Endschalter.
Zu jeder Signalleitung kommen jeweils ein Anschluss für 5V und GND. Somit ist man jederzeit frei in der Wahl seiner Endschalter, ob nun mechanische Microschalter die nur Sig. und GND benötigen würden, oder Lichtschranken oder Induktiver Näherungsschalter.

In Fritzing für die erste Version noch einseitig entworfen, mit 3 Dratbrücken.
Als Gerber Datei ausgegeben und mit der Online CAMsoftware für Platinen https://copper.carbide3d.com dann die G-Codes für die Fräse erzeugt und dann gefräst.
Wer ein mal die Löcher eine selbstgeätzten Platine bohren musste, wird die Fräse an dieser Stelle zu schätzen wissen.

Und ja, Chinaplatinen sind schnell und günstig zu haben. Jedoch nicht so schnell und so günstig wie mit der Fräse Samstag Nacht um 2.
Die erste Version wird wenn sie einseitig zu meistern ist, wahrscheinlich von mir immer selber hergestellt.

GRBL_Opto_Limitshield

Da ist es also die erste Version des GRBL_Opto_Limitshield.
Und was soll ich sagen, es funktioniert. Die Fräse kann jetzt endlich den Maschinennullpunkt setzen (HOME) UND Störungsfrei mit aktivierten Endschaltern an allen Achsen ihre Programme fahren.
Aktuell nutze ich eine gemischte Bestückung der Endschalter. An Y sind mechanische Microschalter und an X und Z sind Induktiver Näherungsschalter.

Commentary

Leave a response »

Leave a comment, a trackback from your own site or subscribe to an RSS feed for this entry. Trackback URL for this entry Comments feed for this entry

Leave a response

Leave a URL

Preview