Homing X and Y works, Z loses its mind.

  • I am slowly learning how to use a duet and really liking it over my old ramps and octoprint setup. I am stuck with homing my machine on Z. It is a Cartesian bot. Nothing too unusual about it. I managed to figure out why it crashed into the bed, but now I cant get it to stop trying to move X and Y outside their limits while homing Z.

    I took a video of it. I know it’s slow, but I haven’t gotten to tuning speed yet. Right now, I’m just trying to make everything work.

    Where am I messing up?

  • Hi,

    We could do with a bit more information but at a wild guess, based on the video, I'd say that you may have deploy and retract probe files in the .sys directory and you have the latest firmware which will run these files. But you have an IR probe which doesn't need to be deployed and retracted. So, check the .sys folder for deploy probe ad retract probe files and if they exist, delete them.

    If that doesn't fix it, let us know what firmware version you are running, and also please post your homez file.


  • You were right! Remove the deploy and retract files fixed Z probing. But now I'm having trouble homing Y. I thought I had it right, but then when I tried to create a mesh, the machine kept trying to pull the bed past the minimum every time it was supposed to advance a row. I'm also not sure I have the Y settings right and I think I made them worse. I'm running 1.19.

    ; Configuration file for Duet WiFi (firmware version 1.17)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Mon Aug 21 2017 23:46:40 GMT-0400 (EDT)

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X220 Y236 Z230 S0 ; Set axis maxima

    ; Endstops
    M574 Z1 S0 ; Define active low and unused microswitches
    M574 X1 Y1 S1 ; Define active high microswitches
    M558 P1 X0 Y0 Z0 H5 F400 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y18 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 X15:205 Y15:221 S20 ; Define mesh grid

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z800 E418.5 ; Set steps per mm
    M566 X900 Y900 Z24 E300 ; Set maximum instantaneous speed changes (mm/min)
    M203 X30000 Y30000 Z1200 E1500 ; Set maximum speeds (mm/min)
    M201 X900 Y900 Z300 E10000 ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S350 ; Set maximum heater temperature to 350C
    M305 P0 T100000 B3950 C0 R4700 ; bed thermistor
    M305 P1 T100000 B4138 C0 R4700 X200 ;
    M307 H1 A543.7 C212.4 D3.7 B0 ; handles PID (hotend)
    M307 H0 A146.3 C421.2 D0.4 B0 ; handles PID (bed)

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Network
    M550 PWheatley ; Set machine name
    M552 S1 ; Enable network
    ; Access point is configured manually via M587 by the user
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured

    ; Miscellaneous
    ;M501 ; Load saved parameters from non-volatile memory


    ; homey.g
    ; called to home the Y axis
    ; generated by RepRapFirmware Configuration Tool on Mon Aug 21 2017 23:46:40 GMT-0400 (EDT)

    ; Lift Z relative to current position
    G1 Z5 F6000

    ; Move quickly to Y axis endstop and stop there (first pass)
    G1 Y0 F1800 S1

    ; Go back a few mm
    G1 Y5 F6000

    ; Move slowly to Y axis endstop once more (second pass)
    G1 Y0 F360 S1

    ; Lower Z again
    G1 Z-5 F6000


    ; homeall.g
    ; called to home all axes
    ; generated by RepRapFirmware Configuration Tool on Mon Aug 21 2017 23:46:40 GMT-0400 (EDT)

    ; Relative positioning

    ; Lift Z
    G1 Z5 F6000

    ; Course home X and Y
    G1 X-225 Y241 F1800 S1

    ; Move away from the endstops
    G1 X5 Y-5 F6000

    ; Fine home X and Y
    G1 X-225 Y241 F360 S1

    ; Absolute positioning

    ; Go to first bed probe point and home Z
    G1 X15 Y-3 F6000

    ; Uncomment the following line to lift the nozzle after probing
    G1 Z5 F100

  • administrators

    You have the minimum position for Y set to 0 in your M208 S1 command. This will also be the Y position assumed during Y homing, because you are using a Ymin endstop. You have declared that the grid starts at Y=15 in the M557 command. You have a!so declared that the Z probe has a Y offset of 18 in your G31 command. So the head would have to move to Y=-3mm to probe the first point at Y=15. As this is below the declared Y minimum, the firmware should skip all the probe points at Y=15, but it sounds as though it isn't. I'll re-test this.

  • Based on the video I linked to, should Z probe offset Y be a positive or negative value?

  • administrators

    Assuming that +X is to the right, the sensor is offset in the -Y direction from the nozzle, so the probe Y offset should be negative.

  • Well that’s one problem solved. Thanks. I had it positive.


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