Trouble obtianing proper Z=0 bed ht with Smart Effector
-
Hello,
Long time user, first time posting for help. Duet2 Wifi since 2016 and Duet3 Wifi since 2021. I have been so pleased in just about every way, and never had a single issue that I couldn't resolve on my own until this week.
I have just replaced my previous effector design with the Smart Effector. I'm having an issue probing and setting the Z=0 height. The SE appears to be working correctly. Probing seems to be triggered very accurately and consistently. However, no matter what I have done, my probe makes contact with the bed when I move to Z0. I have followed this guide https://www.sublimelayers.com/2017/05/fdffsd.html for years, and it's always worked when setting up my other printers, and this specific printer before changing from FSR bed sensors to the SE.
Here is an exact description of the problem:
I perform G32 Delta Calibration 2 times then M500 and restart.
I move the nozzle to z=1 and then manually lower the nozzle onto a sheet of thin loose-leaf paper. I make contact with the paper at Z=0.75mmI follow the setup procedure https://docs.duet3d.com/User_manual/Tuning/Delta_calibration "Measuring the trigger height"
The usual result after step 8 in that guide is consistently around 0.05
I have changed the value in G31 command in the config.g and also in bed.g to 0.05
I restart, re-home, redo G32 calibration and then test again.
The result is that the nozzle touches the bed around Z=0.75.
I've tried to manually change the values in the G32 command to +0.7 and also -0.7 to just see if this will have any noticeable effect. No matter what I change it to, and redo the above calibration steps, I still end up with the nozzle contacting the bed at around 0.75mm.To experiment further, I messed around with the G32 probing speeds and G31 probe sensitivity settings, but was unable to find any noticeable improvement or any change in outcome.
The ONLY successful workaround was to change the printer height M665 command in the config.g file and then disable the use of the config-override.g file. However, I've been using this printer for 6 years, and I've never once had any difficulty getting calibration to be perfect. I'm at a loss.
Here are the relevant details you may need:
Delta Home Built design based in UtilBots 250
Smart Effector v4.0
Duet 2 WiFi (2WiFi) with PanelDue
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.6 (2023-07-21)
Duet WiFi Server Version: 1.27
Duet Web Control 3.3.0Current Config, Config-override and Bed.g files
config.g config-override.g Bed.g
Thank you in advance for any assistance you can provide. I realize time is valuable, and I appreciate any time dedicated to pointing me in the right direction.
-
@ToolAA after homing the printer, the Z=0 position is determined by the H parameter of the M665 command that is in effect. If you run auto calibration, the M665 parameters get adjusted. So after auto cal is run the Z=0 position should be correct, if you have the correct probe trigger height set. For the Smart Effector it is normally about minus 0.1mm.
-
@ToolAA said in Trouble obtianing proper Z=0 bed ht with Smart Effector:
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.6 (2023-07-21)
Duet WiFi Server Version: 1.27
Duet Web Control 3.3.0Couldn't help but notice your DWC version is out of sync with your firmware version.
You should upload the full release zip file to the system tab in DWC and check that DWC has updated afterwards.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.6/Duet2and3Firmware-3.4.6.zip
-
Thanks DC, I'm going to go back and start at the top. I had previously made copies of the Z height and then ran auto cal. It changes ever so slightly. Never more than 0.15mm so I assumed after the CAL it was correct. I'll report back after playing around with it a little more.
-
@Phaedrux
Thanks. That's odd, because I downloaded and installed the same file last week when I started to install the new Smart Effector. I didn't even notice that it had not updated with the firmware. -
OK, I followed https://docs.duet3d.com/en/How_to_guides/Calibration to the letter the "Measuring the trigger height" section down.
Here is a copy of my M665 settings written to the config-overide.g before and after following that procedure. For some reason, after all of this, I'm still getting Z=0.7 after the procedure.
Before
M665 L288.150:288.150:288.150 R165.194 H273.493 B120.0 X-0.051 Y-0.008 Z0.000
M666 X0.673 Y-0.698 Z0.025 A0.00 B0.00After
M665 L288.150:288.150:288.150 R165.247 H273.525 B120.0 X-0.150 Y0.074 Z0.000
M666 X0.596 Y-0.804 Z0.209 A0.00 B0.00I have two 1x2x3 ground machinist blocks. When I stack them, and measure the height with a micrometer, the physical height is 152.34mm. I then moved the probe to the bed with a sheet of loose-leaf paper on the surface and positioned the nozzle until it started to snag the paper. Then, I performed a G92 Z0. Next, I moved the nozzle height to Z=155 and placed the machinist blocks below the tip. Then I slowly lowered the nozzle to make contact with the same sheet of paper spaced on top of the blocks. The height of reading was Z=152.75. That's 0.41mm higher than it should be based on the actual size of the blocks. I repeated this a few times and the results were all around 0.39 to 0.42 difference.
OK, so follow my logic here. My end stops are positioned at roughly 273mm. I do not have the ability to accurately measure the real height of the nozzle at that position. However, that end stop height is 1.79x the physical height of my test blocks. When I multiply 0.41mm X 1.79, I get 0.73mm as the potential difference extrapolated to 273mm. That's very very close to the mysterious difference I'm seeing between the actual bed and the Z-height reading when I'm touching the bed which is 0.7mm.
SO, here is the leap. Is it possible that somehow my X,Y,Z tower steppers are very slightly off in terms of Steps/mm set in the config.g. It would be extremely strange, because like I mentioned in my OP, this printer has been running great since it was first commissioned in 2017, and upgraded to Duet2Wifi in 2017. When I changed to the Smart effector the rods are the same length, but their distance spacing is wider than my previous effector. I did also change the carriages to match, so I didnt think there could be an issue here, but I'm curious if you think there could be some relation.
How can I check and recalibrate the actual movement of the X,Y and Z, tower steppers?
-
@ToolAA said in Trouble obtianing proper Z=0 bed ht with Smart Effector:
SO, here is the leap. Is it possible that somehow my X,Y,Z tower steppers are very slightly off in terms of Steps/mm set in the config.g
Yes, it's possible. Your steps/mm will depend slightly on the belt tension. If you used steel core belts (bad idea) then the steel cores may have broken because the pulley radius is too small for them.
-
Positing another update - still unable to resolve.
I tried changing the motor steps slightly to see if it would correct the condition. I calculated that the difference in height of 0.7mm divided by the entire Z-Height was 0.00254. My current XYZ motor configuration is 800 steps/mm. I increased that by 0.254% which was about 2 steps/mm. The effect was a slight change in the absolute movement, as expected. When I want back and performed the G32 and reapplied the settings using M500. I did see that the total Z-Height had increased by 0.71mm. I'm thinking great. However, when I lowered the head back to my sheet of paper, just to the point of dragging, my Z-height was still at 0.7mm
I changed everything back to how it was prior, performed the calibration again, and I'm still back to where I was in the OP. When the head it's touching the bed, my Z-Height is 0.7mm
To continue testing, I performed G32 again, reapplied the settings using M500. This time, I manually edited the Config-override.g file and added exactly 0.7mm to the Z-height. Then I homed the printer, moved it to Z=0 and was perfectly aligned at the bed surface. I tested this in multiple X/Y positions on the bed, and it was great. I performed a small test print and no issues.
After this test, I disabled the G30 6-factor bed calibration functions from my Bed.g file, and I leave only the mesh calibration. My thought process is that somehow the G30 calibration which is overriding the Z-Height in the config-overide.g file is the problem. And, that maybe running only the Mesh calibration will yield a correct Z-height with the slight mesh adjustments needed.
I check and run manually my G31 settings and run G31 X0 Y0 Z-0.052 P100 just to be sure it's correct then run the modified bed.g file as follows:
M561
M220 S250
G28
M220 S100
G1 X0 Y0 Z10 F15000
M558 P8 C"zprobe.in+zprobe.mod" H2 R0.3 F600 T18000 A4
M557 R85 S35
G29 S0
G1 X0 Y0 Z150 F12000
G29 S1After I run this, I drop the nozzle to the bed, again using my sheet of paper and stopping when the nozzle just grabs the paper, and again I'm exactly at Z=0.7mm.
Here is a screenshot of the bed map.
OK so I'm still lost in space......For now my only workaround is to calibrate, then manually edit the Z=Height by running M665 Hxxx.xx where xxx.xx= my current setting Plus 0.7. As long as I don't rerun the bed calibration, I'm good.