Hallo zusammen, ich arbeite derzeit an einem G-Code Interpreter Projekt. Ziel ist es einen OpenSource Interpreter zu verwenden und über den Parallelport Schrittmotoren anzusteuern. Mein Frage dabei ist: Was ist der Output des G-Code Interpreters? Der G-Code beherrscht ja lineare, zirkulare u.a. Interpolationen. Aber beim Schreiben des G-Codes weiß ich ja nicht, wie die Maschine, also das Zusammenspiel der Achsen aussieht. Ebenso weiß dies der G-Code Interpreter nicht. Bekomme ich als Output also nur xyz-Koordinaten? Oder schon die Steuerungsdaten für den Motor? Falls sich jemand damit auskennt, würde ich mich sehr über eine Antwort freuen... Beste Grüße Thomas
Du schreibst zwar das du an einem G-Code-Interpreter schreibst, bist dir aber nicht sicher was ausgegeben wird ? Was ausgegeben wird ist doch von der Achsenkontrolle abhängig. Ob es sich um Schrittmotoren direkt angesteuert handelt oder ein separater Achscontroller dazwischen ist. Im Einfachsten Fall spuckt der Interpreter getaktet für alle Achsen die kleinste Positionseinheit aus.
> Was ist der Output des G-Code Interpreters? Normalerweise Impulse in positive und negative x,y und z Richtung zum möglichst genau passenden Zeitpunkt. > über den Parallelport Welcher Rechner hat denn so was noch ? Zudem ist es sehr schwer, einen PC zu so genauer Impulserzeugung zu bringen. Schau mal, wie schlecht Mach3 funktioniert, da muß ACPI abgeschaltet werden damit nicht irgendwelche Stomsparschaltungen und Taktreduktionen zu Fehlverhalten führen.
Echtzeit und Windows? Vergiss es. Lass einen externen Controller die Steuerung übernehmen. Grundlagen sind für dich wohl noch zu festigen... Gruß Jonas
moin moin, habe auf einem 8051 System einen G-Code-Interpreter laufen. Dieser arbeitet grob gesagt 2-Stufig. "Oben" werden die Bahndaten (Wege) mit ev. Frässradienkorrektur berechnet. "Unten" werden diese Daten zeitrichtig für die Schrittmotore der 3 Achsen ausgegeben. >>Aber beim Schreiben des G-Codes weiß ich ja nicht, wie die Maschine, >>also das Zusammenspiel der Achsen aussieht. Das ist CAM, da wird festgelegt wie die Fertigung erfolgt. Wenn Du z.B. eine Kreistasche fräsen willst, da ist das Zusammenspiel der Achsen fest vorgegeben. Mit Gruß Pieter
MaWin schrieb: > Zudem ist es sehr schwer, einen PC zu so genauer Impulserzeugung > zu bringen. Mit DOS geht das schon ;-)
Pieter, wie hast du die Schneidenradienkorrektur realisiert ? Für Kreisbogen und Gerade ? Oder ist das Geheim ?
moin moin, die Fräsradienkorrektur ist eigendlich nur angewandte Schulmathematik. Man braucht allerdings 3 Punkte (woher, der Punkt und wohin). Realisert habe ich: Linie <-> Linie, Kreis <-> Kreis und Linie <-> Kreis. MfG Pieter
Den Vektor verschieben um den Schneidenradius ist sicherlich nur Schulmathematik. Wie schauts mit Hinterschnitterkennung und Eckenstrategien ?
moin moin, >>Hinterschnitterkennung Hinterschnitte sind im Hobbybereich wohl ehr selten und müstem im CAM detailiert beschrieben werden. Im G-Code selber gibt es dazu keine Kommandos. >>Eckenstrategien Ist der Winkel der Winkelhalbierenden < 180 Innenecke, Eckpunkt mit Winkelhalbierender berechnen =180(0) grade Stecke, keine Berechnung > 180 Aussenecke, Kreisbogen (Radius=Toolradius) einfügen Der Fräser bleibt immer im Kontakt mit dem Werkstück. MfG Pieter
Zwie Blum schrieb: > schau mal da nach: http://linuxcnc.org/ Damit es nicht untergeht, hier die Wiederholung: http://linuxcnc.org/ Da ist alles schon fertig, offen und universell. Eine Neuentwicklung macht eigentlich wenig Sinn. Gruß
moin moin, ich habe kein Linux und ich will an der Fräse auch keinen PCs haben! ..und nun? G-Code-Interpreter ..habe fertig MfG Pieter
Pieter schrieb: > moin moin, > > ich habe kein Linux und ich will an der Fräse auch keinen PCs haben! > ..und nun? > > G-Code-Interpreter ..habe fertig > > MfG > Pieter Hallo Pieter, Möchte sehen! Und außerdem, hast du schon mal etwas von Grbl gehört? Ist auch ein G-Code Interpreter für einen ATmega168 oder ATmega328. Habe den Code für einen ATmega644 angepasst und implementiert, den ich für mein 3-Achs-Stepper-Driver-Board verwende. Beitrag "3-Achs Schrittmotorsteuerung mit Trinamic TMC260 und AVR" Gruß Steffen
moin Steffen, Grbl kenne ich nicht, arbeite nur mit 8051. Als Motortreiber nutze ich derzeit noch TB6560AHQ, die Platinen für den THB6064AH kommen erst noch. Zu meiner Fräse siehe hier: http://forum.zerspanungsbude.net/viewtopic.php?f=58&t=2221&sid=0fe68130d4147b36a817a7ab5cfa883c Mit Gruß Peter
Hallo Pieter, Schöne Fräse! Wenn ich mir das Blockschaltbild von deiner Elektronik so anschaue, stelle ich mir folgende Frage: Hast du zur Steuerung der Motortreiber mehrere 8051 Kerne verwendet? Sehe ich das richtig? Und welche Befehle + Parameter werden bei deinem G-Code-Interpreter alles verstanden? Gruß Steffen
moin Steffen, jeder Motortreiber hat seinen eigenen 8051, der macht folgendes: -Einschaltreihenfolge nach Achse -SPI Einlesen, Rückgabe als Wire-Or (Fehlerbit, Endlagen- Referenzschalter) -Stromabsenkung für TB6560 Der G-Code: ; REM-Zeile ok. ;M02 ProgrammEnde OHNE Rücksprung ok. ;M03 Spindel, Uhrzeigersinn mit Relais ok. ;M05 Spindel halt mit Relais ok. ;M06T Werkzeugwechsel per Hand fast ok. ;M06D Werkzeug Durchmesser setzen ok. ;M30 ProgrammEnde MIT Rücksprung ok. ;G00 Eilgang ok. ;G01 Geradeninterpolation ok. ;G02 Kreisinterpolation im Uhrzeigersinn ok. ;G03 Kreisinterpolation gegen Uhrzeigersinn ok. ;G40 V Radienkorrektur aus ok. ;G41 Radienkorrektur links ok. ;G42 Radienkorrektur rechts ok. ;G54 Setze Nullpunkt auf X,Y,Z ok. ;G70 Eingabesystem Zoll ok. ;G71 V Eingabesystem Metrisch ok. ;G73 Parkposition anfahren fast ok. ;G74 Parkposition anfahren, Werkzeughöhe bestimmen fast ok. ;G83 Planfläche ok. ;G84 Lochreihe ok. ;G85 Kreistasche ok. ;G86 Rechtecktasche ok. ;G90 V Koordinaten absolut ok. ;G91 Koordinaten relativ ok. ;Lxxx Sprung Line Nxxx ok. ;Nxxx Sprungmarke ok. ;Fxx Vorschub ok. ;Sxx Spindeldrehzahl geplant ;Wxx Wartezeit ok. Mit Gruß Peter
Pieter schrieb: > ;G70 Eingabesystem Zoll ok. > ;G71 V Eingabesystem Metrisch ok. ist das nicht: ;G20 Eingabesystem Zoll ;G21 V Eingabesystem Metrisch ??? >jeder Motortreiber hat seinen eigenen 8051 Wie funktioniert da die Kommunikation bei der Interpolation? Oder ist das Timing dabei so genau?
> ;G70 Eingabesystem Zoll ok. > ;G71 V Eingabesystem Metrisch ok. ...da kochen verschiede Köche, habe jetzt G20 == G70 und G21 == G71. Auf SPI kommt ein Byt: (SM/FU)|Reserve|ZP|ZN|YP|YN|XP|XN -P Step in Plusrichtung -N Step in Minusrichtung (SM/FU) Byte für Schrittmotore oder FrequenzUmrichter (der wird dann über Z gesteuert) Zürückgegeben wird dann das Byte vom FU oder die Bits der jeweiligen Achse. Da mit einem Byte bis zu 3 Motore gesteuert werden, sind alle Figuren abfahrbar. Mit Gruß Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.