Handgeklöppelte NC Programme (GCode)

    • Offizieller Beitrag

    Hallo zusammen,


    aufgeworfen durch 98 6213 - Spur II - B-Kuppler und motiviert durch seine PN, will ich mal eine von mir verwendete Methode vorstellen, um ohne große Werkzeugunterstützung (CAD, CAM) GCode herzustellen, um eine z.B. eine CNC-Fräse zu bedienen.


    Hintergund war, dass ich eine fremde Fräse benutzen durfte aber vorab keinen Zugriff auf die Software hatte.


    Das Projekt war die Ausfräsung meiner Kolbenschutzrohrimitate um der zu weit ausschlagenden Bissel-Vorlaufachse Platz zu geben.


    Um in der richtigen Ebene Arbeiten zu könne und das NC Programm zu vereinfachen habe ich mir eine Aufspannhilfe entworfen und mittels 3D-Drucker hergestellt. Diese enthält auch gleich je eine Markierung für die Ermittlung des Nullpunktes:


    Nun sollen pro Tiefenvorschub mehrere konzentrische Kreise abgefahren werden, die immer größer werden und deren größter Durchmesser je Tiefenebene immer geringer wird. Also relativ kleine runde Stufen, damit das Rad passt aber möglichst wenig Material ab muss.


    Der eigentliche GCode wird in Excel/Libreoffice Calc erstellt.



    Hier werden Berechnungsfunktionen in den Zellen benutzt (keine Macros) um die Werte für die Befehle zu berechnen. Wichtig ist hierbei, die zwei unterschiedlichen Bezugstypen zu benutzen. Ein relativer Bezug wird beim Kopieren relativ mitgezogen (z.B. "B5" = Spalte B Zeile 5 der in Zelle C6 steht und kopiert wird nach E12 wird zu D11 - Wieso? C6 nach E12 sind 2 Spalten und 6 Zeilen also wird B5 auch so weit verschoben, also B+2=D und 5+6=11). Um einen Bezug fest zu machen, kann man den Bezug absolut machen: $B$6 dieser Bezug wird beim kopieren nicht verändert. Und weil das ja unwitzig wäre, wenn es nicht ginge: Man kann auch $B6 (nur Spalte absoluter Bezug) oder B$6 (nur Zeile absoluter Bezug) verwenden.


    Somit kann man Bereiche aus einem Excel-Sheet wiederverwendbar (gelber Bereich kopiert zum gelben Bereich / blau zu blau) machen.


    Die feste Initialisierung der Maschine ist im grünen Bereich.


    Um im Zweifel Parameter schnell ändern zu können sind alle Parameter (Fräserdurchmesser, Vorschübe, Geschwindigkeiten (F), usw.) in einer Ecke (rot) definiert. Die werden immer mit absoluten Bezügen referenziert.


    Dann werden Hilfsgrößen berechnet:



    Größen, die auf dem vorherigen Schritt basieren haben einen relativen Bezug dahin. Wenn man sie im immer gleichen Abstand hintereinander kopiert, ist der Bezug immer gleich richtig. Das schult das Kopfrechnen ;)


    Und der GCode als Text zusammen gebaut:


    Am Ende kopiert man die Ergebnis-Textspalte H in eine Textdatei und wirft sie der Steuerung zum Fraß vor. Wenn sie etwas zu bemängeln hat, ist es ratsam, das in die Formeln einzupflegen, damit man die Anpassungen nicht jedes mal machen muss. Testlauf (mit dem Nullpunkt) weit weg von allen Anschlägen, ohne Werkzug und mit der Hand auf dem Notaus.


    Hat diese Methode Vorteile? Naja, kaum. Man kann alle Zwischenschritte nachvollziehen und die Fehler leichter beheben. Wen das ganze einmal fertig ist, und man vergessen hat, wie man zum Ergebnis gekommen ist, ist es unheimlich schwierig nachzuvollziehen. Vor allem, weil man ganz schlecht kommentieren kann, was man da rechnet. Wenn man keine Steuersoftware mit Bahnvisualisierung hat, kann man XY-Plots benutzen, um die berechneten Koordinaten darzustellen und ggf. Fehler zu erkennen.


    Hoffe unterhalten gekonnt zu haben,
    Stefan


    PS: wenn das zu kryptisch war, bitte fragen.

  • Hallo Stefan,


    ich entwickle meine Konturen aus der CAD Zeichnung heraus, indem ich meist mit Unterprogrammen und indirekten Wegbefehlen arbeite. So programmiere ich die Kontur nur einmal und bestimme dann über Anzahl der Wiederholung im Aufruf z.B. 'M98 P0030 L8' die Tiefe. Hier wird eine 3 mm Bohrung 8 mal durchgeführt und so bei Edelstahl durch einen 2 mm Flachfräser mit einer Zustellung von je 0,2 mm insgesammt auf eine Tiefe von 1,6 mm gebracht.


    Der größte Vorteil der direkten GCode Programmierung ist für mich die übersichtlichen kleinen Programme, die durch entsprechende Kommentierung auch später mal nachvollzugen werden können. Auch sind sie meist schneller beim Fräsen und Kreise sind Kreise und keine Vielecke.


    Ich benutze zur Visualisierung der Fräsbahnen den CNC Backplot Editor 1.0 von CAD-KAS


    So sind zumindestens 2,5D bis zu einfachen 3D Fräsungen von geometrischen Formen möglich. Wenn es dann um 3D Freiformen geht greife ich auf meine Lizenz von DeskProto 6.0 Multi Axis zurück. Obwohl das CAM Programm sehr viele Bearbeitungsstrategien kennt, gibt es keine adaptive Funktionen. Es werden alle Formen, egal wie sie zum Fräser liegen mit mit den gleichen Fräsbahnüberlappungen abgefahren. Soll es eine feine Oberfläche werden, dauert es ewig. Auch wird eine Drehachse als 4. Achse zwar unterstützt, aber nicht voll genutzt, sondern man kann z.B. ein Werkstück in 90° Schritten von allen Seiten bearbeiten, aber immer nur bis zum Mittelpunkt, um den gedreht wird.
    Da kann man viel mehr erreichen, wenn man z.B. bei einem elliptischen Bauteil kontinuierlich Dreht und mit Z und Y den Mittelpunkt des Fräsers über dem Bearbeitungspunkt hält.




    Viele Grüße
    Georg

  • Moin,


    also ich weiß ja nicht... Mir erscheint das "handgeklöppelt" doch SEHR aufwendig um umständlich, vor allen Dingen, wenn man evtl mal nur schnell ein Maß ändern will.
    Ich verwende selber SheetCAM TNG. Die Einarbeitung geht wirklich schnell und die Erstellung der NC-Programme noch viel schneller. Für 2,5D braucht man in einen Augen nicht mehr.


    https://www.sheetcam.com/


    Die Webseite ist so ähnlich wie das Programm: Kein SchnickSchnack, nur die Funktionen/Informationen um zum Ziel zu kommen.


    Viele Grüße


    Gerd

    • Offizieller Beitrag

    Hallo Georg,


    kannst du in den Unterprogrammen auch Parameter wie z.b. den Radius für jeden Aufruf anpassen?


    Hallo Gerd,


    ja es ist sehr aufwändig. Bei der schieren Menge an CAD/CAM Programmen, und deren möglicher Kombinationen, die verschrien sind immer an bestimmten Sonderfällen nicht zusammen zu funktionieren, ist es jedoch u.U. der schmerzlosere Weg. Man weiß am Ende, dass es geht. Wenn ich eine CNCe zuhause hätte, und viel damit machen würde, ist es natürlich einfacher, sich in die freien / teilfreigeschalteten Tools einzuarbeiten, bis man eines gefunden hat, mit dem man das machen kann, was man benötigt. Auch wäre ich dann bereit, Geld für was ordentliches auszugeben.


    Aber mit zwei NC Programmen, die ich bis jetzt geschrieben habe, hab ich mir bis jetzt den ganzen (anderen) Ärger erspart. Ok, ein bisschen parametrische Konstruktion in FreeCad hab ich mir mal angesehen, aber das eher aus allgemeinem Interesse.


    Für alles, was in meinen 3D-Drucker geht, benutze ich OpenSCAD. Das ist eine Scriptsprache zur 3D-Konstruktion. Das passt gut dazu, wie ich Dinge entwickle, ist aber fern ab von normaler 3D-Konstruktion. Demzufolge habe ich von letzterer zu wenig Ahnung um zügig zum Ziel zu kommen. Man tut das notwendige Wissen und die notwendigen Fertigkeiten immer gern ab, wenn man selbst voll drin ist oder gar beruflich damit befasst ist. Geht mir beispielsweise bei Programmieraufgaben auch so ...


    Danke für den Link, ich gucks mir mal an.


    Viele Grüße,
    Stefan

  • Hallo Stefan,


    mit Variablen sollte das gehen.



    Bei solchen Dingen muss mal mal prüfen, was die Steuerung daraus macht.


    Einfache 2,5D Programme schreiben sich recht schnell, wenn man sich eine gewisse Bibliothek für Bohrung und andere wiederkehrende Konturen aufbaut.
    Aufwendig sind echte 3D Fräsaufgaben. Ich habe auch einige CAM Programme bis hin zu Profiprogrammen für über 10 k€ pro Lizenz getestet. Keines funktioniert wirklich ohne Nacharbeit. Das bestätigte mir auch ein Freund, der in einem großen Unternehmen CNC Programme für den Kunstoff Spritzguss Formenbau gemacht hat. Da wurden auch Programmteile vom CAM mit von Hand programmierten zusammengefügt.
    Die drei Kreise oben wären mehrere tausend Zeilen, wenn sie aus einem CAM Programm kommen, da dort keine Kreisbefehle verwendet werden, sondern die Kreise aus Geraden zusammengesetzt werden. Je nach der vorgebenen maximalen Abweichung sind sie dann nur 1/10 mm lang.


    Viele Grüße
    Georg

    • Offizieller Beitrag

    Hallo Georg,


    na wenn ich auch noch nacharbeiten muss, kann ich bei dem Kleinkram wirklich gleich zu Fuß machen.


    Hall Gerd,


    ich hab die Linuxversion von sheetcam runtergeladen und angeworfen... naaaa ja. Also die UI ist irgendwie kaputt (checkboxen und radiobuttons werden nicht angezeigt) und eingängig ist auch anders. Ich wolle schnell die Fräsbahnen von meinem Programm anzeigen, wie in den schönen Werbebildern auf der Webseite, aber das habe ich nicht ohne Hilfe hinbekommen. Also schnell wieder aus damit.


    Ist halt alles nicht so einfach...


    Viele Grüße,
    Stefan

  • Moin,


    also ich weiß nicht. AUch was Georg schreibt: SheetCAM macht jedenfalls echte Kreise. Folgender Ablauf eben gerade:


    15:00h Sheet CAM starten
    15:01h DXF Datei mit drei Kreisen öffnen
    15:01h MIST, nach dem letzten Rechnercrash war die Werkzeugtabelle noch nicht wieder auf dem Rechner, aus der Dropbox geladen.
    15:02h Bearbeitung auf der Ebene angelegt und Werkzeug gewählt.
    15:03 fertiges NC Programm gespeichert.




    Für 2,5D geht´s in meinen Augen weder einfacher noch schneller. Für echtes 3D stimme ich Georg vollumfänglich zu.


    Viele Grüße


    Gerd