- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 6 von 6

Thema: G-code für (temporären) Wechsel auf mechanische Maschinenkoordinaten?

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    40
    Beiträge
    2.009

    G-code für (temporären) Wechsel auf mechanische Maschinenkoordinaten?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Moin.

    Ich bin grade bisschen zu doof für wohl einfachsten G-Code.
    Entweder seh ich da was nicht oder es geht tatsächlich technisch nicht.

    Ich hab einen Laser Cutter, der über GRBL gesteuert werden kann.
    Arbeitsfläche sind 400x400 mm.

    Bisher war der G-Code, der nach einem Auftrag gesendet wird:
    Code:
    G90
    G0 X0 Y0
    Damit fährt der Laser dahin zurück, wo er angefangen hat, und verdeckt damit perfekt das Werkstück. Ich muss also jedes Mal das Ding erst mal wegbewegen, um ans Werkstück zu kommen.

    Was ich jetzt machen möchte, wäre was wie:
    Code:
    G0 X400 Y400
    Der Laser soll also ins gegenüberliegende Eck fahren, wo er nicht im Weg umgeht.

    Das klappt, solange ich NICHT mit
    Code:
    G92 X0 Y0
    ein neues Origin festlege.
    Angenommen, der Laserkopf ist aktuell bei mechanischen X40 Y50, ich setze G92 X0 Y0, dann würde
    Code:
    G0 X400 Y400
    den Laser auf tatsächliche X440 Y450 fahren wollen. Die Software erkennt, dass die Werte grösser sind als mechanisch möglich, stoppt mit einem Soft Limit Error, bewegt den Kopf garnicht und verlang einen Reset. Damit ist der mit G92 gesetzte Punkt natürlich weg. Zitat Waldi, der Möter: "Bläääd".

    Ich Suche jetzt eine Befehlsabfolge, die den Kopf zu den mechanischen X400 Y400 fährt, unabhängig davon, was vorher mit G92 für ein Origin festgelegt wurde, und auch so, dass dieses Origin beibehalten wird (so, dass ich danach mit z.B. G0 X0 Y0 wieder an das Origin komme.)

    Also er startet einen Auftrag bei X40 Y50, fährt den Kopf danach zu X400 Y400, Werkstückwechsel, und er legt wieder bei X40 Y50 los.

    Wie würde man das machen, wenn das so überhaupt möglich ist?

    MfG
    Stefan
    #ifndef MfG
    #define MfG

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    54
    Beiträge
    2.097
    G90 stelt um auf absolute Koordinaten.
    Du müsstest also nen G90 machen, gefolgt von deinen Wunsch-Koordinaten.

    G91 stellt wieder auf "relativ" um.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    40
    Beiträge
    2.009
    Leider nicht ganz. Das Ding bleibt irgendwie in dem Koordinatensystem, das ich davor mit G92 verschoben hab.

    Mal Beispiele (jetzt nur für X, damits kürzer ist)

    Code:
    Reset
    $H (Home-Befehl)
    G90
    X400
    Kopf fährt zu den "echten" X400. ("echt" = wenn ich an die Führungsschiene ein Lineal pappe und schau, wo der Kopf dann steht). Da, wo er eigentlich hin soll, egal von wo aus er dann mit egal welchem Nullpunkt startet.

    Code:
    Reset
    $H
    G90
    X20
    Kopf ist bei "echten" X20

    Code:
     G92 X0
    Neuer Nullpunkt gesetzt.

    Code:
    G90
    X0
    Kopf bleibt stehen (bei den "echten" X20)

    Code:
    X-20
    Kopf zurück, wo er nach $H war (zu den "echten" X0)

    Code:
    X400
    Soft Limit Fehler, da er zu den "echten" X420 fahren will, was aber ausserhalb der mechanisch möglichen x400 liegt.
    Ich müsste X380 senden, damit er zu den echten X400 fährt.

    Muss einer dieser 3 Punkte sein:
    a) ich hab nen kompletten Denkfehler
    b) das ist in der Steuerung falsch umgesetzt
    c) es geht mit G-Code einfach nicht

    Ich weiss jetzt nicht genau: merkt sich (oder soll, nach Definition) eine CNC-Maschine das ursprüngliche "prä-G92-Koordinatensystem"? Oder gibts da nur 1 und das wird halt mit G92 einfach verschoben? Aber "irgendwie" muss sie das ja noch wissen, da sie weiss, wie viel sie noch fahren kann, bevors den Soft Limit Error gibt.
    #ifndef MfG
    #define MfG

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    54
    Beiträge
    2.097
    Normalerweise wird beim Start genullt- also Home angefahren. Da sollte es Endschalter in irgendeiner Form geben.
    Macht zumindest jeder 3D-Drucker.

    Dennoch kannst du auf absolute Koordinaten umschalten mit G90. G91 stellt wieder relative ein, also:

    G90 X10 Y10 fährt Position X und Y 10 an //solange hier kein G91 kommt, bleiben wir bei absoluten Koordinaten
    X20 Y20 fährt Position X20,Y20 an

    G91 X10 Y10 fährt Position X30 Y30 an //hier stellen wir _dauerhaft_ um auf relative Koordinaten, bis wieder ein G90 kommt.
    X10 Y10 fährt nun Position X40, Y40 an
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    40
    Beiträge
    2.009
    Naja, das mit G90/G91 zwischen absolut/relativ umschalten ist mir schon klar.
    Es ging eher um das Umschalten zu einem anderen, absoluten Koordinatensystem.

    Beim Stichwort "Endschalter" hats aber plötzlich geklickt.
    Vermutlich nicht die Lösung, die du meintest, und auch nicht die, die ich mir vorgestellt hab, aber immerhin führt die zum Soll-Ergebnis:

    Code:
    $H
    G91
    G0 X400 Y400
    G90
    Also Home zu den Endschaltern bei 0/0, damit weiss ich jetzt, wo der Kopf ist.
    Dann einfach relativ die 400/400 fahren und ich bin am Ziel.

    Ohne die Reise über die Schalter wüsste ich ja sonst nicht, wo der Kopf gerade ist, und könnte damit bei verschobenem Koordinatensystem weder mit G90 noch G91 ans Ziel.
    Die Werte für G92 weiss ich ja nicht numerisch. Ich fahr den Laser einfach optisch mit niedrigster Leistung da hin, wo er loslegen soll, G92 X0 Y0 und gib ihm.

    Wenn der Laser eh schon da in der Nähe der Ecke ist, sind das mit dem Umweg über Home max. 4-5 Sekunden, die er da "umsonst" unterwegs ist. Aber ist ja keine Live-Fertigung für Formel-1-Ersatzteile, dass das was ausmacht.
    #ifndef MfG
    #define MfG

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    54
    Beiträge
    2.097
    Je nach verwendeter Firmware muss Home nicht bei 0,0 sein.
    Bei meinem 3D-Drucker ist Home beispielsweise irgendwo bei -20 oder so.
    0,0 ist die vordere, linke Ecke des Arbeitsbereiches- Home liegt ausserhalb.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ähnliche Themen

  1. Zielscheiben-wechsel Automat
    Von MiBo58 im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 5
    Letzter Beitrag: 21.06.2012, 20:11
  2. Wechsel WIN XP Ubuntu
    Von Richard im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 16
    Letzter Beitrag: 26.10.2010, 18:24
  3. 12V Wechsel-Relais?
    Von squelver im Forum Mechanik
    Antworten: 2
    Letzter Beitrag: 02.03.2007, 12:00
  4. I2C - Wechsel von MasterTransmitter -> MasterReceiver
    Von simple im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 21.07.2006, 13:29
  5. Roboterarm für DVD-Wechsel (Neuling)
    Von xtc170371 im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 14.10.2005, 00:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen