Inspiration hole ich mir hauptsächlich von dem RapidChange ATC, einem “günstigen” Automatic Tool Changer für fast beliebige CNC-Fräsen. Das Prinzip beruht auf der Rotation der Spindel, auf die man besonders bei kleineren Fräsen eine Mutter aufschraubt um ein Werkzeug einzuspannen. Im Uhrzeigersinn (CW) wird das Werkzeug eingespannt, gegen den Uhrzeigersinn (CCW) wird es ausgespannt.
Da ich aber eine Absaugdüse an meine Spindel geschraubt habe, kann ich auch hier das Design nicht eins zu eins übernehmen und muss es auf meine Umstände anpassen.
Eigentlich gibt es speziell dafür den M4 Gcode Befehl, der wird aber bei vielen 3018 China-Fräsen als nicht belegt auf den Chip des Mainboards geflasht. Es gibt auch keinerlei Spindle Direction Pins auf dem Mainboard die man ansteuern könnte.
Daher gibt es zumindest bei meiner Fräse keine on-Board Software-Lösung und eine Hardware-seitige Lösung muss her.
Ich habe ein wenig recherchiert, um herauszufinden, welche Optionen mir bleiben, allerdings nicht wirklich viel gefunden.
Ich habe aber festgestellt, dass es sich bei dem Spindelmotor selbstverständlich um einen DC-Motor handelt. Dessen Drehrichtung lässt sich bekanntermaßen durch Vertauschung der Plus- und Minus-Pole umkehren, weshalb ich mir eine einfache Umpolungsschaltung mit einem Arduino Nano und zwei Relais überlegt habe. Das Signal zum Umschalten greife ich über einen der PWM Ports auf dem Mainboard ab (eigentlich für Laser-Erweiterung gedacht).
Wenn ich jetzt in UGS den Befehl M3 S30 eingebe, dann schalten die Relais um (Pole vertauscht) und die Spindel dreht nach einer Geschwindigkeitseingabe (z.B. M3 S1000) sich gegen den Uhrzeigersinn. Sobald ein M5 auftaucht, schalten die Relais wieder um auf Normalbetrieb im Uhrzeigersinn. Das funktioniert deshalb, weil die sich Spindel bei derart geringen Drehzahlen (S30 ≈ 360 U/min) noch nicht dreht, erst ab etwa S50 ≈ 600 U/min, aber der Befehl wird trotzdem gesendet und signalisiert dem Arduino, dass er umschalten muss.
[Schaltung und Code folgen]

