M558: Set MINIMUM Probing Numbers?



  • Hi,

    I probe my bed with BLTouch. Often I spotted a variation in different points and go to theese one and probed them 10 times with a little macro like this:

    M401
    G30 P0 X10 Y175 Z-9999
    G30 P1 X10 Y175 Z-9999
    G30 P2 X10 Y175 Z-9999
    G30 P3 X10 Y175 Z-9999
    G30 P4 X10 Y175 Z-9999
    G30 P5 X10 Y175 Z-9999
    G30 P6 X10 Y175 Z-9999
    G30 P7 X10 Y175 Z-9999
    G30 P8 X10 Y175 Z-9999
    G30 P9 X10 Y175 Z-9999 S-1
    M402
    

    Then I sometimes got results like this:
    0.017, 0.016, 0.003, 0.002, 0.003, 0.005, 0.004, 0.003, 0.002, 0.004

    In such a case I would say the 0.00x value would be the "more real" one. Setting the A-parameter with S0.01 would not "detect" this deviation, because it gots two times a "realiable" value...

    So the question is, if it is possible to set an additional paramter for minimum probing number each point? And if the deviation to mean is greater than a given number it aborts?

    This would be a nice feature!
    Thank you


  • Moderator

    @tom_Nbg You may be probing too fast, so it's inaccurate, or not lifting Z high enough between each probe event, so the BLTouch doesn't have time to settle between probes, or your trigger value is set too high; I think it's recommended to set G31 P25 now, rather than P500. How is the probe setup in config.g?

    I'm not sure exactly how the 'S' parameter in M558 works. It may be +/- 0.01 from the average of all the points, or 0.01 from highest to lowest (though this should have triggered an error in your example). Try S0.005.

    But realistically, you're getting pretty good, sub-0.01mm accuracy!

    Ian



  • @droftarts
    Hi,
    Thank you for your reply - all this I've allready done...
    Here ist my config line:

    ; Z-Probe
    M307 H3 A-1 C-1 D-1                              ; disable heater3 on PWM channel for BLTouch. Pin-Out 8!!
    M558 P9 H5 R0.5 S0.05 F180 T7200 A4              ; set Z probe type to bltouch and the dive height + speeds
    G31 P25 X-23.5 Y-36.0 Z2.51                      ; set Z probe trigger value, offset x=-36.0, y=-23.5 
    M557 X5:230 Y15:175 P5:5						 ; define mesh grid 
    

    I'm getting crazy - all the time I got a well leveld bed (with viewer) but the print overall are not consistent to it....


  • Moderator

    @tom_Nbg said in M558: Set MINIMUM Probing Numbers?:

    ; Z-Probe
    M307 H3 A-1 C-1 D-1                              ; disable heater3 on PWM channel for BLTouch. Pin-Out 8!!
    M558 P9 H5 R0.5 S0.05 F180 T7200 A4              ; set Z probe type to bltouch and the dive height + speeds
    G31 P25 X-23.5 Y-36.0 Z2.51                      ; set Z probe trigger value, offset x=-36.0, y=-23.5 
    M557 X5:230 Y15:175 P5:5						 ; define mesh grid 
    

    Maybe you're going a bit fast. Try F100 T2000. H5 is fine.

    all the time I got a well leveld bed (with viewer) but the print overall are not consistent to it....

    Do you use G32/bed.g as well, or any other macros for levelling? Make sure you cancel any existing compensation (especially if you load a mesh in config.g) with M561 before running G32/bed.g, then create a new mesh. Post bed.g if you're not sure.

    Also, I note your BLTouch has quite an offset to it, especially in Y. If you're using a printer with vertical smooth rods for X axis and a direct-drive extruder, the weight of the extruder will make the bars bend, and as the BLTouch is out the front, it will move further vertically than the nozzle. You'll probably see a tubular shaped bed.

    Ian


  • Moderator

    Here's my BLTouch config for comparison.

    M558 P9 H3 F60 T6000 A10 R0.75 S0.003 B1
    G31 X-43.2 Y31.9 Z2.0 P25
    

    Note the lower probe speed, higher A value, and tighter tolerance for the S value. Also disabled heaters.



  • @Phaedrux
    Thank you for your recommondations. But my problem still exists....
    I'll report later - I'm frustrated ... 😕



  • @Phaedrux

    A short question to B1 Parameter: I got better results now - so it seems to be an interference -
    BUT -
    when probing many points, the bed is cooling down because the re-heating times during movements are too short...(even is the probing speed is slowly in addition). If it is possible to give an additional parameter to wait for bed temperature before the next probing point will start (or set a delta_T-value if deviation from the actual bed temp is more then delta_T it'll wait? Would be a nice feature?


  • Moderator

    What kind of bed do you have? Curious both to know what might cause the interference and how it's cooling down so fast during probing.

    Having a way to wait for temps could be useful. Perhaps make a request in the firmware wishlist section.



  • @Phaedrux
    My printer is a "Prusa-like" style machine (see picture), no enclosure and so it has a "open" bed. If I heat up to 60°C and BLTouch probes so slowly, the bed is turned of and with only 5x5 mesh points the last point is measured at about 45°C...

    But my biggest problem is allready unsolved - I'll make a seperate post for it within the next 30 min...

    IMG_1213.jpg


  • Moderator

    @tom_Nbg said in M558: Set MINIMUM Probing Numbers?:

    BLTouch probes so slowly,

    Ah I see, so you're print head is normally at the Zmax position and the slow probe speed is taking a long time to reach the bed and the bed has cooled before it arrives?

    Here's a trick that will help with that. You can modify the homeall/homez to have a faster probe speed first, followed by a slower probe speed. That way it will move quickly down to the bed, trigger once, and then probe again more slowly for better accuracy. For a G29 run it won't matter as much because it's already close to the bed.

    Where you would have the G30 to probe the bed...

    M558 A1 F600			; Set single probing at faster feed rate
    G30 				; Do a single probe to home our Z axis
    M558 A10 F100			; Set multi probing at slower feed rate
    G30				; Probe again to get a more accurate position
    


  • No - not from the head. I have two spacer in about 20mm hight I put to the z-motors and screw it down to there and start probing then. It starts probing after homing with 60° as it should and then slowly loose temp over the points.



  • @Phaedrux said in M558: Set MINIMUM Probing Numbers?:

    @tom_Nbg said in M558: Set MINIMUM Probing Numbers?:

    BLTouch probes so slowly,

    Ah I see, so you're print head is normally at the Zmax position and the slow probe speed is taking a long time to reach the bed and the bed has cooled before it arrives?

    Here's a trick that will help with that. You can modify the homeall/homez to have a faster probe speed first, followed by a slower probe speed. That way it will move quickly down to the bed, trigger once, and then probe again more slowly for better accuracy. For a G29 run it won't matter as much because it's already close to the bed.

    Where you would have the G30 to probe the bed...

    M558 A1 F600			; Set single probing at faster feed rate
    G30 				; Do a single probe to home our Z axis
    M558 A10 F100			; Set multi probing at slower feed rate
    G30				; Probe again to get a more accurate position
    

    G30 is in homez:

    G90                   ; absolute positioning
    G1 X151 Y141 F3600    ; Move probe to middle of bed - first probing point, regarding Z-probe offsets
    G30                   ; home Z by probing the bed
    

  • Moderator

    Ok, so you're manually mechanically leveling the X axis first and then running G29, and it's during G29 that it's cooling?

    I suppose it's the large DC heat bed that's producing a magnetic field to interfere with the BLTouch.

    You could increase the R value in M558 to add a bit of a pause between probing moves. That may allow the heatbed to maintain temp a bit better, but would add a few seconds to each probe move.


Log in to reply