Understanding Probing and Trigger Z Height
Understanding Probing and Trigger Z Height
I just posted on my blog: Understanding Probing and Trigger Z Height
Why is this interesting? The simple answer is "So you get perfect first layer heights." Although this was written with RepRapFirmware in mind, he principles apply to any firmware that supports Z probing including Repetier running on RAMBo with the HE280 accelerometer probe. At the end of the day, the firmware simply needs to know Z height and this is true for all firmware we are interested in.
I've responded to dozens (100s?) of questions on forums and groups from folks complaining that they just installed a Z probe and run auto-calibration but their first layer height is still off. Most people don't realize that Z probes do require calibration/tuning. This post explains why and how to go about doing it. If you don't want the nitty-gritty, skip down to the "Ok, that's all great, how do I determine the Trigger Z Height?" section. And as a little tease, I explain how to use the new baby stepping feature in the v1.18 RepRapFirmware.
Why is this interesting? The simple answer is "So you get perfect first layer heights." Although this was written with RepRapFirmware in mind, he principles apply to any firmware that supports Z probing including Repetier running on RAMBo with the HE280 accelerometer probe. At the end of the day, the firmware simply needs to know Z height and this is true for all firmware we are interested in.
I've responded to dozens (100s?) of questions on forums and groups from folks complaining that they just installed a Z probe and run auto-calibration but their first layer height is still off. Most people don't realize that Z probes do require calibration/tuning. This post explains why and how to go about doing it. If you don't want the nitty-gritty, skip down to the "Ok, that's all great, how do I determine the Trigger Z Height?" section. And as a little tease, I explain how to use the new baby stepping feature in the v1.18 RepRapFirmware.
Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art
Start Here:
A Strategy for Successful (and Great) Prints
Strategies for Resolving Print Artifacts
The Eclectic Angler
-
- Printmaster!
- Posts: 71
- Joined: Sun Feb 14, 2016 10:26 pm
Re: Understanding Probing and Trigger Z Height
Question (Raises Hand)
I have been taking the time to set the trigger heights for each probe point individually in the Bed.g file. Do you think this is necessary in most cases? I'm finding it hard to get down to my target 0.05 deviation. I guess I'm wondering if I'm doing more harm than good. (Deviation is in the 0.08 range.)
Frankly, I can use the info in the article to improve my process for those individual points as well, if its worth doing.
I have been taking the time to set the trigger heights for each probe point individually in the Bed.g file. Do you think this is necessary in most cases? I'm finding it hard to get down to my target 0.05 deviation. I guess I'm wondering if I'm doing more harm than good. (Deviation is in the 0.08 range.)
Frankly, I can use the info in the article to improve my process for those individual points as well, if its worth doing.
Dionysus480 & Sons
Rostock MAX v2 - "M2D2"
"Do or do not, there is no try." Yoda
Rostock MAX v2 - "M2D2"
"Do or do not, there is no try." Yoda
- Jimustanguitar
- ULTIMATE 3D JEDI
- Posts: 2608
- Joined: Sun Mar 31, 2013 1:35 am
- Location: Notre Dame area
- Contact:
Re: Understanding Probing and Trigger Z Height
Are you actually measuring that amount of deviation, or are you just going by the reported number on the LCD at the end of a calibration cycle?Dionysus480 wrote:I'm finding it hard to get down to my target 0.05 deviation. I guess I'm wondering if I'm doing more harm than good. (Deviation is in the 0.08 range.)
-
- Printmaster!
- Posts: 71
- Joined: Sun Feb 14, 2016 10:26 pm
Re: Understanding Probing and Trigger Z Height
I'm just going off the reported deviation. I usually run the callibration 3 times to see where I'm at. Perhaps there is a better way?
Dionysus480 & Sons
Rostock MAX v2 - "M2D2"
"Do or do not, there is no try." Yoda
Rostock MAX v2 - "M2D2"
"Do or do not, there is no try." Yoda
Re: Understanding Probing and Trigger Z Height
Firstly, the old adage "if it ain't broke, don't fix it" comes to play! I would get things configured without using the sensor offset adjustment and then auto calibrate 3-5 times to make sure you are converging. If the calibration deviation is acceptable, I'd leave it at that. Your deviation is high. What probe are you using?
You can check your sensor offsets without actually adding them to the G30 H parameter in bed.g to see if they do need tweaking. The correct way to do that is described here: https://duet3d.com/wiki/Setting_up_auto ... _print_bed scroll down to sensor offset adjustment for the proper technique.
You can check your sensor offsets without actually adding them to the G30 H parameter in bed.g to see if they do need tweaking. The correct way to do that is described here: https://duet3d.com/wiki/Setting_up_auto ... _print_bed scroll down to sensor offset adjustment for the proper technique.
Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art
Start Here:
A Strategy for Successful (and Great) Prints
Strategies for Resolving Print Artifacts
The Eclectic Angler
-
- Printmaster!
- Posts: 71
- Joined: Sun Feb 14, 2016 10:26 pm
Re: Understanding Probing and Trigger Z Height
Thank you! Thats a great writeup on something I was doing manually. I was literally recording each of the 12 other trigger points by hand. I'm on Duet with FSRs. Tedious procedure. Excel spreadsheets full of numbers. These techniques look much more precise. (I also am going to use cigarette paper, which is another good suggestion.)
Thanks again for the information. Since I'm doing a hotend tear-down anyway, I'm going to update my Duet and have another go.
DK
Thanks again for the information. Since I'm doing a hotend tear-down anyway, I'm going to update my Duet and have another go.
DK
Dionysus480 & Sons
Rostock MAX v2 - "M2D2"
"Do or do not, there is no try." Yoda
Rostock MAX v2 - "M2D2"
"Do or do not, there is no try." Yoda
Re: Understanding Probing and Trigger Z Height
ZigZag brand
Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art
Start Here:
A Strategy for Successful (and Great) Prints
Strategies for Resolving Print Artifacts
The Eclectic Angler
Re: Understanding Probing and Trigger Z Height
Ordered, along with some fresh Hatchbox PLA for my P-38 from 3DLabPrint.
mhackney wrote:ZigZag brand
Re: Understanding Probing and Trigger Z Height
Following mhackney's posts and Duet instructions, etc. I have my IR probe setup and working mostly.
My config looks like this:
; Z probe and compensation definition
M558 P1 X0 Y0 Z0 H5 F600 T2400
; grid compensation
M557 R110 S15
G31 P500 X0 Y0 Z2.6 ; Set the zprobe offset and threshold (determine your printer's Z offset value). For a delta, use zero X and Y offset.
What does not seem to work at all is the Z parameter in the G31 command. After calibration and mapping I will do a test print. It is too high off the bed so I increase the Z parameter but the print starting point does not change, ever.
I can get the Z0 position to change only by adjusting the M665 command H parameter.
And I have tried the M558 command with both Z0 and Z1, not sure which is more proper.
Is there a sequence of actions that need to be done to get this to work properly?
My config looks like this:
; Z probe and compensation definition
M558 P1 X0 Y0 Z0 H5 F600 T2400
; grid compensation
M557 R110 S15
G31 P500 X0 Y0 Z2.6 ; Set the zprobe offset and threshold (determine your printer's Z offset value). For a delta, use zero X and Y offset.
What does not seem to work at all is the Z parameter in the G31 command. After calibration and mapping I will do a test print. It is too high off the bed so I increase the Z parameter but the print starting point does not change, ever.
I can get the Z0 position to change only by adjusting the M665 command H parameter.
And I have tried the M558 command with both Z0 and Z1, not sure which is more proper.
Is there a sequence of actions that need to be done to get this to work properly?
Re: Understanding Probing and Trigger Z Height
If you adjust the G31 Z parameter and then run auto calibration, then the live M665 values will be altered based on the calibration results. You can see this by running M665 with no parameters, which displays the current values. However, the new values will not survive a power down/up or a reset unless you do one of the following:
1. Edit the new M665 parameters and your new G31 H parameter into the config.g file, and make sure that they are not overridden by commands in the config-override.g file.
2. Run M500 to save the live M665, M666, G31 and M307 in config-override.g, and make sure there is a M501 command near the end of config.g to invoke config-override.g.
It's up to you whether to use config-override.g or not. The config-override.g file serves a similar purpose to EEPROM in 8-bit controller boards.
If you want to set the Z=0 height before each print using the Z probe, I suggest you do one of the following:
1. In your slicer start gcode, include G32 to run auto calibration, and do not home the printer before the print starts.
2. In your slicer start gcode, include G1 X0 Y0 Z5 F10000 followed by G30, and do not home the printer before the print starts.
HTH David
1. Edit the new M665 parameters and your new G31 H parameter into the config.g file, and make sure that they are not overridden by commands in the config-override.g file.
2. Run M500 to save the live M665, M666, G31 and M307 in config-override.g, and make sure there is a M501 command near the end of config.g to invoke config-override.g.
It's up to you whether to use config-override.g or not. The config-override.g file serves a similar purpose to EEPROM in 8-bit controller boards.
If you want to set the Z=0 height before each print using the Z probe, I suggest you do one of the following:
1. In your slicer start gcode, include G32 to run auto calibration, and do not home the printer before the print starts.
2. In your slicer start gcode, include G1 X0 Y0 Z5 F10000 followed by G30, and do not home the printer before the print starts.
HTH David
Re: Understanding Probing and Trigger Z Height
I think I see where my misunderstanding was.
After more reading on G codes and some experiments I found that the G31 Z trigger number is not live data.
I am probably going to state this improperly, but based on my current level of understanding, The Z trigger height parameter is used during auto calibration to determine the M665 H value.
This explains why my method of changing the trigger number, rebooting, and then printing was completely ineffective. When I reboot, I clear the live data and the system defaults back to the config.g M665 H value, which is why my Z0 was staying the same.
To fine tune my Z trigger I need to adjust the G32 Z value, reboot, auto calibrate, then print. It also seems like a good idea to auto calibrate before each print.
I also see why we don't want to home after an auto calibrate. The z position after a G28 is a bit inaccurate, which could mess up the first layer.
Thanks for the help.
After more reading on G codes and some experiments I found that the G31 Z trigger number is not live data.
I am probably going to state this improperly, but based on my current level of understanding, The Z trigger height parameter is used during auto calibration to determine the M665 H value.
This explains why my method of changing the trigger number, rebooting, and then printing was completely ineffective. When I reboot, I clear the live data and the system defaults back to the config.g M665 H value, which is why my Z0 was staying the same.
To fine tune my Z trigger I need to adjust the G32 Z value, reboot, auto calibrate, then print. It also seems like a good idea to auto calibrate before each print.
I also see why we don't want to home after an auto calibrate. The z position after a G28 is a bit inaccurate, which could mess up the first layer.
Thanks for the help.