Let me explain microstepping and chopper modes - How 3D Printing Stepper Motors work - Part 2

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 มิ.ย. 2022
  • Video sponsored by PCBWay - www.pcbway.com - PCB Manufacturing, 3d Printing, CNC parts, and more..
    Also get $5 of credit if you sign up to PCBWay using this link www.pcbway.com/setinvite.aspx...
    This is part TWO of the stepper motor series. See? I do sometimes make follow ups that I promise! :)
    Part one is here • Introduction to Steppe...
    In this episode, I take a look into how you drive them, the different modes, microstepping, and more.
    I also briefly try out a TMC2208 with an arduino in legacy mode.
    Any comments please let me know, I'm sure I've missed points, made mistakes on this one, corrections will go here or be picked up in the next episode.
    Join us on Discord! There are many of us now! Hundreds! (somehow we're up to about 270 members now!) / discord
    Waste: None. Nothing. Everything surviv...oh wait, nope, there was that one resistor.
    www.lostintech.co.uk/waste/
    *** Please consider supporting the channel to allow me to do more, and better stuff! ***
    (also you get to see the odd bit of out takes, extra content, and sometimes, usually actually, a chance to see videos first)
    / lostintech

ความคิดเห็น • 98

  • @HorizonMakes
    @HorizonMakes 2 ปีที่แล้ว +13

    It's been a while since I learned so much about printers in such a short timespan.
    Really great video!

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +2

      Thanks! Appreciate the comment a lot 👍

  • @PCBWay
    @PCBWay 2 ปีที่แล้ว +5

    Incredibly informative video 👍 What a pleasure we are to meet you this way 🍻

  • @TheMoOrtal
    @TheMoOrtal ปีที่แล้ว +3

    I'm not one to comment on videos usually, but I just can't believe your channel hasn't exploded yet. Such incredibly high quality, informative content. Keep it up!

  • @Only_outdoors
    @Only_outdoors ปีที่แล้ว

    11:43 that was subtle but absolutely hilarious the little "ahem creality" so unexpected

  • @Antrim3d
    @Antrim3d 2 ปีที่แล้ว

    Another awesome video. Thanks so much for sharing your time and knowledge!

  • @Loneman_OG
    @Loneman_OG 2 ปีที่แล้ว

    _Wotchoo talkin' 'bout, foo'?! Er'one knows dere ain't no half-steppin', Big Daddy Kane told ya'll back in 1988!_
    Ahem.
    I've been waiting for the second in the series, and I'm not disappointed. Moocho grassyarse.

  • @andrewr6861
    @andrewr6861 4 หลายเดือนก่อน

    You make such incredible videos, thank you.

  • @Karavusk
    @Karavusk 2 ปีที่แล้ว +4

    A while back I searched a lot for drawbacks of high microstepping. I think I remember watching a video or something from TMC that said that microstepping doesn't actually reduce torque. Sure the exact position isn't as "stable" but the total force in that direction should still add up to be around the same. Basically the resolution you gained is a bit more uncertain but if you compare x16 to x32 for example you should still need the same amount of force to skip 1x x16 steps vs 2x x32 steps. To sum it up if you tell a stepper motor to move a total of 5 degrees the torque applied will be the same at x16 and x256 microstepping. You are just making it possible to move the motor by less degrees and only the accuracy and torque of those smaller increments is influenced.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      Yeah this makes sense,

    • @Karavusk
      @Karavusk 2 ปีที่แล้ว +2

      @@LostInTech3D oh and as far as I can tell the main drawback to really high microstepping is actually the calculations required. Cheaper/older boards can't handle enough step calculations to do 256 microstepping, especially if you are using more than 4 steppers. Besides that most people should be able to just use 256 microstepping and enjoy the silence (I use 64 because my boards sucks xD).
      Based on the klipper tmc driver documentation you also want to use spreadCycle and not stealthChop (thanks to high microstepping it is pretty quiet anyway) because it results in less torque and apparently quite the significant positional inaccuracy (in their example 0.150mm). Interpolation apparently also introduces around half a microstep of error which is about 0.006mm at x16 microstepping.

    • @garvasrani8410
      @garvasrani8410 ปีที่แล้ว

      @@Karavusk Thank you for this explanation. I want to find more information on microstepping for position applications but sadly didnt find much how it works. Can you share some literature recommendations, that would be really helpfull. Thanks!

    • @Karavusk
      @Karavusk ปีที่แล้ว +1

      @@garvasrani8410 I got my information from the klipper tmc driver configuration, some youtube videos and random google searches over time. I don't really have one single good source that would be better than whatever Google would show you.
      If I remember correctly I did search for something like "does microstepping lower torque" and I ended up finding a video from tmc about that.
      By the way if you really want greater precision you can always go for 0.9 degree motors and use high microstepping but for 3d printing this is a bit overkill.

    • @garvasrani8410
      @garvasrani8410 ปีที่แล้ว

      @@Karavusk Ok thank you for the reply. My project is not for a 3d printer its just a high precision angular position laser. Wanted to implement 64 or 128 microsteps for finer resolution. Ill look into that. Thanks again!

  • @CraigBrideau
    @CraigBrideau 2 ปีที่แล้ว +2

    I constructed a motorized stage for a microscope that needed to move heavy samples. I used a set of 13 kg high-torque steppers that were massively overspec'd for the load. The advantage of this is they never ever failed to step so the movement of the sample in front of the microscope lens was always very repeatable.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      yep - I noticed some printers do this too, especially deltas and larger bed slingers, I'm not even sure it uses more current when you're running trinamic drivers either, so it's a good solution!

  • @marijuanas
    @marijuanas 2 ปีที่แล้ว +2

    Nice one man! I am starting to understand stepper motors!

  • @eddietheengineer
    @eddietheengineer 2 ปีที่แล้ว +1

    This is such a great explanation! I’m trying to do something similar with varying input voltages, I will send my viewers your way in my next stepper video because this content is fantastic 💯

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      Thanks! Much appreciated! 🙂

  • @dbuezas
    @dbuezas 7 หลายเดือนก่อน

    I've subscribed & stuff. I like your style and this is interesting info

  • @martinw89
    @martinw89 2 ปีที่แล้ว

    Love the scope creep joke!

  • @Williwillwixxen
    @Williwillwixxen 2 ปีที่แล้ว

    this is going to get so many views over the next years. every time someone meantions that a leadscrew z axis has 0.04mm resolution this should be linked

  • @toma.cnc1
    @toma.cnc1 2 ปีที่แล้ว

    Hitchhikers guide through the galaxy ! 😄

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      Ohhh....yes I suppose it's that too hehe

  • @tomaszkorytkowski1399
    @tomaszkorytkowski1399 2 ปีที่แล้ว

    it is very interesting to watch this video with current Sea Of Thieves main menu music :)

  • @bryanhutson6741
    @bryanhutson6741 2 ปีที่แล้ว +2

    4:10 I would really love to see a chopping comparison of steppers with different inductance values.

  • @CmdrMoto
    @CmdrMoto 2 ปีที่แล้ว +1

    For future reference: to get those current waveforms, rather than heat up a trio of shunt resistors, you can simply measure the voltage from the controller end of the wire to the motor end of the same wire. You’ll probably need to use a 10x probe to see this (much smaller) voltage differential, but at least you don’t introduce more resistance than needed.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      Yeah - I tried that, and a long (>10m) wire too, none of this was enough to get a good trace. I mean, on this scope anyway. Doesn't a 10x probe work the other way though?

    • @CmdrMoto
      @CmdrMoto 2 ปีที่แล้ว

      @@LostInTech3D LOL, I forgot how attenuation factors work. The 10x probe is indeed the opposite of the direction you’d want - 1x probe would be the correct choice. It sounds like your scope doesn’t have the necessary resolution to pick up a millivolt-scale signal, though - boo.

  • @WaffleStaffel
    @WaffleStaffel ปีที่แล้ว

    Very well explained and illustrated. Will part 3 be forthcoming?

    • @LostInTech3D
      @LostInTech3D  ปีที่แล้ว +1

      If it is, it'll be on the electronics channel...linked in the home page..👍

    • @WaffleStaffel
      @WaffleStaffel ปีที่แล้ว

      @@LostInTech3D Thanks! Newly subscribed. I have my first printer on the way, an LK5 Pro. Been watching a lot of your videos in the meantime.

  • @BigfootPrinting
    @BigfootPrinting 2 ปีที่แล้ว

    “Magic numbers” is a disservice of a name to what is basic math. You explained it, the further away from discrete full steps the lower the torque and thus for Z axis especially equates to potential to drift. Using full or half step values is still best for layer heights for this value.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      But here's a question - how do you know you're starting at a full step?

    • @BigfootPrinting
      @BigfootPrinting 2 ปีที่แล้ว

      @@LostInTech3D your toolhead gcode Z position is at that of a multiple of your full step increment.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      But you can't know if it's at, say, 5/32th microstep when z=0. So the z=0 position is not at a full step increment. So every increment would then be a 5/32 microstep. Thus, have the low torque and inaccuracy. Do you see what I mean?

    • @BigfootPrinting
      @BigfootPrinting 2 ปีที่แล้ว +1

      @@LostInTech3D klipper provides the ability to get actual MCU read-values on the position with GET_POSITION. It’s on you to set your offsets and homing procedures to wind up at a full step, these are robots after all.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      I've not heard of anyone trying to do that. Do you do that?

  • @smkole2
    @smkole2 2 ปีที่แล้ว

    Great explanation. It is easy to understand since you offer accurate instead of simplified visuals. What is your go to source for information? Thank you as usual.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      For this video, all sorts of sources, it took a lot of research, but I'd recommend the trinamic data sheet for a lot of good info!

  • @KumquatChampion
    @KumquatChampion 2 ปีที่แล้ว

    I feel like a learn more watching these which overall makes me feel dumber.
    I appreciate it!

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      Haha yeah that's totally a thing, when I'm researching for them I feel the same way, you start to know how much you don't know! 😬

  • @gdrivedeiglmayr3506
    @gdrivedeiglmayr3506 29 วันที่ผ่านมา

    On most Stepper Drivers there is a sense resistor (aka shunt resistor onboard). I once soldered two wires to the end and probed that signal. Looked like the Current waveform on one coil :) can you confirm it is similar to your shunt resistor?

  • @xidoulis
    @xidoulis 2 ปีที่แล้ว

    You: "Resistance is futile" - > Me: subscribes for life

  • @R3d_8
    @R3d_8 2 ปีที่แล้ว +4

    I think that basically everything in 3d printing has more of an effect on layer quality than magic numbers, but I would be interested to see the exact torque values of microstepping vs torque required to move the axis.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +3

      Yes - I was thinking about how hard it would be to measure these torques, and more importantly, something I didn't explain yet, how torque (load) makes the motor lag behind the step position it should be.

    • @BigfootPrinting
      @BigfootPrinting 2 ปีที่แล้ว +2

      Eddietheengineer on TH-cam has and is doing some interesting analyses in this domain with actual test equipment and math.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      I will check it out

    • @paulradford4100
      @paulradford4100 2 ปีที่แล้ว +2

      I'd be more concerned about the magic smoke than the magic numbers 😄

  • @JB-yu1vv
    @JB-yu1vv 2 ปีที่แล้ว +4

    8:03 so microstepping works like a mixing hotend with the position beeing the final colour (if you mix two).
    About magic numbers: I don't know if you can see on a print if a layer ,,sits" on a step or not, but if you use magic numbers either all layers will do or, what is more likely, none will do since z=0 mustn't be on a step. If you wouldn't use magic numbers some layers will be on a step, most wouldn't so if there is a difference you'd notice. With magic numbers you'd be on the save side.

    • @TechieSewing
      @TechieSewing 2 ปีที่แล้ว

      So what are you saying, can it be proven (or disproved) with test prints? There must also be 'magic level', done with 'magic wand'. Wait, that must be a feeler gauge...

    • @JB-yu1vv
      @JB-yu1vv 2 ปีที่แล้ว +1

      @@TechieSewing I think you could do both if you somehow could see if the motor is on a step or not. This way you could compare it with a test print and also set z=0 on a step

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      Yes, the not knowing if you're on a magic step thing troubles me, but, I just think once you round it all down with the gearing, 1.8 degrees/n where n >2 is... negligible compared even to the z rod thread variance. But...I'm open to opinions and it would be cool to find a way to test it and put it to bed once and for all.

    • @tvathome562
      @tvathome562 2 ปีที่แล้ว +2

      @@LostInTech3D I think the people who suggested magic stepping were arguing in the days of bent leads screws and m8 threaded bar being substituted for a trapezoidal leadscrew, this lead to alot of binding on the z axis so by taking full steps the torque is kept to maximum and less likely to bind, thus causing visible artifacts.
      It seems to be less of an issue now trapezoidal leadscrews are cheaply available and frames aren't made of wood and bearings aren't brass/pla bushings running on the straightest 8mm smooth rod u had in your collection.
      Good video

    • @TechieSewing
      @TechieSewing 2 ปีที่แล้ว

      @@JB-yu1vv They way I see it, one could have printed a few cylinders with 0.19, 0.21, 0.15, 0.16 etc and compare them to 0.2 and 0.16. But the results would be visible or not depending on where z=0 is? Do you expect "none of the layers" to look differenly and better than 'some layers are'?

  • @SonofTheMorningStar666
    @SonofTheMorningStar666 2 ปีที่แล้ว +1

    👍

  • @jakeharms1386
    @jakeharms1386 4 หลายเดือนก่อน

    How do you go about estimating the specs of a no name Chinese stepper?? I have an old telco tornado and I need to figure out how to set the stepper drivers

    • @LostInTech3D
      @LostInTech3D  4 หลายเดือนก่อน +1

      Trial and error mainly I'm afraid. I would personally look at the spec sheets for a similarly sized motor and go from there. Most motors are good to at least 60c but yeah, it's hard to get that info if you don't already know it.
      There probably is a sample klipper config out there somewhere?

  • @Mwwwwwwwwe
    @Mwwwwwwwwe 2 ปีที่แล้ว

    Wowzers what driver was that...it even had ranging during the off cycle!

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      You have to or it will slip I think! I don't actually remember which TMC driver it is in that printer.. probably 2208

    • @Mwwwwwwwwe
      @Mwwwwwwwwe 2 ปีที่แล้ว

      @@LostInTech3D or maybe the waveform shows it dubstepping...yep i know that was an awful joke- sorry 😅

  • @MakerMeraki
    @MakerMeraki 2 ปีที่แล้ว

    Great video! Still waiying on my EZ stuff to ship. :/

  • @nyxcode2818
    @nyxcode2818 2 ปีที่แล้ว

    would love to see how to drive a tmc2209 over uart! tried it in the past, but couldn’t get it to work. Would be super cool if non-experts like me could play around with these drivers without marlin or klipper.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      Are you calling me a non expert? 😂😉

    • @nyxcode2818
      @nyxcode2818 2 ปีที่แล้ว

      @@LostInTech3D no, was just refering to myself :D

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      I'm just messing about, I'm certainly not an expert 😁

  • @unclebach3495
    @unclebach3495 2 ปีที่แล้ว

    this series is getting dangerously close to an electroboom episode, that poor little resistor

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      Hehe electroboom is the best

  • @iAmTheSquidThing
    @iAmTheSquidThing 2 ปีที่แล้ว

    As I understand it: Microstepping is essentially just using a stepper motor like a brushless DC motor. (I mean, technically it is a type of brushless DC motor, but you get what I'm saying.)

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว

      Yes I think so. In fact, someone told me the other day that some of these 6 minute benchies were done on printers with BLDC motors and some fancy electronics. Which is something I need to look into to see if it's true!

  • @Dystrackshun
    @Dystrackshun 2 ปีที่แล้ว

    So, microstepping tinkers with resolution of the motor at the cost of torque, but if I use a differential gear to get higher resolution, as some extruders, it can increase torque. Why do we not use gearing to increase printing resolution without the tradeoff?

    • @RegularOldDan
      @RegularOldDan 2 ปีที่แล้ว +2

      That's a good question. One possibility is any time you introduce another mechanical element, you introduce not just mechanical complexity but also additional backlash. You will certainly gain torque but may lose accuracy within the desired precision.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +2

      Yes it's a good question. The answer is I don't know. I guess it's a combination of speed (gearing down will decrease top speed and.. speeding up to the original speed negates the gains?), noise (silent mode is out if you're running fast) and just manufacturers being cheap. 🤣
      That's the only explanations I have.

    • @Karavusk
      @Karavusk 2 ปีที่แล้ว

      @@LostInTech3D To be fair we really don't need higher (motor/movement) accuracy in 3d printing. There are a ton of variables and even at x16 microstepping each step is around 0.006mm? which is probably good enough (not to mention you can just use higher microstepping). If you really want more you can always go for 0.9 degree motors which are already fairly rare.
      Besides that gearing is already very common in extruders, sometimes even in combination with 0.9 degree motors (I think that is the default from e3d right now). Although at least the gearing is probably mostly because of torque and not positional accuracy.

  • @TechieSewing
    @TechieSewing 2 ปีที่แล้ว +1

    10:05 Resistance is futile but cute.

  • @nubletten
    @nubletten 2 ปีที่แล้ว

    You will be assimilated!
    One full step closer to being able to in depth compare hybrid stepper motors by reading spec sheets. Where provided.

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      Where provided and correct 🤣

  • @dmitryplatonov
    @dmitryplatonov 6 หลายเดือนก่อน

    It's common misconception that torque with microstepping is lower. It's wrong. Torque is the same (for particular motor it depends only on motor current). External torque to deflect motor at angle equal one microstep gets lower, because microstep angle gets lower. All in all, going higher microsteps has no downsides as long as board and driver han handle step pulse rate.

  • @Dystrackshun
    @Dystrackshun 2 ปีที่แล้ว

    Stepper2: Microelectric Boogie

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +1

      Steppers 2: Trinamic Boogaloo

  • @TDOBrandano
    @TDOBrandano 2 ปีที่แล้ว

    The main function of microstepping is to reduce stepper noise. You do gain a little resolution, but lose holding torque to a point that only half step repositioning is reliable. That's why even though you can have 256x microstepping enabled it is still good practice to round the layer height to the nearest full or half step.

  • @FAB1150
    @FAB1150 2 ปีที่แล้ว

    Be careful adding resistors together, three 10Ω resistors in parallel become a 3.3Ω resistor!

    • @LostInTech3D
      @LostInTech3D  2 ปีที่แล้ว +2

      that was the plan! less heat.