Missing Steps - Cant Print SpreadCycle StealthChop tuning help
-
@t3p3tony said in SpreadCycle / StealthChop tuning / configuring help:
@carcamerarig could part of the issue be related to this:
https://forum.duet3d.com/topic/21108/stall-detection-on-duet-3-miniHonestly I have no clue now, that thread went cold with no definitive outcome, I asked if the Gcode dictionary reflected the updated comments?
-
I've tried helping @carcamerarig on this issue, maybe I can give my take on what's going on. We believe we have homing with stallguard figured out, but that's not the main issue.
The issue is during fast moves, the printer will stutter causing a thump sound, resulting in a layer shift. The nozzle is not hitting the print or other obstruction.
I thought originally this may be caused by the switchover from stealtchop to spreadcyce. However forcing the machine into spreadcycle after homing did not alleviate the issue during a print. @carcamerarig Can you post a link to the video showing the problem?
-
@ctilley79 @carcamerarig does it still do the thump with mesh bed levelling disabled? Could be a slow Z axis movement is stopping X Y movement.
Ian
-
@droftarts He has a prusa type machine similar to mine and mine doesn't behave like this. We both have similar acceleration and jerk settings for Z although he does keep his Z in StealthChop full time. The only ohter difference is my machines are Duet WiFis.
-
Duet WifI = TMC2660
Duet 3 Mini = TMC22090.9 motors + TMC2209 are difficult to set up. Our Marlin neighbours are having similar difficulties with 0.9 motors, TMC2209 and StealthChop.
Imo it's not worth the hustle. Use 1.8 motors, set V to 0 (no hybrid mode) and happy printing.
-
@carcamerarig Still doesn't work for me.
-
@argo we've switched entirely to spreadcycle and the issue remains.
-
@ctilley79 said in SpreadCycle / StealthChop tuning / configuring help:
I've tried helping @carcamerarig on this issue, maybe I can give my take on what's going on. We believe we have homing with stallguard figured out, but that's not the main issue.
The issue is during fast moves, the printer will stutter causing a thump sound, resulting in a layer shift. The nozzle is not hitting the print or other obstruction.
I thought originally this may be caused by the switchover from stealtchop to spreadcyce. However forcing the machine into spreadcycle after homing did not alleviate the issue during a print. @carcamerarig Can you post a link to the video showing the problem?
-
@ctilley79 said in SpreadCycle / StealthChop tuning / configuring help:
@argo we've switched entirely to spreadcycle and the issue remains.
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 264 -
Why cant this board be easily tuned and configured to run with .9* motors while other - cheaper alternatives and lessor developed FW can?
This really shouldn't be this difficult. Perhaps 2209 drivers werent the best selection for the Duet mini boards ?
-
@dc42 Could you, or task somebody to do it, create a step by step guide from start to finish for this ( configuring then printing ) an idiots guide that a monkey could follow please. I'll pay for it to be done if you can organise it.
-
@carcamerarig A method that doesn't require an oscilloscope would be nice.
-
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.