External Driver steps/mm problem
RobinFaurecia last edited by RobinFaurecia
we've got a DM542T Driver running as external Driver on the Duet Wifi 2.
The Problem is that the steps/mm from the Duet is not working properly.
The Driver is set up to 6400 Steps/rev. On the Z-Axis is a TR3 Screw.
This would mean 6400/3mm is 2133.3 steps/mm.
We tried this Setting and the travelled way is About Faktor 10 to small.
This means to get it working properly we Need to Setup the steps/mm to arround 21000.0 . This high value of needed steps means only very low reachable speeds.
Do you have any ideas About this Problem?
We already tried different Settings on the Driver and there is Always arround factor 10 to small.
The step Timing is set it up according to the Driver specs.:
M569 P5 S0 T2.5:2.5:5:0
; Configuration file for Duet WiFi (firmware version 1.21)
; executed by the firmware on start-up
; generated by RepRapFirmware Configuration Tool v2 on Tue Jan 15 2019 15:02:01 GMT+0100 (Mitteleuropäische Zeit)
; General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M667 S1 ; Select CoreXY mode
M550 P"My Printer" ; Set machine name
M552 S1 ; Enable network
M587 S"Faurecia" P"1234abcd" ; Configure access point. You can delete this line once connected
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
M569 P0 S0 ; Drive 0 goes backwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes Forwards
M569 P6 S0 T2.5:2.5:5:0
M584 X0 Y1 Z6 E3 ; Apply custom drive mapping
M350 X64 Y64 Z1 E32 I0 ; Configure microstepping without Interpolation
M92 X320.00 Y320.00 Z17777.75 E820.00 ; Set steps per mm
M566 X900.00 Y900.00 Z300.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
M203 X24000.00 Y24000.00 Z12000.0 E3600.00 ; Set maximum speeds (mm/min)
M201 X5000.00 Y5000.00 Z50.00 E250.00 ; Set accelerations (mm/s^2)
M906 X2200.00 Y2200.00 Z800.00 E2000.00 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 X416 Y490 Z536.1 S0 ; Set axis maxima
M574 Y2 S0 ; Set active low and disabled endstops
M574 X2 Z1 S1 ; Set active high endstops
M558 P0 H0 F2000 T12000 ; Disable Z probe but set dive height, probe speed and travel speed
M557 X15:0 Y15:195 S20 ; Define mesh grid
M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM Limit
M307 H1 A927.1 C134.5 D5.9 S0.3 B0
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 S280 ; Set temperature limit for heater 1 to 280C
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 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
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
; Automatic saving after power loss is not enabled
; Custom settings are not configured
T0 ; Select first tool
What movement speeds are you trying to use when you move the Z axis? Your M203 Z movement speed limit is set to 12000 (200mm/sec). This is almost certainly much faster than your Z axis can do, and it would also require an unfeasibly high step rate. Try using a much lower value such as 300.
RobinFaurecia last edited by
We started with a Z-Speed limit of 50mm/s or 3000mm/min. This should not be a problem of feasibility with appropiate accelaration settings. There was exactly the same issue. We changed it to exclude a problem here.
Is there any other idea?
I think it is more a problem of voltage level or step/pulse timing.
Unfortunately I have no oscilloscope to check the quality of the step/dir signal of the duet wifi 2.
Are you using the expansion breakout board, or =have you connected the external stepper driver inputs directly yo the expansion header?
nhof last edited by
@robinfaurecia Check the voltage levels on the output.
Most external drivers (including the DM542T) require at least a 5v step/dir signal, while the duet will put out 3.3v by default. This works on some 5v systems but is not guaranteed and can lead to inconsistent behavior.
If you're not already using it, this product breaks out the expansion motor signals to 5v differential outputs which can help with external driver compatibility.
Beyond working on the signal itself, could you reduce the microstepping to the motor? At x32 microstepping with a 3mm lead screw that is a Z resolution of 0.0005 mm which may be finer than needed for your application.
Reducing it even to x8 would still leave you with a Z resolution of ~0.002mm and cut the steps by a factor of 4.
Of course this depends on what you actually need out of the Z.