Z-Offset depending on Hotend Temp setting
-
@dc42 said in Z-Offset depending on Hotend Temp setting:
Thermal coefficient of aluminium is around 22e-6. Stainless steel is a bit lower. Say 20e-6 on average for the hot end. So if the hot end is is 50mm long (E3DV6), changing the printing temperature by 50C will change the nozzle height by 50 * 20e-6 * 50 = 50um. Is that the sort of change you are seeing?
I think logic is right but numbers are little bit off. Because if you change printing temp by 50C then maybe lower 2 cm (hotend) only change temp by that much, "cold end" last ~3 cm of heat break and heatsink will increase just by fraction. So 50C can make change maybe by 25um.
Isn't bigger problem heat bed which can warp much more due to temperature? -
@hornetrider said in Z-Offset depending on Hotend Temp setting:
ok, and how should that workaround work?
Can the offset be defined outside config.g?I thought If..Then is not possible...
I will give it a try but uncertain how that should work as the temp depends on the print, then it would be better to have it in start.g, or?
Is config.g only loaded at reboot?Can the G31 with Z parameter be used outside config.g?
Yes - I'm 99% certain. You aren't changing anything fundamental to the machine operation. So you could use G31 Znnn pretty much anywhere. Even as a stand alone command through the console. It's only used when you home the printer so you'd need to enter it before you home Z. Or to be more precise, if you've already homed Z, then you'd need to enter the new G31 Znnn and re-home Z.
You could possible automate it by putting it in the start gcode of your slicer. It would look something like:
Set hot end temp
Change G31 offset to suit
Home Z
Print......HTH
-
@deckingman
ok fair enough.
But how to handle the change in an automated way, so that you can use different G31 Znn for different hot end temp...?I would love to have a variable, as the Temp effect is linear...
And it would be perfect if integrated into the machine and not the slicer... -
@hornetrider I'm just an end user like you. To get the firmware changed, you'll have to ask DC42. But you'll need to build a case for the request because thus far, nobody else has asked for this, (probably because there are vary many other variables that will affect the first layer height and baby stepping can deal with these on a per print basis). So I'd say that it is a very low priority thing compared to some other feature requests. But ask DC42, you never know..........
-
@hornetrider I use macros to define the G31 Z offset for each filament I use.
-
@hornetrider I think you're barking up the wrong tree. If you measure the G31 Z trigger height with the nozzle and bed both set to your printing temp range, the trigger value should be valid through the whole range of printing temperatures you'd use since the majority of the elongation will have already taken place at say 200c/60c.
Are you having actual issues with first layer height?
-
@Phaedrux
sometimes I have trouble. It really depends on the temp setting.
I have noticed, that while setting everything (Z0 etc) @215°C for prints at that temp everything is fine.
As soon as I switch to 225°C with the previous settings, I have to run a Z0 set
to achieve a good first layer height. In most cases the nozzle is too close to the bed and the print won't work as extruder can't press that much...ok, this might also be linked to the paper used...but if this is so critical, I don't know. Spending 5-10min setup before printing is kind of annoying...
-
@cecil said in Z-Offset depending on Hotend Temp setting:
@dc42 said in Z-Offset depending on Hotend Temp setting:
Thermal coefficient of aluminium is around 22e-6. Stainless steel is a bit lower. Say 20e-6 on average for the hot end. So if the hot end is is 50mm long (E3DV6), changing the printing temperature by 50C will change the nozzle height by 50 * 20e-6 * 50 = 50um. Is that the sort of change you are seeing?
I think logic is right but numbers are little bit off. Because if you change printing temp by 50C then maybe lower 2 cm (hotend) only change temp by that much, "cold end" last ~3 cm of heat break and heatsink will increase just by fraction. So 50C can make change maybe by 25um.
Isn't bigger problem heat bed which can warp much more due to temperature?Correct, it's only the last 2cm or so that would see the full 50C temperature change, so the difference in trigger height would only be about 20um. I suspect that the difference in Z probe trigger height that the OP finds he needs is not due to expansion of the hot end, but is caused by other factors. For example, some filaments benefit from being squished on to the bed when printing the first layer, other filaments don't.
@Hornetrider, have you tried measuring the Z probe trigger height at different hot end temperatures, and at different bed temperatures?
-
@dc42
that is on my todo list.What should the effect on the Z Probe Trigger height be, with different Hot-End temp? There is no thermal connection between Z probe and nozzle...
On the bed temp I can see a correlation as differences on height would trigger the Z Probe, but probably the drive tolerances will easily eat that up...I will think of a method and come back...
-
@Stephen6309 Have you posted your macros you use to define your G31 anywhere? I'd be interested to see what you are doing and what numbers you are using for different filaments if you are ok to share them.
-
@lael
PLAOffset:
; M-MAX (printer's name, I have two)
M291 P"PLA Offset" S0 T5 ; Show which one called
G31 P500 X25 Y45 Z1 ; set threshold and offsets - z offset is last one - increase to get closer to the bed
M207 S1.5 F6000 R0 Z0.03 ; firmware retractionFirmware retraction may need changing for different filaments, so far they don't. I have another one for PETG, it needs a different Z offset. I call this in the start gcode in PrusaSlicer. Editing a macro is faster than rebooting the Duet.