Missing Steps - Cant Print SpreadCycle StealthChop tuning help
-
@phaedrux that 1st one was the wrong video lol, my bad.... so many damn videos now Ive shared the wrong one, it was the same as the last video definitely a bang.
-
@dc42 said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
@carcamerarig, thanks! The M569.2 R111 results show that the drivers are running in stealthChop mode. Therefore, the issue could be due to stealthChop/spreadCycle changeover. What M569 V parameter are you using? Are you still getting banging if you set spreadCycle mode instead?
Yes its happening in all modes, at the moment its still as it was configured from Ian's
; Drive Mappings
M569 P0.0 S0 D3 V0 ; Drive 0: X Axis
M569 P0.1 S0 D3 V0 ; Drive 1: Y Axis
M569 P0.2 S0 D3 V0 ; Drive 2: Z Axis
M569 P0.3 S0 D3 V0 ; Drive 3: E Axis
M569 P0.4 S0 D3 V0 ; Drive 4: E1 used for Z1 -
OK, please try setting spreadCycle (D2 in the M569 command, once you have finished stall homing). If/when you are sure that banging has occurred, send the M569.2 P# R111 commands again, while it is still printing.
-
Home it in stealthchop, send M569 D2 in console then run the print making sure there's no homing in the gcode right?
-
@carcamerarig said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
Home it in stealthchop, send M569 D2 in console then run the print making sure there's no homing in the gcode right?
Correct.
-
bang 1
Date Event 19/04/2021, 23:06:54 M569.2 P0.4 R111 Register 0x6f value 0x40080000 19/04/2021, 23:06:49 M569.2 P0.3 R111 Register 0x6f value 0x40080000 19/04/2021, 23:06:45 M569.2 P0.2 R111 Register 0x6f value 0x40080000 19/04/2021, 23:06:40 M569.2 P0.1 R111 Register 0x6f value 0x00080000 19/04/2021, 23:06:34 M569.2 P0.0 R111 Register 0x6f value 0x80080000 19/04/2021, 23:02:19 M32 "0:/gcodes/Sat1.gcode" File 0:/gcodes/Sat1.gcode selected for printing 19/04/2021, 23:02:13 M569 P0.1 D2 19/04/2021, 23:02:06 M569 P0.0 D2
-
So in spreadcycle its banging like a hooker on smack..... I let it run for a bit but something going to break again so ive quit it! The supposed switchover banging on infill is even more prominent but its not supposed to switching in D2 right??
I'll upload the video of the infill bangs (mini bangs) but I didn't catch a travel move bang, too busy reporting M569.2 P# R111's...19/04/2021, 23:16:24 Printing paused at X186.4 Y40.6 Z3.0 19/04/2021, 23:16:20 M25 Resume state saved 19/04/2021, 23:16:13 M569.2 P0.4 R111 Register 0x6f value 0x40080000 19/04/2021, 23:16:10 M569.2 P0.3 R111 Register 0x6f value 0x40080000 19/04/2021, 23:16:06 M569.2 P0.2 R111 Register 0x6f value 0xc0080000 19/04/2021, 23:16:01 M569.2 P0.1 R111 Register 0x6f value 0x00080000 19/04/2021, 23:15:56 M569.2 P0.0 R111 Register 0x6f value 0x80080000 19/04/2021, 23:14:30 M569.2 P0.0 R111 Register 0x6f value 0x00080000 19/04/2021, 23:14:26 M569.2 P0.1 R111 Register 0x6f value 0x00080000 19/04/2021, 23:14:22 M569.2 P0.2 R111 Register 0x6f value 0x40080000 19/04/2021, 23:14:16 M569.2 P0.3 R111 Register 0x6f value 0x40080000 19/04/2021, 23:14:13 M569.2 P0.4 R111 Register 0x6f value 0x40080000 19/04/2021, 23:13:39 M569.2 P0.4 R111 Register 0x6f value 0x40080000 19/04/2021, 23:13:35 M569.2 P0.3 R111 Register 0x6f value 0x40080000 19/04/2021, 23:13:32 M569.2 P0.2 R111 Register 0x6f value 0x40080000 19/04/2021, 23:13:29 M569.2 P0.1 R111 Register 0x6f value 0x00080000 19/04/2021, 23:13:26 M569.2 P0.0 R111 Register 0x6f value 0x00080000 19/04/2021, 23:11:35 M569.2 P0.0 R111 Register 0x6f value 0x00080000 19/04/2021, 23:11:33 M569.2 P0.1 R111 Register 0x6f value 0x00080000 19/04/2021, 23:11:29 M569.2 P0.2 R111 Register 0x6f value 0x40080000 19/04/2021, 23:11:24 M569.2 P0.3 R111 Register 0x6f value 0x40080000 19/04/2021, 23:11:19 M569.2 P0.4 R111 Register 0x6f value 0x40080000
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.3beta2+2 (2021-04-15 16:55:30) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: Z9NZN-A296U-D65J0-40KM4-LY03Z-ZPQPD Used output buffers: 3 of 40 (30 max) === RTOS === Static ram: 100104 Dynamic ram: 106340 of which 32 recycled Never used RAM 34372, free system stack 134 words Tasks: NETWORK(ready,202) HEAT(delaying,294) CanReceiv(notifyWait,944) CanSender(notifyWait,357) CanClock(delaying,334) TMC(delaying,71) MAIN(running,337) IDLE(ready,20) AIN(notifyWait,266) Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:15:48 ago, cause: power up Last software reset at 2021-04-18 12:27, reason: User, GCodes spinning, available RAM 34372, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU revision 3, ADC conversions started 1090996, completed 1090995, timed out 0, errs 0 Step timer max interval 26927 Supply voltage: min 23.4, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/620/566, gc cycles 11 Driver 0: position 35612, ok, SG min/max 0/400, read errors 0, write errors 0, ifcnt 21, reads 889, writes 0, timeouts 0, DMA errors 0 Driver 1: position 10295, ok, SG min/max 0/504, read errors 0, write errors 0, ifcnt 20, reads 889, writes 0, timeouts 0, DMA errors 0 Driver 2: position 1096, ok, SG min/max 0/206, read errors 0, write errors 0, ifcnt 17, reads 890, writes 0, timeouts 0, DMA errors 0 Driver 3: position 0, ok, SG min/max 16/416, read errors 0, write errors 0, ifcnt 13, reads 890, writes 0, timeouts 0, DMA errors 0 Driver 4: position 0, ok, SG min/max 0/112, read errors 0, write errors 0, ifcnt 18, reads 889, writes 0, timeouts 0, DMA errors 0 Driver 5: position 0, assumed not present Driver 6: position 0, assumed not present Date/time: 2021-04-19 23:15:13 Cache data hit count 1354624958 Slowest loop: 87.00ms; fastest: 0.09ms === Storage === Free file entries: 9 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 1.0ms, write time 5.0ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 12869, completed moves 12829, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 17, 0], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.6 === GCodes === Segments left: 1 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is doing "G1 X185.485 Y57.962 E0.01508" 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 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Filament sensors === Extruder 0 sensor: ok === CAN === Messages queued 160, send timeouts 160, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 17 (min 17) Last cancelled message type 30 dest 127 === Network === Slowest loop: 216.27ms; fastest: 0.09ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 1 WiFi firmware version 1.25beta0 WiFi MAC address f4:cf:a2:6f:e9:78 WiFi Vcc 3.36, reset reason Power up WiFi flash size 2097152, free heap 21784 WiFi IP address 192.168.1.226 WiFi signal strength -41dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
19/04/2021, 23:23:46 M569 P0.4 Drive 4 runs in reverse, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 0 (inf mm/sec), pwmScaleSum 64, pwmScaleAuto 9, pwmOfsAuto 255, pwmGradAuto 24, pos 168 19/04/2021, 23:23:43 M569 P0.3 Drive 3 runs in reverse, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 0 (inf mm/sec), pwmScaleSum 19, pwmScaleAuto 0, pwmOfsAuto 90, pwmGradAuto 18, pos 680 19/04/2021, 23:23:40 M569 P0.2 Drive 2 runs in reverse, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 0 (inf mm/sec), pwmScaleSum 60, pwmScaleAuto 5, pwmOfsAuto 255, pwmGradAuto 22, pos 72 19/04/2021, 23:23:33 M569 P0.1 Drive 1 runs in reverse, active low enable, timing fast, mode spreadCycle, ccr 0x00053, toff 3, tblank 0, hstart/hend/hdec 5/0/0, pos 644 19/04/2021, 23:23:27 M569 P0.0 Drive 0 runs in reverse, active low enable, timing fast, mode spreadCycle, ccr 0x00053, toff 3, tblank 0, hstart/hend/hdec 5/0/0, pos 516
-
For clarity
; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"Duet Caribou 420" ; 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 M575 P1 S1 B57600 ; Panel Due ; Drive Mappings M569 P0.0 S0 D3 V0 ; Drive 0: X Axis M569 P0.1 S0 D3 V0 ; Drive 1: Y Axis M569 P0.2 S0 D3 V0 ; Drive 2: Z Axis M569 P0.3 S0 D3 V0 ; Drive 3: E Axis M569 P0.4 S0 D3 V0 ; Drive 4: E1 used for Z1 ; Motor remapping for dual Z and axis Limits M584 X0 Y1 Z2:4 E3 ; two Z motors connected to driver outputs Z and E1 M671 X-37:287 Y0:0 S4 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis ; Micrpstepping and Speed M350 X32 Y32 E16 Z16 I1 ; Configure microstepping with interpolation M92 X200.00 Y200.00 Z400.00 E830.00 ; Set steps per mm ; Speeds, Acceleration and Jerk M566 X900 Y900 Z25.00 E600.00 P1 ; Set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z720.00 E1200.00 ; Set maximum speeds (mm/min) M201 X1500.00 Y1500.00 Z1200.00 E4000.00 ; Set accelerations (mm/s^2) ; Motor currents M906 X700.00 Y700.00 Z700.00 E700.00 I20 ; Set motor currents (mA) and motor idle factor in percent X,Y,Z=1000/1.414 E=1400/1.414 M84 S30 ; Set idle timeout ; Printer geometry M208 X0:250 Y-4:215 Z-0.5:410 ; Axis Limits M564 H0 ; allow unhomed movement ; Endstops for each Axis M574 X1 S3 ; Set endstops controlled by motor load detection M574 Y1 S3 ; Set endstops controlled by motor load detection ; Stallgaurd Sensitivy ;M915 X S-2 F0 H200 R0 ; Set X axis Sensitivity MOVED TO HOMEALL.G ;M915 Y S15 F0 H200 R0 ; Set y axis Sensitivity ; Input Shaper ;M593 F58.5 P4 S0.2 ; Input Shaping 3.3/3.4 ;M593 F54.26 ; Z-Probe Super PINDA M574 Z1 S0 ; Set endstops controlled by probe M558 P5 C"^io3.in" I1 H1 F500 T4800 A30 S0.004 ; Mesh Grid M557 X24:221 Y10:195 P8 ; Define mesh grid for probing ; Sheets ;G31 P1000 X23 Y5 Z1.730 ; Satin Sheet G31 P1000 X23 Y5 Z1.95 ; Textured Sheet ;G31 P1000 X23 Y5 Z1.445 ; PEI Sheet ;G31 P1000 X23 Y5 Z1.445 ; PEI Sheet 0.6 nozzle -10 offset ; Heatbed Heaters and Thermistor Bed M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.060000e-8 ; Set thermistor + ADC parameters for heater 0 Bed M950 H0 C"out0" T0 Q10 ; Creates Bed Heater Qnn PWM frequency in Hz. Valid range: 0-65535, default: 500. (optional) 10hz stopped clicking M307 H0 R0.273 C345.3 D10.89 S1.00 V23.8 B0 ; PID 3.2 M140 H0 ; Bed uses Heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C Bed ; HotEnd Heaters and Thermistor HotEnd M308 S1 P"temp1" Y"thermistor" T500000 B4725 C1.19622e-7 ; define E0 temperature sensor e3d M950 H1 C"out1" T1 ; Create HotEnd Heater M307 H1 R2.383 C178.5:130.6 D5.32 S1.00 V23.9 B0 ; PID M143 H1 S285 ; Set temperature limit for heater 1 to 285C HotEnd M302 S185 R185 ; Fans M950 F1 C"out5" Q250 ; Creates HOTEND Fan M106 P1 T45 S235 H1 ; HOTEND Fan Settings M950 F0 C"out6" Q100 ; Creates PARTS COOLING FAN M106 P0 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off PARTS COOLING FAN ; Tools 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 ; StealthCop calibration - MOVED TO HOMEALL.G ; M17 ; G4 P150 ; G1 X2 Y2 Z2 F2000 ; G4 S2 ; M84 ; disable motors ; Filament Sensor Logic M98 P"0:/macros/02_Functions/StartupFilamentSensorCheck" ; Runout Sensor Logic: Startup with filament = runout sensor active Startup without filament = autoload active
-
Seems like we might, finally, have nailed this one. After testing all day today, @dc42 noticed the longest loop time in @carcamerarig's M122 reports was very long, often over 100ms. Looking through the M122 reports taken during printing in this thread, he noticed the SD card read times were very long, too, eg:
SD card longest read time 91.0ms, write time 5.2ms, max retries 0
By comparison, my loop time and SD card longest read, running the same code:
Slowest loop: 12.28ms; fastest: 0.10ms ... SD card longest read time 7.9ms, write time 0.0ms, max retries 0
dc's current theory is that either the SD card is faulty, or the SD card interface is faulty. We're waiting for @carcamerarig to let us know if replacing the SD card helps.
Ian
-
To add to that, we also now have a firmware build that doesn't have these problems despite the excessively slow SD card read performance.
-
All testing I was doing was with 0.9° motors (48mm long NEMA 17 motors, one from E3D, one from Wantai) with similar specs to LDO motors, running at x32 micro stepping with interpolation. These were quiet in stealthchop, and noisier in spreadcycle, but not noticeably noisier than 1.8° motors.
I kept jerk settings high at 900mm/m (15mm/s) with Marlin jerk policy, acceleration at 2000mm/s^2, speeds up to 18,000mm/m (300mm/s). Motor current was 1000mA on X and Y, though these are 1.7A motors.
With these setting (which are probably close to the limit my poor old machine can cope with!) I didn’t have any banging problems, though as noted in previous posts, we think these are actually related to an SD card problem.
I also didn’t have problems in hybrid mode, so long as changeover speed was low, but could replicate the “micro banging” @carcamerarig experienced in gyroid fill if set around 35mm/s, which is to be expected as this is the speed gyroid fill was being printed at, so X and Y axes speed up and slow down through the changeover speed on each gyroid curve.
One caveat is that I was using endstops for homing, not sensorless homing. We did get that working on @carcamerarig’s machine, I think reliably, though with 1.8 motors. I’ll test sensorless homing my setup when I can.
I’ll update the documentation with best practices for all of that we’ve learnt in this process!
Ian
-
All, we have tracked down this issue. It affects Duet 3 Mini boards running all released firmware versions when a heater output is configured to a low PWM frequency - for example, when the bed heater is set to run at 10Hz because it is driven via a SSR. Unfortunately, there is a synchronisation delay between the heater management task and the PWM port, which causes the heater task to hog the CPU for up to one cycle at the PWM frequency, and that occasionally causes the movement system to fail to finalise moves before they are due to be executed.
We already have Duet 3 Mini firmware with improved motion planning that works around this, and I expect to fix the underlying issue shortly. The fix will be in the 3.3beta3 release, which I hope to make available within the next few days. Meanwhile, for anyone not using SSRs to drive heaters, the workaround is to use a higher PWM frequency, e.g. 100Hz or 500Hz.
Special thanks to @carcamerarig, who has worked closely with us over the last few days to help us get to the bottom of this.
-
@dc42 good catch !
that might also be the issue behind slicer output .g files not completing the upload when the heater is turned on. They reach 100% but then start over again and again...
thanks -
Thanks to everyone involved in this, there are a few of you LOL made especially testing for some with my lack of knowledge of RRF, Gcode and 3d printing in general. I've learned a lot in a short space of time and glad I didn't quit on the mini, I'm especially impressed with the level of support from the Duet team to find the cause and then produce a number fixed fw / workarounds until resolved.
Looking forward to 3.3b3 in few days -
@dc42 You owe @carcamerarig a bottle of Macallan lol.
-
@carcamerarig Thanks for sticking with it.
-
Oh that explains why I had trouble with slow downs at 10Hz and swiftly switched back to 100Hz because the slow downs were already obvious during the probing procedure.
https://forum.duet3d.com/topic/22142/slowdowns-pauses-pid-algorithm-and-pwm-freq?_=1619033412104
I already suspected it had something to do with internal cycles as Prusa explained that they also had issues with that.
https://blog.prusaprinters.org/dev-diary-2-how-we-made-the-heatbed-silent_30946/ -
@oc_geek said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
@dc42 good catch !
that might also be the issue behind slicer output .g files not completing the upload when the heater is turned on. They reach 100% but then start over again and again...
thanksYes. I did some tests on the old firmware with 5Hz PWM frequency and found that it completely disrupted file uploading. Anyway, a 1-line change has fixed the underlying issue, so we're hoping to release 3.3beta3 tomorrow.
-
I was unable to contribute to the troubleshooting efforts due to a missing board, but now that I have one again I just wanted to confirm that 3.3b3 has also completely solved this issue for me.
Thank you @dc42 for sticking with the thread, which often wandered outside of the subject at hand
Cheers,
Ben. -
@fulg Well done, I think most issues have been resolved in this release which pretty cool eh. Not had a spare moment to print anything yet, hoping I will later tonight.