DWC Z - Axis Movement off by Factor 10



  • Hello together,

    I just finished my very first 3d Printer build.
    Its a 400x400x400 CoreXY Kit from Ratrig.

    it´s running a duet 3 board with a Raspberry 3b+ with the original SD Image from Duet.

    I Updated the Reprap Firmware to 3.1.1 and got some Problems with the configuration.

    I don´t know if it is in the right Category.

    i want to configure the steps per mm, as I noticed that the steps in the DWC are off by the Factor of 10 for the Z-Axis movement.

    I use 0.9° Stepper on X, Y, and E.
    and at the moment 1.8° Stepper on the triple Z Spindel Motors (i will upgrade these to 0.9° Next Week )

    I used the Web Config Tool for my first Tests.
    When I am measuring the movement distances, X, Y, and E are really spot on, but the Z Steps are off by Factor 10.

    when i drive 0.01mm -> it moves 0.1
    when i drive 0.1mmm -y it moves 1mm
    and so on....

    I used Standard M8 Spindles with I believe 1.25 Pitch
    I started with 2560 Steps per mm with x16 Microstepping + interpolation.

    If i increase the steps to like 4500... it's not really a difference.

    because it is my first build, I don't know what to do next to solve this problem. ;(

    i also tried the individual z-axis bed leveling, but I don't know if it's funktioning working properly and using the actual measured values.

    And my Last Problem:

    How can I get the Duet Laser Filament Sensor to Pause the Print when it's detecting a Problem?

    I only found in the duzoki the following line:

    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

    Thanks a lot in Advance

    Regards
    Frederik

    Here a my config Files: config.g, bed.g, homex.g , homey.g, homez.g

    My Config .g :

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.7 on Wed Nov 18 2020 18:04:17 GMT+0100 (Mitteleuropäische Normalzeit)

    ; General preferences

    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Duet 3" ; set printer name
    M669 K1 ; switch to CoreXZ mode and multiply motor movements by 3 for the Z axis

    ; Drives
    M569 P0.0 S0 ; physical drive 0.0 goes backwards
    M569 P0.1 S0 ; physical drive 0.1 goes backwards
    M569 P0.2 S0 ; physical drive 0.2 goes backwards
    M569 P0.3 S0
    M569 P0.4 S0
    M569 P0.5 S1 ; physical drive 0.5 goes forwards
    M584 X0.1 Y0.0 Z0.2:0.3:0.4 E0.5 ; set drive mapping
    M671 X425:200:-25 Y240:-25:240 S1 P1.25 ; leadscrews at front left, rear middle and front right with 1mm per screw compensation

    ; Movement Parameters

    M350 X16 Y16 Z16 E16 I1 ; configure microstepping without interpolation
    M92 X160.00 Y160.00 Z4079.68 E873.08 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z800 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 X400 Y400 Z385 S0 ; set axis maxima

    ; Endstops
    M574 X2 S1 P"!io1.in" ; configure active-high endstop for high end on X via pin !io1.in
    M574 Y1 S1 P"!io0.in" ; configure active-high endstop for low end on Y via pin !io0.in
    M574 Z2 S2 ; configure Z-probe endstop for low end on Z

    ; Duet Laser Filament Sensor

    M591 D0 P5 C"io3.in" R40:120 E3.0 S1 ; Duet3D laser sensor for extruder drive 0, connected to IO 3,
    tolerance 40 to 120%, 3mm comparison length, enabled

    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X160.00 Y160.00 Z2560.00 E837.02 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z1000 E1200 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 X400 Y400 Z400 S0 ; set axis maxima

    ; Endstops
    M574 X2 S1 P"!io1.in" ; configure active-high endstop for high end on X via pin !io1.in
    M574 Y1 S1 P"!io0.in" ; configure active-high endstop for low end on Y via pin !io0.in
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
    M558 P9 C"^io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
    G31 P500 X-26 Y2 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X50:400 Y50:400 S50 ; define mesh grid

    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S200 ; set temperature limit for heater 0 to 200C
    M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C"out8" Q500 ; create fan 0 on pin out8 and set its frequency
    M106 P0 C"Hotend" S1 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on
    M950 F1 C"!out4" Q500 ; create fan 1 on pin !out4 and set its frequency
    M106 P1 C"Bauteildüse" S1 H-1 ; set fan 1 name and value. Thermostatic control is turned off

    ; Tools
    M563 P0 S"E3D V6 0.4 Steel" D0 H1 F0:1 ; 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

    ; Custom settings are not defined

    ; Miscellaneous

    M501 ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0 ; select first tool

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.7 on Wed Nov 18 2020 18:04:17 GMT+0100 (Mitteleuropäische Normalzeit)

    ;M561 ; clear any bed transform
    ;G29 S2 ; Clear bed height map

    ;Probe 3-point
    ;G1 X0 Y0 Z30
    M561 ; clear any bed transform
    G29 S2 ; Clear bed height map
    ;G1 X365 Y50 F4000
    ;M401 ; Deploy probe - deployprobe.g
    G30 P0 X340 Y240 Z-9999 P1.25 ; Front Left and compensate 1mm screw with 1.25 pitch
    G30 P1 X200 Y40 Z-9999 P1.25 ; Middle Back and compensate 1mm screw with 1.25 pitch
    G30 P2 X20 Y240 Z-9999 P1.25 S3 ; Front Right and compensate 1mm screw with 1.25 pitch

    ;M402 ; Retract Probe - retractprobe.g

    ; homex.g
    ; called to home the X-axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.7 on Wed Nov 18 2020 18:04:17 GMT+0100 (Mitteleuropäische Normalzeit)
    G91 ; relative positioning
    ;G1 H2 Z5 F6000 ; lift Z relative to the current position
    G1 H1 X405 F6000 ; move quickly to X-axis endstop and stop there (first pass)
    G1 X-5 F6000 ; go back a few mm
    G1 H1 X405 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.7 on Wed Nov 18 2020 18:04:17 GMT+0100 (Mitteleuropäische Normalzeit)
    G91 ; relative positioning
    ;G1 H2 Z5 F6000 ; lift Z relative to the current position
    G1 H1 Y-405 F6000 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000 ; go back a few mm
    G1 H1 Y-405 F360 ; move slowly to Y-axis endstop once more (second pass)
    ;G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    • list item

    ; homez.g
    ; called to home the Z-axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.7 on Wed Nov 18 2020 18:04:17 GMT+0100 (Mitteleuropäische Normalzeit)
    G91 ; relative positioning
    G1 H2 Z5 F1800 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X200 Y200 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 the current position
    ;G90 ; absolute positioning



  • @Frederik

    M92 X160.00 Y160.00 Z4079.68 E873.08 ; set steps per mm
    

    This looks weird. What screws you have in Z ?



  • @BoA Standard M8 Spindles



  • the movement sections is in your config twice

    M92 X160.00 Y160.00 Z2560.00 E837.02 ; set steps per mm
    this line overwrites the first line for example.

    I used Standard M8 Spindles with I believe 1.25 Pitch

    those are not standard. you really need to know
    post the link the the product that you bought.



  • @Frederik said in DWC Z - Axis Movement off by Factor 10:

    Standard M8 Spindles

    M8 Spindles have not been used in 3d printers for years because of bad results.

    do you mean tr8 lead screw?



  • @Veti It was a complete Kit from Ratrig. There were no specifications other than M8 400mm
    I will ask the manufacturer



  • @Frederik Make a picture. will be faster.



  • according to the BOM:

    8mm Metric ACME Lead Screw



  • @Frederik If this is Tr8x8 with 1.9deg stepper and 16microsteps it should be 400steps/mm

    Also seems movement parameters section is doubled for some reason.



  • alt text



  • thats a 4 start tr8 leadscrew

    it has an 8mm pitch



  • @Veti So as I wrote, 1.9deg, 16 microsteps, 8mm pitch - 400steps/mm. Not ~4000 or 2560.

    And... what kind of extruder You have that E steps/mm are so.. not a round number?



  • thanks a lot, i will try the new values 😉



  • @Frederik And cleanup You config. Seems

    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X160.00 Y160.00 Z2560.00 E837.02 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z1000 E1200 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 X400 Y400 Z400 S0 ; set axis maxima
    
    ; Endstops
    M574 X2 S1 P"!io1.in" ; configure active-high endstop for high end on X via pin !io1.in
    M574 Y1 S1 P"!io0.in" ; configure active-high endstop for low end on Y via pin !io0.in
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z
    

    is duplicated



  • MY other question is about the LAser FIlament Sensor:

    I only Found the following Line in the dozuki for RRF 3.x

    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

    would this work on my duet 3 (connected to io3)

    M950 J3 C"!^io3.in" ; Input 3, inverted, pullup enabled
    M591 D0 P5 C"io3.in" R40:120 E3.0 S1 ; Duet3D laser sensor for extruder drive 0, connected to IO 3,
    tolerance 40 to 120%, 3mm comparison length, enabled



  • @BoA oh, i see, thats a copy and paste error.... in my config its only once



  • @Frederik said in DWC Z - Axis Movement off by Factor 10:

    M950 J3 C"!^io3.in" ; Input 3, inverted, pullup enabled

    I would remove this one.



  • @BoA so only this line :

    M591 D0 P5 P"io3.in" R40:120 E3.0 S1

    the green light flashes constantly and when i move the filament i respnds with faster blinking.

    is this all i need ? no extra pause and resume command ?



  • @Frederik Should be fine. But I am guessing when filament monitoring shows some problems pause.g is executed to pause the print.

    You can check sensor status by M591 D0



  • @BoA my extruder Setup:

    Original Bondtech BMG with a E3d Volcano with 0.4 mm micro swiss nozzle and titan heatbreak. 40W Heater and Thermistor 100K
    0.9° Pancake Stepper

    bedheater: 220V AC1.2 kW Keenovo Silicone Pad 400x400



  • @BoA said in DWC Z - Axis Movement off by Factor 10:

    M591 D0

    Response: Extruder 0 has no Filament Sensor



  • @Frederik BMG with 0.9 stepper + 16 microsteps should have 830steps/mm



  • i will try it. on moment



  • @Frederik Paste Your config.g only and result of

    M98 P"config.g"
    


  • ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.7 on Wed Nov 18 2020 18:04:17 GMT+0100 (Mitteleuropäische Normalzeit)

    ; General preferences

    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Duet 3" ; set printer name
    M669 K1 ; switch to CoreXZ mode and multiply motor movements by 3 for the Z axis

    ; Drives
    M569 P0.0 S0 ; physical drive 0.0 goes backwards
    M569 P0.1 S0 ; physical drive 0.1 goes backwards
    M569 P0.2 S0 ; physical drive 0.2 goes backwards
    M569 P0.3 S0
    M569 P0.4 S0
    M569 P0.5 S1 ; physical drive 0.5 goes forwards
    M584 X0.1 Y0.0 Z0.2:0.3:0.4 E0.5 ; set drive mapping
    M671 X425:200:-25 Y240:-25:240 S1 P1.25 ; leadscrews at front left, rear middle and front right with 1mm per screw compensation

    ; Movement Parameters

    M350 X16 Y16 Z16 E16 I1 ; configure microstepping without interpolation
    M92 X160.00 Y160.00 Z400.00 E830.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z800 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 X400 Y400 Z385 S0 ; set axis maxima

    ; Endstops
    M574 X2 S1 P"!io1.in" ; configure active-high endstop for high end on X via pin !io1.in
    M574 Y1 S1 P"!io0.in" ; configure active-high endstop for low end on Y via pin !io0.in
    M574 Z2 S2 ; configure Z-probe endstop for low end on Z

    ; Duet Laser Filament Sensor

    M591 D0 P5 P"io3.in" R40:120 E3.0 S1 ; Duet3D laser sensor for extruder drive 0, connected to IO 3,
    tolerance 40 to 120%, 3mm comparison length, enabled

    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X160.00 Y160.00 Z400.00 E837.02 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z30.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z1000 E1200 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 X400 Y400 Z400 S0 ; set axis maxima

    ; Endstops
    M574 X2 S1 P"!io1.in" ; configure active-high endstop for high end on X via pin !io1.in
    M574 Y1 S1 P"!io0.in" ; configure active-high endstop for low end on Y via pin !io0.in
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
    M558 P9 C"^io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-26 Y2 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X0:400 Y0:400 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S200 ; set temperature limit for heater 0 to 200C
    M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C"out8" Q500 ; create fan 0 on pin out8 and set its frequency
    M106 P0 C"Hotend" S1 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on
    M950 F1 C"!out4" Q500 ; create fan 1 on pin !out4 and set its frequency
    M106 P1 C"Bauteildüse" S1 H-1 ; set fan 1 name and value. Thermostatic control is turned off

    ; Tools
    M563 P0 S"E3D V6 0.4 Steel" D0 H1 F0:1 ; 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

    ; Custom settings are not defined

    ; Miscellaneous

    M501 ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0 ; select first tool


Log in to reply