CNC-Mini-Fräse: Neue Elektronik, GRBL (Teil 1)

Die kleine Fräse soll nun eine neue elektronische Steuerung erhalten. Im Folgenden zeige ich, wie ich GRBL-Komponenten vorbereite und einbaue.

 

 

Für kleines Geld, nämlich unter 20€, bekommt man selbst über amazon die Kombination Arduino UNO mit CNC-Shield Vers.3 und Treibern. Es gibt mittlerweile sogar schon eine CNC-Shield Version 4. Diese wird dann allerdings mit einem Arduino Nano aufgebaut. Zwei Gründe haben mich bewogen bei Version 3 zu bleiben. Erstens gibt es im Internet darüber sehr viel nachzulesen, was ich für Version 4 nicht so vorgefunden habe. Zweitens habe ich schon bei anderen Projekten die Ressourcenknappheit des Nano kennengelernt. Das wollte ich mir hier nicht wieder antun.

Leider sind die beigelegten Treiberbausteine vom Typ A4988 und damit für meine NEMA23-Schrittmotoren deutlich zu klein. Ich verwende DRV8825-Treiber. Sie liefern zuverlässig Ströme bis zu 2,2A:

Minimum operating voltage: 8.2 V
Maximum operating voltage: 45 V
Continuous current per phase: 1.5 A
Maximum current per phase: 2.2 A
Minimum logic voltage: 2.5 V
Maximum logic voltage: 5.25 V
Microstep resolutions: full, 1/2, 1/4, 1/8, 1/16, and 1/32

Zunächst müssen auf diese Treiberbausteine Kühlkörper aufgeklebt werden. Üblicherweise werden Kühlkörper zu den Treibern mitgeliefert, – Kleber indes leider nicht. Ich empfehle hier immer Akasa Wärmeleitfolie AK-TT12-80. Man bekommt die Folie auch bei amazon. Treiber mit Kühlkörper und Kleber kann ich übrigens auch anbieten. Einfach anfragen.

Es ist wichtig die Oberfläche des Schaltkreises möglichst komplett zu bekleben, wie das bei dem linken Treiber zu sehen ist.

Den Zuschnitt der Folie macht man mit einem sehr scharfen Messer. Teppichmesser oder Skalpell sind dazu gut geeignet. Auf einer Seite dann die Schutzfolie abziehen und auf den Schaltkreis aufkleben. Das geht am besten mit einer Pinzette.

Zweite Schutzfolie dann abziehen, was ebenfalls mit einer spitzen Pinzette am besten geht, und dann den Kühlkörper mittig aufsetzen.

Mit etwas Druck sollte die ganze Konstruktion fixiert werden.

Wir benötigen 3 derartig vorbereitete Treiber.

Nun geht es um das CNC-Shield.

Die gelben Steckplätze sind zu belegen. Der rote Steckplatz wird nur gebraucht, wenn noch eine Rotationsachse dazukommt. Im Bild sind auch schon die Codierbrücken (Jumper) jeweils im unteren Teil der Fassungen zu sehen. Sie sind mit M0, M1 und M2 gekennzeichnet. Hier wird der Teiler eingestellt, um das entsprechende Microstepping zu realisieren. Kein Jumper bedeutet immer: Vollschritte. Hat also der Schrittmotor 200 Schritte für eine Umdrehung (1,8° pro Schritt) wird kein Jumper gesetzt. M0 und M1 werden bei mir gebrückt um 1/8 Schritte zu erreichen. Vorsicht: A4988 und DRV8255 unterscheiden sich in der Codierung für 1/16 und 1/32, wobei 1/32 nur vom DRV8825 beherrscht wird. Bis 1/8 sind sie aber gleich.

Beim Stecken der Treiber auf das CNC-Shield ist die richtige Richtung wichtig. Dreht man den Treiberbaustein um, sieht man an einer Stelle EN (im Bild links unten). Auf dem CNC-Shield ist genau diese Markierung ebenfalls an jedem Steckplatz angebracht (im Bild links oben). Die zwei Markierungen müssen natürlich zusammenfinden.

Als zusätzliche Hilfe mag dieses Bild dienen. Entscheidend ist aber die EN-Markierung !!

Kümmern wir uns um den Arduino UNO. Während das CNC-Shield und die Treiber eigentlich nur Signale weitergeben beziehungsweise verstärken bietet der Arduino die eigentliche Logik an. Er ist ein Kleincomputer mit Echtzeitverarbeitung. Es läuft genau eine Programmschleife immer wieder durch. Dieses Programm bekommt von außen, nämlich vom PC, seine Anweisungen in Form von GCODES. Das ist eine gebräuchliche Maschinensprache.

… und so sieht er aus.

Wir ignorieren dauerhaft die Stromversorgung unten links und jegliche nach Codierbrücken oder Steckern aussehenden Pins!!

Wir versorgen für diese Anwendung den Arduino immer über die USB-Schnittstelle oben links. Der kleine Computer muss jetzt erst mal sein Programm bekommen. Dafür benötigt man einen PC, ein passendes USB-Kabel vom PC zum Arduino, was in der Regel zum Arduino mitgeliefert wird, und eine Programmierumgebung. Die Programmierumgebung ist eine Art Programm, dass man sich bei arduino.cc kostenlos herunterladen kann. Hier ist der Link.

Ich rate dazu den Windows Installer zu nehmen, – natürlich nur für Windows 🙂

Die Installation ist eigentlich selbsterklärend. Hilfe gibt es trotzdem unter „Getting Started“ unter dem gleichen Link (siehe auch Bild oben).

Jetzt laden wir uns noch die neueste Version der GRBL-Bibliothek herunter. Entweder im Netz suchen oder über diesen Link.

Nach Click auf „Clone or download“ wählt man Download ZIP.

Damit erhält man die grbl-master.zip, die jetzt an einem Ort eigener Wahl entpackt wird. Bitte kontrollieren ob jetzt ein  Unterverzeichnis grbl existiert. Das benötigen wir gleich.

Das vorher installierte Arduino-Programm jetzt öffnen, sofern das nicht schon in Folge der Installation passiert ist.

Das sollte jetzt etwa so aussehen:

Etwas tricky wird es jetzt, da die Menüs etwas missverständlich sind.

Im Menü Sketch -> Bibliothek einbinden -> .ZIP-Bibliothek hinzufügen… auswählen. In der erscheinenden Dateiauswahl wird nun der schon vorhin besprochene Ordner grbl ausgewählt. Das ist zwar kein ZIP, aber trotzdem richtig. Ob das funktioniert hat, sieht man daran, dass jetzt am Ende der Liste, die man mit dem Menü oben aufruft grbl als Eintrag vorhanden ist:

Für den Upload auf unseren Arduino UNO gibt es ein Hilfprogramm, dass man über Datei -> Beispiele -> grbl -> grblUpload erreicht.

Ein neues Fenster öffnet sich …

Das alte Programmfenster kann geschlossen werden oder auch ignoriert werden. Weiter geht es in jedem Fall im neuen Fenster.

Jetzt wird der Arduino UNO an den Rechner angeschlossen. In der Statuszeile des Programms ganz unten erscheint er dann. Nach ein paar Sekunden kann das Programmieren losgehen. Das wird eingeleitet mit diesem Button:  , der direkt unter dem Menü als zweites von links zu sehen ist. Falls nach einiger Zeit eine Fehlermeldung kommt, wiederholt man das Ganze nochmal. Geht das auch nicht, ist vielleicht der Treiber für den Arduino noch nicht etabliert. Dann hilft ein Neustart des Rechners. Bei mir hat es auch erst beim zweiten Mal geklappt. Warnungen bezüglich der Größe kamen bei mir auch noch. Das ignoriere ich zunächst mal. Das Arduino-Programm kann jetzt geschlossen werden. Vermutlich brauchen wir es so schnell nicht wieder. Den Arduino lassen wir noch eingesteckt.

Jetzt wäre es ja interessant, ob uns der Arduino schon was „sagen“ kann. Dazu laden wir GRBL-Controller. Auch hier kann das in eine Suche ausarten, weil diverse Links ins Leere laufen. Der hier ging aber bei mir. Passenden Installer laden und installieren und dann sieht es so aus:

Der COM-Port sollte schon richtig da stehen. Dafür sorgt der Arduino-Treiber. Falls nicht, bitte korrigieren. Notfalls nochmal das Arduino-Programm öffnen. Wenn das Programmieren funktioniert hat, ist der angezeigte Port dort richtig. Die Baud Rate kann auf 115200 eingestellt werden, es sei denn der PC ist irgendwie anders konfiguriert. Ein Click auf Open und schon geht es los:

Nach einigen Sekunden hat sich links dieses Bild eingestellt. Auf der rechten Programmseite passiert noch nichts. Falls das nicht in ähnlicher Weise zu sehen ist, ist im Vorfeld irgendetwas schief gelaufen und es muss nochmal wiederholt werden.

Hat alles funktioniert? Prima. Dann Verbindung über Close schließen. Programm beenden und Arduino abziehen.

Der letzte Schritt für heute: Wir verheiraten den Arduino UNO mit dem CNC-Shield. Dabei gibt es eine wichtige Vorbereitung. Die USB-Buchse auf der Arduino-Platine sollte vor dem Zusammenstecken an der Oberseite mit Isolierband oder Ähnlichem isoliert werden. Leider liegt das CNC-Shield hier ungestützt auf. Ich empfehle wenigstens zwei Lagen Isolierband.

Die folgenden zwei Bilder zeigen die Position der beiden Platinen zueinander. Einfach platzierbar: Da, wo die Stiftreihen des CNC-Shields unterbrochen sind, da sind auch die Buchsen auf der UNO-Platine unterbrochen. Dass Richtung USB-Schnittstelle ein paar Buchsen leer bleiben ist je nach Platinenversion völlig normal.

Beim Zusammenstecken bitte genau darauf achten, dass alle Pins des CNC-Shields sauber in den Fassungen des Arduino UNO platziert sind. Beim Zusammenstecken bitte gleichmäßig und parallel zusammenstecken! Niemals schräg zusammenstecken! Dann sollte es so aussehen:

Ich hoffe, dass alle Schritte bis hierher nachvollziehbar waren. Falls nicht, beantworte ich gerne auch Fragen dazu. Am liebsten wäre es mir dabei allerdings, wenn das über das eigens dazu eingerichtete Forum laufen würde. Ich habe dazu ein Unterforum CNC-Mini-Fräse angelegt. Ich würde mich aber auch über jegliche Kritik und Ergänzung zu meinen Artikeln freuen, die im Forum zur Diskussion gestellt werden.

4 3 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Hermann

muss ich mir meinen Cousin zu Hilfe holen! aber die Anleitung ist perfekt! Danke fürs Teilen

Hanspeter

Gratuliere zu dieser perfekten Beschreibung. Eigentlich kann man da nichts mehr Falsch machen

Thomas Schulte

Hallo Thomas,
super Beschreibung.
Was ist denn mit den Stromanschlüssen auf dem Shield ?
Und wie wird denn die Stromversorgung ( mA) für den Schrittmotor eingestellt.
Habe im Internet so viele unterschiedliche Sachen gelesen das ich jetzt nichts mehr weiss. :-))

Und was für ein Netzteil wird benötigt ?

MfG
Thomas

Michael Klein

Moin Thomas,
deine Seite ist ja wirklich bombastisch. Ich lese jetzt schon seit Stunden all deine sehr ausgiebig dokumentierten Artikel.
Weiter so.

Gruß, Michael

Michael Stauder

Super Beschreibung, vielen Dank Thomas!