@NeoDue I too, previously had layer shifts. With the newer firmware, there are no layer shifts and it works great!
Thank you, @dc42!!
@NeoDue I too, previously had layer shifts. With the newer firmware, there are no layer shifts and it works great!
Thank you, @dc42!!
@o_lampe I think how @dc42 interacts with the community and listens to each one of us, is what makes the whole Duet ecosystem amazing!
While the endstop values are high, I don't think it is related to that. @dc42 what do you think?
Thanks,
Balaji
@balajiramani I tried the 3.5rc1+ firmware and the slope is no longer there.
So, after removing daemon.g, there are no pauses. Sorry for the false alarm.
@DonStauffer I too am having a similar problem with bed levelling. Printing with 3.6.0-alpha2+3 works fine and the input shaping is absolutely awesome! BTW, the printer I have is a delta.
The input shaping is so good that I am able to increase the accleration and jerk, without any artefacts. I was also able to drop the pressure advance value. I went from 0.21 to 0.14.
@dc42 Thank you! Verified that this version workes, irrespective of what the starting point for the bed calibration is.
@dc42 were you able to look into this issue?
I paused a print and tried to resume it and the effector moved in a "U" shaped move when resuming the print. Due to this, the nozzle crashed into the printed part and messed up. This is on a delta printer.
I am attaching config.g, pause.g and resume.g.
Thanks,
Balaji
@dc42 Understand. Let me know if I can help in any way.
@dc42 I was wondering when we might a fix for this issue? I really like the quality of the prints with 3.6 and hence don't want to downgrade, but can't start a long print because of the step timing error.
I just started a long print (6+ hours) and approximately 2.5 hours into the print, the job failed with the "Error: Movement halted because a step timing error occurred (code 3). Please reset the controller." error. This is with the 3.6.0-alpha.5+1 firmware.
Here is the output of M112 right after the error:
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.6.0-alpha.5+1 (2024-08-31 17:50:58) running on Duet WiFi 1.0 or 1.01
Board ID: 08DAM-999TL-MQ4SD-6JTDL-3SS6N-968BX
Used output buffers: 13 of 26 (21 max)
=== RTOS ===
Static ram: 23360
Dynamic ram: 67504 of which 12 recycled
Never used RAM 11864, free system stack 102 words
Tasks: NETWORK(2,nWait 6,15.3%,195) HEAT(3,nWait 5,0.1%,309) Move(4,invalid,5.2%,266) MAIN(1,running,79.4%,752) IDLE(0,ready,0.0%,29), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 02:31:01 ago, cause: software
Last software reset at 2024-09-16 11:25, reason: User, Gcodes spinning, available RAM 28192, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
MCU temperature: min 27.7, current 48.5, max 49.4
Supply voltage: min 23.5, current 24.2, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/1132/1072, gc cycles 1
Events: 0 queued, 0 completed
Date/time: 2024-09-16 13:56:21
Slowest loop: 218.04ms; fastest: 0.13ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 8
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 9.4ms, write time 3.1ms, max retries 0
=== Move ===
Segments created 639, maxWait 442509ms, bed comp in use: none, height map offset 0.000, hiccups added 5 (0.15ms), max steps late 1, ebfmin 0.00, ebfmax 0.00
Pos req/act/dcf: 68366.00/68371/-0.79 66822.00/66848/-0.92 76754.00/76740/0.84
no step interrupt scheduled
Driver 0: standstill, SG min 0
Driver 1: standstill, SG min 0
Driver 2: standstill, SG min 0
Driver 3: standstill, SG min 0
Driver 4: standstill, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
=== DDARing 0 ===
Scheduled moves 912010, completed 912008, LaErrors 0, Underruns [17, 0, 0]
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.1
Heater 1 is on, I-accum = 0.2
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is doing "G1 X-6.539 Y47.848" 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
Q0 segments left 1
Code queue 0 is empty
=== Network ===
Slowest loop: 195.01ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(4) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Firmware version 2.1.0
MAC address 5c:cf:7f:2c:25:00
Module reset reason: Turned on by main processor, Vcc 3.40, flash size 4194304, free heap 40984
WiFi IP address 192.168.1.61
Signal strength -28dBm, channel 6, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
Here is config.g:
; Setup some global variables
global power_fail_retract = 2 ; Retract 2mm when power fails
; Communication and general
M550 P"BigDelta" ; Machine name and Netbios name (can be anything you like)
M551 Preprap ; Machine password (used for FTP)
M552 S1 ; Enable WiFi. Disabled for setup and testing. Enable once set up on your network.
; Enable telnet
M586 S1 P2
; Debugging
M111 S0 ; Debug off
M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt
M555 P2 ; Set output to look like Marlin
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
; Axis and motor configuration
M569 P0 S0 ; Drive 0 goes backwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S0 ; Drive 3 goes backwards
; Assign extruder drive
M584 E3
; Set homing switch config
M574 X2 S1 P"!xstop" ; Set homing switch configuration on S1 = high-end, active-low
M574 Y2 S1 P"!ystop" ; Set homing switch configuration on S1 = high-end, active-low
M574 Z2 S1 P"!zstop" ; Set homing switch configuration on S1 = high-end, active-low
; Set it as a linear delta
M669 K3
; Setup paneldue 5i
M575 P1 S1 B57600
M665 R215.062 L395.317:395.475:395.433 B160 H374.050 ; set delta radius, diagonal rod length, printable radius and homed height
M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them
M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation
M92 X200 Y200 Z200 ; Set axis steps/mm
M906 X1400 Y1400 Z1400 E1400 I60 ; Set motor currents (mA) and increase idle current to 60%
M84 S60 ; Set idle timeout
M201 X12000 Y12000 Z2000 E10000 ; Accelerations (mm/s^2)
M203 X30000 Y30000 Z5000 E3600 ; Maximum speeds (mm/min)
;M566 X900 Y900 Z300 E1200 P1 ; Maximum instant speed changes mm/minute
;M566 X300 Y300 Z300 E450 P1 ; Maximum instant speed changes mm/minute
M566 X600 Y600 Z300 E900 P1 ; Maximum instant speed changes mm/minute
M204 P9000 T9000 ; Set acceleration for print and travel moves
; Configure Input shaping
M593 P"zvdd" F45
; Thermistors
M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
M308 S1 P"e0_temp" Y"thermistor" T100000 B3950 R4700 H30 L0 ; 100K NTC
;M308 S1 P"e0_temp" Y"thermistor" T100000 B4658 C6.5338987554e-08 ; 104-NT Aliexpress thermistor
M950 H0 C"bed_heat" T0 ; Set up H0 as the bed heater using T0 as the sensor
M950 H1 C"e0_heat" T1 ; Set up H1 as the extruder heater using T1 as the sensor
M140 H0 ; Map H0 as the bed heater
; Set temperature excursion warnings
M570 H0 P20
M570 H1 P20
M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
M308 S4 Y"drivers" A"Drivers" ; configure sensor 4 as temperature warning and overheat flags on the TMC2660 on Duet
M912 P0 S-3.5 ; Calibrate MCU temp
; Fan definitions
M950 F0 C"fan0"
M950 F1 C"fan1"
M950 F2 C"fan2"
; Thermostatic fan on 1 for cooling the hotend
M106 P1 T50 H1
; Thermostatic fan on 2 for cooling the board
M106 P2 H3:4 L.3 X1 B0.3 T35:70 ; set fan 2 value
; Tool definitions
M563 P0 D0 H1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
;M92 E1392 ; Based on https://www.thingiverse.com/thing:1359717; 2023/01/06
M92 E1077.1646 ; This is the new value for the hobb-goblin extruder. 03/07/2023
;M92 E319.2005 ; Set extruder steps per mm. This is for the MK8 gear
; Z probe and compensation definition
M558 P8 C"^!zprobe.in" R0.4 H4 F1200 T6000 A5 S0.01 ; Z probe is a piezo sensor
G31 X0 Y0 Z-0.08 P100 ; Set the zprobe height and threshold
M557 R150 S20 ; Probe within a radius of 150mm and mesh spacing of 20
M376 H5 ; Taper off bed compensation after 5mm
; Configure power failure and resume
M911 S21.0 R23.0 P"G91 M83 G1 Z3 E{-global.power_fail_retract} F1000" ; Relative movement and extrusion. Move head up and retract 2mm filament.
M208 S1 Z-0.5 ; set minimum Z
T0 ; select first hot end
M501 ; Load any config overrides
@o_lampe I think how @dc42 interacts with the community and listens to each one of us, is what makes the whole Duet ecosystem amazing!
While the endstop values are high, I don't think it is related to that. @dc42 what do you think?
Thanks,
Balaji
@dc42 Thank you! Verified that this version workes, irrespective of what the starting point for the bed calibration is.
@Adrian52 Thank you for your copy of bed.g. The one big difference that I saws that the initial move in your file, after homing, is to move the head just above the probe point, where as in the version that I had, I was moving to X0 Y0. When I changed it to go just above the first point, so that the head is vertically above the first probe point, the bed calibration routine worked fine.
So, it looks like there seems to be a difference in the behavior depending on where the head is, relative to the first probe point and it is quite repetable for me. This seems to be a regression as compared to 3.5.2. At this point, I am glad that I found a way to get bed calibration working again on 3.6.0.
@dc42 can you check the behaviour on your end to see if you are able to reproduce this issue on the delta that you have?
Thanks,
Balaji
@dc42 The delta calibration procedure works fine with 3.5.2. With 3.6.0-alpha*, I run into the issue. I checked the values of M665 and M666 in both 3.5.2 and 3.6.0-alpha and they are the same values.
Here is what I see with 3.5.2:
8/31/2024, 5:09:41 PM M666
Endstop adjustments X-1.26 Y-1.03 Z2.30, tilt X0.00% Y0.00%
8/31/2024, 5:09:38 PM M665
Diagonals 395.647:395.647:395.647, delta radius 214.803, homed height 359.884, bed radius 160.0, X -0.068°, Y -0.015°, Z 0.000°
Here is what I see with 3.6.0-alpha.4+3
8/31/2024, 5:58:57 PM M666
Endstop adjustments X-1.26 Y-1.03 Z2.30, tilt X0.00% Y0.00%
8/31/2024, 5:58:56 PM M665
Diagonals 395.647:395.647:395.647, delta radius 214.803, homed height 359.884, bed radius 160.0, X -0.068°, Y -0.015°, Z 0.000°
@dc42 Here are the output of the commands:
8/31/2024, 1:20:52 PM M115
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.6.0-alpha.4+3 ELECTRONICS: Duet WiFi 1.0 or 1.01 FIRMWARE_DATE: 2024-08-28 10:03:28
8/31/2024, 1:20:40 PM M669
Kinematics is Linear delta, 100 segments/sec, min. segment length 0.20mm