Improvement to M558 (Bed Temperature Threshold)



  • Hello, I wann to suggest a solution to a problem im seeing.

    The issues comes up with using the BLTouch (or similar) Probes. The M558 B option was added because the bed-heating will cause interference with the BLTouch sensor, so while probing the Heater has to be turned off.

    This is just adding cause another issue, while probing many points or a large grid, the bed temperature might drop 15 degree or more while probing, depending on your environment.

    Im suggesting to add a "Temperature Threshold" to the M558. This threshold will define how much the bed temperature can drop before probing will be pause, the bed heated again and once the "default" temperature is reached the probing will continue.

    Example: Bed Temperature target ist 60°C and the threshold is set to 5°C. Once you start probing the heater will be off. Once the temperature reached 54.9° the probing will stop at the current/next probe spot, the bed will be re-heated to 60°C and the heating will be turned of (as defined with B1). After that, probing will continue till the threshold iss hit again. This can be an unlimited number of pauses, smaller thresholds will cause more frequent re-heatings and therefore a longer probing in general. but should deliver better probing results.

    Of course, this new parameter only makes sense with M558 B1.



  • @Nightreaver

    I have two printers with BLTouch units.

    The beds are heated using line voltage Keenovo heaters controlled with SSRs.

    I have no problems using the probes while the beds are heated.

    What problems are you encountering?

    Thanks.

    Frederick



  • @Nightreaver
    If there is a problem with BLtouch and bed heating, why not only switch off the heater the_very_moment when the probe is lowered? (or bed raised)
    That way you wont even notice a temp-drop.



  • It was a Github issue - https://github.com/Duet3D/RepRapFirmware/issues/157

    I did the testing for myself with 12V heater, and the result is the same to me, the measurement are getting really weird.

    Thats why I suggested this option. IDK if Duet is capable of turning off the heater just while actual probinghappenss, but that would be another option. I guess only @dc42 will know.



  • @Nightreaver said in Improvement to M558 (Bed Temperature Threshold):

    It was a Github issue - https://github.com/Duet3D/RepRapFirmware/issues/157

    I did the testing for myself with 12V heater, and the result is the same to me, the measurement are getting really weird.

    Thats why I suggested this option. IDK if Duet is capable of turning off the heater just while actual probinghappenss, but that would be another option. I guess only @dc42 will know.

    Does your BLTouch have a metal pin?

    Are you using "bang-bang" mode for your bed heater?

    Thanks.

    Frederick



  • Depending on the number of probe points, how far away from each other they are, the travel/probe speeds in M558, dive height, and the power of your bed heater, the bed CAN cool down quite a bit while probing.

    From observing my bed heater (which has a little red LED when it's powered), I can say that B1 parameter leaves the bed heater turned ON while traveling between probe points, but turns it off when the probe "dive" starts until the probe is triggered and the probe/bed returns to the dive height.

    If you find your bed is cooling off too much due to a large number of probe points, you can lower the travel speed between probing points (T parameter of M558) so the heater is on for longer periods of time between each point.


  • administrators

    @o_lampe said in Improvement to M558 (Bed Temperature Threshold):

    If there is a problem with BLtouch and bed heating, why not only switch off the heater the_very_moment when the probe is lowered? (or bed raised)

    That's already what happens.

    You could reduce the ratio of travel speed to probing speed in M558 command, to increase the bed on/bed off time ratio.

    EDIT: @garyd said it first.



  • To me that is not self explanatory, thus I suggested.
    Traveling slower will make it re-heat ?! I can try... which T value are you using then ?

    This is my current config

    M558 P9 F100 H6 R0.4 T4000 A30 B1
    G31 X2 Y57 Z2.15 
    M557 X30:300 Y60:270 P9:7
    


  • @Nightreaver said in Improvement to M558 (Bed Temperature Threshold):

    To me that is not self explanatory, thus I suggested.
    Traveling slower will make it re-heat ?! I can try... which T value are you using then ?

    This is my current config

    M558 P9 F100 H6 R0.4 T4000 A30 B1
    G31 X2 Y57 Z2.15 
    M557 X30:300 Y60:270 P9:7
    

    Traveling slower will give it more time to heat. Imagine a sequence of 3 probing points:

    heater on
    move to probe point 1
    heater off
    dive to probe
    heater on
    move to probe point 2
    heater off
    dive to probe
    heater on
    move to probe point 3
    heater off
    drive to probe
    heater on.

    The only time that the bed is cooling off is during the "dive to probe." Moving moving between probe points, the heater should be on. If you cause the movements between the probe points to take longer, then the bed has more time to reheat.

    The specific parameter being referenced is the "T" parameter in M558. If you change that from 4000 to 2000, it gives the bed twice as much time between each probe to reheat (at the expense of the overall probing procedure taking longer.)

    Another possibility is to raise the probing speed (F parameter of M558.) This is the speed of the "dive to probe" action. This would result in the heater being off for less time. However, most probe types wouldn't be tolerant of this value being changed much, so I would NOT suggest changing it.


  • Moderator

    @Nightreaver said in Improvement to M558 (Bed Temperature Threshold):

    H6

    6mm is quite high dive height for the BLtouch. Reducing the dive height to be just above the trigger height would reduce the amount of time spent probing and the heater will be off for less time. Try H3.


Log in to reply