Need to lower the nozzle
-
Do you have to to M501 at the end of the config.g. Ahhh just read the code in your macro
-
Thanks. I am not up to speed with the newfangled programming stuff so I was not sure.
-
@jens55 No worries, I'm still getting up to speed too.
-
@jens55 said in Need to lower the nozzle:
Also, my config.g specifies an offset of +3.75. When I test run the macro with a babystep value of -0.05 I end up with a total offset of +3.80 which seems odd (I was expecting +3.70) ... but then this could be because of my general confusion about adding or subtracting babysteps.
A larger Z trigger height moves the nozzle closer to the bed.
A negative baby step offset value moves the nozzle closer to the bed.
The Z trigger height tells the firmware what the Z position is when the Z probe
triggers.As to adding/subtracting:
If the trigger height is 5mm then to move to Z=0 the firmware has to move the nozzle 5mm closer to the bed.
If the trigger height is 10mm then to move to Z=0 the firmware has to move the nozzle 10mm closer to the bed.
So for a given trigger height if the nozzle at Z=0 is too far away from the bed the trigger height needs to be made larger to have the nozzle move closer to the bed.
Frederick
-
ROFL .... do you realize that you just short-circuited my brain?
Give me a few minutes to re-boot and I will be operational again.
I knew I shouldn't have asked .....I am not in front of the printer but I will try things 'live' tomorrow to see if I can understand it
-
Hi,
OK how about this.
If the Z trigger height is set to 5mm but the Z position when the probe triggers is actually 6mm (because the trigger height value is wrong) when the firmware moves the 5mm to what it thinks is Z=0 the actual position will be Z=1.
Frederick
-
Thanks for trying but the only way this will sink in is if I do it myself directly on the printer!
-
@jens55 How about this: What the probe trigger height is doing, is telling the system how far away from the bed it detects contact. So if I'm blind folded and have a stick that is 1 meter long, and touch the wall infront of me with it - I know I can move an additional meter towards the wall and not smash my face, but just have my nose touch it.
But if someone TOLD me my stick is 1.5 meter long, but in reality it is still a 1 meter long stick - I'd smash my face because I'd walk towards the wall an addition 1.5 meters from sensing the contact @ 1 meter. -
The penny dropped, the light went on and things make sense.
Thank you kindly for all the help to get things through my thick scull! -
-
Well that clears that up. lol thanks for the info and the macro.
-
@Kolbi said in Need to lower the nozzle:
it made my brain mushy and I had to get a drink.
Perhaps that is why you are walking into walls?
Frederick
-
The math (or logic) in my original posted macro was incorrect.
The baby-stepping value should be subtracted from the trigger height, not added.
Macro shown above is correct.
I should have stated that I had not tested it as I personally see no value in working this way.
It was hastily done just to show the OP that it could be done.
I have corrected the original post. -
I am really glad to know that confusion about these measurements is not a rare phenomenon
-
I found the blog post at https://www.sublimelayers.com/2017/05/fdffsd.html?m=1 helpful when I was learning what trigger height means and how it changes.
He posts still in some of the Delta communities and the visuals really help one understand. With the FSR and Smart Effector style probes the understanding is key and confusing with all the negative values.
-
BIG issue with the macro.
Not sure what happened but somehow or other my z offset got set to z 395.xx with the obvious " Let's see if we can run the nozzle to China".
Thankfully nothing broke.
I haven't figured out as everything seems to run just fine if you run the macro just once. I did run into another issue though:
If you run the macro multiple times without changing the babysteps, it will merely add onto the previous saved value of the z offset. The macro needs to reset the babysteps to zero before it exits. -
OwenD, in another thread, mentioned to use
M290 R0 S0 ; clear babystepping
But there seems some concern about this working..... I will try it out.
-
This is the new and improved macro:
Note that there are two changes - the line that clears the babysteps but also line 9 which introduced an error in the echoed text for Z offset.
How can I get a nice text box like the previous posters ?
-
Hi,
You use the </> tag.
Frederick
; 0:/macros/Save-Z ; This macro adds the current babystep offset to the Z trigger height and saves it to config-overide.g ; ! M501 needs to be in config.g to automatically be recalled on reset. If using multiple filament settings, ; and this is for a specific filament type, recommend placing this yielded information in the filament's config.g. if move.axes[2].babystep !=0 ; If no babysteps are currently adjusted - exit routine echo {"OLD: " ^ sensors.probes[0].triggerHeight ^ " NEW: " ^ sensors.probes[0].triggerHeight + (move.axes[2].babystep * -1)} G31 Z{sensors.probes[0].triggerHeight - move.axes[2].babystep} echo {"Place either M501 -or- G31 Z" ^ sensors.probes[0].triggerHeight^ " in your config.g"} M500 P10:31 ; save settings to config-overide.g - G31 P31 saves trigger height, ; trigger value, and X and Y offsets for each possible Z probe type ; P10 parameter saves the G10 tool offsets. M290 R0 S0 ; clear babystepping else echo "Baby stepping is not currently employed, exiting."
-
; 0:/macros/Save-Z ; This macro adds the current babystep offset to the Z trigger height and saves it to config-overide.g ; ! M501 needs to be in config.g to automatically be recalled on reset. If using multiple filament settings, ; and this is for a specific filament type, recommend placing this yielded information in the filament's config.g. if move.axes[2].babystep !=0 ; If no babysteps are currently adjusted - exit routine echo {"OLD: " ^ sensors.probes[0].triggerHeight ^ " NEW: " ^ sensors.probes[0].triggerHeight + (move.axes[2].babystep * -1)} G31 Z{sensors.probes[0].triggerHeight - move.axes[2].babystep} echo {"Place either M501 -or- G31 Z" ^ sensors.probes[0].triggerHeight^ " in your config.g"} M500 P10:31 ; save settings to config-overide.g - G31 P31 saves trigger height, ; trigger value, and X and Y offsets for each possible Z probe type ; P10 parameter saves the G10 tool offsets. M290 R0 S0 ; clear babystepping else echo "Baby stepping is not currently employed, exiting."