Solved Missing Steps - Cant Print SpreadCycle StealthChop tuning help
-
Acknowledgement of a potential issue and a working fix would be nicer.
There seems to be issues around he spectrum of users with the TMC2209's and .9* stepper motors.
That being the case I dont at all see the attraction to these 2209 drivers ... All this for sensorless homing ?
-
@sputnikoc3d
No. Sensorless homing is working fine while homing. He's only in StealthChop for homing currently. We switch back to SpreadCycle after homing. He's having the thumping/banging issues in SpreadCycle as well which is bizarre. SpreadCycle normally doesn't require tuning for it to operate on a variety of different motors. You might get more noise with different brands, but the stutters and resulting in layer shifts with SpreadCycle is stumping me. I don't see why the 2209 in SpreadCycle mode should vary among the different Trinamic chips regardless whether it's a 2660, 2209, 2208, or 5160. -
@droftarts - have any other insights to this issue ... any known successful configurations ?
Missing steps in SpreadCycle on very easy print geometry and conservative travel speed moves/settings.
Eliminated MANY potential aspects - but its starting to seem that these 2209's just dont like to play nice with LDO .9* motors
-
@sputnikoc3d said in SpreadCycle / StealthChop tuning / configuring help:
@droftarts - have any other insights to this issue ... any known successful configurations ?
Missing steps in SpreadCycle on very easy print geometry and conservative travel speed moves/settings.
Eliminated MANY potential aspects - but its starting to seem that these 2209's just dont like to play nice with LDO .9* motors
To be fair im at the point where im "hacked off" with the lack of input or support, 6 fairly knowledgable people located around the world all in different timezones have put an insane amount of time and assistance into trying to get this issue resolved to no avail... A simple procedure to follow to setup motors would pretty much alleviate this?
-
link to last video, anyone with the link should be able to view
https://drive.google.com/file/d/1l5TgfHchP0JL5pU2HO_m7ZJxIEvsSPGY/view?usp=sharing
-
Forced Spreadcycle settings, same thump/bang persists, StealthChop for homing only.
Config.g
; General preferences Duplicate lines and comment out unused G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M564 H0 ; Permits ALL Axis movement prior to or without ANY Homing require [ over-rides default of no movement until all homed ] ; Network Networked of sbc ;M550 P"Duet3" ; 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 D2 ; Drive 0 goes forwards: X Axis M569 P0.1 S0 D2 ; Drive 1 goes backwards: Y Axis M569 P0.2 S0 D2 ; Drive 2 goes backwards: Z Axis M569 P0.3 S0 D2 ; Drive 3 goes forwards: E Axis M569 P0.4 S0 D2 ; Drive 4 goes backwards: Z Axis (at E1) ; 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 X16 Y16 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 Y240 Z24 E1200 P1 ; Set maximum instantaneous speed changes (mm/min) aka Jerk M566 X600 Y600 Z24 E3000 P1 ; Set maximum instantaneous speed changes (mm/min) aka Jerk ;M203 X7200 Y7200 Z720 E4000 ; Set maximum speeds (mm/min) M203 X10800 Y10800 Z720 E4000 ; Set maximum speeds (mm/min) M201 X1250.00 Y1250.00 Z200 E4000 ; Set accelerations (mm/s^2) M204 P1250 T1700 ; set print and travel accelerations (mm(s^2) ; Motor currents M906 X950 Y950 Z600.00 E792 I30 ; Set motor currents (mA) and motor idle factor in percent M84 S30 ; Set idle timeout ; Printer geometry M208 X0:250 Y-4:215 Z-0.5:415 ; X carriage moves from 0 to 250, Y bed goes from 0 to 210 M564 H0 ; allow unhomed movement ; Endstops M915 XY F0 S0 H400 R1 ; configure stall detection for sensorless homing M574 X1 Y1 S3 ; Set endstops controlled by motor load detection ; Stallgaurd Sensitivy M915 X S-50 F0 H400 R0 M915 Y S-50 F0 H400 R0 ;M915 X S-4 F0 H400 R0 ; Set X axis Sensitivity ;working 3.3 ;M915 Y S-2 F0 H400 R0 ; Set y axis Sensitivity ; woring 3.3 ; Input Shaper M593 F61.85 P4 ; Input Shaping ; Z-Probe Super Pinda M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; Set endstops controlled by probe M558 P5 C"^io3.in" I1 H1 F500 T4800 A30 S0.004 ; Super Pinda ; Probing Mesh Grid and Sheets M557 X24:221 Y10:195 P8 ; Define mesh grid for probing G31 P1000 X23 Y5 Z1.91 ; Textured Sheet ;G31 P1000 X23 Y5 Z1.280 ; PEI ; 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 M307 H0 R0.273 C345.3 D10.89 S1.00 V23.8 ; Bed PID new version !!saved In config-override!! 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 B4723 C1.19622e-7 ;define E0 temperature sensor Slice HT M950 H1 C"out1" T1 ; Create HotEnd Heater M307 H1 R2.383 C178.5:130.6 D5.32 S1.00 V23.9 ; Hotend PID new version !!saved In config-override!! 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 G91 G1 X1 Y1 Z1 ; calibrate StealthChop values G90 M83 G4 S2 M84 ; disable motors M98 P"0:/macros/02_Functions/StartupFilamentSensorCheck" ; Runout Sensor Logic: Startup with filament = runout sensor active Startup without filament = autoload active ;M92 X200.00 Y200.00 Z400.00 E830.00 ; Set steps per mm
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 136
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 136
HomeX
; homex.g ; called to home the X axis ; M561 M569 P0 D3 V1 ; temporarily switch to StealthChop and set high changeover speed M400 ; make sure everything has stopped before we make changes M574 X1 S3 ; set endstops to use motor stall M913 X50 ; reduce motor current to 50% to prevent belts slipping G91 ; use relative positioning G1 H2 Z5 ; Move Z up M17 X ; energise X motor for stealthChop tuning G4 P150 ; pause to allow the driver to establish the motor parameters G1 H1 X-270 F4000 ; home X keep F above 3600 to maintain sensorless homing. G90 ; back to absolute positioning M913 X100 ; Reset power back to 100% M569 P0 D2 ; switch back to spreadcycle after homing complete G1 X125 F5000 ; centre the head and set a reasonable feed rate
HomeY
; homey.g ; called to home the y axis ; M561 M569 P1 D3 V1 ; temporarily switch to StealthChop and set high changeover speed M400 ; make sure everything has stopped before we make changes M574 Y1 S3 ; set endstops to use motor stall M913 Y50 ; reduce motor current to 50% to prevent belts slipping G91 G1 H2 Z5 ; Move Z up M17 y ; energise y motor for stealthChop tuning G4 P150 ; pause to allow the driver to establish the motor parameters G1 H1 y-270 F4000 ; home Y keep F above 3600 to maintain sensorless homing. G90 ; back to absolute positioning M913 Y100 ; Reset motor power back to 100% M569 P1 D2 ; switch back to spreadcycle after homing complete G1 Y100 F5000 ; centre the head and set a reasonable feed rate
HomeAll
; homeall.g ; called to home all axes ; ; homeall.g ; called to home all axes ; Sensorless Homing X / Y Axis M98 P"homex.g" M98 P"homey.g" M98 P"homez.g" G1 X25 Y255 Z15 F5000
-
@carcamerarig I think this is the issue @Argo was referring to when he said this also affects Marlin: https://github.com/MarlinFirmware/Marlin/issues/18286. It's quite a read!
So there does seem to be something related to 0.9° motors with the Trinamic 2209 (though also seems to affect other drivers), and it affects all firmwares. However, some people report fixing it by improving the smoothness of their axes (loosening belt tension, stiffening frame, lubricating axes) which points to a frequency in the machine frame that the motors struggle with; by effectively doubling step rate frequency, it shows up problems in other parts that were not previously perceived. Others change the off-time in the chopper control register, though it's something I don't currently have guidance on doing, except for 'just try it'; it's the F parameter in M569, can be 1 to 15. It's also possible these particular motors are susceptible to 'mid-band resonance'; see https://www.geckodrive.com/support/step-motor-basics/mid-band-instability.html
I don't have a simple answer to this problem, and currently can't test for it; my Mini 5+ is tied up trying to track down another issue. I also don't have any 0.9° motors. However, could you try the following, if you haven't already:
- First, is it both X and Y axes that resonate, or just one of them? Is it the LDO 42sth48-2004mac or 42sth25-1404mac motors that cause the problem?
- Disconnect the affected motor(s) from the printer, and run it on it's own at speeds that normally make it vibrate. Does it still do it? If not...
- With motors off the axes, move the axes by hand at a range of speeds, slow and fast. Is there any speed that causes chatter/resistance? I've had this before, turned out to be dry rubber seals on the linear bearings chattering. If not...
- With the motor on the machine, find the exact speed that causes the issue. Send a long move at a specific speed. Start slow and go up in small steps. There should be one speed that is particularly bad. From that, we can work out the frequency that this is happening, which may help working out what's causing the problem.
- Have a play around with the M569 F parameter, see if it helps.
I have no idea if this will resolve this issue. I don't think we've any reports of this problem before, and I'm not clear how many people responding to this thread have this problem too. Consider it 'under investigation'.
Ian
-
@droftarts The strange behavior is the complete loss of steps and layer shifts even in SpreadCycle full time. I can see noise being an issue, but the jerks and studders seem odd.
-
@droftarts said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
I don't think we've any reports of this problem before, and I'm not clear how many people responding to this thread have this problem too.
This forum is filled with threads and posts of 2209 drivers thud'ing and vibrating and shuddering with the high speed transition to Spreadcycle from StealthChop ... with all type of motors. However this is odd because of the forced Spreadcycle ALSO exhibiting the issue
-
@sputnikoc3d @ctilley79 yes, I understand this is not a changeover between spreadcycle and stealthchop problem. It’s related to motor speed, the mode is irrelevant. I’m trying to discern if it’s a motor/driver issue, or if there is a machine element. If it’s the first, @carcamerarig has offered to send me a motor, and I can test it on a variety of boards.
@SputnikOC3d please don’t quote a whole long post that you’re not actually referring to, it makes the thread very long and harder to navigate.
Ian
-
Thanks, that was the issue on GitHub I had in mind.
There was also a Marlin 2 issue on GitHub before that one which was closed unfortunately (and so deleted) that also included a E-Mail conversation with TMC and had measurements in it with those special tools which name I forgot lol ^^With my Duet 3 Mini I was able to run 0.9 LDOs, even reliable. But acceleration, jerk, max speeds, belt tension, currents ... all has to be in some sort of "harmony" in order to run them ok'ish. I'm saying ok'ish because it's far from being optimal.
Here is the list of LDO 0.9 motors (and StepperOnline 0.9 motors) TMC2209 combinations I've tested so far:
SKR 1.4 board + TMC2209 with RRF (gloomyandy's build)
SKR 1.4 board + TMC2209 with Marlin 2
Duet 3 Mini(Side note: I've toasted my SKR board during those tests because, well, it's not quite the tank as a Duet board =D)
None of these combinations were really satisfying .In my opinion the TMC2660 (Duet 2 Wifi) can benefit from 0.9 motors but with TMC2209 I have to use my macro lens to see any difference.
That's why I'm saying it's not worth the hustle with 0.9 motors. -
@droftarts said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:
@SputnikOC3d please don’t quote a whole long post that you’re not actually referring to, it makes the thread very long and harder to navigate.
Ian
You got it champ ... I'll work on better forum reply posting etiquette ...
-
@argo thanks for the extra detail. Did you test the motors on your machine, or on their own? It does seem some 0.9 motors are fine; the E3d motors are mentioned by some in that thread as being okay.
Ian
-
I tested them only on my i3 style bed slingers.
There are small differences between motors. The StepperOnline motor for example is a bit quieter.If you are referring to the 0.9 Moons posting in the GitHub Marlin issue. I think I read somewhere deeper that he isn't using TMC2209s. I was almost pushing the buttons to buy Moons for further testing.
-
@droftarts As a further data point I use E3D 0.9 steppers with both TM2209 and TMC5160 drivers on a coreXY setup. In both cases I'd say that although they work for me, they are certainly much noisier than the 1.8 motors they replaced and it was also much harder to get sensorless homing configured with them, the range of settings in which the motor would actually move but would also stall when needed seemed to be much smaller.
I operate the drives in Stealthchop all of the time at relatively modest speeds. Print speed max 60mm/S non print moves max 200mm/S. I'm running lower steps/mm than those quoted here mine are 180steps/mm.
All of the above testing was using the RRF STM32F4 port on a Bigtreetech SKR Pro.
-
So this morning ive disabled input shaper as that was coined as a possible cause but it didn't make any noticeable difference. I then disabled mesh bed levelling which has made the bump worse and more frequent. Ill pull each motor and see which or both is having the issue.
The minor bumps / bangs were still present on infill but the bigger thump was on the travel move from the front square to the disc, with mesh bed levelling active travel moves were ok since forcing SpreadCycle.
-
@carcamerarig Can you post a gcode file that demonstrates the problem? The one used in your previous post will be fine.
Ian
-
@gloomyandy thanks that's helpful. could you point to any specific differences in what you observed between the 5160 and the 2209?
-
@t3p3tony Both the 5160 and 2209 were a pain to tune with the 0.9 steppers. I started out with 2209s and managed to get them working pretty well. I basically use the following sequence during and home move:
M913 X50 Y50 Z50
M915 p0 s25 H125 r0
M915 p1 s25 H125 r0
G1 H1 X-310 F2000
With the same settings and the 5160 the motors would not stall. But if I lowered the S parameter then they seemed to stall pretty much straight away. After a lot of messing around I ended up with the following:
M913 X35 Y35 Z50
M915 p0 s1 H500 f0 r0
M915 p1 s1 H500 f0 r0
G1 H1 X-310 F3000
Basically I had to use a more sensitive X setting and to prevent them from stalling too early I needed to increase the speed threshold. I also found that increasing the homing speed helped make things more consistent.But I must say that this was not a very scientific process. I suspect that other combinations may well work (perhaps with better results). I was just happy to find a combination of settings that worked reliably!
In both cases the motors are pretty noisy (even using stealthchop) compared to using 1.8 degree steppers, especially at higher speeds. As you might expect with a coreXY pure X or Y moves seem louder (as both motors are active).
-
@gloomyandy posted
[[ Both the 5160 and 2209 were a pain to tune with the 0.9 steppers. I started out with 2209s and managed to get them working pretty well. ]]
But this is in Stealthchop mode ONLY 100% of the time ... utilizing print speeds < 100 mm/s and non print travel moves < 200 mm/s right ? Probably fine for MOST cartesians but not the OPS - travel moves over 200 mm/s are doable as are much faster print moves.
Operating in stealthchop for several of us is just not a solution - especially on a Voron 2.4 - purpose built to far exceed Stealthchop limitations.
The issue we're fighting isnt Homing sensitivity and the PITA that that is- we've gotten past that - we're now missing steps during print moves < 100 mm/s in Spreadcycle. Thats a very serious issue for a 3d print and the FW - somewhere. This post is far beyond mere inconvenience, its now to the point of the Duet 3 Mini 5+ viability as a useable board.