Jerky movement problem
I just acquired a DuetEthernet and I'm trying to configure it for my corexy printer (mzbot voron 1.5).
I get to move the x and y axes at F3600 but if I move them at F360 the movement becomes jerky and xy carriage begin to move diagonally.
My drive configuration is as follows :
M667 S1; Select CoreXY mode
M350 X16 Y16 Z16 E16: 16I1; Configure microstepping with interpolation
M92 X80 Y80 Z400 E608:608; Set steps per mm
M566 X1000 Y1000 Z100 E500: 500; Set maximum instantaneous speed changes (mm / min)
M203 X18000 Y18000 Z1000 E9000: 9000; Set maximum speeds (mm / min)
M201 X3000 Y3000 Z500 E3000: 3000; Set accelerations (mm / s ^ 2)
M906 X1500 Y1500 Z1500 E1500: 1500 I30; Set motor currents (mA) and motor idle factor in per cent
Firmware Name: RepRapFirmware for Duet Ethernet
Firmware Electronics: Duet Ethernet 1.0
Firmware Version: 1.19.2 (2017-09-01)
Web Interface Version: 1.19.3
I've tried to increase or reduce speed, acceleration, instantaneous speed changes, current (2.0A rated current/phase stepper motor) …
I calculated speed like this :
speed = (4 * pulley_teeth * supply_voltage)/(steps_per_rev * pi * inductance * current)
speed = (4 * 20 * 12)/(200 * 3.1418 * 0.003 * 1.7)
speed = 18000 mm/min
Do you know what can cause this ?
Thanks for your help.
I didn't spot anything wrong with that configuration. Please post your complete config.g file, then I will run it on one of my test setups.
deckingman last edited by
If the carriage starts to move diagonally on a CoreXY, that would indicate a problem with just one motor. I've just tried moving at F360 on my CoreXY and it works fine (same firmware). My speed, and accel settings settings are a little different but not significantly and my steps per mm are identical. My motor current is a little higher at 1800mA but my moving mass in Y is 4Kg.
With motors off (M84) do the axes moves freely by hand? No sign of anything sticking or binding? Any loose or bad connections in the motor wiring?
This is my last complete config.g file :
[[language]] ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin M667 S1 ; Select CoreXY mode ; Bed size M208 X0 Y0 Z0 S1 ; Set axis minima M208 X230 Y230 Z210 S0 ; Set axis maxima ; Endstops M574 X1 Y1 Z1 S1 ; Set low end active high endstops on all axis ; Mesh grid M557 X15:215 Y15:215 S20 ; Drives M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S1 ; Drive 4 goes forwards M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation M92 X80 Y80 Z400 E608:608 ; Set steps per mm M566 X1000 Y1000 Z100 E500:500 ; Set maximum instantaneous speed changes (mm/min) M203 X18000 Y18000 Z1000 E9000:9000 ; Set maximum speeds (mm/min) M201 X3000 Y3000 Z500 E3000:3000 ; Set accelerations (mm/s^2) M906 X1700 Y1700 Z1700 E1700:1700 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S120 ; Set idle timeout ; Heaters M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning) M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C M305 P2 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 2 M143 H2 S280 ; Set temperature limit for heater 2 to 280C ; 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 M563 P1 D1 H2 ; 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 ; Network M550 PK3D ; Set machine name M540 PBE:EF:DE:AD:FE:ED ; Set MAC address M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; 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:2 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1:2 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Custom settings are not configured
deckingman last edited by
Nothing obvious is leaping out at me from that config.g. Comparing yours with mine the only real difference is that your motor directions are mostly the opposite to mine but that doesn't mean anything as it depends on the individual motors. If everything moves correctly at 3600mm/min then the motor direction must be correct. Which brings me back to something mechanical or wiring, rather than configuration. Are the pulleys all tight on the motor shafts? Nothing slipping?
All is working well with my RAMPS board so i think it's not a mechanical or wiring problem .
I will check it twice tonight …
Try doing diagonal moves at F360 and see if the movement is jerky in one of both diagonal directions. That may pin the problem down to a single driver/cable/motor.
Thank you dc42, I set G91 then …
... with A motor on X driver, B motor on Y driver :
G1 X-20 Y20 F360 => smooth (only B motor moves)
G1 X20 Y20 F360 => jerky (A motor "try" to moves)
... with A motor on Y driver, B motor on X driver :
G1 X-20 Y20 F360 => smooth (only A motor moves)
G1 X20 Y20 F360 => jerky (B motor "try" to moves)
It's probably a X driver problem, no ?
This is already a replacement. The first one having the same problem but with Z driver !
I will recontact Roland ... i'm a bit dissapointed ... Fortunately they have quickly treat the problem the first time. Hope this will be as quickly this time. More than 2 weeks without 3d printer, it's hard
Thank you all for your help.
I'm sorry you seem to have received a board with a faulty driver again. We have recently changed our test procedure to stress the drivers more, so will hopefully weed out more weak drivers during testing. It sounds as though we should do a low speed test too, as the problem you encountered didn't appear at higher speeds.
Ok, these are things that happen!
I'm happy to contribute to have better Duet board
I received my new board a week ago and it's working like a charm.
I want to thank Roland from Think3dPrint3d for the great customer service and you, David, for your rapid and efficient help to find and solve my problem.
The duetEthernet is a really good controller and i'm now fully convince to have make the right choice.
Thank you all and have a merry christmas and a happy new year !