Problems with the z axis
I have a problem with my 3D printer. I think I have located it to the z axis.
It prints fine but sometimes during a print the z axis moves more than it should.
An example that I have unfortunately thrown out is that it went fine until it was halfway so the z axis started to move more than it should but extruded the same as it should so it just becomes a lot of threads and the print was 5 to 6 times as high as it should have been.
Here is an example of one of the prints not the best but the best I have.
I think the problem is around the z axis maybe the stepdriver or firmware.
I do not think the problem is in my config.g but here it is.
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S0 ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z400.00 E890.00 ; set steps per mm
M566 X600.00 Y600.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z360.00 E1500.00 ; set maximum speeds (mm/min)
M201 X4000.00 Y4000.00 Z20.00 E10000.00 ; set accelerations (mm/s^2)
M906 X500 Y500 Z750 E600 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 X200 Y200 Z250 S0 ; set axis maxima
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop
M574 Z1 S1 P"!zprobe.mod" ; configure active-high endstop for low end on Z via pin !zprobe.mod
M950 S0 C"exp.heater7" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F200 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X30 Y-10 Z1.715 ; Z probe trigger value, offset and trigger height
M557 X50:180 Y20:180 S20 ; define mesh grid
;M558 P9 F100 H5 R0.2 T6000 A5 B1 ; Mine konfigurationer A
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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 S120 ; set temperature limit for heater 0 to 120C
M307 H0 A78.0 C365.1 D3.4 V24.3 BO ; Mine PID parametre
M308 S1 P"spi.cs2" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs2
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M307 H7 A-1 C-1 D-1 ; Mine konfigurationer A frigør varmelegeme 7
M307 H1 A258.4 C178.5 D3.0 V24.3 B0 ; Mine PID parametre
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1:0 T50 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 S1 H1 T40 ; set fan 2 value. Thermostatic control is turned on
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
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
What kind of Z axis do you have?
Are you sure it's 400 steps per mm?
If you tell it to move up 100mm how far does it actually move when you measure?
400 trin pr. Mm
It is a 400 steps per. Mm and it moves 100mm when I ask for it. It has made many good prints and it also always starts well with the prints that goes wrong. To the start I thought it was Cura so I tried Prusa slicer but it also happens here and it would also surprise me if it was Cura as I use it for two other printers without any problems. I will try to print an object where you can see the transition from perfect to threads. But the problem only occurs once in a while so it is difficult to find a connection.
Hi sorry it's been a long time since I've written, but I've been busy. I have printed a print where you can see the difference between the fine and the bad layers.
It was already not the best print in terms of quality but you can still clearly see the transition. It should have been 52.99mm as the printer says here.
But it was actually 68mm on the z axis. I came to think that there might not be enough cooling on the step driver for the z axis so I tried with even more cooling than I had on but the error still occurs. In addition, the bed moves down towards the engine during printing so the engine should not have had so much to do. In addition, it already has no problem with moving the plate and as you can see, the MCU temperature is already very low.
Here is another example
It should be 7.16mm as the printer says but as you can see it is approx. 15mm.
For safety's sake, I have measured whether it moves what it should and it does. Has also printed several prints that have the goals they need.
My only idea right now is to set up ampere for the z motor.
timcurtis67 last edited by
Are you using Z hop with your retracts? It looks like a serious mechanical issue with your Z axis. Something is either loose or binding.
I would start checking all mechancial connections related to Z axis. Stepper mounts, coupler's or pullys. Loose lead screw, lead screw nut loose or stripped. ect,
Thank you very much for the good advice. It has now been running for a few days and printed a lot without my problem having occurred at any point. I ended up replacing the stepper motor and cables. I also set up amps and set Idle Current Percentage up from 30 to 60. I have not experimented with the right solution but am just happy that it works as it should, I think that Idle Current Percentage was too low in relation to the weight from the bed it was supposed to hold when it went down in tension. Thanks again for sparring.