Wer hätte es gedacht, dass die eShapeOko noch diesen Monat ihren Weg zu mir findet? Ich zumindest nicht. Ich hatte mit Anfang November gerechnet und bin umso erfreuter, dass Catalin meine eShapeOko schon jetzt bereits auf den Weg bringt. Bestellt hatte ich sie am 2. September und zur Post ging sie heute. Mittlerweile hat er im Webshop wieder den Normalbetrieb ausgerufen, mit einer Auslieferung innerhalb von 3 Tagen nach Bestellung.
Das ist echt fair! Ich hoffe meine Fräse kommt bald an, damit es endlich losgehen kann :).

ATX Netzteil mit krummen Kondensatoren

Die eShapeOko ist noch nicht verschickt worden, darum beschäftige ich mich heute einfach etwas mit dem Netzteil. Wie hier beschrieben habe ich mich dafür entschieden ein Computernetzteil als Stromquelle zu verwenden. Hierfür wählte ich eines, das Stecker einzeln herausführt, so dass man nur die Anzahl an Kabel anschliessen muss, die man auch wirklich benötigt. Das einzige Manko war bisher, dass der normale „Kabelbaum“, der normalerweise am Mainboard befestigt wird heraushängt, so dass man immer Kabelgewirr hat. Den Kabelbaum benötige ich einzig und alleine zum Überbrücken des Power On Schalter. Das Netzteil ist im Normalbetrieb logischerweise ausgeschaltet und fängt erst dann an Strom zu liefern, wenn PS_ON (meistens das Grüne Kabel) auf GND geschlossen wird (Anleitungen gibt es darüber einige im Internet). In der ersten Version hatte ich ein Masse Kabel und das Grüne PS_ON Kabel am Stecker abgeschnitten um es dann mit dem Lötkolben und etwas Schrumpfschlauch zu verbinden.

Die einzigen Stromstärken die ich benötige sind 12V für die Schrittmotoren und 5V für den Arduino Uno, daher kam mir die Idee den Kabelbaum zu entfernen. Dafür musste man natürlich das Netzteil erst einmal vom Strom nehmen und öffnen. Das kostet einen nicht nur die Garantie, sondern auch etwas Zeit, da die Platine manchmal etwas frickelig im Gehäuse angebracht ist. Nach dem ich nun alles zerlegt hatte begann ich alle Kabel direkt auf der Platine zu entfernen. Das geht am einfachsten mit einem Lötkolben bei 350°C, etwas Fingerspitzengefühl und viel Geduld. Nach dem alle bis auf das grüne Kabel entfernt waren wurde dies ein bisschen gekürzt, so dass ich es direkt an den Masse Anschluss der Platine löten konnte. Da auf der Unterseite der Platine so viel Lötzinn verwendet wurde hilft es hier z.B. mit Endlötlitze etwas davon zu entfernen um das Kabel sauber anlöten zu können. Nach dem alles fertig war ist mir aufgefallen, dass nahezu alle Kondensatoren, die sich um die Kabel befinden von Haus aus etwas krumm eingelötet waren. Das wollte ich ebenfalls nicht so lassen und hab diese sauber nach gelötet und begradigt. Beim Anschließenden Zusammenbau sollte man dringend darauf achten, dass an der Unterseite der Platine nichts absteht, dass evtl. das Gehäuse berühren könnte. Auch wenn die eingebaute Plastikfolie dafür sorgt, dass es keine Kurzschlüsse gibt sollte man sich vergewissern, dass nichts übersteht.

Nach dem Zusammenbau sah mein Netzteil schon viel aufgeräumter aus. So lässt es sich doch damit arbeiten! Dann kann die eShapeOko ja kommen!

 

Nach dem es nun wieder etwas stiller um mein CNC Fräsen Thema wurde will ich hier mal über den aktuellen Stand berichten. Das Thema Selbstbau CNC ist vom Tisch. Die Grundidee war schon nicht schlecht, doch leider fehlt mir im Moment die Zeit und das notwendige Werkzeug um eine saubere Umsetzung meiner DIY CNC zu realisieren.
Da ich aber unbedingt eine Fräse haben will und ich die Elektronik schon nahezu vollständig habe, habe ich mich für eine eShapeOko entschieden. Der Bausatz kann flexibel gestaltet werden, bietet z.B. open end Plates, so dass man die Fräse beliebig erweitern kann, sollte das mal notwendig sein. Da der Bausatz noch unterwegs ist (aus UK) werde ich hier auf die Dinge eingehen die es zu beachten gilt.

Was benötigt man alles für das Basis Set?
Den eShapeOko Bausatz (Werkzeug und einen M5 Gewindeschneider)
– 3-4 Schrittmotoren
– 3-4 Motortreiber
– 3-4 Kühler
– Eine Steuerplatine die den Schrittmotortreibern sagt, was die Motoren machen sollen
Ein Netzteil mit genug Power
– Eine Spindel, welche die Bohrarbeiten übernimmt (z.B. Dremel)
– Fräsbohrer
– Kabel
Platine für den Aufbau (oder eine vorgefertigte Platine -> Shield)
– Schrumpfschlauch
– Lötkolben
– Einen Computer 🙂
– Software

Zur Anzahl der Schrittmotoren
Man kann die eShapeOko mit doppelt bestückter Y-Achse bestellen, somit benötigt man 4 Motoren und 4 Schrittmotor Treiber und 4 Kühler

Zu den Motoren
Es gibt Motoren wie Sand am Meer. Ich habe mich für Nema 17 Motoren entschieden. Erstens sind die von der Größe her vertrauenserweckend und zweitens sind sie mit knapp 43 Ncm ein gutes Haltemoment. Ich habe welche gekauft die zusätzlich jeweils ein 2,5 Meter langes Anschlusskabel (4 Adern) hatten. Das macht die Montage einfach (hoffe ich). Bestellt habe ich die bei Multec.de
Preis pro Stück ~10€

Zu den Motortreibern
Auch hier gibt es eine mehr oder weniger große Auswahl. Ich habe mich für welche von Pololu entschieden. Das Modell hört auf den Namen A4988 und liefert bis zu 2A pro Phase an den Motor, wenn die Kühlung entsprechend gewährleistet ist. Den Treiber und die Kühler kann man ebenfalls bei Multec.de bestellen. Um die Kühlrippen korrekt aufkleben zu können brauch man Wärmeleitpaste, die nicht nur Wärme leitet, sondern auch klebt, sonst rutschen diese schneller vom Kontroller als man gucken kann.
Preis pro Stück (Pololu) ~10€
Preis pro Stück (Kühler) ~ 1€

Zur Steuerplatine
Es gibt ein Opensource Projekt namens GRBL (Garbel ausgesprochen), welches sich mit der Ansteuerung der Motortreiber auseinander setzt. Hierfür brauch man als Basis einen Arduino (z.B. einen Arduino Uno) auf den man die Software aufspielt. Dieser wird mit dem Computer per USB verbunden und nimmt die Signale per serieller Schnittstelle entgegen und treibt die Motoren über die Motortreiber an. Da das Projekt gut dokumentiert ist würde ich hier nicht näher darauf eingehen.
Preis pro Stück (Arduino Uno) ~10€

Zum Netzteil
Das Netzteil machte mir am meisten sorgen. Ich habe etwas mit 12v Ausgangsspannung gesucht und einer Leistung von mindestens 8A, lieber 10A. Am besten lüfterlos und günstig. Als ich bei meinem lokalen Elektronikmarkt nach diversen erfolglosen Ebayrecherchen nach etwas vergleichbaren fragte entgegnete man mir mit einem Fragezeichen. Netzteile hatten sie, 12V und max 6A. Nichts brauchbares und vor allem nichts wirklich bezahlbares. Durch einen Hinweis eines sehr guten Freundes kamen wir dann auf eine brauchbare Lösung. Ein ATX Computernetzteil (leider mit Lüfter) bei dem man die Kabel einzeln anschließen kann. Somit fahren nicht überall Kabel herum, sonder nur das nötigste. Ein Plus: Neben den 2x 12v16A Leitungen kann ich das Arduino Board ebenfalls noch mit 5V versorgen. Ein Nachteil: man muss den Enable Pin auf GND legen, damit es anspringt. Mit etwas Lötarbeiten und etwas Schrumpfschlauch ist auch das Problem einfach gelöst.

Platine für den Aufbau
Es gibt mehrere Möglichkeiten den Aufbau zu bewerkstelligen. Entweder man bastelt sich selbst eine Platine und lötet alle notwendigen Teile zusammen, die man für das verdrahten der Pololu Treiber mit den Motoren und dem Arduino benötigt, oder man kauft eine Platine, die schon vorgefertigt ist. Hier entfällt das verdrahten und anschließende Suchen nach Fehlern. Ich habe mir eine entsprechende Platine bei Reactive Substance bestellt (Buildlog.net Stepper Shield: Revision 3.0). Ein weiterer Vorteil dieser Platine ist, dass sie 4 Steckplätze für die Motortreiber hat und ich somit meine doppelt ausgelegte Y-Achse einfach anschließen kann.

Wie alles zusammen spielt
Die Modelle, die gefräst werden sollen werden am Computer erstellt. Dafür gibt es freie Programme wie LibreCAD, InkScape und andere Programme, die ins DXF Format exportieren können. Die Modelle werden in einem CAM Programm weiter verarbeitet, dass sich um den Ablauf kümmert. Was wird zuerst gemacht, welcher Bohrer wird verwendet etc… Am ende kommt sogenannter GCode heraus, der mit einer Software (GRBL Controller) die Codes an den Arduino Uno überträgt. Dieser kümmert sich darum, die übertragenen Informationen in Signale umzuwandeln, die die Schrittmotoren in der XY und Z Achse bewegen und das Modell fräsen. So ist der grobe Ablauf.

Das ist es erst einmal. Für die Spindel habe ich noch etwas im Petto. Derzeit warte ich noch auf den eShapeOko Kit und hoffe das dieser bald eintrifft. Die Kommunikation gestaltet sich etwas schwer. Eigentlich wurde mir zugesagt, dass die Fräse letzte Woche verschickt werden sollte. Dazu kam es aber nicht und eine Antwort habe ich vom Hersteller ebenfalls noch nicht bekommen. Anders sieht es bei Multec aus. Wer hier mit Paypal bezahlt kann sich auf eine extrem schnelle Lieferung verlassen.
In der Zwischenzeit habe ich heraus gefunden, dass der Hersteller der eShapeOko Probleme bei seinen Zulieferern hat, also harre ich der Dinge, die da kommen und hoffe, dass sie dennoch bald eintrifft.

 

Nach dem mein IPad 4 erst vom Auto überfahren wurde (dank Dodocase ist nicht viel passiert) und das Display nun schließlich ganz kaputt ist (Begegnung mit dem Pflasterstein) wurde es Zeit das Display auszutauschen. Ein Ersatzdisplay gibt es schon für knapp 40€ bei Ebay mit entsprechendem Werkzeug. Der Umbau kann, je nach dem wie stark das Display beschädigt ist auch ohne das Aufweichen des Displayklebers bewerkstelligt werden.
Ein kleines Video, wie das aussieht kann man hier finden.
Ich habe ca. 1 1/2 h damit verbracht, danach war das Ipad zumindest augenscheinlich wie neu

http://www.youtube.com/watch?v=OZxdmAEStmIA

Wie gesagt bin ich schon lange am überlegen, ob ich eine CNC Fräse bauen soll, oder nicht. Für mich war immer klar, dass wenn ich eine CNC Fräse bauen werde, dann will ich vorher die Elektronik im Griff haben. Über EBay und Heise bin ich über einen 3 Achsen Controller gestolpert. Ein Teil, das zwar im Amateursektor liegt, aber dennoch was kann und das man über den Parallel Port steuern kann. Damit macht man vermutlich nichts falsch dachte ich, denn serielle und parallele Schnittstellen sind schon seit gefühlten 1000 Jahren in Betrieb und somit kompatibel mit dem hinter letzten Betriebssystem.

Mein Computer hat schon lange keinen LPT Port mehr, dafür aber die Dockingstation meines Laptops, aber ich hatte meine Rechnung ohne Windows 7 x64 gemacht, denn mit 64 Bit kann die Software (hatte Mach3 getestet) scheinbar nicht. Genauso wie mit Laptops, denn da soll das Timing auf Grund der Schlafmodus-Integration auch nicht wirklich taugen. Und der Parallel Port über eine proprietäre Dell Schnittstelle? Pff… Projekt zum Scheitern verurteilt.

Ich hatte es natürlich versucht und den Schrittmotor an die Elektronik angeschlossen, aber mehr als geglüht hat der Motor nicht. Zumindest ging er, denn er hatte das volle Haltemoment – Aber Bewegung?! Fehlanzeige.
Frustriert landete dieses Stück Hardware nach insgesamt 10h Fehlersuche und Debugging erst einmal in der Ecke. Bei dem Modul handelt es sich um einen 3 Achsen Controller mit TB6560AHQ Chips. Schön anzusehen, aber für meine Betriebssystem Kombi und Schnittstellenproblematik einfach nicht zu gebrauchen.

TB6560AHQ

Pest vs. Cholera
Da dieses Teil aus Fernost leider nicht so funktioniert wie ich es mir gedacht hatte und ich gerne mit USB arbeite habe ich mich auf die Suche nach etwas gemacht, mit dem ich arbeiten kann. Da bin ich auf Arduino und ein Projekt GRBL gestoßen. Wer mich kennt, der weiß, dass ich nicht viel von Arduino halte. Überall werden diese Monster haften Arduino boards verbaut, auch wenn es ein <1€ Controller tun würde. Es wird nicht mehr nachgedacht, sondern nur noch alles mit Hardware erschlagen. Aber genau das ist nicht wirklich meins. Ich lerne gerne neue Sachen von der Basis, verstehe wie Microcontroller funktionieren, ohne das ich eine Tonne von Bibliotheken benötige um dann eine Zeile Code zu schreiben, die dann wie Welt in die andere Richtung drehen lässt.

Doch dieses Mal wollte ich nicht davon abbringen lassen meine CNC Fräse zu bauen, egal ob ein Arduino Herz darin schlummert, oder nicht. (Alleine die Erkenntnis, dass ich damit nicht entwickeln muss um eine CNC Steuerung zu bekommen hatte wirklich sehr viel Charme)
Also Arduino als CNC Controller. Dann fehlen nur noch die Schrittmotor Treiber. D.h. der Controller sorgt dafür, dass die Motoren wissen was sie tun müssen und die Schrittmotor Treiber die zwischen Controller und Schrittmotor hängen versorgen den Schrittmotor und bereiten die Signale des Controller soweit auf, dass er weiß in welche Richtung und wie weit er drehen muss. Es ist auch möglich den oben beschriebenen China Controller über ein Arduino (bzw. einen Microcontroller) zu steuern. Das kam aber zumindest für meine ersten Gehversuche nicht in Frage, da hier auch wieder allerlei Probleme entstehen können.

Als Schrittmotortreiber habe ich welche von Polulu genommen – die A4988. Diese sind zusammen mit Arduino und GRBL sehr einfach zu betreiben. Auch jemand der absolut keine Ahnung von Fräsen hat kommt hier mit einer entsprechenden Anleitung zurecht. Ich möchte aber dennoch gerne die Schritte erläutern, die notwendig sind das Arduino Board dahin zu bringen G-Code zu empfangen.
Als erstes kauft man sich ein Arduino Board. Soweit ich gelesen habe geht es gut mit einem Arduino Nano, oder Arduino Uno. Ich habe mich für das Uno entschieden, weil es für mich praktischer zum Entwickeln ist. Hält man das Arduino Board in der Hand sollte man sich die aktuellen Treiber runterladen, damit es auch korrekt auf dem Laptop erkannt wird. Die Arduino Gui wird nicht wirklich benötigt.
Nach dem das Board korrekt unter Windows (für andere Betriebssysteme müsst ihr leider wo anders gucken) erkannt wurde kann man sich auch direkt ans Flashen machen. Zuerst brauchen wir das .hex File von der GRBL Seite (das sollte einfach zu finden sein). Als nächstes nimmt man den Flasher seiner Wahl, oder den Link von der GRBL Seite für ein mini Tool namens XLoader – http://xloader.russemotto.com/.
Damit flasht man das .hex File zügig und unkompliziert auf den Atmel Chip.
Wie funktioniert nun die Kommunikation?!

Die Kommunikation der Computersoftware zum Übersenden der Steuerbefehle läuft nun über die Serielle Schnittstelle des Arduino. D.h. alle Kommandos werden via USB auf die Serielle Schnittstelle des Atmel Chip übertragen.
Über diese Schnittstelle kann man den Atmel auch konfigurieren um die Schrittmotor Schrittweite zu ändern. Dafür kann man eine x beliebige Terminal Emulation nehmen, oder falls man sich die Arduino GUI heruntergeladen hat diese Verwenden. Der Punkt für die serielle Kommunikation lautet Werkzeuge -> Serieller Monitor.

Nach dem die Verbindung aufgebaut wurde (Seriell mit 9600 Baud) begrüßt uns der Controller mit einem freundlichen Grbl 0.8c [‚$‘ for help].
Hierüber können wir nun alles konfigurieren. Hierzu müsst ihr aber das Wiki von GRBL lesen, denn alle Einstellungen hier noch einmal aufzulisten wäre etwas viel . Ich habe erst einmal alle Parameter so gelassen, wie sie waren und versucht ob der Motor, den ich angeschlossen habe läuft. Als Software, die G-Code versteht und mit GRBL Arbeitet habe ich „GRBL Controller“ heruntergeladen. Das sah ganz praktikabel aus und genau das ist es auch. Für jemanden der zum ersten Mal mit so etwas in Kontakt kommt ist Mach3, zumindest für mich einfach zu überfrachtet.
GRBL Controller ist relativ simpel. Man kann auf den entsprechenden COM Port des Controllers Verbinden und dann ein G-Code File importieren und dann auf „Begin“ drücken.

Wie gesagt, nach dem ich alles soweit verkabelt hatte lief der erste Nema 12 Motor nach nicht einmal 15 Minuten 1a. Vorbei die Zeit des Debuggings, nun konnte ich mich daran machen, die Materialien zu kaufen, die ich brauchte um alles zusammen zu bauen.
Bisher läuft die erste Achse (Frästisch) ganz gut, so dass ich in den nächsten Tagen diesen Beitrag hier mit Fotos über die Verkabelung als auch den nächsten mit dem Basis Aufbau füttern kann, yay.

Nachtrag: Hier geht es zu der weiteren Entwicklung in Sachen CNC