G-Code Interpreter

(Firma: Siemens AG) #2593097
Lesenswert?

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
Persönliche Seite #2599690
Lesenswert?

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.
Gast #2603998
Lesenswert?

> 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.
Gast #2604700
Lesenswert?

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
Gast #2611102
Lesenswert?

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
#2716365
Lesenswert?

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
Gast #2717519
Lesenswert?

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
Gast #2717677
Lesenswert?

> ;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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren