IR Sensor loosing precision over time?



  • So, I've had the DC42 IR sensor on each of my CoreXY machines since June of 2016 and it was working out very well. However, it seems as though it is loosing precision as it triggers and I'm not sure why. I've been through some exercises redesigning my Z mount on one of the machines to make it more rigid thinking it was something flexing or bouncing but didn't see any difference. I even wondered if something changed in the config.g between what I setup in June 2016 and what is in today's firmware; so I recreated my configuration files with the online generator and that seemed to help a little it but I'm still not seeing the same accuracy I had before.

    I wrote a quick macro that moved the Z axis to 25, and then performed a G30 S-1, and then moved back to Z25 and repeated again and again. This was the result probing the center point of my mate finish aluminum bed. And if I move the head to a different spot it gets similar results that vary.

    9:15:34 PMStopped at height 0.925 mm
    9:15:18 PMStopped at height 0.906 mm
    9:15:02 PMStopped at height 0.938 mm
    9:14:46 PMStopped at height 0.931 mm
    9:14:31 PMStopped at height 0.925 mm
    9:14:15 PMStopped at height 0.919 mm
    9:13:59 PMStopped at height 0.938 mm
    9:13:43 PMStopped at height 0.944 mm
    9:13:28 PMStopped at height 0.944 mm
    9:13:12 PMStopped at height 0.956 mm
    9:12:56 PMStopped at height 0.919 mm
    9:12:40 PMStopped at height 0.931 mm
    9:12:25 PMStopped at height 0.944 mm
    9:12:09 PMStopped at height 0.944 mm
    9:11:53 PMM98 P"0:/macros/Probe Test"
    Stopped at height 0.938 mm

    I noticed with recent firmware versions it doesn't do the slower probe like it used to in the older firmware versions. It used to probe quickly, then re-probe very slowing I'm assuming to gain better accuracy. I don't remember which firmware changed that behavior, but I noticed it did change. My config.g file has the following in it for the Z-Probe section:

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M558 P1 H5 F120 T6000 ; Smart IR Z probe, used for homing Z axis only, dive height 5mm, probe speed 120mm/min, travel speed 6000mm/min
    G31 P500 X33.0 Y0.0 Z0.944 ; Set threshold and offsets

    And finally this is the last piece of information:
    Firmware Name: RepRapFirmware for Duet
    Firmware Electronics: Duet 0.85
    Firmware Version: 1.23 (2018-12-24b1)
    Web Interface Version: 1.22.6

    The IR sensor says it is V1.1 on the back of the board.

    But is it possible the board itself is loosing precision? Its strange that this is happening on all 4 sensor boards on all 4 CoreXY machines and the only changes to the all the machines have been firmware updates and the tinkering with 1 machine trying to see if making the z bed more rigid would improve the repeatability of the sensor.

    My concern with this sensor loosing accuracy is it doesn't seem capable of doing the manual bed leveling assistant or even the mesh probe because repeat probing results in varying results.

    Any idea what the MTBF is for your IR probe? Is it possible, they're past their useful life and need to be replaced?


  • administrators

    @pdbeal said in IR Sensor loosing precision over time?:

    I noticed with recent firmware versions it doesn't do the slower probe like it used to in the older firmware versions. It used to probe quickly, then re-probe very slowing I'm assuming to gain better accuracy. I don't remember which firmware changed that behavior, but I noticed it did change.

    The firmware behaviour didn't change. With the mode set to P1 in M558 and the threshold set to 500 in G31, the probing speed set by the M448 F parameter will be used until the IR sensor output exceeds 450. Then it will slow down to one third of that speed. So please check that the sensor produces a reading of around zero when it is well above the trigger height, increasing to about 465 when close to the trigger height, and 535 when triggered.



  • It does read 0 when nothing is anywhere close to it. Watching the display on the PanelDue and on the DWC pages, sometimes it shows 530ish (532-535) for a trigger, other times it will seem to trigger at 460ish (460-464) or 480 (480-500).

    I'm assuming the varying display is due to the update time of the display versus what the sensor is sending to the firmware? Or should it always show 535 when it triggers? After it triggers, the Z bed moves away 5mm so it never sits there at the trigger to know exactly when it stopped.


  • administrators

    Try jogging the bed up and down by small amounts while monitoring the Z probe reading, to see if the sensor is behaving properly.



  • I did move the bed up and down just a little bit and I could see the probe going from 0,2,3,460,537,540 as I moved in and out 0.05. I noticed sometimes the IR sensor was reading 2 or 3 when nothing was close. So I unplugged the 3 pin connector from the IR board, plugged it back in, saw the probe was reading 0 again. Did a subsequent test. The results are better, but still have the occasional outliers.

    8:34:51 PMStopped at height 1.019 mm
    8:34:47 PMStopped at height 1.019 mm
    8:34:44 PMStopped at height 1.019 mm
    8:34:41 PMStopped at height 1.025 mm
    8:34:38 PMStopped at height 1.025 mm
    8:34:34 PMStopped at height 1.025 mm
    8:34:31 PMStopped at height 1.019 mm
    8:34:27 PMStopped at height 1.019 mm
    8:34:24 PMStopped at height 1.019 mm
    8:34:21 PMStopped at height 1.019 mm
    8:34:18 PMStopped at height 1.019 mm
    8:34:14 PMStopped at height 1.019 mm
    8:34:11 PMStopped at height 1.019 mm
    8:34:08 PMStopped at height 1.019 mm
    8:34:05 PMM98 P"0:/macros/Z Probe Test"
    Stopped at height 1.013 mm

    The jump from 1.019mm to 1.025mm, is that within the normal range for repeatability for the IR probe?

    Based on the wire perhaps being loose or getting a softer connection, I think I might have to find a better connector that keeps positive contact on the IR board and still maintains the 2.54mm spacing of the existing pins. I'm assuming it's possible my connector over the years has lost some of it's bite and become softer, especially since it's on a piece that does get disconnected at times when rebuilding the head block and something thats flexing around as the machine prints.



  • That's pretty good repeatability. You can avoid outliers messing up your probe results by adding the A and R parameters to M558. For example M558 A10 R 0.003 will basically probe the same point up to 10 times or until 2 consecutive results are within the range you specify with R.

    https://duet3d.dozuki.com/Wiki/GCode#Section_M558_Set_Z_probe_type


  • administrators

    @pdbeal said in IR Sensor loosing precision over time?:

    The jump from 1.019mm to 1.025mm, is that within the normal range for repeatability for the IR probe?

    My guess is that's 1 microstep, in which case it's the repeatability of your mechanics. Is your machine a delta with 0.9deg motors and 20-tooth pulleys?



  • No, the machine is a CoreXY with a cantilever bed. But my Z motor is a 0.9 deg motor with 20 tooth belts.

    I think to prevent this from getting loose, i’m thinking of putting a 1” pigtail on the IR board permenantly, and then use a similar connector that E3D are using on the thermistor cartridges that has that positive clip to keep the connector together.



  • @dc42

    I recently discovered that my IR probe starts behaving as if it's in digital mode after a while if i'm printing in an enclosure and/or the hotend is hot for enough time for the probe to warm up. And that's even though it boots as analog. The z probe is approx. 20mm away from the nozzle (probably 10-15mm away from heatblock with a silicone sock)..and I don't think the enclosure gets warmer than 40-45 deg.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.