# While heating, BLTouch mesh data gets worse and worse the more times you probe

The title pretty much sums up the issue. It was happening before moving to an SKR Mini E3 V1.2 and is still happening with the new board. If I run A G28, then a G29 - while not heated - I will get some mesh data (poor mesh data because I haven't levelled the bed but that's not the main issue). If I then repeatedly run G29 (lets say 5 times) there will be variation between the measurement but only and expected amount and nothing more.

Bilinear Leveling Grid:
0      1      2
0 +0.592 +0.270 +0.010
1 +0.082 +0.010 -0.062
2 +0.215 +0.078 -0.065
Bilinear Leveling Grid:
0      1      2
0 +0.597 +0.267 +0.002
1 +0.085 +0.007 -0.065
2 +0.215 +0.078 -0.065
Bilinear Leveling Grid:
0      1      2
0 +0.607 +0.267 -0.002
1 +0.085 +0.010 -0.065
2 +0.212 +0.075 -0.060


Although it does continue to climb a bit, it's a BLTouch they're not the most accurate things so I'm not worrying about it.

However, if I heat the nozzle (200 °C) and bed (60 °C):

Bilinear Leveling Grid:
0      1      2
0 +0.537 +0.252 +0.022
1 +0.057 -0.002 -0.050
2 +0.200 +0.075 -0.087
Bilinear Leveling Grid:
0      1      2
0 +0.495 +0.203 -0.030
1 +0.020 -0.027 -0.097
2 +0.150 +0.027 -0.127
Bilinear Leveling Grid:
0      1      2
0 +0.462 +0.180 -0.067
1 -0.002 -0.072 -0.150
2 +0.122 -0.010 -0.170
Bilinear Leveling Grid:
0      1      2
0 +0.422 +0.132 -0.105
1 -0.057 -0.140 -0.192
2 +0.075 -0.043 -0.215
Bilinear Leveling Grid:
0      1      2
0 +0.367 +0.082 -0.165
1 -0.110 -0.155 -0.233
2 +0.030 -0.102 -0.255
Bilinear Leveling Grid:
0      1      2
0 +0.347 +0.045 -0.190
1 -0.135 -0.180 -0.250
2 +0.002 -0.127 -0.280
Bilinear Leveling Grid:
0      1      2
0 +0.322 +0.032 -0.215
1 -0.155 -0.230 -0.280
2 -0.020 -0.142 -0.315


As you can see the variations in the measurements are very high. This must be a known issue because Marlin does have a PROBING_HEATERS_OFF option but this would take even more time and I'm just curious if there is a reason for this or another fix to it. I don't believe it would be a current issue since the power supply used can deliver many amps so it's probably something like electrical noise. I think it's fine to leave it because you only home and probe once during a print so the measurements would be 'accurate' but it would be reassuring to find out a reason and a possible fix.

I measured the rail with my oscilloscope and it actually isn't very noisy, whether I was heating or not. However, Vmax was 4.6 and Vmin was 4.4 and I'm wondering if that is too low. These voltages didn't change while heating so I think they are always that low.

Edit

For completeness, here an image of the printer:

and here graphs about the BLtouch data over time:

• sometimes i have to re-level once the bed heats up, i assumed it was the metal expanding. Sep 21 '20 at 2:30

It looks like the changes are always going in the same direction for a given probe point (each point increases steadily or decreases steadily, there is no oscillation).

This means that the bed is not warm yet and you should wait longer.

In theory the heating of the BLtouch itself may affect the readings, and the air surely gets progressively warmer around it, but since some values increase and other ones decrease, that's not the cause.

The values change because the bed is still adapting to the temperature increase.

For a more systematic and scientific approach, do the following.

With the bed cold, heating off, probe a single point 10 times without any delay, then put the data in a spreadsheet and calculate the standard deviation, to know how accurate the sensor is.

After that probe the whole bed every 5 minutes during heating for half an hour and then plot the values on a graph (each point separately). At a certain point you will see that the values will oscillate about as much as they did when the bed was cold. That is the time you need to wait for proper bee heating. Different parts of the bed may reach the temperature in different times, that's why each probed point has to be graphed separately over time.

If you use an enclosure, as you do, the continuous change of BLtouch output can also be dependent on the overall heating of the printer frame and structure: instead of heating only the bed, in an environment which stays the same, you are heating the whole environment through the bed. It becomes more complex. The BLtouch may be fine, but you may need to keep heating it until the readings stabilise.

• I can see that being the case. Probing itself takes adds a fair bit of time and I have to wait for it to fully heat up (with a thicker glass bed as well) it's gonna take a while. is there anything wrong with just probing anyway, even if they change slightly? Sep 23 '20 at 14:51
• Well I'm confused... do you use BLtouch to get an accurate bed calibration or for the fun of it? if you want an accurate bed calibration "just probing anyway, even if they change slightly" seems pointless.
– FarO
Sep 23 '20 at 20:56
• No, of course not but I also don't want to wait 20 minutes for everything to fully heat up and probe. I'm pretty certain I'd already left it for quite a while because I do other things while it heats and usually get distracted. I can speed it up a bit by heating both nozzle and bed at the same time but it's not anything groundbreaking. Sep 24 '20 at 15:23
• Just probe every 5 minutes and see when it stops changing. Then you'll know for the future.
– FarO
Sep 24 '20 at 16:56
• I haven't yet done that (will right now) but I have left the bed to heat up for at least half an hour. In the probes I get a variation of about +-0.010 to +-0.040 but it doesn't just keep increasing which is good. Sep 25 '20 at 9:25