CNC Handrad OPEN-CNC-Shield 2

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).

Danach den Displayhalter anschrauben

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 Pin3,3V
Mittlerer PinSignal zur Platine
Unterer PinGND
GND und 3.3V können auch vertauscht werden

Handrad / Encoder

ASignal A zur Platine
BSignal B zur Platine
5V5V
0VGND

Taster

Display

SDASDA Signal zur Platine
SCKSCK Signal zur Platine
VCC5V
GNDGND

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.

Ist alles verbunden, kann der ESP32 mit aufgespielter Software eingesteckt werden.

Wenn alles richtig verdrahtet ist, sollten schon die LEDs leuchten und auch das Display sollte etwas anzeigen.

Dann kann die Powerbank befestigt und eingeklebt werden.

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

32 Gedanken zu „CNC Handrad OPEN-CNC-Shield 2“

  1. Hallo Timo,

    vorab: bin leider kein großer Elektronik-Held. Habe das CNC Handrad (Platine mit integrierten Akkus) gelötet und montiert (vielen Dank für die tolle Anleitung) und soweit auch zum Laufen gebracht. Das kleine Display und die Beleuchtung der Buttons geht aber nur wenn ich die Platine über den USB-C Anschluss mit Spannung versorge. Die Bedienelemente funktionieren und werden im Display und auch auf dem ESP 32 Panel richtig angezeigt. Sobald ich abstecke geht das „Licht“ aus. Kontrollleuchte auf dem ESP 32 bleibt an. Wo liegen den die 5 V im Akkubetrieb an? Die beiden 18650 habe ich extern geladen. Die haben je 4,22V.
    Stehe irgendwie auf dem Schlauch.
    Freue mich über eine Rückmeldung.
    Besten Dank
    Thomas

    Antworten
  2. CNC Handrad OPEN-CNC-Shield 2
    Hallo Timo
    Wie komme ich in den Kalibriermodus ?
    Habe es mit den 2 Kabeln und dem Knopf auf der Platine wo die Batterien drauf sind versucht.
    Wechselt aber nicht in den Kalibriermodus.
    Mfg Alexander

    Antworten
  3. 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

    Antworten
  4. 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

    Antworten
      • 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ß

        Antworten
    • 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.

      Antworten
    • 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 😀

      Antworten
  5. 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 ?

    Antworten
  6. 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

    Antworten
  7. 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?

    Antworten
    • 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

      Antworten
      • 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.

        Antworten
        • 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.

          Antworten

Schreibe einen Kommentar