Mini IR Probe

  • Can't always get the probe to work how I expect it to. Long story short. On a particular day, everything works great and I get the best prints I've ever gotten in my short 3D printing experience. But, most days I fight the probe. I find that if I follow David's(your) blog exactly as I do or redo the calibration, that after a successful calibration is complete, when I re-home all axes, that DWC will show a value in Z head position somewhere near to the new figure ( usually around 1.0) I entered into config.g after commanding G30 S1. This always ends in good prints. Problem is, most times whether just starting things up for the day or running into problems somewhere along the line, Z homes to 0 reading in DWC and that always results in nozzle dragging build plate. Haven't found a way to work around.

  • explain step by step how you are doing what you are doing including g-codes and what kind of bed surface you have…

  • Okay, Qdeathstar. Say I fire up machine to print something. Do a preheat on H.E and bed. Home X, Home Y. Home Z when @ temps. Check Z position in DWC.( At this point I know what I should be seeing for the Z reading in head position in DWC, which is usually a reading close to the figure I enter in my config,g after seeing the results of the G30 S1 command I ran in last calibration. Usually reads @ or near 1.0). I follow dc-42's directions to a T in his solutions blog for calibration If I'm not seeing the value I expect, M558 P1, G31 P500 Z1.0 I do the sheet of paper thing, G92 Z0, raise head,send G30 S1 to reprobe, enter new value in G31 command of config.g, re-home, recheck Z value in head position. If it's reading 0. It's a no go. nozzle drags. If I go thru the calibration enough times it seems to finally work, but I can't keep going thru that.

  • G30 S-1 ????? Not G30 S1

  • Typo on my part. I usually paste the commands directly from David's blog when I go back thru the calibration steps.

  • What bed surface are you using?

  • Glass, But I'm receiving some PEI today and will install tonight.

  • administrators


    Glass, But I'm receiving some PEI today and will install tonight.

    Be sure to paint the back of the PEI black first before you install it, see

  • Going to do that and cure it in the oven.

  • I now have the PEI installed and am currently trying to rerun the calibration per David's blog, But after sending G30 S-1 I'm seeing a Z parameter that is above the 0.5-2.5 range.(2.9) More head scratching.

  • administrators

    2.9mm trigger height is OK if it is consistent. Black-backed thin PEI sheet will give a higher trigger height than glass does.

  • Thanks dc42. I'll work w/ it some more when I get home.

  • Getting discouraged w/ the mini probe. Adding PEI has only complicated matters it' seems. I know it works, I've had it working(on glass). The one thing I do know is when it works right and I home Z, I don't see "0" in the Z head position of DWC. It's usually reads something close to what I entered in the G31. At least it did when I had it working on glass( that value was usually near 1.0). Now it's always showing zero and ends up either too close or to far off bed. Acts real weird i.e. hesitant movement, grinding filament. Move, stop, move stop.It's not actually dragging on the bed or I'd be pissed about scarring the brand new PEI. I could understand the hesitation if it was dragging bad. Anyway, I really don' know what to try from here. I did order another piece of glass yesterday in case I can't resolve.

  • administrators

    I don't think you've told us what geometry your printer is, but if you are using the probe to home Z then I guess it's not a delta. Your homez.g file and homeall.g file probably end with a G30 command, and if so then it's correct the when you home Z, it leaves the probe at the trigger height. If you really want to put the nozzle at Z=0 after homing, you can put G1 Z0 after the G30 command. But it isn't necessary because the purpose of homing is to establish a known position, which doesn't have to be zero.

    Perhaps you should post your config.g, homez.g and homeall.g files.

  • Just to expand on what David has said. When using the probe to home Z, what happens is that it will lower the probe (or raise the bed) until it triggers. When that happens the machine knows that Z=0 is whatever you've set the trigger height to be but it won't move to Z=0 unless and until it is told to do so. At that point in time, your Z height should be reported as your probe trigger height. If you then send a G1 Z 0.0 command, the probe should end up just touching the bed. As David has said, it isn't normally necessary to do this as the first line of the gcode file should have a line G1 Z0.300 (or whatever your layer height is set to be). This is an absolute position (or should be because your slicer should be set to use absolute coordinates)- i.e. it will be 0.300 mm from Z=0 not 0.300 mm from wherever the probe happens to be.

  • It's a Core XY build and no, I don't want to put the nozzle at Z=0 after homing. My last re-calibration gave me a trigger height of 2.76. After entering it and saving it in config.g, then doing a re-home, my Z height in DWC reports being at "0" even tho I can plainly see that it is physically at the trigger height. Whenever I've been able to get things to work right, that Z height is reported at or being near the trigger height I entered earlier, not "0". Not sure what is going on or how to resolve. I do really appreciate you help though.

  • administrators

    Please post your config.g and homing files.

  • Will do when I get back home. @ work.

  • It sounds to me like you must have a G92 Z0 somewhere after your G30 in your homing file(s) but I expect we'll be able to see when you post the files.

  • Here's my files…...; CoreXY sample config file for dc42 Duet firmware

    M111 S0 ; Debug off
    M550 PDBot CoreXY ; Machine name (can be anything you like)
    M551 Preprap ; Machine password (used for FTP connections)
    ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
    M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
    ;*** Wifi Networking
    M552 S1 ; Enable WiFi

    M555 P2 ; Set output to look like Marlin
    M575 P1 B57600 S1 ; Comms parameters for PanelDue

    ; Machine configuration
    M569 P0 S0 ; Drive 0 goes forwards (change to S0 to reverse it)
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    ; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
    M574 X1 Y2 Z0 S0 ; set endstop configuration (X and Y and endstops only, at low end, active high)
    M667 S1 ; set CoreXY mode
    M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation
    M92 X80 Y80 Z400 ; Set axis steps/mm
    M92 E418.5:418.5 ; Set extruder steps/mm
    M906 X1000 Y1000 Z1000 E1000 ; Set motor currents (mA)
    M201 X1000 Y1000 Z100 E4000 ; Accelerations (mm/s^2)
    M203 X30000 Y30000 Z300 E1500 ; Maximum speeds (mm/min)
    M566 X500 Y500 Z24 E300 ; Maximum jerk speeds mm/minute
    M208 X300 Y180 Z300 ; set axis maxima (adjust to suit your machine)
    M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Z probe
    M558 P1 X0 Y0 Z1 ; Analog Z probe, also used for homing the Z axis
    G31 Z2.89 P500 S1 ; Set the probe height and threshold (put your own values here)
    ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
    ;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
    M557 P0 X30 Y25 ; Four...
    M557 P1 X30 Y155 ; ...probe points...
    M557 P2 X250 Y155 ; ...for bed...
    M557 P3 X250 Y25 ; ...levelling
    ;M557 P4 X141 Y82.5 ; 5th probe point for levelling

    ; Thermistors and heaters
    ;*** You can use S and B parameters to define the parameters of the thermistors you are using
    M305 P0 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
    M305 P1 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
    M305 P2 T100000 B3974 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
    M301 H1 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 0
    M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1
    M570 S120 ; Increase to allow extra heating time if needed
    M307 H0 A142 C293.5 D5.4 B0
    M307 H1 A588.5 C242.9 D6.7 B0

    ; Fans
    M106 P1 T45 H1
    M106 P0 S0

    ; Tool definition
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    ;*** If you have a dual-nozzle build, un-comment the following 3 lines
    ;M563 P1 D1 H2 ; Define tool 1
    ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures

    ;*** If you are using axis compensation, put the figures in the following command
    M556 S78 X0 Y0 Z0 ; Axis compensation here
    T0 ; select first hot end

    Homeall:; homeall file for use with dc42 Duet firmware on CoreXY printers
    ; This file assumes the endstop switches are at the low end of each axis.
    ; Reverse the X and Y movement for high-end switches.
    ; Adjust the bed upper and lower limits in config.g (M208 commands) to get the correct homing positions

    G91 ; relative mode
    G1 S1 X-300 F3000 ; course home X
    G1 X4 F600 ; move away from endstop
    G1 S1 X-15 ; fine home X
    G1 X10 F2000
    G1 S1 Y180 F3000 ; course home Y
    G1 Y4 F600 ; move away from endstop
    G1 S1 Y10 ; fine home Y
    G1 Y-175 F2000
    G1 S1 Z-350 F200 ; Course home Z
    G1 Z2 F50 ; move away from endstops
    G1 S1 Z-10 ; fine home Z
    G1 Z0 F200

    ; If you are using a microswitch for Z homing, insert similar code for the Z axis here,
    ; but use lower feed rates suitable for your Z axis.

    G90 ; back to absolute mode

    ; If you homed the Z axis using an endstop switch, you can insert a G92 command here to correct the height.

    ; The following code assumes you are using a Z probe to do Z homing. Remove it if you are using a microswitch.
    ; Adjust the XY coordinates in the following to place the Z probe over a suitable spot,
    ; preferably near the centre of the bed if your Z probe supports that

    ;G1 X100 Y100 F2000
    ; This file leaves the head at the zprobe trigger height so that you can slip a piece of paper under it and then do G0 Z0 to check the height.
    ; If you prefer to send the printer to X0Y0Z0, un-comment the following lines
    ;G1 X0 Y0 F5000
    ;G1 Z0

    HomeX; X axis homing file for dc42 Duet firmware
    G1 S1 X-300 F3000
    G1 X4 F600
    G1 S1 X-15
    G1 X15 F2000

    HomeY; Omerod 2 Y homing file for dc42 Duet firmware
    G1 S1 Y180 F3000
    G1 Y4 F600
    G1 S1 Y10
    G1 Y-175 F2000

    G1 S1 Z-320 F200
    G1 Z2 F50
    G1 S1 Z-10
    G1 Z0 F200

  • administrators

    Your homing files are set up to use a Z microswitch, not the IR probe. So your height error is probably because the microswitch doesn't trigger at exactly Z=0.

    If you want to continue to use a microswitch for homing, you should insert a G92 Z### command where indicated in homeall.g, where ### is the height at which the homing switch triggers. Ditto for the homez.g file. Then to use the IR probe to get an accurate Z=0 distance just before printing, set up a macro containing this:

    G1 Z5
    G1 X100 Y100

    and run it before you print. Change X100 Y100 to the bed coordinates you want to probe, normally the centre of the bed.

    Alternatively, use the Z probe to do Z homing, by using the above code in homeall.g and homez.g.

    HTH David

  • Thanks for your help David. Didn't realize my homing files were setup that way. I don't want to use microswitch for Z homing at all, so let me see if I can get things straightened out!

  • That did it . Thanks.

Log in to reply