@gamefanatic3d
Okay I'm back and after much testing over the past week, I'm convinced there is nothing wrong with my Z-Motors, even though the issue I experienced was real. I believe the Duet may have just been having a moment as I was getting a homing error with negative values when performed the first homez.g after startup. Any future homing would be successful. This appears to have cleared itself up as easily as it came with me doing nothing to the system other than turning it off and back on a few times...
Moving back to the issue at hand here I have mounted a Dial Indicator tool to my system and validated my original statement that the Z-Probing being done and recorded is in fact opposite of what I would expect.
Note: I made the mount for the Dial Indicator such that I could probe with the BLTouch while having the Dial Indicator tool attached. I realize there is a tension that is created as the Dial Indicator gets closer to the end of its measuring.
Probing at a point with the BLTouch will return a positive value to the homing file when it should in fact be a negative value.
My BLTouch trigger value is 0.9.
I validated this by performing the following procedure:
Step 1: Setup
- G28
- Disable Mesh Compensation
- Attach Dial Indicator tool. (Manual process for now)
- G1 X180 Y227 Z6 (Move the BLTouch to a center point on bed)
- G30
- G1 X206.8 Y143.4 Z15 (Move Dial Indicator to same point on the bed with specific height/trigger point)
- Set the Dial Indicator to 0.000
Now I go to a spot on the bed shown on the heightmap that I know to be a low spot (further away from tools)
Step 2: Probing Low
- G1 X328.23 Y224.37 Z6
- M98 P"/macros/Homing/Bed/MyMeshCompStep1"
- G1 X355.03 Y140.77 Z15
The result of BLTouch
8/28/2021, 2:37:40 PM G1 X355.03 Y140.77 Z15
8/28/2021, 2:37:29 PM Stopped at height 0.987 mm
-0.085
8/28/2021, 2:37:28 PM M98 P"/macros/Homing/Bed/MyMeshCompStep1"
Stopped at height 0.983 mm
8/28/2021, 2:36:46 PM G1 X328.23 Y224.37 Z6
8/28/2021, 2:36:14 PM G1 X206.8 Y143.4 Z15
8/28/2021, 2:36:03 PM G30
Dial Indicator: -0.08
I repeat this procedure 3 times in the same spot to validate any potential mechanical issues. Keeping in mind the dial indicator is not as accurate as of the BLTouch and validate the numbers are still roughly the same.
The heightmap.g in this area is showing a positive value in this area. I believe this is due to the BLTouch returning a positive number when subtracting the two probing values which are greater than my trigger (Z-0) value.
IE)
Probe1 returns: 0.918
Probe2 returns: 0.923
The resulting value would be acceptable as it's within 0.005
The value returned should be:
-0.0205 = 0.9 - ((0.918+0.923)/2)
But what is recorded in the heightmap is 0.0205
This is my assumption of what is happening based on the heightmaps I am obtaining. I could be missing something here still...
MyMeshCompStep1
var probezHeight = 6
var TravelSpeed = 6000
var probezOne = 0
var probezTwo = 0
while true
if iterations = 5
abort "Too many auto calibration attempts"
G1 Z{var.probezHeight} F{var.TravelSpeed}
G30 S-1
set var.probezOne = sensors.probes[0].lastStopHeight
G1 Z{var.probezHeight} F{var.TravelSpeed}
G1 Z{var.probezHeight} F{var.TravelSpeed}
G30 S-1
set var.probezTwo = sensors.probes[0].lastStopHeight
G1 Z{var.probezHeight} F{var.TravelSpeed}
if var.probezOne - var.probezTwo <= 0.005
echo sensors.probes[0].triggerHeight-((var.probezOne + var.probezTwo)/2)
break