Dual Z issue Steppers turn different in Speed
-
Good evening,
I have the following problem. I have set up my Duet on Dual Z. So one motor on Z and the other motor on E0. I have also set up the limit switches in the same way. The function itself is given means the axes reference individually via the corresponding limit switches, but one axis moves faster than the other. Spindles and motors are the same for both axes. The U-axis is visible in the webintface and is never hidden p3-p4. The feeds of the axes are also the same. Settings were made according to the wiki, that is: homez and homeall the U axis was added accordingly In the Config. g the motors were merged accordingly. If I replace the motors on the drivers, the problem also moves to the other side. Can it be that a driver is defective there? The motors also do not lose steps.
Thanks for your help. -
Please post your config.g and homing files as well as the results of M122.
-
config.g
; Configuration file for Duet WiFi (firmware version 2.03)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.10 on Sun Dec 13 2020 19:40:04 GMT+0100 (Mitteleuropäische Normalzeit); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Hevo RS" ; set printer name
M669 K1 ; select CoreXY mode; Network
M551 P ; set password
M552 P192.168.178.220 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M569 P4 S1M350 X16 Y16 Z16 U16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 U400.00 E95.24 ; set steps per mm
M566 X600.00 Y600.00 Z60.00 U60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z180.00 U180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X5000.00 Y5000.00 Z20.00 U20 E250.00 ; set accelerations (mm/s^2)
M204 P500 T3000
M906 X1000 Y1000 Z1000 U1000 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 U0 S1 ; set axis minima
M208 X295 Y295 Z380 U380 S0 ; set axis maxima; Endstops
M584 XO Y1 Z2:3 U3 E4
M574 Z1 U1 H1
M574 X1 Y1 H1 ; set active high endstops; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X10:290 Y10:290 S90 ; define mesh grid; Heaters
M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
M143 H1 S260 ; set temperature limit for heater 1 to 260C; Fans
M106 P0 S0 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; Tools
M563 P0 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; Custom settings are not defined
homez.g
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.1.10 on Sun Dec 13 2020 19:40:04 GMT+0100 (Mitteleuropäische Normalzeit)
G91 ; relative positioning
G1 H2 Z5 U5 F6000 ; lift Z relative to current position
G1 H1 Z-405 U-405 F1800 ; move Z down until the endstop is triggered
G92 Z0 U0 ; set Z position to axis minimum (you may want to adjust this); Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioninghomeall.g
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.1.10 on Sun Dec 13 2020 19:40:04 GMT+0100 (Mitteleuropäische Normalzeit)
G91 ; relative positioning
G1 H2 Z5 U5 F600 ; lift Z relative to current position
G1 H1 X-305 Y-305 F1000 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-305 ; home X axis
G1 H1 Y-305 ; home Y axis
G1 X5 Y5 F600 ; go back a few mm
G1 H1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-305 ; then move slowly to Y axis endstop
G1 H1 Z-405 U-405 F360 ; move Z down stopping at the endstop
G90 ; absolute positioning
G92 Z0 U0 ; set Z position to axis minimum (you may want to adjust this); 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 cant send the M122 output cause Askimet means its spam
-
@hevtec said in Dual Z issue Steppers turn different in Speed:
If I replace the motors on the drivers, the problem also moves to the other side. Can it be that a driver is defective there? The motors also do not lose steps.
Are you sure the motors are the same? It sounds like one may be 1.8 degree and the other 0.9 degree.
-
@hevtec said in Dual Z issue Steppers turn different in Speed:
I cant send the M122 output cause Askimet means its spam
Wait a moment and try again.
-
m122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet Ethernet 1.02 or later
Board ID: 08DJM-9178L-L2MS8-6JKDA-3S46T-KSHLN
Used output buffers: 1 of 24 (7 max)
=== RTOS ===
Static ram: 25712
Dynamic ram: 92764 of which 416 recycled
Exception stack ram used: 272
Never used ram: 11908
Tasks: NETWORK(ready,628) HEAT(blocked,1232) MAIN(running,3800) IDLE(ready,160)
Owned mutexes:
=== Platform ===
Last reset 00:04:20 ago, cause: power up
Last software reset time unknown, reason: User, spinning module GCodes, available RAM 11636 bytes (slot 1)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 22.1, current 28.7, max 28.9
Supply voltage: min 24.3, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: standstill, SG min/max not available
Driver 1: standstill, SG min/max not available
Driver 2: standstill, SG min/max not available
Driver 3: standstill, SG min/max not available
Driver 4: standstill, SG min/max not available
Date/time: 2021-06-06 21:12:47
Cache data hit count 499010770
Slowest loop: 2.59ms; fastest: 0.06ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Move ===
Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms
Bed compensation in use: none, comp offset 0.000
=== DDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
=== GCodes ===
Segments left: 0
Stack records: 1 allocated, 0 in use
Movement lock held by null
http is idle in state(s) 0
telnet is idle in state(s) 0
file is idle in state(s) 0
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 5.95ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
Interface state 5, link 100Mbps full duplex -
@phaedrux yes im 100% sure that they are they same checked them more than once
-
@hevtec Move your M584 command up in config.g, to just after the five M569 commands. See note in gcode dictionary about order dependence https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping
M584 must come earlier in config.g than any M350 and M906 commands. If it creates new axes, it must also be earlier than any M92, M201, M203, M208, M350, M566, M574, M667 and M669 commands.
Also, your M584 command has the letter 'O' for the X axis, rather than the number '0'. You also need 'P3' to show only three axes, hiding the U axis. Should be:
M584 X0 Y1 Z2:3 U3 E4 P3
You are also not doing the homing sequence correctly. In RRF 2, you have to unbind driver 3 (U axis) to home it independently. See https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches+in+RRF2/18#s77
This is soooooo much easier to do in RRF 3. You don't have to mess around with a separate U axis. See https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_In_RepRapFirmware_Num_3
Ian
-
@droftarts thanks for your answear.
I happen to know that it also works without the motor splitting... the homing routine also works with the separate axes but the motors rotate at different speeds. P3 and P4 you need only for the U-axis in the interface is displayed or hidden