Ender 5 Plus with dual z calibration



  • I am trying to setup for the two z motors to align the bed but can't figure out how to make it happen. The left lead screw does just fine but the right one the dashboard shows that its at -27 and y at 135.xx. It only probes once and that's it doesn't make adjustments to the bed at all. My setup is the Duet 2 Wifi and duex 5 the left z motor is connected to z on the duet and the right motor is connected to D5 on the Duex. Any help is appreciated.

    config.g
    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Ender 5 Plus CoreXY" ; set printer name
    M669 K1 ; select CoreXY mode

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    M671 X-20:370 150:150 S0.5 ; leadscrews at left (connected to Z) and right (connected to D5) of X axis

    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M569 P4 S1 ; physical drive 4 goes forwards
    M569 P5 S0 ; physical drive 5 goes backwards
    M584 X0 Y1 Z2:5 E3:4 ; configure 2 Z motors connected to outputs Z and D5
    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z800.00 E415.00:415.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E600:600 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 X313 Y350 Z400 S0 ; set axis maxima
    M208 X0:313 Y0:350 Z400 ; X carriage moves from 0 to 313, Y axis goes from 0 to 350

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2 P"zstop+D5stop" ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X30.814 Y17.505 Z-0.425 ; set Z probe trigger value, offset and trigger height
    M557 X50:313 Y15:350 S50 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M308 S2 P"e1temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 2 as thermistor on pin e1temp
    M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
    M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C"fan0" Q20 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S1 H2 T45 ; set fan 2 value. Thermostatic control is turned on

    ; Tools
    M563 P0 S"E0" D0 H1 F0 ; 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
    M563 P1 S"E1" D1 H2 F0 ; define tool 1
    G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    T0 ; select first tool

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    ; M561 ; clear any bed transform
    ; G29 ; probe the bed and enable compensation

    G28 ; home
    M561 ; clear any bed transform
    G30 P0 X313 Y150 Z-99999 ; probe near left leadscrew
    G30 P1 X3 Y150 Z-99999 ; probe near rear right leadscrew



  • @nightmare90gt said in Ender 5 Plus with dual z calibration:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    ; M561 ; clear any bed transform
    ; G29 ; probe the bed and enable compensation
    G28 ; home
    M561 ; clear any bed transform
    G30 P0 X313 Y150 Z-99999 ; probe near left leadscrew
    G30 P1 X3 Y150 Z-99999 ; probe near rear right leadscrew

    you are missing S2 ; probe near a leadscrew and calibrate 2 motors
    in the last command
    see https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors



  • Added the s2. Still have the extruder setup trying to go past the endstop to probe.



  • can you post the messages from the console.



  • Error: Probe points P0 to P1 must be in clockwise order starting near minimum X and Y

    left leadscrew probed at Y132.5 and X 282.2
    right leadscrew probed at Y 132.5 and x -27.8



  • @nightmare90gt said in Ender 5 Plus with dual z calibration:

    right leadscrew probed at Y 132.5 and x -27.8

    adjust the probing points with your offset in mind

    if you want to probe at x0 that would mean the nozzle has to move to -30.814, which it obviously cant
    so choose probing points that are reachable.

    if you then still get the error message about the order, swap the probing points.



  • @Veti I have it in bed g its suppose to probe at 3 for x. Could it be adding the offset of the probe to were it probes?



  • @Veti said in Ender 5 Plus with dual z calibration:

    X3 Y150

    to probe this point, your nozzle would be at x-27 z 133

    the console even tells you that

    right leadscrew probed at Y 132.5 and x -27.8



  • @Veti right so its adding the offset of the probe so I would need to set the probe point at x30 for the probe to be at x0



  • @nightmare90gt

    @nightmare90gt said in Ender 5 Plus with dual z calibration:

    I would need to set the probe point at x30 for the probe to be at x0

    for the nozzle to be at x0 yes



  • @nightmare90gt

    Are you using the default hotend and bltouch locations ?
    Because G31 P500 X30.814 Y17.505 Z-0.425 would put your bltouch on the right of the nozzle / hotend .



  • No i have a bmg-x2-m setup.



  • I also have a quick question related to problems I am having. What would cause a motor to stutter? When I home the x axis the whole gantry studders. It is a corexy setup so I am new to this.



  • @nightmare90gt
    the ender 5 is not a corexy printer



  • mine is I have install a Kay3d corexy kit. the stuttering only seems to happen when you homeall but not if you home them individually.



  • can you post a video of it? showing both stuttering and not stuttering





  • new config.g file because i have added a few things throughout the day.

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Ender 5 Plus CoreXY" ; set printer name
    M669 K1 ; select CoreXY mode

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M569 P4 S1 ; physical drive 4 goes forwards
    M569 P5 S0 ; physical drive 5 goes backwards
    M584 X0 Y1 Z2:5 E3:4 ; configure 2 Z motors connected to outputs Z and P5
    M671 X-20:370 150:150 S0.5 ; leadscrews at left (connected to Z) and right (connected to P5) of X axis
    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z800.00 E415.00:415.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E600:600 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 X313 Y350 Z400 S0 ; set axis maxima
    M208 X0:313 Y0:350 Z400 ; X carriage moves from 0 to 313, Y axis goes from 0 to 350

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2 P"zstop+D5stop" ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X30.814 Y17.505 Z-0.425 ; set Z probe trigger value, offset and trigger height
    M557 X50:313 Y15:350 S50 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M308 S2 P"e1temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 2 as thermistor on pin e1temp
    M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
    M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C"fan0" Q20 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S1 H2 T45 ; set fan 2 value. Thermostatic control is turned on

    ; Tools
    M563 P0 S"E0" D0 H1 F0 ; 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
    M563 P1 S"E1" D1 H2 F0 ; define tool 1
    G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    T0 ; select first tool
    M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
    M591 D0 P5 C"e0_stop" R40:120 E3.0 S0 ; Duet3D laser sensor for extruder drive 0, connected to endstop input 3 (E0), tolerance 40 to 120%, 3mm comparison length, disabled
    M591 D1 P5 C"e1_stop" R40:120 E3.0 S0 ; Duet3D laser sensor for extruder drive 1, connected to endstop input 4 (E1), tolerance 40 to 120%, 3mm comparison length, disabled



  • can you post your home scripts?



  • @Veti ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-325 Y-355 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 H1 X-325 ; home X axis
    G1 H1 Y-355 ; home Y axis
    G1 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-355 ; then move slowly to Y-axis endstop
    G90 ; absolute positioning
    G1 X150 Y150 F6000 ; go to the middle of the bed and home Z
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-325 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000 ; go back a few mm
    G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Y-355 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000 ; go back a few mm
    G1 H1 Y-355 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Y-355 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000 ; go back a few mm
    G1 H1 Y-355 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 30 2020 16:34:31 GMT+0200 (Central European Summer Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X19.186 Y-2.504999999999999 F6000 ; go to first probe point
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning



  • i dont see anything wrong in the config.

    the difference between the homeall and home x / y is:

    home x and y use both motors.

    the initial move in homeall uses just 1 motor (corexy diagonal moves is just one motor turning)

    so things to check. is the other motor actually still, or does it move.

    i think its something mechanical
    try reducing the speed and see what happens during the move.
    so change
    G1 H1 X-325 Y-355 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    to
    G1 H1 X-325 Y-355 F180 ; move quickly to X or Y endstop and stop there (first pass)



  • I can tell you the y motor rotates very slowly when performing home all.

    I will lower the feedrate tomorrow and report back. Thanks for the help



  • @nightmare90gt said in Ender 5 Plus with dual z calibration:

    I can tell you the y motor rotates very slowly when performing home all.

    so that could be a wiring problem, a loose grubscrew, or the motor is not getting enough current.



  • Swapped y motor to x driver and x motor to y driver and the stuttering went to the x motor.



  • @nightmare90gt
    did you change the wire to a new one?


Log in to reply