Consistent layer shifting in the X direction [SOLVED]
mrjoneskod last edited by dc42
Layer Shifting only in the X-axis.
Hello, I have a Cartesian printer (ultimaker style), used my old ramps and never had the layer shifting problem.
Is only in the X direction. The motors are the same for all axis. My steppers are https://www.amazon.ca/Longruner-Connector-Mounting-Brackets-LD10-3/dp/B07FKCCD8Q/ref=sr_1_8?s=electronics&ie=UTF8&qid=1541126467&sr=1-8&keywords=longruner+stepper+motor, they are usually really good.
I really don't know what could be the cause and would like some help, the problem started after I replaced the RAMPS for the Duet WIFI. I Understand that that Duet is miles better, but I have no idea what the root cause could be.
Any help will be highly appreciated.
Can you post your config?
Is it a consistent layer shift in the same model or is it on all models?
If you move the print head by hand with the motors disconnected is it smooth?
LHelge last edited by
I've had that problem when the setscrews on the X motor pulley were loose. Could be worth checking.
Aside from loose pulleys and other mechanical issues, here are some possibilities:
- X motor current set too low in config.g (M906 command)
- X motor current set correctly, but you are using M913 to reduce it (e.g. in a homing file) and you have forgotten to restore it to 100%
- X acceleration set too high in M201
- X speed set too high in M203
- X jerk set too high in M566
Hi, it happens in all models. When I said consistent I meant persistent. It happens on every print. Usually more in the first layers. When the shifting is not too bad I let the print go on and sometimes I get usable prints.
I have already checked all pulleys, and they are firm in place. The movement is not silky smooth but there is little resistance as it always been.
I really don't know what could be happening.
My config is:
*****; Configuration file for Duet WiFi (firmware version 1.21)
; executed by the firmware on start-up
; generated by RepRapFirmware Configuration Tool on Sun Sep 30 2018 14:31:59 GMT-0500 (Central Summer Time)
; General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M550 PStaplestain [8'| ; Set machine name
M552 S1 ; Enable network
;*** Access point is configured manually via M587
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S0 ; Drive 3 goes forwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z400 E140 ; Set steps per mm
M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z250 E250 ; Set accelerations (mm/s^2)
M906 X1200 Y1200 Z800 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 X250 Y200 Z250 S0 ; Set axis maxima
M574 X1 Y1 S0 ; Set active low endstops
M574 Z1 S2 ; Set endstops controlled by probe
M558 P5 I1 H5 F120 T6000 ; Set Z probe type to modulated and the dive height + speeds
G31 P500 X34 Y3 Z2.23 ; Set Z probe trigger value, offset and trigger height
M557 X15:235 Y15:185 S20 ; Define mesh grid
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
M106 P0 S0.3 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
M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
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
M307 H2 A-1 C-1 D-1 ; disable the heater functionality
; Automatic saving after power loss is not enabled
; Custom settings are not configured*****
Thanks for helping.
That is my Z homing file:
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 X-255 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F6000 ; go back a few mm
G1 S1 X-255 F360 ; move slowly to X axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning
Can you send M906 in the console to see the actual currents being used. Same with M913 to see if it's being reduced at all.
deckingman last edited by deckingman
Also check the wiring on the X motor lead. It could a bad crimp on one of the pins which might have got disturbed when you changed the boards.
@phaedrux I am trying to run a ~2h print. I sup[ose I have to wait to run the m906 and m9013 correct?
@deckingman Yeah, I am starting to think about wiring as well. Maybe I need a better crimper.
Motor current % of normal - X:100, Y:100, Z:100, E100100100100:100
Motor current (mA) - X:1200, Y:1200, Z:800, E:1200:1200:1200:1200:1200:1200:1200:1200:1200, idle factor 30%
You can send M codes with no parameters to get the duet to tell you what the current values are. You can send them any time.
Looks like your motor currents are ok. You could try increasing your x motor current to 70-85% of the motors rated max just incase it needs more power than its getting.
Is there any over extrusion going on that could cause the nozzle to catch?
I don't see any over extrusions. About increasing the current. I tried it. It did not solve the problem but cause the motor to run really hot. Hot to the point I could not touch for more them 3 seconds.
I did calibrate my extrusion length using the matter hackers guide, so I think it is ok on that.
There's a small chance that it could be caused by a partially-blown stepper driver. To eliminate that possibility, if your E1 stepper output is free than you can connect the X motor to that instead. Then add the command M584 X4 E3 to config.g, earlier in the file than the M906 command and the M350 command if you have one. Also make sure that the M569 P4 command specifies the same direction (S parameter) as the M569 P0 command.
@dc42 DO you really think that could be it? I will try to re-do the connector and realign the gantry first.
My Duet is brand new, I never forced it, it has active ventilation and I never exceed the driver nor the motor max current. I really think it is either software or mechanical.
Like I said, after the couple shifts in the first 10 to 20 layers the other 200 go absolutely fine.
that is what's really throwing me off. Being my printer an ultimaker style the gantry does no move up ir down, only the bed.
I will do the adjusts and post the results.
@dc42 SOmething I forgot to mention, yesterday I managed to complete 2 successful prints (no major shifts), but the weird thing is on the second one the 4 top layers were missing but the printer reported the end of print with no errors.
Could that be a case for reflashing the firmware?
I am on 1.21 (2018-03-21)
That firmware is quite old so I suggest you update it to latest stable or latest release candidate.
o latest s
So I have updated the firmware, but nothing changed, I removed and tested each bearing. They all seem fine, there is one thing tho. the x-axis will move very smoothly in one direction and there is a lot of resistance in the other direction.
I have no clue what could cause that. If I try to move it by hand in one direction it will move with barely any force, in the other direction if I dont move it trough the sliders it almost bend the 8mm rods of the gantry.
nophead last edited by
@mrjoneskod That does sound like a faulty linear bearing. I think they can get a flat ball if you run without lubricant but it has to move about twice the length of the bearing to find it and jam.
@nophead Well, I will buy new bearing and see what happens