Traveling Z offset
-
We were initially using G31 and switched to G10 on suggestion of a couple of members of Railcore team. What is the difference between the two in terms of accuracy and purpose?
-
the g10 is for multible tools. as far as i know there railcore ii only has 1 extruder
-
also please post your config, overwrite and all your homing files
-
Config-override.g
; config-override.g file generated in response to M500 at 2019-06-28 20:57
; This is a system-generated file - do not edit
; Heater model parameters
M307 H0 A274.3 C798.5 D9.1 S1.00 V24.1 B0
M307 H1 A304.7 C170.2 D4.6 S1.00 V0.0 B0
M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
G10 L2 P1 X0.00 Y0.00 Z0.00
G10 L2 P2 X0.00 Y0.00 Z0.00
G10 L2 P3 X0.00 Y0.00 Z0.00
G10 L2 P4 X0.00 Y0.00 Z0.00
G10 L2 P5 X0.00 Y0.00 Z0.00
G10 L2 P6 X0.00 Y0.00 Z0.00
G10 L2 P7 X0.00 Y0.00 Z0.00
G10 L2 P8 X0.00 Y0.00 Z0.00
G10 L2 P9 X0.00 Y0.00 Z0.00Homez.g
G91
G1 Z5 F800 S2
G90
G1 X150 Y150 F2400
G30
G1 Z2 F200homey.g
G91
G1 Z4 F200 S2
G1 Y-320 F3000 S1
G1 Y4 F600
G1 Y-10 S1
G1 Z-4 F200 S2
G90homex.g
G91
G1 Z4 F200 S2
G1 X-320 F3000 S1
G1 X4 F600
G1 X-10 S1
G1 Z-4 F200 S2
G90homeall.g
M98 P"homex.g"
M98 P"homey.g"
M98 P"homez.g"config.g
; Configuration file for My Printer
; Communication and general
M111 S1 ; Debug (S1 is on S0 is off)
M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt
M550 PRailCore ; Machine name and Netbios name (can be anything you like)
M586 P1 S1
;M551 Pmyrap ; Machine password (used for FTP)
;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xEE ; MAC Address
;*** Wifi Networking
M552 S1 ; Enable WiFi
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Comms parameters for PanelDueG21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Axis and motor configuration
M667 S1 ; CoreXY modeM584 X0 Y1 Z5:6:7 E3:4:8:9 ; Map Z to drivers 5, 6, 7. Define unused drivers 3,4,8 and 9 as extruders
M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it) X stepper
M569 P1 S0 ; Drive 1 goes backwards Y Stepper
M569 P2 S1 ; Drive 2 goes forwards Unused
M569 P3 S1 ; Drive 3 goes forwards Extruder
M569 P4 S1 ; Drive 4 goes forwards Extruder (unused)
M569 P5 S1 ; Drive 5 goes backwards Front Left Z
M569 P6 S1 ; Drive 6 goes backwards Rear Left Z
M569 P7 S0 ; Drive 7 goes backwards Right Z;Leadscrew locations
M671 X-10:-10:333 Y22.5:277.5:150 S7.5 ;Front left, Rear Left, Right S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrewM350 X16 Y16 Z16 E16 I1 ; set 16x microstepping for axes& extruder, with interpolation
M574 X1 Y1 Z0 S1 ; set homing switch configuration (x,y at min, z at max) IF YOU NEED TO REVERSE YOUR HOMING SWITCHES CHANGE S1 to S0
M906 X1400 Y1400 Z1000 E940 I60 ; Set motor currents (mA) - 6/26/2019 LDO E940 from E1250 Per John
M201 X1750 Y1750 Z100 E1500 ; Accelerations (mm/s^2) Original 3000
M203 X24000 Y24000 Z900 E3600 ; Maximum speeds (mm/min) Original 1000
M566 X600 Y600 Z100 E1500 ; Maximum jerk speeds mm/minute - Original E20 changed on 2/27/2019
M208 X290 Y290 Z300 ; set axis maxima and high homing switch positions (adjust to suit your machine)
M208 X0 Y0 Z-0.5 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
M92 X200 Y200 Z1600 E828 ; steps/mm, X/Y may be more around 201.5 for accuracy old: E837
M557 X25:275 Y45:275 S75; Thermistors
;M305 P0 T100000 B4240 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
;M305 P1 T100000 B4240 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
M305 P0 S"Kenovo-Bed" T100000 B3950 R4700 H0 L0 ; as per FB/discord discussion
M305 P1 S"E3D30WHotend" T100000 B4725 C7.06e-8 R4700 H0 L0 ; on 5/2/2019M307 H0 A274.3 C798.5 D9.1 S1.00 V24.1 B0 ; Bed Heaters original value M307 H0 A283.4 C955.7 D8.5 S1.00 V24.1 B0 PID Tuned: 5/2/2019 ak
M307 H1 A304.7 C170.2 D4.6 B0 S1.0 ;Heater 1 model - original value M307 H1 A327.2 C173.2 D5.4 B0 S1.0 PID tuned: 2/28/2019 ak
M570 S360 ; Hot end may be a little slow to heat up so allow it 180 seconds
M143 S300; Fans
M106 P0 H-1 ; disable thermostatic mode for fan 0
M106 P4 T35 S255 H1 ; P1 to P3
M106 P2 H-1
M106 P0 S0 ; turn off fans
;M106 P1 S0
M106 P2 S0; Tool definitions
M563 P0 D0 H1 S"E3D Gold" ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
M591 D0 P1 C10 S1 ; Filament runout sensor Duex5 E2 endstop 3/19/2019
;*** If you have a single-nozzle build, comment the next 2 lines
;M563 P1 D1 H2 ; Define tool 1
;G10 P1 S0 R0 X0 Y17 ; Set tool 1 operating and standby temperatures; Z probe and compensation definition
;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
; M558 P1 X0 Y0 Z1 ; Z probe is an IR probe and is not used for homing any axes
; G31 X0 Y30 Z2.00 P500 ; Set the zprobe height and threshold (put your own values here);BLTouch - leave commented out if using a IR Probe
M307 H3 A-1 C-1 D-1
M558 P9 H5 R1 F50 T6000 A5 S0.02 B1
;G31 X2 Y42 Z2.6 P25 ; Customize your offsets appropriately. 2/28/2019 plated copper nozzle 3/15/2019 -commented out for G10M208 S1 Z-5 ; set minimum Z 3/15/2019 M208 S1 Z-0.2
;
T0 ; select first hot end
G31 X2 Y42 Z0 P25 ; reset Z0 for G10
G10 L1 P0 Z2.55 ; added 3/15/2019 2.65, 6/26/2019 - 2.25 -
I'd definitely stick to G31 for the Z offset.
I'm not sure what kinds of weird behaviour you'd be getting. G30 and G29 would be using the offset from G31, and then your G10 offset would be getting applied after. That's a confusing way to go about it.
What was the reasoning around using G10 instead of G31? @jstevewhite @kraegar
-
@phaedrux no reasoning other then reading @jstevewhite suggestion. I took out G31 offset and only G10 L1 gets applied. I can switch it back to G31 but same behavior was present with G31 before switching to G10
-
This may be the same issue that he had been posting about here just the other week.
https://forum.duet3d.com/topic/10916/weird-bed-mesh-behavior-after-z-leveling
-
This post is deleted! -
This post is deleted! -
@phaedrux interesting didn't see that one. let me read it. Thank you
-
Tool offsets are critical to the eventual application of the tool changer to the RailCore chassis. G31 is for PROBE offset - which is fine if you have only one tool, but if you have multiple tools, it's insufficient for configuration.
That's what got me testing it. While testing it, it became clear that the tool offset is MUCH more user friendly. You'll note that bmveee had the same issue prior to switching to the G10 tool offset process, and the issue in the other post that you mention occurred with G31 and G10 tool offset as well.
If G10 doesn't function properly, it's still broken, even if you can work around it with G31. I don't think that's related to this issue, though, but there's certainly something strange going on. The M500 wasn't saving the tool offset like it's supposed to. Specifically, in my gcode console I can issue:
G10 L1 P0
and get:
G10 L1 P0
Tool 0 offsets: X0.00 Y0.00 Z1.70, active/standby temperature(s): 0.0/0.0This is mirrored in my config-override.g:
; config-override.g file generated in response to M500 at 2019-06-27 16:10
; This is a system-generated file - do not edit
; Heater model parameters
M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B0
M307 H1 A618.9 C194.1 D4.1 S1.00 V24.3 B0
M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
; Probed tool offsets
G10 P0 Z1.70
G10 L2 P1 X0.00 Y0.00 Z0.00
G10 L2 P2 X0.00 Y0.00 Z0.00
G10 L2 P3 X0.00 Y0.00 Z0.00
G10 L2 P4 X0.00 Y0.00 Z0.00
G10 L2 P5 X0.00 Y0.00 Z0.00
G10 L2 P6 X0.00 Y0.00 Z0.00
G10 L2 P7 X0.00 Y0.00 Z0.00
G10 L2 P8 X0.00 Y0.00 Z0.00
G10 L2 P9 X0.00 Y0.00 Z0.00while troubleshooting with bmveee or duetal (I think that's mspal from our discord ) I noted that M500 never wrote their tool offset to the config-override.g. This is unexpected behavior, and is sufficient in and of itself to result in unpredictable behavior. That's when I recommended they post in the duet forums.
Specifically, I had one of them put M501 at the end of their config.g (This should load config override). Then issue:
G10 L1 P0 Znnn.n (insert number here)
then
M500
and the entry does not appear in config-override.g as it should. This is clearly a problem, but I can't seem to figure out why. Mine works as expected. -
yep thats me My config-override.g file was time stamped when i did M500 but G10 L1 P0 was not saved into it. I tried it multiple times and ended up removing M501 from the config.g
This is my config-override.g
; config-override.g file generated in response to M500 at 2019-06-28 20:57
; This is a system-generated file - do not edit
; Heater model parameters
M307 H0 A274.3 C798.5 D9.1 S1.00 V24.1 B0
M307 H1 A304.7 C170.2 D4.6 S1.00 V0.0 B0
M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
G10 L2 P1 X0.00 Y0.00 Z0.00
G10 L2 P2 X0.00 Y0.00 Z0.00
G10 L2 P3 X0.00 Y0.00 Z0.00
G10 L2 P4 X0.00 Y0.00 Z0.00
G10 L2 P5 X0.00 Y0.00 Z0.00
G10 L2 P6 X0.00 Y0.00 Z0.00
G10 L2 P7 X0.00 Y0.00 Z0.00
G10 L2 P8 X0.00 Y0.00 Z0.00
G10 L2 P9 X0.00 Y0.00 Z0.00 -
G10 tool offsets are only written by M500 if they were measured by probing or they were read from config-override.g.
-
Is this intentional behavior? I ask because it seems to leave out anyone who might manually configure multiple tools. I see why mine is working (because i tested touch-off G10 settings for our eventual implementation of the E3D toolchanger on RailCore 2), and it's worked ever since (because it was already there, I suppose).
So in order to make this work manually, you have to manually enter it into config-override.g once, reboot, and then changes will be written?
-
Bump (curious to see reply from dc42)
-
@jstevewhite said in Traveling Z offset:
Is this intentional behavior? I ask because it seems to leave out anyone who might manually configure multiple tools. I see why mine is working (because i tested touch-off G10 settings for our eventual implementation of the E3D toolchanger on RailCore 2), and it's worked ever since (because it was already there, I suppose).
So in order to make this work manually, you have to manually enter it into config-override.g once, reboot, and then changes will be written?
The behaviour is designed to give you this choice:
-
Measure your tool offsets and put them in G10 commands in config.g. Check that you have no G10 commands in config-override.g. This is the recommended solution if you do not manually change tools very often.
-
Measure all your tool offsets by probing, and use M500 to write the to config-override.g.
If you prefer to hold all the tool offsets in config-override.g even if you didn't measure them by probing, then you can add G10 commands manually to config-override.g as you suggest, so that M500 always rewrites them.
-
-
Ah, ok, that makes sense. Add it to the config-override.g manually. I just wanted to make sure that was an appropriate way to achieve the behavior I'm looking for.
Thanks!