Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY-CNC-Pendant mit Arduino Leonardo: Günstige HID-Steuerung mit 23 Tasten & Handrad

Komponenten und Zubehör

Über dieses Projekt

Ein kommerzielles Pendant für meine CNC-Steuerung (EdingCNC) kostet ~100 € und bietet nur 2 Tasten + Handrad. Eigenbau: 23 Tasten, bis zu 6 Funktionen pro Taste (Single/Double/Triple Click, Hold-Kombinationen), Handrad – und das Gehäuse bleibt beim Drehen stabil auf dem Tisch.

Warum Arduino Leonardo?

Der ATmega32u4 kann als USB-HID (Tastatur/Maus) auftreten. Der PC erkennt das Pendant als Tastatur – Tastendrücke senden Tastenkombinationen (Shortcuts) direkt an die CNC-Software. Kein Treiber, keine eigene PC-Software nötig.

Tastenlogik mit ClickButton-Bibliothek

Die Bibliothek ClickButton.h erkennt pro Taster:

Entprellung (20 ms), Multi-Click-Zeit (250 ms), Long-Click-Zeit (1000 ms) sind einstellbar.

Beispiel: X-Achsen-Taste (Button 13)

if (button[13].clicks != 0) {
  switch (button[13].clicks) {
    case 1:  shortcut_HANDWHEEL_X(); break;          // Handrad auf X
    case 2:  shortcut_ZERO_X(); break;               // X nullen
    case -1: // Single Click & Hold
      press_ESC(); goto_MAIN_MENU(); user_MACRO_18(); // G0 X0
      break;
  }
}

Gehäuse & Beschriftung

Mahagoni, doppelseitig gefräst (Vectric Cut2D), 36,5 mm Gesamtstärke. Tasterkappen abnehmbar → Poly-Vinyl-Sticker (Laserdrucker) hinter transparenter Abdeckung. Icons aus der EdingCNC-Software entnommen.

Handrad

Standard 60 mm, 100 PPR, 6-polig. In der CNC-Software auf 100 Impulse/Umdrehung einstellen.

Elektronik

Alle Taster an digitale Pins (0–13, A0–A5) mit internem Pull-up (einseitig auf GND). Leonardo-Stromaufnahme ~150 mA (mit Taster-LEDs). USB-Kabel dient sowohl für HID als auch zum Programmieren (Pendant bleibt an CNC-Netzteil angeschlossen).

Wichtige Shortcut-Funktionen (EdingCNC)

AktionTastenkombination
Reset (F1)KEY_F1
ESCKEY_ESC
HauptmenüALT+F1
Auto-MenüALT+F4
Handrad X/Y/ZCTRL+SHIFT+X/Y/Z
Achse nullen X/Y/ZCTRL+1/2/3
Handrad 1×/10×/100×CTRL+N/O/P
AUX1 (Absaugung) toggelnCTRL+M
Mist (Licht) toggelnCTRL+L

Code-Struktur

Der Sketch initialisiert 20 ClickButton-Objekte im Array, aktualisiert sie zyklisch per Update() und ruft bei Klick-Events die entsprechenden Keyboard.press()-Sequenzen auf. Hilfsfunktionen (press_ESC(), goto_AUTO_MENU(), shortcut_HANDWHEEL_X() etc.) kapseln die Tastenkombinationen.

// Kern-Loop (vereinfacht)
void loop() {
  for (int i=1; i<=buttons; i++) button[i].Update();
  if (button[1].clicks != 0) handleButton1();
  if (button[2].clicks != 0) handleButton2();
  // ... bis button[20] ...
}

// Beispiel Hilfsfunktion
void shortcut_HANDWHEEL_X() {
  Keyboard.begin();
  Keyboard.press(KEY_LEFT_CTRL);
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.press('x');
  delay(100);
  Keyboard.releaseAll();
}

Der vollständige Sketch (inkl. aller 20 Tasten-Handler und Makros) ist im Projekt als Download verfügbar.

Fazit

Ein leistungsfähiges, individuelles CNC-Pendant für einen Bruchteil des Preises. Die HID-Methode macht es softwareunabhängig – funktioniert mit jeder CNC-Steuerung, die Tastatur-Shortcuts unterstützt.

Herstellungsprozess

  1. Der Knopf: Vom antiken Verschluss zur modernen Innovation
  2. LED-Helligkeit per PWM und Taster am Arduino Mega steuern
  3. Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
  4. FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
  5. DIY Arduino TV-B-Gone: Universelle TV-Aus-Fernbedienung
  6. Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
  7. Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
  8. Selbstbau: Schlagbare, anpassbare Tasten mit Arduino und Piezo-Element
  9. Osai USA OPENwiTP: Kabelloses Bedienpult für effiziente CNC-Steuerung
  10. Reset-Taste am CNC-Bedienfeld: Funktion und Anwendung