CNC Fräsmaschine - CNC Router

Der finale Entwurf als Solid CAD Modell.
Solid CAD Entwurf
Das ist die fast fertige CNC Fräsmaschine. Es Fehlen noch die Heidenhain Drehgeber und der Kasten mit Leistungsendstufen und µC Board.
CNC Fräsmaschine

Das Design, die Mechanik, die Elektronik und die Software sind komplett in Eigenregie durch mich erstellt worden. Es wurden hierfür Standard ICs und Prozessoren verwandt.
Bauzeit von Anfang bis Ende ca. 8 Monate.

Mechanik:

Die Maschine ist aufgebaut aus handelsüblichem 1.1730 (C45W) Flachstahl. Das Design wurde so ausgelegt, dass die Bauteile mit einem minimalen Maschinenpark erstellt werden können.
Für jede Achse wurde ein einheitliches Linearführungsmodul verwendet, woraus der Kreuzschlitten für die X-/Y-Achsen aufgebaut wurde und auch die Z-Achse.
Als Aktore dienen DC-Motore mit einem maximalen Drehmoment von 1NM die an die Servologik angeschlossen sind. Als Sensoren werden Absolut-Encoder der Firma Heidenhain verwendet mit einer maximalen Winkelteilung von 8192 Schritten.

Elektronik:

Der elektronische Aufbau besteht aus einer Servoplatine mit einer Leistungselektronik, die maximal 15V/5A pro Achse liefern kann. Die Steuerungslogik ist in einem Atmel ATmega64 mit 64K Flash und 4K SRAM realisiert und besitzt eine externe 32K Speichererweiterung. Die Achspositionen werden von einem ATmega168 Zeitsynchron ausgelesen und an den Hauptprozessor über einen SPI-Bus zur Verfügung gestellt. Die Achsregelung kann 3-Achsen simultan interpolieren und ermöglicht eine theoretisch maximale Geschwindigkeit von 1800mm/min.
Die Programmierung des NC-Integrators erfolgt mit ISO-Code, wobei mit der erwähnten Speichererweiterung bis zu 100 Programmsätze vorgehalten werden können.

Weiterführende Dokumentation:

Auf den folgenden Seiten sind Informationen zum Entwicklungsprozess der Maschine sowie die Maschine in Aktion zu sehen:

 Roboternetz Tread (Forum Thread „CNC mit Gleichstrommotoren“, ca.  38.000 Hits)

 Artikel mit zahlreichen Bildern

 AsuroFlash IDE (Forum Thread, ca. 60.000 Hits)

Während der Entwicklung...

Im Folgenden noch ein paar Fotos und Videos während der Entwicklung der Servos und der Steuerungslogik.

Ganz am Anfang benutzte ich die Drehgeber einer alten Maus als Drehgeber. Für die die sich jetzt fragen wo die Drehgeber in einer optischen Maus sitzen --- das war eine allte Ball-Maus mit einer Gummi ummantelten Stahlkugel als Antrieb der Positionsgeber. Schnell habe ich jedoch gemerkt das die Tastfrequenz für meine Zwecke viel zu gering ist, eine Maus wird eben im Allgemeinen recht langsam bewegt. Ich weiss nicht mehr genau bei welcher Umdrehungsfrequenz schluss war, aber mehr als 10U/sec waren es sicher nicht.

Also musste ich schauen was es so auf dem Elektronikmarkt zu kaufen gibt. Schlussendlich wurden es die Drehgeber die ihr unten in den Videos sehen könnt.

Das ist die ehemalige Maus in zwei Hälften.
Die ehemalige Maus halbiert...
Der selbstgebaute Maus-Drehgeber am DC-Motor mit professionellem Gummibandriemen.
Maus-Drehgeber am DC-Motor
Videogallerie

Geschwindigkeitstest:
Die Geschwindigkeitsreglung ist die Basis um einen Servo bauen zu können. Intern setzt die Positionsregelung auf der Geschwindigkeitsreglung auf. Die Positionsreglung steuert also die Geschwindigkeitsreglung und die Geschwindigkeitsreglung steuert den Aktor -- unseren DC Motor also.

Das ist der erste Schritt zum positionierbaren Servo ...

 

 

Positioniertest:
Die Position entspicht dem Integral der Geschwindigkeit über die Zeit.
Platt gesagt: Umso mehr Zeit, desto mehr Weg -- Ist ja Logisch, oder?
Das ist der zweite Schritt ...

 

 

Positioniertest der ersten fertigen Achse mit verschiedenen Geschwindigkeiten.
Jetzt kann ich Positionswerte und Verfahrgeschwindigkeiten vorgeben und die Achsen geregelt fahren lassen. Den Test habe ich ausgeführt um zu sehen ob die Regelung bei allen Geschwindigkeiten die vorgegeben sind gleich Gut funktioniert, oder ob die Achse bei einer vorgegebenen Geschwindigkeit zu schwingen beginnt.

 

 

Das VT 525 Regis Terminal mit dem User Interface meiner CNC Steuerung. Die Anbindung des Terminals an den µC erfolg via RS232 Interface, das Protokoll VT525 stammt von der Firma Digital Equipment Inc. die früher eine der Führenden Rechnerhersteller war. Meine PDP11/73 Binäruhr läuft auf einem Rechner von Digital.
Das Programm für das Terminal habe ich seinerzeit auch selbst geschrieben, da ich keine vernünftige Implementierung mit ReGis Grafikfähigkeit finden konnte. Es gab zwar Software zu kaufen, aber das war es mir einfach nicht wert.
Selbst ist der Mann!!!

 

 

Beim Verfahren von mehreren Achsen muss jetzt nur noch eine infinitessimale Abstimmung der Achsen aufeinander stattfinden damit nicht die eine Achse schon am Ziel ist wärend die andere Achse noch munter in der Gegend herum fährt.

Am schönsten ist eigentlich daß die Maschine auf einem ATmega64 läuft mit nur 4KiB Arbeitsspeicher (SRAM). Das war echt ein Kampf um damit die ganzen Reglungen gleichzeitig zu implementieren ohne das der Speicher gegen die Wand (Decke) läuft.

Des Weiteren ist natürlich noch ein NC Integrator nötig der die Achsen an bestimmte Positionen steuert abhängig von der Zeit. Der Integrator führt also die Achssteuerung entlang einem Pfad mit der Geschwindigkeit die im ISO Programm vorgegeben wird.

Das Vidscho zeigt kurz den Source-Editor auf dem VT525 Terminal und danach den Start und das laufende NC Proggi mit Grafik Simulation. Die Grafik ist noch um Y gespiegelt da der VT525 Grafik im 4ten Quadranten zeichnet.

Sorry für das gedröhne am Anfang/Ende des Videos.

Der Positionierfehler (Abweichung vom Startpunkt) ist in diesem Fall 0.01mm in X
Startpunkt (488.96/942.17)
Endpunkt   (488.95/942.17)

Die fertige Maschine beim Fräsen einer Platine.

Die Fräsmaschine beim Fräsen der unteren Platinenseite für das Bedienpanel mit dem die Maschine manuell bedient werden kann. Die Maschine fräst sich also selbst... ;-)

Das Bedienpanel
Die Schaltung der Handbedienung auf dem Breadboard.
Auf dem Breadboard
Die fertig gefräste Platine mit angeschlossenem Joystick.
Platine und Joystick
Das zusammengebaute Bedienpanel
Das zusammengebaute Bedienpanel
Nochmel das zusammengebaute Bedienpanel
Das zusammengebaute Bedienpanel 2