module:programming:terminaluartgrbl:terminaluartgrbl
Table of Contents
Module - Programming - TerminalUartGrbl
ToDo
- O TerminalGrbl (mit Software-HS für Grbl-Commands)
- O Laden von GCode-Files → GCode-Objekte
- O GCode-Objekt in Liste: Simulate → Plot2D/Plot3D
- O GCode-Objekt in Liste: Execute → Übergabe über Uart an Grbl-Processor
- $-Codes, G-Codes, …
- Tasten(Macros) für GCode-Sequencen
- eventuell auch: Python-Code-Executor für Grbl-Commands mit if/…
- O Projekt: Grbl
- O Projekt: Grbl - GrblLaser
- O Projekt: Grbl - GrblMilling
- O Upload aller Media-Files nach DokuWiki-Media-Grbl/..
220926
- Restaurierung des GCodeInterpreters: 2104191226_GCodeInterpreter_01V00_ReadWriteList,
- daher weitere Entwicklung auf Module - Programming - GCodeInterpreter
- GCode-File: Read/Execute
- CParameter: CX/Y/ZParameter, CI/J/FParameter, CText
- CCommand: code, parameterlist
- CCommand.Execute
- CCommandlist
- Wiederaufnahme: '2104191226_GCodeInterpreter_01V00_ReadWriteList'
220925
- Probe: Tastspitze, welche sich relativ zum eingespannten Werkstück bewegt, mit A5 und NC-Taster nach Masse
- mit ArduinoWireCables verdrahtet, direkt auf A5 GrblShield angelötet
Probing, ProbeHomeCycle
Marlin G38.2-G38.5 - Probe target
GrblPlotter, form-probe
The Probe Target commands are used to probe towards (or away from) a workpiece to determine its precise position. You might, for example, use a grounded metal workpiece, with a metal probe spliced into the bed probe circuit. All G38-Commands use by default the current homing feedrate. G38.2 - Example: 'G38.2 Z-25 F100' probes towards a target and stops on contact, signaling an error if it reaches the target position without triggering the probe. G38.3 probes towards a target and stops on contact. No error is given if it fails to trigger the probe. G38.4 probes away from a target and stops on contact break. An error is signaled if the target position is reached without triggering the probe. G38.5 probes away from a target and stops on contact break. No error is given if it fails to trigger the probe.
Touch Probe Commands Guide The 3 commands below should each go under a separate macro in the macro tab in Universal G-Code Sender - Classic. Z Probe G38.2 Z-25 F100; G10 P0 L20 Z5; G21 G91 G0 Z3 XYZ Probe 1/4 bit G38.2 Z-25 F100; G91 G0 Z3; G91 G0 X-50; G91 G0 Z-8.2; G38.2 X30 F100; G91 G0 X-3; G91 G0 Z8.2; G91 G0 Y-50; G91 G0 X50; G91 G0 Z-8.2; G38.2 Y30 F100; G91 G0 Y-3; G91 G0 Z8.2; G10 P0 L20 X34.355 Y-17.255 Z8 XYZ Probe 1/8 bit G38.2 Z-25 F100; G91 G0 Z3; G91 G0 X-50; G91 G0 Z-8.2; G38.2 X30 F100; G91 G0 X-3; G91 G0 Z8.2; G91 G0 Y-50; G91 G0 X50; G91 G0 Z-8.2; G38.2 Y30 F100; G91 G0 Y-3; G91 G0 Z8.2; G10 P0 L20 X35.943 Y-15.667 Z8 Command meanings: (Semi colons separate command sets) G38.2 Z-25 F100 G38.2 is a probe command which means, seek until the probe circuit is closed (Arduino ground to pin A5). Z-25 means drop the Z axis down a maximum of 25mm (metric in this case). Of course, this travel should be interrupted by probe contacting the plate surface. F100 is the probe travel speed. You may want to slow yours down, but 100 works fine. G91 G0 Z3 G91 G0 Is a rapid move, the Z axis 3mm up or positive direction. G91 G0 X-50 Then rapid move 50mm left, or negative X direction. G91 G0 Z-8.2 And drop Z down 8.2mm in preparation for X probing. G38.2 X25 F100 Now probe for X side of the calibration plate. G91 G0 X-3 Pull bit away from the cal plate 3mm. G91 G0 Z8.2 Raise bit up 8.2mm before moving to the front of the plateG91 G0 Y-50 Move toward front of the plate 50mm. G91 G0 X50 Move right, in the X positive direction, 50mm. G91 G0 Z-8.2 Drop the bit back down 8.2mm in preparation for Y probing. G38.2 Y25 F100 Probe Y axis. G91 G0 Y-3 Pull forward off work, 3mm G91 G0 Z8.2 Raise bit 8.2mm. G10 P0 L20 X? Y? Z? Store probe offset's in co-ordinates system (Use offset calculator)
220924
G91 F800 G01 Z-30
G91 F800 G01 Z-42
G91 F800 G01 Z+30
G91 F800 G01 X100 Y100
Commands mit UniversalGCodeSender:
- $H : Initialisierung HardLimitHomePosition
- G91 - G01 : Fahren auf Probenoberfläche
- G92 - Definition neuer (Soft-)HomePosition auf Probe
$H G91 F800 G01 X20 Y10 Z-42 G90 F800 G92 X0 Y0 Z0
- GrblMilling: Einschaltsequenz
- Einschalten, Stand XYZ egal
Grbl 1.1h ['$' for help] [MSG:'$H'|'$X' to unlock]
- '$H' : startet HomingCycle XYZ, Spindel steht in höchster Z-Position (Z+max)
- 'G91 F800' : umstellen auf relative Positionierung mit Vorschub 800mm/s
- 'G01 Z-10' : Grobes Hinfahren zur Probe-Oberfläche (Zprobe max)
- 'G01 Z-1' : Feines Hinfahren zur Probe-Oberfläche (Zprobe max)
- 'G01 Z-1' :
- Pin D9 - LimitSwitch X
- Pin D10 - LimitSwitch Y
- Falsch: Pin D11 - LimitSwitch Z → Pin D12 - LimitSwitch Z
- Grund: Enable
- NC-Kette muss an D12 direkt am Shield angelötet werden!!!
- D11 wird wohl von PWM-Spindle benötigt!
#define HOMING_CYCLE_0 ((1<<Z_AXIS)) #define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) #define N_HOMING_LOCATE_CYCLE 2 // Integer (1-128) #define FORCE_INITIALIZATION_ALARM #define CHECK_LIMITS_AT_INIT #define VARIABLE_SPINDLE //
G91 F800
G01 Z+10.0
G01 Z-10.0
G01 X+10.0 Y+10.0
G01 X-10.0 Y-10.0
220923
- Versuch, LimitSwitches X/Y/Z bei CNCEngraver zu installieren
- Problem: LimitSwitch Z wird nicht erkannt
220922
- LaserEngraver: Y-Enschalter Low/High werden direkt an Alu-Profile angeschraubt.
- LaserEngraver: Konstruktion Endschalter mit FreeCad: 2209221158_LaserEngraverLimitSwitch
- zuerst 4x NC-LimitSwitches (X/Y) LaserEngraver,
- dann 6x NC-LimitSwitches (X/Y/Z) CncEngraver
- wichtige Hardware-Ergänzung für ALLE Grbl-Machines:
- Einbau zweier LimitSwitches pro Achse (X, Y, Z, W) mit NC-NormalClosed-Tastern in Reihe!!!
- Konfiguration aller \$-Parameter reproduzierbar nach \RST mit \$20 (über Terminal!)
- Test der Home-Fahrt mit \$H
- nach CTRL-X und \$X können per Terminal Positionen angefahren werden:
- G01 Z0.0 F800.000000
- G01 Z10.0 F800.000000
- G01 X1.0 Y0.0 F800.000000
- G01 X0.0 Y0.0 F800.000000
- G01 X0.0 Y30.0 F800.000000
- G01 X30.0 Y0.0 F800.000000
- G01 X30.0 Y30.0 F800.000000
- G01 X10.0 Y10.0 F800.000000
- G01 X100.0 Y0.0 F800.000000
- G01 X110.0 Y0.0 F800.000000
- G01 X110.0 Y80.0 F800.000000
- G01 X0.0 Y80.0 F800.000000
- G01 X-189.0 Y-189.0 F800.000000
220921
- mit Terminal (nicht Fremdsoftware!!!) Grbl konfiguriert:
- \$RST=\$ : ???
- \$RST=# : ???
- \$RST=* : konfiguriert und resetted alle $-Parameter sauber!
wichtige Links für Grbl-Handhabung(Install, Commands, LimitSwitches…):
Install:
- Install on Uno/Nano: install-grbl-onto-arduino-uno-nano-or-mega
Commands:
- GrblCommands: g-code-explained-list-of-most-important-g-code-commands
- GrblCommands: commands.md
- GrblPlotter: index.php
LimitSwitches:
- HomeCycle: Set-up-the-Homing-Cycle
- LimitSwitch two Axis: Two-Axis-System-Considerations
- Custom LimitSwitches: limit-switch-custom-wiring
- Wiring LimitSwitch: Wiring-Limit-Switches
Software:
- LaserGrbl: machine-status
- LaserGrbl Configuration: configuration
- Endschalter: Wiring-Limit-Switches NC-NormalyClosed
- LaserGrbl: auch Home wird sauber ausgeführt
- mit LaserGrbl bewegen sich X/Y-Achsen LedDirection/Step sichtbar
- Pinout Grbl: grbl-arduino-g-code-processor-pin-layout
- Leds Y-470R / B-680R auf Breadboard für Spindle W
- Leds Y-470R / B-680R / R-680R auf Breadboard für jede Achse X / Y / Z
- Beginn DokuWiki: TerminalUartGrbl
- zuvor:
- Python, Tkinter: Gui TerminalUart
module/programming/terminaluartgrbl/terminaluartgrbl.txt · Last modified: 2022/11/08 10:08 by 127.0.0.1