Having issues with homing Z on CoreXY

  • Hello all,
    After a being away from the hobby for some time I now have the opportunity again to fiddle with a custom CoreXY I started designing a while back. The machine is now built and wired and I started setting up the firmware but ran into some issues, mainly with homing the Z axis.

    The machine is a custom CoreXY on v-wheels for X and Y and triple leadscrew with rods with printed bushings for Z. I'm running a Titan direct extruder and piezo for Z endstop and Z compensaiton. The firmware is updated to 2.03 from 1.21.

    The problem I run into is an unusual behavior during the Z homing procedure (which comes after X and Y in the homeall.g). The printer homes Z which moves the bed to a negative value where the piezo triggers and moves the bed to Z10 although the gcode that I have setup is supposed to move the bed to Z5.

    The issue is rather perplexing and I can certainly video it but I suspect that the more experienced of you will spot a mistake in the gcode that I simply cant find with my limited time on RRF, hence I'm asking for some help.

    Here I will put my config.g and homeall.g:
    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PPrinter Extrusions ;machine name
    M552 S1 ;start wifi module

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z2133.33 E456 ; Set steps per mm
    M566 X900 Y900 Z1 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z720 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y500 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X1300 Y1300 Z1300 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X200 Y200 Z350 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z0 S0

    ; Z-Probe
    M558 P8 H10 I1 R1 F400 X0 Y0 Z1
    G31 X0 Y0 Z-2.5 P600

    ; Heaters
    M140 H-1 ; Disable heated bed
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P1 H-1 ; set fan 1 to be gcode controlled
    M106 P2 S1 I0 T45 H1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; 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


    ;Home X and Y
    G91 ; relative positioning
    G1 Z5 F420 S2 ; Lower bed 5mm to ensure it is below the switch trigger height
    M913 X100 Y100 ; set X Y motors to 50% of their normal current for homing
    G1 S1 X-375 Y-305 F600 ; course home X or Y
    G1 S1 X-375 F600 ; course home X
    G1 S1 Y-305 F600 ; course home Y
    G1 X5 Y5 F600 ; move away from the endstops
    G1 S1 X-10 F200 ; fine home X
    G1 S1 Y-10 F200 ; fine home Y
    G1 X5 Y5 F600 ; go to origin
    M913 X100 Y100 ; set X Y motors to 100% of their normal current

    ;Home Z
    G90 ; absolute positioning
    G1 X30 Y30 F600 ; go to first probe point
    G30 ; home Z by probing the bed
    G91 ; relative positioning
    G1 Z5 F420 ; lift Z relative to current position
    G90 ; absolute positioning

  • Your dive height is 10mm, so it moves to that height in preparation for a probe.

  • My mistake, the printer moves Z to 15, not 10 (I suppose it was a bit late). In anycase, you were right about where this is coming from. I commented out "G1 Z5 F420 ; lift Z relative to current position" in ;Home Z to isolate the effect of dive and played around with different values and the movement of the bed corresponds to that. I'm not sure I'm understanding the way this works, though. Isn't moving to the dive height something should happen when probing is commanded and not after homing all axes?

  • @equanimity8 You're using the probe to home Z.

  • Yeah, so true when I think about it. Not really used up to a setup like this. Thank you @Stephen6309 for your time and for spelling it out for me.


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