Handrad für CNC-Fräse
Ich übernehme keinerlei Haftung für etwaige Schäden, die beim Nachbau entstehen.
Grundlegendes
Ein   Mach3-Handrad   ist   nicht   dazu   gedacht   an   der   Überschall-Geschwindigkeit   für   Flugzeuge   zu kurbeln.   Mach3   ist   eine   Steuerungs-Software   für   CNC   Maschinen   -   und   mit   dem   Handrad   bewegt man die drei Achsen einer CNC-Fräse. Hier ein Bild meiner Fräse.
Die Frontplatte ist mit der Fräse oben gefertigt. Rechts das Bild zeigt das fertige Handrad. Ich   habe   lange   nach   einer   Anleitung   für   den   Bau   eines   Handrades   und   die   Einbindung   in   Mach3 gesucht.   Fündig   bin   ich   eigentlich   nicht   geworden.   Irgendwie   hab   ich   das   Gefühl,   dass   die   kleinen Geheimnisse   um   die   Handrad-Thematik   nicht   ausgespuckt   werden.   Es   soll   ja   teuer   verkauft   werden, was   für   ein   paar   Euro   selbst   gebaut   werden   kann.   Ich   versuch   hier   mal   das   Geheimnis   um   das Handrad   zu   lüften.   So   besonders   schwierig   ist   das   nicht   und   zudem   ist   die   originale,   englische Mach3-Software offen wie ein Scheunentor.
Aber wo bekommt man die Info her
Das   Handrad   liefert   Impulse   oder   Rechtecksignale,   die   von   der   Mach3-Software   umgesetzt,      und   an die    Motorsteuerung    weitergeleitet    werden.    Die    Motorsteuerung    bewegt    dann    entsprechend    die Achsen   der   CNC-Maschine.   Das   eigentliche   Handrad   ist   ein   fertiger   Inkrementalgeber,   der   zwei nicht    überlappende    Signale    liefert.    Anhand    beider    Signale    kann    man    die    Richtung    und    die Impulsbreite    ableiten    -    auf    gut    Deutsch    Drehrichtung    und    Geschwindigkeit    des    Handrades.    In meinem   selbst   gebauten   Handrad   sind   noch   einige   Tasten   und   LEDs   integriert.   Mit   der   Set-Taste wählt   man   die   X, Y   oder   Z Achse   aus,   die   mit   dem   Handrad   gefahren   werden   soll.   Entsprechend   der gewählten Achse   leuchtet   die   zugehörige   LED.   Zero   fährt   das   Werkzeug   zum   Werkstück-Nullpunkt. Home   fährt   alle   Achsen   an   den   Maschinen-Nullpunkt.   Reset   setzt   eine   Notaus-Funktion   und   setzt diese   auch   zurück.   Diese   Funktionen   braucht   man   beim   Einrichten   ständig   und   sind   zweckmäßig   als "tragbare Funktionen" ins Handrad übernommen.
Was braucht man alles zum Bau des Handrades
Einen   Inkrementalgeber   (   Encoder,   Drehgeber   )   Schnäppchen   in   der   Bucht   um   einen   Euro,   ein Gehäuse,   ein   1:1   Kabel   mit   zwei   25-pol   SUB-D   Stecker,   drei   LEDs   mit   Sockel,   einen   Widerstand, eine    Kabeldurchführung,    vier    Taster    und    wenn    nicht    bereits    vorhanden    eine    LPT    Karte.    Grob geschätzt etwa 15 Euro.
Zuerst mal den Schaltplan.
Auf     das     Bild     klicken, dann    wird    es    groß    und leserlich dargestellt. Achtung:   Die   LPT2   Karte ist   Modifiziert. Auf   Pin   13 achten.    Hier    ist    normal der Select Input.
Nix   dran,   wie   man   sieht.   Die   paar   Bauteile   lassen   sich   sogar   ohne   Platine   einfach   hinter   der Frontplatte verdrahten.
Ein kleiner Exkurs zu Mach3 bringt hier an dieser Stelle Sinn.
Mach3   ist   eine   klasse   Software,   wenn   es   darum   geht   CNC-Maschinen   ohne   eigene   Steuerungs- Software   zu   betreiben.   Beispiele   sind   hier   Selbstbau   oder   Umbauten   auf   CNC.   Der   große   Vorteil   von Mach3   ist   der,   dass   auch   "richtiger"   CNC-Code   oder   G-Code   verarbeitet   wird.   Mach3   ist   also   schon weit    aus    der    Spielphase    heraus.    Wie    schon    erwähnt    ist    Mach3    sehr    offen    und    lässt    sich benutzerspezifisch   bearbeiten.   Neben   einem   festen   Kern   bietet   die   Software   das   Gestalten   oder Ergänzen   der   Bediener   Oberfläche   -   wenn   man   will.   Hierzu   gibt   es   mehrere   Screen Tools.     Auch   VB- Script   wird   unterstützt.   Am   Anfang   empfand   ich   die   Oberfläche   lächerlich,   habe   dann   aber   schnell meine   Meinung   geändert.      Die   Gestaltung   der   Oberfläche   benutze      ich      z.B.   zum   Einbinden   des Handrades.    Die    anfangs    etwas    gewöhnungsbedürftige    Oberfläche    besteht    aus    grundlegenden Dingen   wie   Schaltknöpfen,   LEDs   und   Anzeigen.   Hinter   diesen   Bildchen   verbirgt   sich   die   anfangs erwähnte   Offenheit.   Man   kann   z.B.   mit   Mach3Screen   eine   Taste   in   eine   Oberfläche   einbinden,   mit Text   belegen   und   irgendwelche   Funktionen   damit   verknüpfen.   Alle   machbaren   Funktionen,   und   das sind   nicht   wenig,   sind   im   WIKI   dargestellt.   So   könnte   man   z.B.   einer Taste   einen Ausgang   zuweisen, der dann ein Relais ziehen lässt und eine Wasserpumpe startet.
Und nun an' s Eingemachte - Handrad konfigurieren unter Mach3.
Physikalische Ein- Ausgänge und Encoder-Kanäle eintragen.
Mein Handrad ist auf die zweite LPT Karte aufgesetzt. Man   bringt   Mach3   dies   im   Menue   Config   Port   &   Pins    bei,   indem   man   Port   #2   freigibt   und   die Portadresse   eintippt.   Da   Mach3   auf   die   LPT2   in   Form   von   Ein-   und Ausgängen   zugreift,   muss   man Mach3 sagen wie die Ein- bzw. Ausgänge physikalisch verdrahtet sind. Frei zu verdrahtende Eingänge heißen OEM Trig # . Eingetragen werden sie unter Config Input Signals . Frei zu verdrahtende Ausgänge heißen OUTPUT #. Eingetragen werden sie unter Config Output Signals . Die beiden Kanäle A und B des Handrades heißen MPG #. Eingetragen werden sie unter Config Encoder/MPG's .   Die Kanäle A und B sind unter MPG#1 einzutragen. Nach dem Eintrag soll es so   aussehen. Modifizierte LPT Karte für 5V Spannungsversorgung.   Diese Angaben sind ohne Gewähr. Ich   habe   bei   meiner   LPT2-Karte   den   Pin   13   (Select   In)   freigelegt   und   von   der   Karte   selbst   die   5V+ auf   den   Pin   gelegt.   Die   +5V   liegen   am   kleineren   Stecker   ganz   hinten.   Es   sind   jeweils   zwei   Pins vorne   und   hinten   -   also   die   letzten   zwei   Pins   an   beiden   Seiten   des   kleinen   Steckers.   Zur   Sicherheit das   Pinout   der   PCI   Schnittstelle   suchen.   Man   kann   auch   Batterie   betrieben   arbeiten   oder   die Spannung aus dem Netzteil in einem separaten Kabel führen. Tasten die eine direkte Mach3 Funktion belegen.  (Reset, Home, Zero) Die   Tasten   sind   vorher   schon   (im   Schaltplan   und   Config)   auf   die   OEM   Trig#   4,3   und   2   festgelegt worden. Was die Tasten nun tun sollen wird unter Config System Hotkeys konfiguriert.  
Hier   sieht   man   die   Zuordnung   von   den   Eingängen   (   OEM   Trig#   )   zu   den   OEM   Codes.   Die   OEM- Codes   sind   die   Funktionen,   die   beim   Tastendruck   ausgeführt   werden   sollen.   So   entspricht   z.B.   OEM Trig#2   dem   Mach3   OEM-Button   1017.   Und   das   ist,   wenn   man   im   WIKI   unter   der   Liste   nachschaut die Funktion Goto Zero. In gleicher Weise werden auch die Trigger 3 und 4 abgehandelt. Bisher war alles durchschaubar - aber jetzt kommt es "dicker".
Sonderlocke LEDS und SET-Taste.
Vorweg zum Verständnis - Makro ist ein VB Script (Visual Basic Programm im Klartext). Die   SET-Taste   soll   eine   der   drei Achsen   für   das   Handrad   selektieren   und   als   optische Anzeige   eine LED   entsprechend   der   Achse   leuchten   lassen   -   genauso   wie   man   es   mit   Maus   und   Tastatur   im PMG-Fenster   machen   kann.   Die   Maus   schaltet   die   Achsen   um,   und   die   Pfeiltasten   bewegen   die Motoren. Frei   benutzbare   Ausgänge,   die   an   der   LPT2   Karte   verfügbar   sind,   heißen   OUTPUT#.   Ich   fand keinerlei   direkte   Funktion,   die   in   Abhängigkeit   der   selektierten   Achse   einen   OUTPUT#   für   die   LEDs schaltet.   Man   kommt   nicht   umhin,   selber   was   mit   VB-Script   zu   schreiben.   Wie   setzt   man   nun   den Tastendruck   der   SET-Taste   mit   einem   Macro   um.   Das   ist   auch   wieder   einfach,   aber   draufkommen muss     man.     Da     gibt     es     eine     Funktion     301     (Code     for     OEMTriggers     runs     the     macro     in SetTriggerMacro).   Nicht   sehr   aussagekräftig   -   klingeln   tut‘   s   dann,   wenn   man   rausgefunden   hat, dass   SetTriggerMacro   eine   Systemvariable   von   Mach3   ist.   Der   Code   301   macht   nichts   anderes als   das   Makro   aufzurufen,   das   in   der   Mach3   Systemvariablen   SetTriggerMacro   gesetzt   ist. Man   muss   nun,   wie   weiter   oben   beschrieben,   den   External   Button   mit   dem   Code   301   verbinden   und in   der   Systemvariablen   das   selbst   geschriebene   Macro   eintragen.   Man   kann   unter   Mach3   Befehle auch   direkt   eingeben   (gelbe   Zeile   ganz   unten)   -   also   auch   die   Variable   proforma   von   Hand   setzen. So   wird   hier   beispielsweise   mit   dem   Befehl      (   settriggermacro   334   )   das   Makro   M334   definiert,   das dann   beim Tastendruck   der   SET-Taste   über   OEM-Code   301   aufgerufen   wird. Automatisiert   man   das, so   schreibt   man   zwei   Makros   M333   und   M334:   M333   mit   dem   SetTriggerMacro   als   Inhalt   und   M334 mit   dem   Code   für   das   Handrad.   Das   erste   Makro   kann   man   beim   Start   von   Mach3   automatisch aufrufen   ( Unter   General   Config    -   Initstring   M333   anfügen).   Mach3   sucht   die   Makros   im   Mach3- Systemordner   unter   macros/Mach3Mill.   Also   dort   ablegen.   Die   LEDs   werden   unter   VB-Script   von den Makros geschaltet und müssen in Config Output Signals eingetragen werden.
Einfach, oder? Nun noch die beiden Makros.
Achtung:   Beim   Veröffentlichen   meiner   Daten   in   anderen   Webpages   wenigstens   so   clever   verändern,   dass   es   aussieht   als   hätte   man das selbst geschrieben - oder einfach als Zitat veröffentlichen und den Urheber-Namen drin lassen. Denn sowas fällt auf: g oto ende ende: Manche sind sogar noch zum Daten klauen und Kupfern zu blöd.
  M333.m1s ' ------------------------------------------------------------------------------- ' Handrad Makro 05.09.2008 (c) Gerhard Günzel ' ------------------------------------------------------------------------------- SetTRiggerMacro 334            'Setzt Makro M334 bei OEM-Code 301 dooembutton (327)                 'MPG Jog Mode DoOEMButton (303)               'Geschwindigkeits-Modus Handrad dooembutton (119)                  'Softlimit M334.m1s ' ------------------------------------------------------------------------------- ' Handrad Makro 05.09.2008 (c) Gerhard Günzel ' ------------------------------------------------------------------------------- Sub Main() DoOEMButton (175)        'Cycle axis controlled by MPG 1 If getoemled (59) Then DoOEMButton (233)         'OUTPUT 4 an button 233 DoOEMButton (236)         'OUTPUT 5 aus DoOEMButton (238)         'OUTPUT 6 aus End If If getoemled (60) Then DoOEMButton (235)         'OUTPUT 5 an DoOEMButton (234)         'OUTPUT 4 aus DoOEMButton (238)         'OUTPUT 6 aus End If If getoemled (61) Then DoOEMButton (237)         'OUTPUT 6 an DoOEMButton (234)         'OUTPUT 4 aus DoOEMButton (236)         'OUTPUT 5 aus End If End Sub   Noch eine zweite Variante - Zero Taste nullt die entsprechende Achse. Und nicht vergessen - OEM Trig#2 auf Code 301 M334.m1s Sub Main() ' ------------------------------------------------------------------------------- ' Handrad Makro 05.09.2008 (c) Gerhard Günzel ' ------------------------------------------------------------------------------- ' ' Aktive Achse Nullen wenn Taste ZERO gedrueckt ist ' If IsActive (OEMTRIG2) and getoemled (59) Then         'Zero Taste und X aktiv 'msgbox "Setze X auf NULL"                                            'Auskommentieren zum Test dooembutton (1008)                                                       'Setze X auf NULL goto ende End If if IsActive (OEMTRIG2) and getoemled (60) Then         'Zero Taste und Y aktiv 'msgbox "Setze Y auf NULL" dooembutton (1009)                                                       'Setze Y auf NULL goto ende End If if IsActive (OEMTRIG2) and getoemled (61) Then         'Zero Taste und Z aktiv 'msgbox "Setze Z auf NULL" dooembutton (1010)                                                       'Setze Z auf NULL goto ende End If ' ' Achse umschalten und zugehoerige LED am Handrad an ' DoOEMButton (175)         'MPG-Achse wechseln If getoemled (59) Then DoOEMButton (233)         'OUTPUT 4 an, Button 233 DoOEMButton (236)         'OUTPUT 5 aus DoOEMButton (238)         'OUTPUT 6 aus End If If getoemled (60) Then DoOEMButton (235)         'OUTPUT 5 an DoOEMButton (234)         'OUTPUT 4 aus DoOEMButton (238)         'OUTPUT 6 aus End If If getoemled (61) Then DoOEMButton (237)         'OUTPUT 6 an DoOEMButton (234)         'OUTPUT 4 aus DoOEMButton (236)         'OUTPUT 5 aus End If goto ende ende: End Sub
Dann noch viel Spaß beim Nachbau und gutes Handradeln.
Nachtrag zum Schmunzeln.
Bei   der   Hilfestellung   zu   dieser   Seite   hier,   in   einem   deutschen   Forum,   dass   sich   neutral   "Das   Mach3 Support   Forum   für   professionelle   Anwender"   nennt,   wurde   der   Thread   einfach   geschlossen.   Zitat:       Hey   Jungs,   dass   ist   kein   Privatforum   für   Gerhards   Handrad.   Und   dann   noch   nicht   einmal   auf   die deutsche Version zu verweisen finde ich etwas unverschämt, daher geschlossen .... Zitat Ende .
Wie   schlau   ist   das   denn .   Threads   werden   beispielsweise   wegen   Verstoß   gegen   gute   Sitten   etc. geschlossen.   Zudem   war   der   Beitrag   auch   noch   in   der   Sparte   Fremdhardware.   Ein   privates   Forum lt.   Inhaber;   aber   voll   von   Hinweisen   auf   Produkte   einer   deutschen   Firma.   Reinschauen   und   sich selbst eine Meinung bilden lohnt sich bestimmt.
Auf   dem   Tisch   die   Fräse   und   die   Motorsteuerung,      drunter   der   PC   mit   Mach3   und   rechts   der   Monitor und   Tastatur   .   Das   schwarze   Kästchen   hinter   dem   gelben   Schlauch   ist   das   Handrad.   Und   um   das geht es hier.
Na   beim   Hersteller.   Da   gibt   es   alles,   was   man   dazu   braucht.   Allerdings   nur   in   Englisch.   Auf   der Homepage   von   Mach3    kann   man   sich   im   Bereich   Support   alles   an   Doku   ziehen,   was   zum   Bau   und Einbinden    des    Handrades    nötig    ist.   Als    WICHTIGSTE    Doku    sehe    ich    Customizing-mach3.pdf, Mach3Screen.exe   und   die   WIKI   Seite   von   Mach3.   Mit   den   drei   Sachen   kommt   man   schon   ganz   gut zurecht. Allerdings sei erwähnt, dass man rund 1000 Seiten zu lesen hat.
Was macht ein Handrad genau