Archiv für den Monat: April 2014

freies Fräsen, heute: Holz

Martin hatte mich gestern auf die Idee gebracht mit dem CNC-Tisch auch mal etwas anderes als Leiterplatten zu bearbeiten.  Ein Stück weit bin ich ohnehin zum Pausieren verurteilt, da die Schaftfräser bei Amazon eine Lieferzeit von mehr als einer Woche haben – kommen schließlich per Luftpost aus Shenzhen …

… daher war die Idee geboren eine Kuhle in ein Kantholz zu fräsen.  Ausschließlich mit freier Software versteht sich.

Wie auch beim 3D-Drucken geht’s mit einem 3D-Modell los.  Als „Software Fuzzi“ lag OpenSCAD nahe.  Also mit OpenSCAD einen Quader von 70 x 34 x 34 mm gemacht (34 mm sind die Kanten vom Kantholz) und daraus einen Zylinder ausgespart.

translate( [ 0, 0, -34 ])
difference() {
    cube([ 70, 34, 34 ]);
    translate([ 10, 17, 39 ])
        rotate([0, 90, 0])
            cylinder(h = 50, r = 10);
}

Das sieht dann so aus:

openscad

Schön und gut, aber wir wollen das ja nicht nur am Bildschirm sehen, … und die CNC braucht schließlich G-Code. Den erzeugt uns PyCAM.  Je nach Objektgröße dauert das jedoch eine ganze Weile und braucht auch ordentlich viel Arbeitsspeicher.

PyCAM selbst kann man sehr frei konfigurieren, welche Art und Größe von Fräsern man verwendet, wie fein gearbeitet werden soll, in wie vielen Schritten, etc.pp.  In der Basiskonfiguration geht PyCAM von einem dreistufigen Arbeitsprozess aus.  Zunächst wird mit einem großen Fräser erstmal der grobe Teil erledigt, dann die Kontouren heraus gearbeitet (mit kleinerem Fräser) und letztlich erfolgt ein Feinschliff (noch kleinerer Fräser).

Für das Beispiel hier habe ich nur einen einzigen Fräser verwenden wollen, einerseits um das mal zu testen, andererseits weil man dann die Maschine nicht mehrfach exakt ausrichten muss 🙂

… kurzum, ich habe den Vorgang auf nur zwei Schritte gekürzt, erstmal grob und dann direkt Feinschliff … beides mit einem 1,4mm Fräser.  Den von PyCAM erzeugten G-Code kann man PyPC-NC verfüttern, welches letztendlich dann den Achscontroller unseres CNC-Tisches beschäftigt.  Hier die Maschine bei der Arbeit (relativ am Ende) sowie das Endergebnis:

IMG_20140427_021724 Ergebnis

Für einen ersten Versuch finde ich lässt sich das Ergebnis sehen.  Man sieht ein paar Längsrillen, die sind aber wohl dem mit 1,4mm vergleichsweise großen Fräser geschuldet.

Vielleicht hat von euch ja auch jemand Lust mit der CNC zu spielen, bzw. eine Idee, was man tolles basteln könnte.  Wäre schön, bei Interesse bitte einfach auf mich zu kommen, dann kann ich das gerne mal im Detail zeigen 🙂

PyPC-NC … oder: ich will auch mal mit der CNC spielen

Zugegebenermaßen hat mich der CNC-Tisch in unserem Fablab schon eine ganze Weile gereizt, wenn nicht schon von Anfang an. Vor guten zwei Wochen kam mir dann die Idee, nachdem ich in den Schränken 7-Segment-Anzeigen in rauen Mengen liegen sah, mal wieder ein bisschen mit Elektronik zu basteln … und da war noch das leidige Thema mit den Platinen … aber wir haben jetzt ja diesen Tisch und da müsste doch was gehen …

Also, Tisch ansteuern.  Aber so einfach ist das nicht, zumindest wenn man nicht die Windows-Software nutzen möchte, von der wir ohnehin nur eine einzige Lizenz haben.  Paul hatte sich hieran ja auch schon versucht, vgl. ältere Posts hier im Blog, … aber sein Projekt ist groß angelegt (er möchte ja einen Großteil der Ansteuerungselektronik des Tisches ersetzen) und wird noch eine ganze Weile bis zur Fertigstellung brauchen.

Eine andere Lösung musste her; der Tisch selbst hat ja einen Achscontroller integriert, warum also nicht den nutzen?  Schließlich hat der auch relativ intelligente look-ahead Funktionen eingebaut, etc., also bringt’s auch durchaus Vorteile den zu lassen … nur spricht die Windows-Software ihr eigenes Protokoll mit dem Achscontroller, das alles andere als standardisiert und offen ist.

Aber egal, Fablab heißt ja „selber machen“, los ging’s also letzte Woche Samstag beim Osterbasteln, erste Gehversuche wie man den Achscontroller ansteuert und das Protokoll zu einem großen Stück reversed.  Genau geguckt, gelernt, nachmachen, … Software schreiben.  In Anlehnung an das Windows-Programm WinPC-NC wurde PyPC-NC geboren, die freie Alternative in Python, … primär für Linux:

IMG_20140419_000324… so sieht’s aus 🙂

Optisch nicht gerade ein Leckerbissen, aber funktional und kann soweit alles was man braucht.  Automatische Referenzfahrt, manuelles Fahren zu einer beliebigen Position, diese als Werkstückposition speichern und G-Code importieren um „Fahr-Programme“ aus anderen Anwendungen zu übernehmen.

In Kombination mit den Linux Anwendungen „gEDA“ und „PCB“ kann man sich dann ein Platinenlayout entwerfen und via G-Code Export an PyPC-NC übergeben.  Das Ergebnis findet sich hier im Bild rechts (wobei in den Tisch eine 08/15 Kugelschreibermine eingespannt war).  Links sieht man erste Fräsversuche auf einer Leiterplatine, ein paar waren zu tief, manche Bahnen sind echt gut gelungen:

 

IMG_20140421_232508IMG_20140421_232531

Der Teufel steckt wie so häufig im Detail, aktuell gibt’s noch das Problem, dass das Brett, das als Unterlage im CNC-Tisch liegt sowie die Platine selbst leicht gebogen sind, … ungünstig wenn man die Platine im 1/100-tel Millimeter-Bereich genau anfährt.  Mal sehen, kriegen wir auch noch gelöst 🙂

Ein Opfer gibt es leider jedoch bereits zu beklagen:

IMG_20140422_000548… dieser Fräsbohrer musste wegen einem Bug in der Software sein Leben lassen.  In X-Richtung wurde dieser blöderweise fünfmal so schnell angefahren wie gewollt … das war dann wohl zu viel Druck :-/

… wir brauchen bald wohl auch einen Satz neue Bohrer …

 

 

Sammeln von Er“fahr“ungen mit der CNC-Fräse

Inzwischen funktioniert die erste Ansteuerung der CNC-Fräse. Damit ist der Grundstein für den Betrieb auf Basis offener Software gelegt.

Aktuell wird zu Testzwecken ein Arduino verwendet und über Potentiometer die Fahrrichtung beeinflusst. Weitere Informationen zur CNC-Fräse gibt es in unserer Wiki

IMG_20140404_233630