mini IR Probe triggers too far above surface
-
Hey all!
I'm seeing a very interesting behavior with my mini IR probe on Duet 1.21.
If I run Home X, Home Y and then Home Z, the Z home stops ~ 5-6mm too tall (above trigger height) and the red light flashes 4 times.
If however, I call home Z again, it will home properly. If I call home Z again, it homes properly again.
If I then home X and Y, then call Home Z, it once more will home 5-6mm too high (4 red light blinks). Again, if I do a home Z, it works as expected (1 red light blink).
Here is a video of this behavior: https://www.dropbox.com/s/81h5kmzat10xeul/2018-04-14 15.00.05.mov?dl=0
config.g: https://github.com/natewalck/railcoreiiduet/blob/master/sys/config.g
homex.g: https://github.com/natewalck/railcoreiiduet/blob/master/sys/homex.g
homey.g: https://github.com/natewalck/railcoreiiduet/blob/master/sys/homey.g
homez.g: https://github.com/natewalck/railcoreiiduet/blob/master/sys/homez.g
homeall.g: https://github.com/natewalck/railcoreiiduet/blob/master/sys/homeall.gI am pretty baffled and have no idea why this is occuring. I was using a 1.3 Mini IR probe and saw this behavior, so I swapped it out for a 1.1 Mini IR Probe and it behaved in exactly the same fashion. Also of note, the 1.3 probe was working fine on 1.21 for a few days. I had finished a print on Thursday night (I shut it off post-print) and when I went to home on Friday morning, it had the above behavior. I did not change anything between stopping after the Thursday night print and homing on Friday morning. Also, it does flash 4 times upon started (as expected).
Thanks in advance.
Nate
-
I believe the problem is with your homez.g script.
You use G30 to home the Z-axis, but that's not what I recommend, and I believe this is what causes your problem. because it may occur that before G30 the Z-axis coordinate is at Z0 so when you are probing you actually reach to the axis limit, which in your case is Z-0.5, that's why the axis is stopped before reaching the sensor trigger height.Have a look at my homez.g script:
; homez.g ; called to home the Z axis ; Prepare for Z-axis homing G91; Switch to relative positioning G1 Z5 F300; Move bed 5[mm] down, at travel speed 5[mm/sec], to avoid nozzle crash in case the bed is above the nozzle G90; Switch to Absolute positioning M98 PmoveToCenter.g; Call to script that move carriage to bed center ; Home Z-axis G91; Switch to relative positioning M913 Z70; Set Z motor current to 70% of its normal current, to avoid ramming in case of crash G1 Z-180 F240 S1; Raise bed all the way up, at travel speed 5[mm/sec], stop when hitting the endstop (in this case ZProbe) (S1) G1 Z4; Lower bed by 4[mm] G92 Z8; Set Z position G30; Probe the bed at the current XY position. When the probe is triggered, set the Z coordinate to the probe trigger height G90; Switch to absolute positioning M913 Z100; Set Z motor current to 100% G1 Z8; Move bed to parking position
In particular, this is the line that is missing in your homez.g script:
G1 Z-250 F240 S1; Raise bed all the way up, at travel speed 5[mm/sec], stop when hitting the endstop (in this case ZProbe) (S1)
-
@natewalck, when the sensor triggers too high, does the red LED blink rapidly? If so then you have bright sunlight or bright IR light from another source reflecting off the bed onto the sensor. If not, then please ask the supplier to replace the sensor.