Z- axis not lifting when going to a higher layer.
-
Hello everyone! I'm experiencing an issue with my printer where the Z-axis isn't lifting when it's supposed to during printing. Specifically, it doesn't rise to proceed to the next layer.
Here is are my settings:
;Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Sun Feb 19 2023 20:39:14 GMT-0500 (Eastern Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"O&MAKERSLAB" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P5 R1 T2.5:2.5:5:5 S1 ; physical drive 5 goes forwards (z) M569 P6 R1 T2.5:2.5:5:5 S0 ; physical drive 6 goes forwards (x) M569 P7 R1 T2.5:2.5:5:5 S0 ; physical drive 7 goes forwards (Y) M569 P8 R1 T2.5:2.5:5:5 S1 ; physical drive 8 goes forwards (E) M584 X6 Y7 Z5 E8 ; set drive mapping M350 X32 Y32 Z16 E16 I1 ; configure microstepping with interpolation M92 X21 Y21 Z320 E374.00 ; set steps per mm M566 X900.00 Y900.00 Z300 E120 ; set maximum instantaneous speed changes (mm/min) M203 X4800 Y4800 Z1800.0 E1200 ; set maximum speeds (mm/min) M201 X700 Y700 Z20.00 E500.00 ; 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 X708 Y694 Z700 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop ; Z-Probe M558 P1 C"!zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P1.5 X0 Y0 Z0.1 ; set Z probe trigger value, offset and trigger height M557 X15:621 Y15:621 S101 ; define mesh grid ; Heaters 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 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S300 ; set temperature limit for heater 0 to 300C M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PT1000 on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit M143 H1 S300 ; set temperature limit for heater 1 to 280C M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as PT1000 on pin e1temp M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit M143 H2 S315 ; set temperature limit for heater 2 to 315C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1:2 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1:2 S"Typhoon" ; 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 M575 P1 B57600 S1 T0 ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
This is my start G-Code (I am using Prusa Slicer)
---------------------- M17 ; enable steppers ; No specific printer model check command in standard RepRap, remove or replace if customized in your firmware M115 ; report firmware version, make sure it's correct for your setup G90 ; use absolute coordinates M83 ; set extruder to relative mode ; Set print area, replace this with specific commands if your firmware requires ; RepRap firmware typically doesn't need a command to define print area dimensions ; If you have a custom command, include it here ; Inform about nozzle diameter, this might need to be set in the slicer or firmware configuration ; No standard RepRap G-code to set nozzle diameter on the fly, set this pre-print in configuration ; Set and wait for bed and extruder temperature for first layer M140 S[first_layer_bed_temperature] ; set bed temperature M104 S[first_layer_temperature] ; set extruder temperature M109 S[first_layer_temperature] ; wait for extruder temperature M190 S[first_layer_bed_temperature] ; wait for bed temperature ; Home all axes G28 ; Home all axes ; Perform bed leveling, adjust or add parameters as per your probe setup G29 ; Auto bed leveling command, ensure this is configured for your machine ; Move to a starting position for the print, ensure these coordinates are within bounds G1 X50 Y50 Z0.2 F4800 ; adjust starting position based on your printer's safe zone ; Purge and clean nozzle, adjust as necessary G92 E0 ; reset extruder position G1 E10 F200 ; extrude 10mm of filament G1 X100 E20 F600 ; engage a longer purge G1 Y100 Z0.4 F1000 ; wipe at a safe height ; Final move to start print G1 X5 Y5 Z0.3 ; move to start corner of your print area G92 E0 ; reset extruder position ; Additional custom commands here if needed ; Custom G-code G28 ; home all axes G1 Z5 F5000 ; lift nozzle M290 S-6.50 --------------------------
Let me know if you need anything else to see what's causing this problem.
-
@JlunaMX said in Z- axis not lifting when going to a higher layer.:
From your config.g:
M92 X21 Y21 Z320 E374.00 ; set steps per mm M566 X900.00 Y900.00 Z300 E120 ; set maximum instantaneous speed changes (mm/min) M203 X4800 Y4800 Z1800.0 E1200 ; set maximum speeds (mm/min) M201 X700 Y700 Z20.00 E500.00 ; set motor currents (mA) and motor idle factor in per cent
Your M566 jerk setting for Z is very high, and so is your M203 maximum speed for Z, for a Z axis that has a steps per mm of M92 Z320. I assume this is a leadscrew? I expect the motor is stalling when trying to move, because the move is too fast. Try something like:
M566 Z12 ; set maximum instantaneous speed changes (mm/min) M203 Z600 ; set maximum speeds (mm/min)
If that works, you can try increasing them until you get a good balance of speed vs reliability.
Also M201 comment is incorrect; it is not motor currents (mA), it is accelerations (mm/s^2). As you are not setting motor current, and setting the timing on your motor drivers, I assume you are using external motor drivers?
Ian
-
@droftarts Yes! You are correct I am using external drivers. that's weird that the comment is incorrect as I did it from the duet web page. where you put all the settings and then download the files.
I will try that and let you know.
And yes its a leadscrew.
-
@droftarts I tried but I still don't get the Z-axis to lift.
What do you think this could be?
Let me know if you need any others settings for you to see and determine what is might causing this
-
@JlunaMX What board are you using to drive the external drivers? Duex, Expansion Breakout Board (EBoB) or something else? What external stepper drivers are you using? Have the Z motors ever worked, or do they work when not printing? If you send M17, is the stepper driver enabled (the Z motor should be 'on' and difficult to move by hand), or can you turn the Z motor by hand? Please send M122 and post the response. Check the wiring of the Z motor driver, and that any dip switches are set correctly.
Ian
-
@droftarts I am using the Expansion Breakout Board (EBoB) to drive the external drivers. For the Z-axis, I am using the MKS SERVO57C Closed Loop Stepper Driver. The Z motors have always worked correctly and can lift manually when I use the Duet controls. However, the Z-axis does not seem to work when I am printing. When I send M17, the stepper driver is enabled, and the Z motor is 'on' and difficult to move by hand, though I can still turn it with considerable force.
This is the response I get when I send M122:
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.4 (2022-10-20 16:17:41) running on Duet WiFi 1.02 or later
Board ID: 0JD0M-9X6JA-JUNSS-6J9DL-3S86M-KTK7U
Used output buffers: 1 of 26 (24 max)
=== RTOS ===
Static ram: 23860
Dynamic ram: 75480 of which 0 recycled
Never used RAM 12596, free system stack 152 words
Tasks: NETWORK(notifyWait,13.4%,242) HEAT(notifyWait,0.1%,333) Move(notifyWait,0.0%,318) MAIN(running,86.5%,458) IDLE(ready,0.0%,30), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:15:06 ago, cause: power up
Last software reset at 2024-05-09 20:18, reason: User, GCodes spinning, available RAM 12356, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 0
MCU temperature: min 35.8, current 38.5, max 39.0
Supply voltage: min 23.9, current 24.2, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a
Driver 1: standstill, SG min n/a
Driver 2: standstill, SG min n/a
Driver 3: standstill, SG min n/a
Driver 4: standstill, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2024-05-16 19:02:59
Cache data hit count 4294967295
Slowest loop: 6.82ms; fastest: 0.18ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.4ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 6, maxWait 460551ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 5, completed 5, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
Heater 2 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
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
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty
=== Network ===
Slowest loop: 101.65ms; fastest: 0.07ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
= WiFi =
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 4
WiFi firmware version 1.27
WiFi MAC address 48:3f:da:a6:ee:a2
WiFi Vcc 3.34, reset reason Power up
WiFi flash size 2097152, free heap 24136
WiFi IP address 172.20.10.12
WiFi signal strength -63dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.4 (2022-10-20 16:17:41) running on Duet WiFi 1.02 or later
Board ID: 0JD0M-9X6JA-JUNSS-6J9DL-3S86M-KTK7U
Used output buffers: 1 of 26 (24 max)
=== RTOS ===
Static ram: 23860
Dynamic ram: 75480 of which 0 recycled
Never used RAM 12596, free system stack 152 words
Tasks: NETWORK(notifyWait,13.4%,242) HEAT(notifyWait,0.1%,333) Move(notifyWait,0.0%,318) MAIN(running,86.5%,458) IDLE(ready,0.0%,30), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:15:06 ago, cause: power up
Last software reset at 2024-05-09 20:18, reason: User, GCodes spinning, available RAM 12356, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 0
MCU temperature: min 35.8, current 38.5, max 39.0
Supply voltage: min 23.9, current 24.2, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a
Driver 1: standstill, SG min n/a
Driver 2: standstill, SG min n/a
Driver 3: standstill, SG min n/a
Driver 4: standstill, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2024-05-16 19:02:59
Cache data hit count 4294967295
Slowest loop: 6.82ms; fastest: 0.18ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.4ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 6, maxWait 460551ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 5, completed 5, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
Heater 2 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
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
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty
=== Network ===
Slowest loop: 101.65ms; fastest: 0.07ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
= WiFi =
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 4
WiFi firmware version 1.27
WiFi MAC address 48:3f:da:a6:ee:a2
WiFi Vcc 3.34, reset reason Power up
WiFi flash size 2097152, free heap 24136
WiFi IP address 172.20.10.12
WiFi signal strength -63dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0