Im Folgenden stelle ich mein neustes CNC-Handrad für das OPEN-CNC-Shield 2 mit dem Estlcam ControllerModule vor. Mit dem Handrad lässt sich die Fräse ganz einfach per Hand verfahren und kann vor dem Starten eines Jobs entsprechend ausgerichtet und an die richtige Stelle gefahren werden. Auch eine Geschwindigkeitsanpassung des Jobs oder der Motordrehzahl sind möglich – auch während eines Jobs. Hierzu habe ich ebenfalls ein Video erstellt, welches die Funktion, den Aufbau und alles drumherum erklärt:
Funktionen
Das Handrad und die Funktionen gelten nur für das OPEN-CNC-Shield 2 mit dem Estlcam ControllerModule. Andere Controller unterstützen unter Umständen nicht alle Funktionen. Dazu immer in die Dokumentation des jeweiligen Controllers schauen: Dokumentation ControllerModules
- 3-Achsen Joystick mit Knopf (wird zum Abnullen der Achsen genutzt)
- Taster zum Starten von Autosquaring – Was ist Autosquaring?
- Taster zum Starten des Programms
- Taster zum Starten des Motors / der Spindle
- Taster für eine weitere Funktion, z.B. Stromlos schalten der Achsen oder Auswahl der Geschwindigkeit in Estlcam (Speed1, Speed2)
- Encoder zum Verfahren der Achsen (Funktioniert nur mit angeschlossenem RJ45 Kabel – nicht über WiFi)
- Poti für den Vorschub
- Poti für die Motorgeschwindigkeit
- Display zur Anzeige
- Automatische Kalibrierung
- Vertauschte Achsen des Joysticks werden erkannt
- Verpolung aller Potis wird erkannt (Wenn VCC und GND vertauscht sind)
- Mittelstellung des Joysticks wird korrigiert. Vor allem bei der Z-Achse des Joysticks habe ich noch nicht herausgefunden, wie man diesen manuell korrigieren kann. Das ist nun auch nicht mehr nötig.
- ESP32 Platine für die Kommunikation mit dem OPEN-CNC-Shield 2
- Integrierte 5000mAh Powerbank
- Wird mit einem RJ45 Kabel mit dem OPEN-CNC-Shield 2 verbunden. Hier rüber wird auch die Powerbank geladen.
- Laufzeit im Dauereinsatz: etwa 12 Stunden. Durch Einstecken des RJ45 Kabels kann auch mit einer leeren Powerbank weiter gearbeitet werden.
Bauteile Liste
Gehäuse aus dem 3D-Drucker. Ich habe auch eine Fusion360-Datei und eine Step-Datei mit hochgeladen. Damit kann man das Gehäuse ggf. noch anpassen. | Thingiverse |
ESP32 Panel PCB | im Shop |
Set: Bauteile wahlweise als Set | im Shop |
Einzeln: Handrad 60 mm – 5V – 4 Pin | Amazon AliExpress |
Einzeln: 4-Axis Joystick 10K Ohm | Amazon AliExpress |
Einzeln: Taster mit 5V LED. Es gehen natürlich auch welche ohne LED | Amazon AliExpress |
Einzeln: Poti 10K | Amazon AliExpress |
Einzeln: I2C Display 0,96 Zoll | Amazon AliExpress |
Powerbank 5000 mAh Max Breite: 65 mm Max Länge: 94 mm Max Tiefe: 14,5 mm | Amazon |
Kurze USB-Kabel (10cm) 1 x USB-A auf USB-C (für die Stromversorgung von der Powerbank zur Platine) 1 x USB-A auf Powerbank Eingang (meist Micro-USB) zum Laden der Powerbank | Amazon AliExpress |
Diverses sonstiges Material: – 8 x 3D-Druck Inserts M3 – Durchmesser 5 mm – ca. 20 x M3 Schraube 6 mm lang – Kabel zum Verdrahten |
Zusammenbau Anleitung
Ein detailliertes Anschlussschema im PDF Format gibts in der Dokumentation der Platine: ESP32 Panel Platine
Der Zusammenbau wird auch in dem obigen YouTube-Video beschrieben. Hier aber nochmal das wichtigste:
Es empfiehlt sich, erst leitenden Draht an den Tastern anzubringen, das erleichtert das Löten später. Damit verbinden wir am Taster GND der LED mit C. Im Folgenden ein Bild dazu:
Hier sieht man einmal das Anschlussschema eines Tasters mit LEDs. Wobei „LED VCC“ und „LED GND“ auch oft vertauscht werden können.
Die ersten Bauteile sollten problemlos eingesteckt und eingeschraubt werden können.
Joystick: Hier spielt die Ausrichtung der Potis keine Rolle.
Taster: Einstecken und von hinten verschrauben, die Dichtung nicht vergessen.
Encoder: Einstecken und mit Muttern befestigen
Display: Ich habe erst ein wenig Kleber angebracht und dann zusätzlich noch die Luftpolsterfolie hinter das Display gelegt (siehe Bild oben).
Die Potis werden auch eingesteckt und dann mit der Mutter angezogen. Dann den Poti auf null drehen und die Kappe aufstecken.
Potis – Gilt auch für die Potis an den Joysticks.
Oberer Pin | 3,3V |
Mittlerer Pin | Signal zur Platine |
Unterer Pin | GND |
Handrad / Encoder
A | Signal A zur Platine |
B | Signal B zur Platine |
5V | 5V |
0V | GND |
Taster
Display
SDA | SDA Signal zur Platine |
SCK | SCK Signal zur Platine |
VCC | 5V |
GND | GND |
Dann eine Unterlage suchen, damit das Handrad vernünftig aufliegt und das Löten kann beginnen. Zunächst alle GND Leitungen verbinden. Ich nutze immer ein langes Kabel, dass ich stückweise abisoliere, ohne es zu schneiden und dann an die Pins anlöte.
Danach folgen die 5V Leitungen mit der gleichen Technik wie bei GND.
Die Signalleitungen sind bei mir gelb und werden dann an die Platine angeschlossen.
Wenn alles richtig verdrahtet ist, sollten schon die LEDs leuchten und auch das Display sollte etwas anzeigen.
Da der Wireless Charge Adapter für meinen Geschmack zu warm beim Laden geworden ist, habe ich diesen entfernt und ein zweites USB-Kabel von der Powerbank zur Platine angeschlossen. Damit wird die Powerbank nun geladen, sobald das RJ45 Kabel mit dem OPEN-CNC-Shield 2 verbunden ist.
Danach nur noch die 3D-Inserts mit dem Lötkolben eindrücken und bei Bedarf die Kalibrierung starten, bevor das Gehäuse mit dem Deckel geschlossen wird.
Kalibrierung
Zum Starten den kleinen Taster auf der Platine gedrückt halten. Steht dann im Display „Kalibrierung“ den Taster wieder loslassen. Danach den Anweisungen auf dem Display folgen
Update: 21.05.2023
Die Kalibrierung wird inzwischen über das Webinterface gestartet. Mehr dazu direkt in dem GitHub Repository: Github ESP32 Panel Software
ESP32 Firmware
Die Firmware des ESP32 gibts hier: Github ESP32 Panel Software
Hallo Timo,
kann man das Handrad auch ohne Powerbank und Display betreiben?
Hintergrund:
Ich habe mir das OpenCNC Shield v2 mini mit dem ESTLCAM controller board in deinem Shop gekauft und möchte ein Handrad, das etwas handlicher ist.
Ich würde den ESP dann in das Gehäuse deiner ersten Handradversion einbauen, die allerdings ja noch ohne Funk war.
(https://www.youtube.com/watch?v=xhlzCxVod8w)
Ja, kannst du. Für die erstmalige Kalibrierung ist ein Display aber von Vorteil. Du kannst die Anweisungen für die Kalibrierung aber alternativ auch am Serial Monitor auslesen, ist nur umständlicher.
Hallo Timo
ich danke Dir für die schnelle und verständliche Antwort.
Ich werde auf alle fälle dein OPEN-CNC-Shield 2.x nutzen und es in den kommenden Wochen bestellen.
Werde die Handsteuerung am Wochenende kalibrieren.
Grüße Alexander
Hallo Thomas,
vielen Dank für die schnelle Antwort auf meine Frage zur Kalibrierung. Die ja leider nicht erschienen ist.
Aber wer richtig lesen kann ist voll im Vorteil, habe alles gefunden in der Beschreibung bei Github im Repository.
Gruß Jürgen
Hallo Thomas,
habe die Handsteuerung an einem CNC Schield 2 mit ESTLCAM Adapter in Benutzung. Grunsätzlich funktioniert es auch, aber beim AutoSquaring fahren die Achsen manchmal in die falschen Richtungen, meistens wenn das die letzte unter ESTLCAM gefahrene Richtung war. Selbst wenn es dann wieder in die richtige Richtung geht, läuft die Bewegung zum freifahren des Endschalters in die falsche Richtung (weiter in den Enschalter rein) bis die Motoren blockieren. Hast Du eine Idee?
Vielen Dank und LG Dirk
Moin, ja, das liegt an der Steuerungssoftware, also bei dir Estlcam.
Schau mal hier: https://docs.timos-werkstatt.de/open-cnc-shield-2/guides-zubehoer/autosquaring
Hallo Timo
Ich möchte mir das CNC Handrad auch bauen gibt es auch einen Schaltplan dazu wie ich das alles anschließen muß.
Was genau fehlt dir? In diesem Beitrag werden eigentlich alle verschiedenen Bedienelemente erklärt.
Wo genau was ich auf dem ESP32 Panel PCB anschließen muß auf diese Foto erkennt man nicht wo die Gelben leitung alle hingehen und wo sie angeschlossen werden, deswegen frage ich Bitte um einen Schaltplan wie ich das alles achließen muss das wäre super wenn das möglich wäre.Ich danke im Vorauß
Die Platine ist beschriftet. Da steht also dran, wo die Kabel rein gehören
Hallo
Kann man das Handrad auch nur mit dem Lan-Kabel betreiben oder geht das nur mit Wifi,
Aktuell findet die Kommunikation nur über Wi-Fi statt. Es ist aber geplant, zukünftig auch die Kommunikation über das LAN Kabel zu ermöglichen. Das hat aktuell aber keine hohe Priorität, da mir bisher noch kein Fall bekannt ist, wo die Wifi Verbindung nicht einwandfrei funktioniert.
Hallo Timo,
Bekommt man bei dir auch nur die 4 Taster im Set zu kaufen?
Direkt im Shop nicht. Schreib aber gern eine Anfrage. Da lässt sich bestimmt was machen.
Hallo Timo, kannst du bitte erklären wie du das Cover gemacht hast? Danke
Das ist einfach eine Aufklebefolie von meinem Plotter. Habe das nur für das Video eben drauf geklebt. Das sollte eigentlich unnötig sein. So viele Funktionen sind da jetzt nicht drauf 😀
Hey Timo, ich habe das Panel soweit zusammen gebaut, es funktioniert auch mit der Kommunikation mit dem CNC Shield, nur ich kann die Kalibrierung nicht starten. Wenn ich den Button drücke gibt er GND durch, kommt auch am Pin4(D2) an, aber die Kalibrierung startet nicht
Was kann ich da machen ?
Der Button funktioniert leider noch nicht. Wenn du die aktuelle Version der Firmware hast, kannst du auch Button4 dafür nutzen. Also zur einmaligen Kalibrierung einfach ein Kabel an button4 und GND. Dann zusammenhalten zum auslösen.
probiere ich sofort aus, danke für die schnelle Antwort.
Welche Insertgröße für die Gewinde hast du genommen ? M3 fällt bei mir durch und M4 kann ich überhauptnicht ansetzen. Vielleicht hast du einen Link von deinen
hab ich in thingi dazu geschrieben: 3D inserts: M3 – diameter 5 mm – length up to 6 mm
Die Löcher sind glaube ich 4,8mm
Kalibrieren hat geklappt, vielen dank
Hallo Timo,
finde das Open CNC Shield 2 und das Handrad super. Aber ich hätte zum Handrad eine Frage:
Ist es auch möglich das Handrad ohne Powerbank zu betreiben und nur mit angeschlossenem RJ45 Kabel?
Danke und Grüße Daniel
Klar, siehe dazu die Dokumentation: https://docs.timos-werkstatt.de/open-cnc-shield-2/esp32-panel-platine#stromversorgung
Moin Timo, prima Anleitung. Ein paar Kleinigkeiten sind mir aufgefallen:
1. Wenn Du an dem Gehäuse unter die Platinen Halter Fasen machst, kann man den Support auf das Druckbett beschränken.
2. Das AZ-Delivery Display scheint 1-2 mm größer zu sein. Wenn Du in alle Richtungen 1 mm dazu gibst sollte das passen.
3. Oben im Text für das Display ist GND und VCC vertauscht. Man kann es ja leider nicht mehr lesen, wenn es eingebaut ist.
4. Eine Idee für den „kleinen Taster“: Nimm doch einen „Momentary Pushbutton Switch“. Der ist dann versenkt und kann mit einer Büroklammer, oder so gedrückt werden.
5. Eine Idee: Anstatt des Encoders kann man auch einen Not-Aus einbauen (kann ich mal auf Thingiverse remixen). Wie kann man das im Code einbauen?
Nochmal zum Not-Aus:
Ich habe den jetzt anstatt des Handrades eingebaut und den mit ENA verbunden. Bei „LifeLatitudes“ hat er das mit einem Endstop verbunden. Das finde ich noch viel besser. Bei mir „fällt“ die Spindel etwas runter, wenn der Stepper stromlos ist.
Wie kann man das realisieren?
Kann man über OutputX einen Endstop simulieren? Im „schlimmsten“ Fall über ein Relais?
Ich habe das mal bei Thingiverse
https://www.thingiverse.com/thing:5729474
und Prusa eingestellt.
https://www.printables.com/model/344876-emergency-stop
Du könntest die Software anpassen. Der ESP32 auf dem OCS2 hat ein paar freie Ports am Pinout. Davon könntest du einen nutzen und das Signal dort ausgeben. Dann könntest du eine Strippe von dem Pin zu einem Eingang ziehen.
Ohne Anpassung der Software:
Stelle am Panel ESP32 in der Software ein, dass z.B. Output 4 damit geschaltet wird. Dann zieh eine Strippe von Output4 an einen der Eingänge.
Ein direktes Schalten der Eingänge ist zwar auch mit dem OCS2 ESP32 zwar auch möglich, würde ich aber nicht machen. Wenn der ESP32 den Eingang auf 5V zieht und dann dein Eingang am InOutModule versucht den Eingang auf GND zu ziehen, gibts nen kurzen.
Super. Klappt wunderbar.
Es muss aber min. die OCS2_VERSION 8 sein.
In der panel Software habe ich 2 Einträge gemacht:
#define HAS_OUTPUT4_BUTTON true
#define BUTTON_1 „output4“
Und natürlich den Not-Aus Schalter mit dem entsprechendem BUTTON_1_PIN (default: 23) verdrahtet.
Den Draht habe in im OCNC Shield von Output 4 auf Input 7 gezogen und den Jumper nach rechts gesetzt.
Dann in Estlcam den Eingang 7 als Endstop konfiguriert.