Missing Steps - Cant Print SpreadCycle StealthChop tuning help
-
@fulg - what motors are you running - brand and model # ?
Thank you for posting ...
-
What are @fulg 's write errors? I have seen those in my M122 reports in the past.
-
@sputnikoc3d Motors are 17HM19-2004S bought directly from OMC StepperOnline.
It seems not everyone with a Mini5+ and these motors is affected, I am talking with another VORON user who has the same Mini5+ setup with the same motors and he has no issues at any speed, with the "default"
M569
parameters (i.e. no need to increase current, force spreadCycle mode or anything special). I believe he has a 0.5 board though (mine is 1.0).He also sees similar errors reported from the drivers in
M122
but it works for him so it's probably unrelated. He is also running 3.3b2.Note that I am not using any of the sensorless features, I have real endstops on my machine and do not care about tuning hybrid mode (it was unusable on Maestro, I had to disable it over there too on a different printer).
I really wish we can get to the bottom of it because I am contemplating going back to Duet2, this Mini5+ is completely unusable.
-
@fulg said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
@sputnikoc3d Motors are 17HM19-2004S bought directly from OMC StepperOnline.
It seems not everyone with a Mini5+ and these motors is affected, I am talking with another VORON user who has the same Mini5+ setup with the same motors and he has no issues at any speed, with the "default"
M569
parameters (i.e. no need to increase current, force spreadCycle mode or anything special). I believe he has a 0.5 board though (mine is 1.0).He also sees similar errors reported from the drivers in
M122
but it works for him so it's probably unrelated. He is also running 3.3b2.Note that I am not using any of the sensorless features, I have real endstops on my machine and do not care about tuning hybrid mode (it was unusable on Maestro, I had to disable it over there too on a different printer).
I really wish we can get to the bottom of it because I am contemplating going back to Duet2, this Mini5+ is completely unusable.
Who is it?
-
@fulg It is normal to get a single write error when RRF first talks to a TMC driver (after power on/reset etc). Basically the two sides need to get in sync to be able to communicate correctly, as a result of this process the first write from RRF will fail (and be recorded as a write error). Not sure about the timeouts though.
-
@carcamerarig very well then, I will drag him into this thread.
Hello @oc_geek, you have been summoned! I don't know if you can share more details that haven't been shared already. You seem to have found the magic recipe that eludes many of us.
I know we have the same printer, same motors, same LCD, same firmware version, so perhaps you can help...
For now I am trying another workaround, which is to force stealthChop all the time via
M569 ... V1
. It is a bit too early to call but so far I am further into a print that has always failed before (I need to slowly remove all my other attempts at working around this issue!). The motors are quite a bit noisier in stealthChop (I would have expected the opposite) but they seem not to stall anymore.EDIT: this turned out to be false and does not help, I don't want to mislead anyone reading this later.
-
@fulg - Thanks so much!
Im in process of building a V2.4 and have the pi - expansion board needed and the Duet 3 Mini 5+ in hand ... I have OMC stepper online motors in a cart waiting to pull trigger and / or the LDO's. Both of those options seem questionable atm.
We too have an associate on the full duet3 main board and V2.4 using stepper online [ omc 1.8* motors and No missing steps issues - yet ]
Baffling to say the least ...
-
Thanks all for the extra information, please do keep it coming. Can everyone remind me if they are using their Duet 3 Mini 5+ with SBC (and which one, if so) or not? If you are using SBC, if you try printing without SBC, do you still get the thumping and move errors?
Ian
-
@droftarts I knew I should have waited before posting. Forcing stealthChop with
M569 V1
does not help, I just had that same random stall, it just progressed quite a bit further than before.I am running in stand-alone mode.
-
@droftarts said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
Thanks all for the extra information, please do keep it coming. Can everyone remind me if they are using their Duet 3 Mini 5+ with SBC (and which one, if so) or not? If you are using SBC, if you try printing without SBC, do you still get the thumping and move errors?
Ian
Im try to setup standalone now if I can get past this damn wifi issue...
-
@carcamerarig in config.g, I comment these lines:
;M550 P"Duet3" ; Set machine name ;M552 S1 ; Enable network ;M586 P0 S1 ; Enable HTTP ;M586 P1 S0 ; Disable FTP ;M586 P2 S0
If you haven’t added the WiFi SSID, connect via USB and follow https://duet3d.dozuki.com/Guide/1.)+Getting+Connected+to+your+Duet/7#s9
Ian
-
I am trying to catch up with this thread. From what I have read, the main issue is that the motor is making banging/thumping noises when switching between low and high speeds, even when the motor is supposedly running in spreadCycle mode.
Some questions for those affected:
-
Does the problem still occur if you have never changed the M569 settings from the defaults? If you are using stall-detect homing, then to test this you will needs to "pretend home" using G92 instead of homing using stall detection.
-
If you pause the print, then re-send the M569 commands to select spreadCycle, confirm the setting using M122, and then resume the print, does the problem continue?
-
If #2 doesn't help, what happens if you pause the print, send M569 P# V4000 for each axis driver #, and then resume the print: does the problem continue?
One possibility that I am considering is that after switching to stealthChop, switching back to spreadCycle isn't working; although in the test that I have just done, it does work.
-
-
@dc42 said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
the motor is making banging/thumping noises when switching between low and high speeds, even when the motor is supposedly running in spreadCycle mode.
This is not completely exact. It seems to work fine most of the time (normal moves are well over the default threshold of 2.3mm/s and usually don't have an issue), the problem is that randomly during a print you will hear this "thump" and then realize you now have a layer shift in your print. It behaves exactly like the head has hit something mid-print, yet there is no evidence of any obstruction. It does seem to correspond to a travel move. The behavior is random, restarting the same print may fail at a different point along the way (or not at all).
- Does the problem still occur if you have never changed the M569 settings from the defaults? If you are using stall-detect homing, then to test this you will needs to "pretend home" using G92 instead of homing using stall detection.
Yes, the problem happens with default
M569
values, i.e.M569 P5 S1
. I am not using sensorless homing. The problem also occurs by forcing the drivers to stay in spreadCycle mode (M569 D2 ...
) or stealthChop mode (M569 V1 ...
). I guess I should tryM569 V4000 ...
too, perhaps justD2
is not enough.As for your questions #2 and #3, after the problem happens the printer has essentially lost its XY reference due to the skip, so it is hard to continue a print. If I am not next to the printer to stop it, it keeps going fine (but shifted!). I have not let it continue up to a second shift during the same print.
Also note that this happens even with increased motor current, reduced printing & travel speeds and significantly lower instant movement thresholds (everything much slower than my Duet2 settings on the same machine).
So far I've only had the problem happen in one direction on my CoreXY. I don't know if it matters but so far it is always the X motor that skips, as confirmed by
G1 H2 X10
moving in the same diagonal. Could be luck of the draw too...Is there a way to dump out the TMC2209 registers easily? I should build my own version of the firmware to help out.
-
@dc42 Not exactly. The issue is that it thumps in all modes even when explicitly setting the driver to spreadcycle using for example M569 P0 D2 after homing. The thumps seem to be slightly less abrupt in spreadcycle, but still enough to cause layer shifts in the OP’s case.
The thumps occur in stealthchop with no changeover speed, Spreadcycle entirely, and everywhere in between.
-
@fulg said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
For now I am trying another workaround, which is to force stealthChop all the time via
M569 ... V1
. It is a bit too early to call but so far I am further into a print that has always failed before (I need to slowly remove all my other attempts at working around this issue!). The motors are quite a bit noisier in stealthChop (I would have expected the opposite) but they seem not to stall anymore.Did you try to set the V parameter to "0"? This should disable hybrid mode. With Marlin I'm also having bangs in hybrid mode with TMC2209s.
-
@dc42 - et al ... I have also given the motor #s of the users involved here to my contact at LDO motors for him to give to his engineering team to review and to compare their motors to their competitors that are both working and not working as well - to see if they have some insight that might help us all resolve.
Not sure if that task will bear fruit - and not holding my breath - but hopeful.
-
@ctilley79 said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
@dc42 Not exactly. The issue is that it thumps in all modes even when explicitly setting the driver to spreadcycle using for example M569 P0 D2 after homing. The thumps seem to be slightly less abrupt in spreadcycle, but still enough to cause layer shifts in the OP’s case.
The thumps occur in stealthchop with no changeover speed, Spreadcycle entirely, and everywhere in between.
@dc42 I’ve just finished a test print in standalone with M569 S0 V0 at very tame speeds and jerk and the issue persists. I’m happy to bring this setup down to you for you to see for yourself??
-
@argo I can confirm (same as @carcamerarig), the issue persists with
M569 ... V0
.This time there was one interesting variation, instead of a "thump" one of the two motors decided to stop working altogether, so I was suddenly printing diagonally. Then the console in DWC was flooded with "short to ground" errors:
Interestingly this was a different motor than the one that is always skipping (in my build drivers 5 and 6 are the A and B of CoreXY). Perhaps I could move A and B to another set of drivers.
I grabbed an
M122
dump when this happened in case it's useful:=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.3beta2 running on Duet 3 Mini5plus Ethernet (standalone mode) Board ID: NY57W-W096U-D65J0-40KMU-NP03Z-ZKK2Z Used output buffers: 3 of 40 (14 max) === RTOS === Static ram: 99720 Dynamic ram: 108484 of which 176 recycled Never used RAM 32468, free system stack 119 words Tasks: NETWORK(ready,207) ETHERNET(notifyWait,550) HEAT(delaying,293) CanReceiv(notifyWait,943) CanSender(notifyWait,358) CanClock(delaying,340) TMC(notifyWait,100) MAIN(running,314) IDLE(ready,20) AIN(delaying,260) Owned mutexes: === Platform === Last reset 01:37:52 ago, cause: software Last software reset at 2021-04-07 16:20, reason: User, GCodes spinning, available RAM 35540, slot 0 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 Supply voltage: min 0.0, current 23.9, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/82/0, gc cycles 0 Driver 0: position 99200, standstill, SG min/max 0/72, read errors 0, write errors 1, ifcnt 40, reads 15989, writes 18, timeouts 274, DMA errors 0, failedOp 0x41 Driver 1: position 0, standstill, SG min/max 0/100, read errors 0, write errors 1, ifcnt 41, reads 16253, writes 19, timeouts 9, DMA errors 0, failedOp 0x71 Driver 2: position 5114, standstill, SG min/max 0/50, read errors 0, write errors 1, ifcnt 41, reads 15966, writes 19, timeouts 296, DMA errors 0, failedOp 0x71 Driver 3: position 0, standstill, SG min/max 0/60, read errors 0, write errors 1, ifcnt 41, reads 16198, writes 19, timeouts 64, DMA errors 0, failedOp 0x6f Driver 4: position 0, standstill, SG min/max 0/48, read errors 0, write errors 1, ifcnt 35, reads 16267, writes 13, timeouts 1, DMA errors 0, failedOp 0x06 Driver 5: position 0, standstill, SG min/max 0/510, read errors 0, write errors 1, ifcnt 43, reads 16203, writes 19, timeouts 59, DMA errors 0, failedOp 0x6a Driver 6: position 0, short-to-ground, standstill, SG min/max 0/510, read errors 0, write errors 1, ifcnt 42, reads 16258, writes 19, timeouts 4, DMA errors 0, failedOp 0x01 Date/time: 2021-04-07 17:58:10 Cache data hit count 4294967295 Slowest loop: 125.41ms; fastest: 0.08ms === Storage === Free file entries: 9 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 100.7ms, write time 30.0ms, max retries 0 === Move === DMs created 83, maxWait 4423638ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 25385, completed moves 25385, hiccups 0, stepErrors 0, LaErrors 0, Underruns [3, 1369, 0], CDDA state -1 === 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.4 === 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 doing "G1 X136.015 Y157.355 E0.04029" 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. === CAN === Messages queued 52892, send timeouts 52889, 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: 179.42ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 0 0 0 Socket states: 5 2 2 2 2 2 0 0
When I restarted the Mini5+ (via Emergency Stop in DWC) the errors stopped and I restarted the print again, this time the usual skipping happened during the very first travel move of the print so I did not have to wait long.
I have yet to find a particular mode that works. My board is being exchanged via warranty due to an unrelated issue (SD card problems) so I guess we'll see if switching to another board helps; I doubt it will but it's one more data point.
Cheers,
Ben. -
@fulg @carcamerarig Thanks for the feedback. Can you please post your current config.g and a gcode file that causes the skipping/thumping, so I can replicate this on my test bench, as I'm looking at this today.
Ian
-
Shape-Box_0.2mm_PET_MK3S_1h10m.gcode
Standalone config, sbc config is above.
; 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 V0 ; Drive 0: X Axis M569 P0.1 S0 V0 ; Drive 1: Y Axis M569 P0.2 S0 V0 ; Drive 2: Z Axis M569 P0.3 S0 V0 ; Drive 3: E Axis M569 P0.4 S0 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 X240.00 Y240.00 Z25.00 E600.00 P1 ; Set maximum instantaneous speed changes (mm/min) M203 X7500.00 Y7500.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 M915 Y S-1 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 S2 ; 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.91 ; 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 ; 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 ; 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 M17 G4 P150 G1 X1 Y1 Z1 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