Beacon probe Z-offset is consistently too far from build plate

I've ran into this issue while installing and recommissioning my 500 V-core 3.0 with a new Toolhead V1.0 assembly. Every print starts the first layer too fat from the build surface (textured PEI sheet). I will baby step the print in to a good layer height and save it with "SAVE_Z_OFFSET" via console as per the RatRig Beacon documentation. I'll get a confirmation in console of the new thermal expansion compensation multiplier being saved, and entering SAVE_CONFIG once the print is done. I have no idea if the response I am getting of "The new multiplier value has been saved to the configuration" is correct or not. It doesn't exactly sounds like the correct response for a manual Z offset adjustment On the very next print the first layer will be nearly exactly as where it started on the first print pre-baby stepping. It's as if RatOS is overwritting the old Z-offset at the start of each print. My current understanding is that manually entered adjustments should be saved. I should note that at the start of each print I get a very consistent "Nozzle expansion offset" of -0.043281mm just before the printer starts printing, regarldess if I babystepped the previous print or not. What I would like help with is: -Where and what should I be looking for to verify if RatOS is overwriting these manual adjustment values -Is there a more correct way of saving the baby step offsets Thanks!
14 Replies
Mat
MatOP4d ago
I've made some interesting finds after some ad hoc testing tonight. It appears that the variable controlling z-offset for the beacon model is "model_offset =" under [beacon model] and using SAVE_Z_OFFSET as stated by the RatOS docs is incorrect and doesnt update the beacon model offset. The correct command to use is Z_OFFSET_APPLY_PROBE as stated in the docs from Beacon3d. Coincidentally, this is what the "SAVE" button does in the toolhead babystepping window, the button the RatOS docs specifically tell you not to use for Beacon. My guess is that those docs were written in a time when the Beacon integration wasn't fully complete and then not updated later? Don't know, maybe someone else can confirm my findings. Next discovery was with the values that were saved using "Z_OFFSET_APPLY_PROBE". I had to adjust the nozzle to be about 0.100mm closer to the print bed to get a good first layer. This resulted in a model_offset of 0.100 being saved. Started the next print and the nozzle was even further away than before. Stopped the print and on a whim manually set the model_offset to -0.1mm. This brought the nozzle to nearly the same spot I had it on the print prior. Made a few babysteps to get back to perfect which was another 0.03mm closer to the print bed. Used Z_OFFSET_APPLY_PROBE to save the value and restarted the printer. Except now the model_offset was set to 0.0300mm. It looks like I may have found a bug. Of course this resulted in a first layer too far from the print bed. So I stopped that print, went in and manually set model_offset to -0.130mm and started a new print. The first layer was perfect. So: -It appears the correct command to save beacon offset values is Z_OFFSET_APPLY_PROBE BUT any values saved using this method will be in the incorrect sign -Using babysteps to dial in the nozzle a second time after setting model_offset will result in that value being overwritten with the sum of your current print's microsteps adjustments This has me thinking now, if a basic error like this exist for simple adjustments, could there be the same mistake in regards to the nozzle thermal expansion compensation or one of the other calibrations the RatOS macros handles for us? I think my next step is to do a few more first layer pritns to really quantify any variance in repeatability of the first layer offset accuracy and then create a beacon model using the procedure outlined on the Beacon3d offical docs to see if I get different results
Aidan
Aidan4d ago
I'm interested to see what you find. I have been fighting a bit with Idex z-offset applying an offset way to high for the T1 despite the idex_z_offset being tiny
blacksmithforlife
@miklschmidt
NULL
NULL3d ago
Read also into this if you do print with larger first layers times you also need to have the gantry expansion in mind https://discord.com/channels/582187371529764864/1360247935496884265
Aidan
Aidan3d ago
Yeah, I've been soaking extensively and the layer is consistent thankfully Will be buying a Ti tube when there are some in stock
NULL
NULL3d ago
i think they are back in stock now
Aidan
Aidan3d ago
Thank you for the heads up. Toro said later, but I guess they came in early
Mat
MatOP3d ago
I will read through this thread. Right now all of my first layer test prints have been ~5 minutes. Once I start getting consistent results at the start of a print ill bump it up to plate size first layers to see where im at. Further testing notes from today: My problem now is variance in first layer hieght now that I've been setting model_offset. Recreating a beacon model from scratch using the Beacon3d docs yielded very similar results to RatOS's calibration. The variance I am experiencing now is enough to take a dialed in first layer to over-squish ribboning or visible gaps in lines in subsequent prints. I set variable_beacon_contact_expansion_compensation to False to see if this was causing any additional variances. This did not seem to have any noticeable impact on layer consistency. I did notice on my lasty few test prints today that the Z-offset in the toolhead window is being set to strange values during the start print process. Sometimes its 0.0, sometimes its 0.3, other times its somewhere in-between. But none of these values are the model_offset value. I have no idea where or how this number is being calculated, maybe in the auto-contact calibration does in the pre-print process. But I believe this to be the leading cause of my variance issues now. The large variance in this number, typically +/- 0.15mm, is about the amount I need to correct back to a good layer height. I am going to order a SuperPINDA and compare results when that comes in to see if I have something else going on or if is Beacon related
miklschmidt
miklschmidt3d ago
You're confusing multiple thing. There's a few layers on top of the beacon code in RatOS. You need to use SAVE_Z_OFFSET, since RatOS adds nozzle expansion compensation on top. Klipper has no way to specify multiple offsets, it's all done with a single runtime variable, and thus if you want to save the z offset to the model, RatOS has to subtract the nozzle expansion compensation layer first or it would accumulate as your z offset over time. Follow the RatOS documentation. That said, model offset is absolutely useless if you use true zero. As in, it doesn't do anything. The model offset is for proximity scans not contact. All of this is changing in the next release btw, because people keep being confused (for good reason). There are huge variations caused by mechanical changes btw, don't trust your measurements unless you've isolated all of the 5+ factors involved here.
blacksmithforlife
Rat-OS 3.0!
Aidan
Aidan3d ago
Yeah, I can understand why. I posted about it in the Idex chat, but I'm having issues getting my T1 offset to be correct. I followed the instructions on the docs website, but my T1 offset is too large. Here are the steps I did. Calibrated idex_z_offset using VAOC Calibrated thermal expansion using VAOC Soaked bed for 1hr with X axis in center of bed Began a print for a single layer with T0, slowly stepping to find that 0.050 is the best After the print was finished, the z-offset values were reset, so I moved it to 0.050 again Used the command "SAVE_Z_OFFSET" as stated in the docs After this process I did a test print with T1. Soaked for an hour, single layer print. Whatever math it does it came out to 0.092, and the print that comes out is clearly too far from the bed. Is there something I have missed?
idex_zoffset = -0.011875000002482317
nozzle_expansion_applied_offset = 0
nozzle_expansion_coefficient_multiplier = 0.627319816534222
nozzle_expansion_coefficient_t0 = 0.11312499998732406
nozzle_expansion_coefficient_t1 = 0.10437499998179778
idex_zoffset = -0.011875000002482317
nozzle_expansion_applied_offset = 0
nozzle_expansion_coefficient_multiplier = 0.627319816534222
nozzle_expansion_coefficient_t0 = 0.11312499998732406
nozzle_expansion_coefficient_t1 = 0.10437499998179778
miklschmidt
miklschmidt3d ago
Yes, you need to run SAVE_Z_OFFSET after you've finetuned for the first layer as it's dependent on nozzle temperature. But T1 offset has nothing to do with beacon. that's relative to T0 and is found via a button. If you have problems with that it's mechanical (ie loose nozzle / hotend etc)
Aidan
Aidan3d ago
I am certain that my nozzle and hotend are not loose. I have redone the idex z offset multiple times after making absolutely certain both nozzles are clean and nothing changes.
NULL
NULL3d ago
Even this can result is heat expansion on the gantry

Did you find this page helpful?