Forum: Mechanik, Gehäuse, Werkzeug CNC3020 gbrl


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Ich habe hier schon seit einer Weile eine unbenutzte CNC3020 und will 
diese nun ansteuern. Auf der Maschine ist grbl 1.1
https://github.com/gnea/grbl

Am Anfang fahre ich manuell einen Nullpunkt an. Irgendwie schaffe ich es 
danach aber nicht, die Maschinenkoordinaten auf 0,0,0 zu setzten.
Mittlerweile habe ich schon alles mögliche probiert:
- Softreset (ctrl-X) setzt die Koordinaten nicht zurück
- G10L20P1X0Y0Z0 auch nicht

Wie kriege ich die Koordinaten genullt?

von Jörg (lixtop)


Lesenswert?

Ganz Einfach, fahre deinen Maschinenenullpunkt an (X, Y, Z) und drücke 
Reset oder einmal Ein/Aus schalten. Im Anschluß den Worknullpunkt 
anfahren und setzen, dann den der Z-Achse: Gutes Arbeiten.

von Christoph M. (mchris)


Lesenswert?

>Ganz Einfach, fahre deinen Maschinenenullpunkt an (X, Y, Z) und drücke
Reset

Danke für die schnelle Antwort. Den Reset-Taster an der Platine habe ich 
bis jetzt noch nicht benutzt, es funktioniert aber. Allerdings muss ich 
dann um die Maschine herumgreifen und den Taster auf der offenen 
Motorsteuerplatine betätigen. Irgendwie kann ich kaum glauben, dass es 
da kein GRBL Kommando gibt.

von Chris S. (schris)


Lesenswert?

doch , gibt es, es ist Control-X , \U+0018 oder \18 hex oder \030 octal.
Ist dasselbe wie Reset Taste druecken.

von Christoph M. (mchris)


Lesenswert?

Chris S. (schris)
19.12.2024 14:27
>doch , gibt es, es ist Control-X , \U+0018 oder \18 hex oder \030 octal.
>Ist dasselbe wie Reset Taste druecken.

Control-X müsste der Soft-Reset sein.
Wenn ich in Minicom folgendes eintippt:
?
Control-X
?

sieht man, dass die Position nicht zurückgesetzt wird. Das irritiert 
mich ziemlich, weil man ja denken könnte, dass ein Soft-Reset auf jeden 
Fall die Koordinaten auf 0 setzt.
Bis jetzt hilft nur die von Jörg vorgeschlagenen Methode und wirklich 
den echten Reset-Knopf auf dem Board zu drücken, damit die Koordinaten 
wieder auf 0 gesetzt werden. Vielleicht sind es ja irgendwie mit der 
internen Konfiguration von GRBL zu tun.

Hier der Minicom-Log:
1
?<Idle|MPos:10.000,0.000,0.000|Bf:15,128|FS:0,0|WCO:10.000,0.000,0.000>   
2
                                                                          
3
Grbl 1.1h ['$' for help]                                                  
4
?<Idle|MPos:10.000,0.000,0.000|Bf:15,128|FS:0,0|WCO:10.000,0.000,0.000>

von Christoph M. (mchris)


Lesenswert?

Im Moment bastle ich gerade an einer GUI und habe einen Knopf für die 
Rückkehr zum Nullpunkt eingeführt.
Wenn ich ihn drücke läuft diese Sequenz ab:
1
      G90 G0 Z3 ; absolute positin mode, Anheben auf sichere Z-Höhe
2
      G90 G0 X0 Y0 ; absolute positin mode, Startposition setzen
3
      G90 G1 Z0 F50; langsames Absenken auf Nullpunkt

Ist das so sinnvoll?

von Sven H. (svenhb)


Lesenswert?

Wenn du zum Machine-Coordinate Nullpunkt fahren willst, solltest Du G53 
verwenden: https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g53

Übersicht: https://linuxcnc.org/docs/html/gcode.html

Hard-Reset habe ich so gelöst:

                    serialPort.DtrEnable = true;

                    AddToLog("> DTR/RTS reset");

                    serialPort.DtrEnable = false;

                    serialPort.RtsEnable = false;


Reset der Work-Coordinaten:

  G10 L20 P0 X0 Y0 Z0

https://github.com/svenhb/GRBL-Plotter

von Jörg (lixtop)


Lesenswert?

Sven H. schrieb:
> G10 L20 P0 X0 Y0 Z0

L20, was soll das sein???

Laut RepRap gibt es das nicht. https://reprap.org/wiki/G-code

Deinen Plotter schau ich mir morgen an, versprochen:).

OK, G10 L20 : LinuxCNC <> grbl !

: Bearbeitet durch User
von Christoph M. (mchris)


Lesenswert?

Sven H. (svenhb)
19.12.2024 18:41
>Hard-Reset habe ich so gelöst:
> serialPort.DtrEnable = true;

Super Tipp. Ich verwende Python, aber da funktioniert es auch:
1
        serial_port = serial.Serial(port, baud_rate, timeout=timeout)
2
        serial_port.setDTR(False)  # Set DTR low (zur Vorbereitung für) später
3
4
...
5
      # reset Arduino
6
      serial_port.setDTR(True)  # Set DTR high
7
      serial_port.setDTR(False)  # Set DTR low

von Christoph M. (mchris)


Lesenswert?

Jörg (lixtop)
19.12.2024 19:18
> Wenn du zum Machine-Coordinate Nullpunkt fahren willst, solltest Du G53
> verwenden: https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g53

So richtig ist mir das nicht klar.
Wie es es mit dieser Sequenz:
1
      G53 G0 Z3 ; absolute positin mode, Anheben auf sichere Z-Höhe
2
      G53 G0 X0 Y0 ; absolute positin mode, Startposition setzen
3
      G90 G1 Z0 F50; langsames Absenken auf Nullpunkt

G90 brauche ich am Schluss, damit die Spindel langsam runter fährt und 
nicht Full-Speed in die Platte kracht.

Ich habe gerade festgestellt, dass es den Befehl G28 gibt, der die 
Maschine zum Nullpunkt fährt. Der fährt aber schnell und gleichzeitig 
runter, was zum Entlangschleifen auf einer unebenen Platte führen 
könnte.

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
Noch kein Account? Hier anmelden.