Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Microstepping suggestions, explanation?

    General Discussion
    8
    29
    6105
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • James
      James last edited by

      Hi!

      It seems well-known that microstepping, at least beyond a certain point (when the incremental torque becomes too low to provide the desired movement), can actually decrease accuracy. For reference, see: http://www.micromo.com/technical-library/stepper-motor-tutorials/microstepping-myths-and-realities or any of the many references that you can find by googling 'microstepping precision accuracy'.

      Exactly where microstepping becomes counterproductive probably depends on many factors, including the torque of your motors, motor friction, the moving mass of your system, and the speeds at which you are printing. However, I think a fair point to start scratching your head and wondering if microstepping really does anything is when you go past 16X.

      At 16X you are already down to less than 10% of max torque. At 32X you are under 5% of max torque. And perhaps more importantly, a 1/32 step result in movements that are so small, it seems like they would be meaningless in light of various sources of error such backlash, stretching of belts, vibration, etc. Presumably the exact numbers are system-specific, but according to one post I read here, 32X results in 0.000332023mm of movement. Seriously?? And that's 32X. 64X - 256X would give much smaller displacements.

      This all gives me the impression that the utility of microstepping over maybe 16X, and certainly 32X, is wishful thinking. However, I see some people in these forums saying that 64X - 256X actually improves quality. I'm new to this, so my apologies if this is a dumb question, but could someone explain whether such high microstepping really has a positive effect, and if so, how it is possible that such tiny steps and torques rise above system noise?

      By the way, I have a Pursa i3 (cartesian) and a Kossel (delta) clone, in case the best microstepping settings vary substantially.

      Thanks,
      James

      1 Reply Last reply Reply Quote 0
      • deckingman
        deckingman last edited by

        I've no doubt DC42 will step (excuse the pun) in here, and if he talks about stepper motors, it is generally best to sit up and take note.

        My twopence worth. The positional accuracy of stepper motor is generally quoted as being +/- 5% per step but this is non accumulative. So any step will be within a 0.18 degree error range (assuming a 1.8 degree stepper). Micro stepping just chops full steps into smaller ones so it won't improve the accuracy. Conversely, as long as the motor doesn't skip, micro-stepping won't make the accuracy worse either. It will make the motors run quieter though.

        As for high rate micro stepping improving quality - well you've done the maths. There are people who post on HiFi and video forums claiming that a (high price) exotically named mains lead has improved the picture quality of their LCD or plasma TV by making the blacks, blacker. This would imply that the lead is somehow capable of doing selective bit manipulation of the data stream. Clearly not possible but equally, it is also not possible to convince these people that they must be imagining it.

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 0
        • elmoret
          elmoret last edited by

          Higher micro stepping reduces vibration, and therefore improves print quality (though there eventually diminishing returns).

          There's no downside to it, really. The 'reduced accuracy" is a bit of a misnomer. A perfect driving signal would be a sine wave, and increasing micro stepping just better approximates a sine wave.

          1 Reply Last reply Reply Quote 0
          • DjDemonD
            DjDemonD last edited by

            Its worth saying that the microstepping mode most popular with duetwifi is 1/16th to 1/256 interpolation where the driver accepts step and dir signals at 1/16th but moves the motors by adding the extra steps required in between, this means no excessive load on the processor to generate huge numbers of step pulses, but you gain the silence of the 1/256th mode/

            I've often wondered using Duetwifi with 1/16 to 1/256th interpolation why the torque is still adequate for the job but it is, I wouldn't fancy grabbing a carriage and trying to stop it moving (with normal motor current set). Plus the incredible silence of the motors has encouraged me to get some tmc 2100 step sticks for my other machine running ramps.

            I have no illusions that it will magically generate increased accuracy but also no complaints that it decreases accuracy either. Now when it comes to 16t drive pulleys and 400 steps/rev (0.9deg) motors they definitely do improve accuracy.

            Simon. Precision Piezo Z-Probe Technology
            www.precisionpiezo.co.uk
            PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

            1 Reply Last reply Reply Quote 0
            • James
              James last edited by

              Thanks all! Dj, I'd heard that about 0.9 degree motors also. My stock motors are NEMA 17 1.8 degree motors with 40 Nm max torque. Are there particular 0.9 degree motors you would suggest if converting?

              1 Reply Last reply Reply Quote 0
              • InSanity
                InSanity last edited by

                Keep in mind you don't loose ANY torque at 1/16th steps if you run at 1/256 stepping. The 1/2 and 1/4, 1/8th steps also have their same torque running at 256 stepping. People often get confused with this lower torque rating at higher stepping and equate it to lower torque overall, it's not. I run at 256 stepping and I'm still getting the same torque as if I ran at 1/16th stepping at the 1/16th steps. On the other hand yes I have less torque at say 129/256ths position. At 128th / 256ths on the other hand I still get the same 1/2 step torque.

                Edit: It really boils down to trying to hold the motor at ever smaller slices, it's why they say you have less holding torque at higher stepping, The motor tends to snap a bit towards it's larger steps.

                As to accuracy anything above 1/32nd isn't going to buy you much if anything at all other then lower noise. Many will argue with some merit that anything above 1/16th isn't going to gain you any accuracy, etc. Each situation is different.

                Run at least 64 micro stepping and be happy.

                Jeff

                Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                1 Reply Last reply Reply Quote 0
                • DjDemonD
                  DjDemonD last edited by

                  @James:

                  Thanks all! Dj, I'd heard that about 0.9 degree motors also. My stock motors are NEMA 17 1.8 degree motors with 40 Nm max torque. Are there particular 0.9 degree motors you would suggest if converting?

                  Well I am using these
                  http://www.omc-stepperonline.com/9deg-nema-17-bipolar-stepper-44ncm623ozin-17hm191684s-p-12.html
                  and can't fault them especially on 24v, but I was chatting to someone planning a pretty big delta 1.5m verticals and 450mm base and recommended that he might consider a 2.0A OR 2.4A motor given that we should be aiming to run them at up to 80% of max current to avoid excessive heat build up, which means you can stretch the legs on the drivers on Duetwifi and run 1.6A or 2.0A respectively. However for my 1m tall 330mm wide delta they are solid performers.

                  Simon. Precision Piezo Z-Probe Technology
                  www.precisionpiezo.co.uk
                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                  1 Reply Last reply Reply Quote 0
                  • InSanity
                    InSanity last edited by

                    From what I understand much of the need for higher current motors comes down to using motors that have lower inductance and thus lower inductive reactance which allows the motor to run at higher speeds while keeping out of the resonance frequency of the inductor. More or less if it hits that electrically resonant point it's dead in the water. You then also have the back EMF from the inductor (motor coil) which works against the drivers themselves. Less inductance less back EMF.

                    So yes, more current less voltage good.

                    Jeff

                    Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                    1 Reply Last reply Reply Quote 0
                    • James
                      James last edited by

                      With respect to using 0.9 degree motors, since a full step is half the size, do you do half as much microstepping, or still leave it at, e.g., 1/16 interpolated to 1/128?

                      And, is this just something you configure in the software so it knows step angle?

                      Thanks,
                      James

                      1 Reply Last reply Reply Quote 0
                      • InSanity
                        InSanity last edited by

                        @James:

                        With respect to using 0.9 degree motors, since a full step is half the size, do you do half as much microstepping, or still leave it at, e.g., 1/16 interpolated to 1/128?

                        And, is this just something you configure in the software so it knows step angle?

                        Thanks,
                        James

                        Set the steps per/mm and then the desired microstepping. I use 0.9 deg/step motors on my extruders. You'll double from the 1.8 deg steps of course. In my case the extruders would have been 100.3619 for 1.8 deg motors, 200.7238 for 0.9 deg motors. The steps per mm @ 1/16th stepping which then gets re-calculated by the firmware.

                        M92 X94.12 Y94.12 Z400 ; set axis steps/mm
                        M92 E200.7238:200.7238 ; set extruder 0 and 1 steps/mm

                        M350 X128 Y128 Z128 E128:128 ; set microstepping

                        Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                        1 Reply Last reply Reply Quote 0
                        • DjDemonD
                          DjDemonD last edited by

                          Yes I use 1/16 to 1/256th interpolation with 0.9 deg steppers. Steps/mm are 200 rather than the usual 80 as its 160 for 0.9deg motors and 200 for 16t pulleys. I have only really tried other modes without interpolation to see if could enhance the accuracy of my piezo z probe I am developing, the theory being the interpolated positions are not perfect but it made no difference. In fact despite the might duet's processing power at 1/256th true microstepping the processor cannot keep up with the step pulses required to go very fast.

                          Simon. Precision Piezo Z-Probe Technology
                          www.precisionpiezo.co.uk
                          PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                          1 Reply Last reply Reply Quote 0
                          • InSanity
                            InSanity last edited by

                            @DjDemonD:

                            Yes I use 1/16 to 1/256th interpolation with 0.9 deg steppers. Steps/mm are 200 rather than the usual 80 as its 160 for 0.9deg motors and 200 for 16t pulleys. I have only really tried other modes without interpolation to see if could enhance the accuracy of my piezo z probe I am developing, the theory being the interpolated positions are not perfect but it made no difference. In fact despite the might duet's processing power at 1/256th true microstepping the processor cannot keep up with the step pulses required to go very fast.

                            Perhaps you should try the latest test firmware, how fast exactly are you trying to go with 256 stepping ?

                            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                            1 Reply Last reply Reply Quote 0
                            • DjDemonD
                              DjDemonD last edited by

                              I'm not trying to go that fast and am quite happy with interpolated, just pointing out that it takes a truly mighty controller to really do it properly, and as such the interpolation on the TMC's is really rather clever. 1.17c+1 didn't work for me retractions were about 5 times too long, quite a shock to see the filament disappear back up the tube at a speed I've never seen an extruder attempt before or since. I'm sure its a bug easily fixed.

                              Simon. Precision Piezo Z-Probe Technology
                              www.precisionpiezo.co.uk
                              PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                              1 Reply Last reply Reply Quote 0
                              • InSanity
                                InSanity last edited by

                                I've timed prints at 80 mm/s 2500 acl at 16 , 64 and 256 micro stepping and found the finish time to be Exactly the same. I don't think your giving the board enough credit. I've also done 140 mm/s at 4000 acl with 128 stepping with excellent results.

                                Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                1 Reply Last reply Reply Quote 0
                                • dc42
                                  dc42 administrators last edited by

                                  On a Cartesian printer with 20 tooth pulleys and 1.8deg motors, the steps/mm at 256x microstepping will be 1280. Only 2 motors are moving significantly for most of the time, so you should be able to reach about 200mm/sec before the electronics can't generate steps fast enough.

                                  On a CoreXY it's generally better because both motors contribute to a single axis movement. This doesn't apply to diagonal movements, but then only one motor is moving.

                                  On a delta, there are two factors that increase the step rate. First, 0.9deg motors are often used to get better Z resolution. Second, the carriages have to move up to about 3 times faster than the effector. That's why I determined that 64x microstepping was the highest I should use on my delta.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  1 Reply Last reply Reply Quote 0
                                  • DjDemonD
                                    DjDemonD last edited by

                                    @(In)Sanity:

                                    I've timed prints at 80 mm/s 2500 acl at 16 , 64 and 256 micro stepping and found the finish time to be Exactly the same. I don't think your giving the board enough credit. I've also done 140 mm/s at 4000 acl with 128 stepping with excellent results.

                                    Yeah I'm just quoting David who said to get a delta to move at 15000mm/min (250 mm/s) with 0.9 deg motors at 1/256th would need 800khz step pulses, which is probably beyond the processor.

                                    Simon. Precision Piezo Z-Probe Technology
                                    www.precisionpiezo.co.uk
                                    PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                    1 Reply Last reply Reply Quote 0
                                    • InSanity
                                      InSanity last edited by

                                      His new firmware is even faster, so far so good for me at least. While I've reduced weight significantly on the carriage assembly I can't even begin to dream of 250mm/s nor would I want to. Comes a point when quality suffers even with the very lightest, highest quality printers. I'm going to stick with 80-90mm/s for now and I know I can do 150 when I need to. I might be able to pull off 200 mm/s, guess I'll have to try.

                                      This all brings up another point, I've seen some individuals brag about printing at 300mm/s on lets say YouTube videos and watching their videos it's really clear they didn't increase acceleration and jerk settings so their not getting anything near their claims. I've done 150 mm/s with 4000 acceleration and I must say it's pretty quick.

                                      I need a delta to play around with.

                                      Jeff

                                      Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                      1 Reply Last reply Reply Quote 0
                                      • deckingman
                                        deckingman last edited by

                                        I just love really fast non-print moves which is why I'm keeping my micro-stepping low. My print speed is limited by how fast the Diamond hot end can melt filament which tops out at around the equivalent of 130mm/sec for PLA at the temperature I prefer to use. My default "everyday" print speed is around 80 to 90 mm/sec but non-print moves are set to 350 - 400mm/sec (but rarely reach that of course). When you start snapping around like that, you hardly need any retraction, even with longish Bowden tubes.

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

                                        1 Reply Last reply Reply Quote 0
                                        • DjDemonD
                                          DjDemonD last edited by

                                          This is what I am mainly referring to, travel speed, I am using 120mm/s but have used 150 and 175 in the past. For small objects it makes little difference for large ones, it definitely saves time. I'd agree that quality printing above 90mm/s is not something I bother with.

                                          Simon. Precision Piezo Z-Probe Technology
                                          www.precisionpiezo.co.uk
                                          PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                          1 Reply Last reply Reply Quote 0
                                          • InSanity
                                            InSanity last edited by

                                            Ok, this makes sense. I'm only running non print moves at 150 mm/s but perhaps will increase this. I find S3D does an OK job minimizing the number of NPM's so it might not make much difference. Certainly something I'm going to investigate more. I can print at 150mm/s so I suspect NPM's could be increased significantly.

                                            Edit: Might be nice if NPM's could use a different acceleration value.

                                            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                            1 Reply Last reply Reply Quote 0
                                            • r123
                                              r123 last edited by

                                              S3d definitely needs an upgrade.

                                              In the beginning I thought it was smart of them to have zero customer contact so they could concentrate on development.

                                              Now starting to wonder what pressures (if not customers) will help iron out the quirks of their interface and propel functionality to another level?

                                              1 Reply Last reply Reply Quote 0
                                              • DjDemonD
                                                DjDemonD last edited by

                                                Tried it a few times but that was version 3.0.0 and it seemed to make some bizarre choices of non printing moves compared to slic3r which is my daily drive. Plus it should be called Complicate3d.

                                                Simon. Precision Piezo Z-Probe Technology
                                                www.precisionpiezo.co.uk
                                                PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                                1 Reply Last reply Reply Quote 0
                                                • deckingman
                                                  deckingman last edited by

                                                  @DjDemonD:

                                                  …................ Plus it should be called Complicate3d.

                                                  Made me chuckle - I'll second that observation though. They do however, honour their 30 day refund policy which was the best feature of it IMO.

                                                  Ian
                                                  https://somei3deas.wordpress.com/
                                                  https://www.youtube.com/@deckingman

                                                  1 Reply Last reply Reply Quote 0
                                                  • DjDemonD
                                                    DjDemonD last edited by

                                                    Well I tried a "trial" version if you know what I mean but wasn't taken by it. I figured I'd opt for the full software if it was going to do what I wanted, but I couldn't find an easy way to switch from layout for one printer to another, so as I have a bunch of them it wasn't going to work.

                                                    Simon. Precision Piezo Z-Probe Technology
                                                    www.precisionpiezo.co.uk
                                                    PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                                    1 Reply Last reply Reply Quote 0
                                                    • deckingman
                                                      deckingman last edited by

                                                      It was multi colour that screwed it for me. Two colour was just about doable but 3 was a nightmare. I have done 10 colour using slic3r, just for the hell of it, and it's a breeze (although it doesn't do wipe or prime towers though). S3D does do prime towers - it prints the tower, then changes the tool and continues with the print. (huh?). I never did get an answer from them as to why they found it necessary to purge the tool when it was finished with but not before it was about to be used.

                                                      Ian
                                                      https://somei3deas.wordpress.com/
                                                      https://www.youtube.com/@deckingman

                                                      1 Reply Last reply Reply Quote 0
                                                      • First post
                                                        Last post
                                                      Unless otherwise noted, all forum content is licensed under CC-BY-SA