Way to save a variable? Averages?



  • So stuff is setup, there's a sequence to set bltouch height via trigger height.
    Is there a way I can capture the commands output, store in a variable and/or compute the average of several attempts, then turn around and send the commands with variable/average to final set trigger height?



  • @kungpaoshizi not currently. I have a macro that runs it 10 times. Then I manually add them into my excel sheet and get the median and average.



  • Am I understanding it correctly though that adjusting the trigger height is the way to adjust z height, after originally setting z height? I know the g92 z0 does, but the process is kinda lengthy doin that, then the S-1 etc. I saw a S-3 command and an output of uhhh like p500 iirc to automate setting, but it had a lot of heater spam?



  • @kungpaoshizi said in Way to save a variable? Averages?:

    Am I understanding it correctly though that adjusting the trigger height is the way to adjust z height.......................,

    Well not exactly. The trigger height is the point at which the probe triggers in relation to Z=0. To home Z, we need to find the point where the nozzle just touches the bed. As the bed and hot end converge, the probe will trigger just before the nozzle touches the bed. (We can't have a probe that triggers after the nozzle touches the bed unless the nozzle is free to move in Z, because something would get bent or broken). So the Z offset is the distance between when the probe triggers, and when the nozzle just touches the bed (Z=0). Or to put it another way, if the offset (or trigger height) was say 1.5mm, then what we are "telling" the firmware is that Z=0 is 1.5mm after the probe triggers. So when you home Z, the probe triggers. At this point the nozzle is 1.5mm away from the bed and the firmware "knows" this (because that's the trigger height that we have "told" it). So if you then started a print with say 0.3 mm layer height, the firmware will move the Z axis by 1.2mm (1.5 mm offset less 0.3mm for the first layer height) to get te nozzle 0.3mm above the bed.

    Does that help?



  • Kinda, but then after that point is what I'm saying. After officially declaring Z=0, wouldn't it be easiest to just adjust Trigger Height + or - a smidge, thus "moving" z=0?
    Just trying to save a bit of time but also not have to redo the entire process top to bottom if I move my bed screws more than just a corner or 2 to align the mesh map.

    I was hoping I could run this macro, and then take the averages from console log and plug it in. This is one section, but you would just adjust the XY to a different area of the bed to take a sample there.

    G1 Z10 F400;move to high z
    G1 X20 F8500 ;move to x
    G1 Y30 F8500 ;move to y
    M401; deploy trigger
    G30 S-1; drop bltouch to get trigger height

    M280 P3 S160 I1 ; Reset BLTouch from Alarm

    G1 Z10 F400;move to high z



  • Your probe trigger height is the difference in Z from where the probe triggers to the tip of the nozzle. Manually adjusting bed leveling screws should not affect the probe offset value.

    If you notice that a single probe offset value does not result in accurate bed map readings in different areas, it is more likely you have a mechanical problem such as tilt on the end effector (due to misaligned rods, etc.)

    For example, if you re-level your bed and it's slightly higher in one corner, the probe should trigger slightly higher, because it's measuring the actual bed plane. So the offset value should not be adjusted.

    You can adjust the probe offset for other reasons though. For example, if you always have to babystep down 0.1mm to get a good first layer, the probe offset should be adjusted by 0.1 so the next height map you generate will be aligned properly with the bed. But this value is what the G30 S-1 command is for.

    The 'standard' way to find the probe trigger height is like so:

    • Touch off nozzle on bed to find 'true' Z=0
    • Send G92 Z0 (thanks david)
    • Raise Z up 5mm or so
    • Run G30 S-1
    • System will read out probe offset value which is the Z space between the trigger height and tip of nozzle.

    If we repeat this process in other areas we would have to also repeat the manual touch off to get good results and a good average value. We can't automate this because we would need a way to ensure the nozzle touched off on the bed before we did the G30 S-1, and there is no way to do this without having an accurate probe offset in the first place. So it seems to be a bootstrapping problem.

    I may be misunderstanding what you are trying to do though.


  • administrators

    @nhof said in Way to save a variable? Averages?:

    The 'standard' way to find the probe trigger height is like so:

    Touch off nozzle on bed to find 'true' Z=0
    Raise Z up 5mm or so
    Run G30 S-1
    System will read out probe offset value which is the Z space between the trigger height and tip of nozzle.

    After the first step, you need to send G92 Z0 in order to define that position as Z=0.



  • @dc42 I'm trying to find it, but I want to say I came across a post that allowed for probing the bed to get trigger height and then it applies the trigger height variables to the setting in config.g?

    I'm looking for a way to automatically apply the average of probe trigger height, taken from multiple points on the bed, to the setting in config.g.



  • @kungpaoshizi said in Way to save a variable? Averages?:

    I'm looking for a way to automatically apply the average of probe trigger height, taken from multiple points on the bed, to the setting in config.g.

    Why not just use a mesh compensation so that the actual height of the bed is corrected for rather than an average of the whole bed?



  • @phaedrux Can you set the number of probes and locations of the mesh bed? I guess that would achieve the same thing.




 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.