Man, you really are doing everybody a service with this video. Thank you so much for going through all this effort to educate us. This video was awesome!
Back in the days when I used to work for Xerox doing field service in downtown Oahu HI on Xerox’s 50xx and 53xx series low volume copy machines, it always amazed me how quiet the platen scanners were in the 5328 vs the older generation 5028 (for example). One day at the Xerox warehouse in downtown Honolulu, I found myself sitting in my car on my lunch break staring at the driver boards for the platen scanners, wondering what in the world made this machine so quiet. The 5328 series driver boards look damn near identical to the 5028 driver boards. You can even stick a 5328 driver board into the 5028 copier if you wanted a quieter running, older copy machine. Mind you, the entire being of the 5328 was quiet. The platen scanners, the ADF feed drive and ADF belt drive (the big ass white belt that drags your original documents onto the platen glass from the document feeder on top of the glass for your documents) ran quiet. At that time, I was amazed at every single improvement done on the 5328 from its 5028 predecessor. Every single stepper in the 5328 had this characteristic, with parts interchangeable with the 5028. Every single headache that the 5028’s gave customers were addressed in the 5328. Using almost identical electronics. WTF, right? The Xerox gig I had was my very first technical job out of school, so this was over 28 years ago. Watching this video, I finally know how the Xerox engineers made the next generation 53xx series covers run quiet. Thank you for that!
The microstepping is only one ingredient in being quieter. Stealthchop (on by default and in your test I think?) is another. But even with Stealthchop off and interpolation to 256 microsteps off (real nominal microstepping) it's significantly quieter than A4988 at same (eg 16) number of microsteps. It'd be interesting to measure why.
Yes there are a few factors that play into silent operation, I've found that this seems to be the largest contributor. Here's an interesting read by TI on some other sources of noise and how some driver's work to overcome these - www.ti.com/lit/an/slvaes8/slvaes8.pdf
Maybe because of the self induction effect of the coils, at lower microsteps, the coil might no always will be saturated, while on higher it will, and thus make less microfibration in the stator plates.
As you can see the a4988 actually skips a few microsteps as it's unable to drive very small currents. You can actually tune this behaviour with a resistor but it'll run much hotter when you tune it in and can cause other issues.
Yes, MicroPlyer only makes it so that even a fullstep is as smooth as a 256th step. The true magic lies in their "StealthChop" that automatically analyzes back emf and adjusts phase currents. Make it super smooth, but also needs a ton of current to make the stepper have at least some tourque
I'd like this test to be done while at proper speeds, not at a constant slow speed. Also, while changing speed as the added interpolation will have to guess how the speed will change in the future to create a non discontinuous signal that causes noise. Acceleration curves should be visible if stepped pulserate is used, stepping back and forth between the rates and triggering scope on the change.
Decrease in incremental torque doesn't mean what most people think it means. The torque overall is the same on the fullstep and half step positions, independently if you are using full step or microstepping, it only decreases the torque in the interval between the steps, because it is trying to hold in a position that is between the coils. So there is no lost torque, only incremented accuracy, with a precision still within the full step precision.
Yes that's true, but this is plays a role if you're operating near the maximum torque that is able to be produced (i.e. a heavy 3D printer gantry etc.) as you are very often going to be operating at points between steps and any movement of the rotor when being held at one of the intermediate steps will cause unwanted artifacts on your prints.
Apart from learning a bit about stepper motor drivers, I also discovered what POKITMETER TR is. It looks interesting for people who don't have a big desk to run all these machines from. I don't have space for a full size oscilloscope. This looks like an interesting alternative, thanks!
@@chrisalexthomas It really depends on your exact needs. I’m less familiar with oscilloscopes for automotive use. For general electronics, the pico scope will get you better sample rate and bandwidth than the Analog Discovery, while the Analog Discovery is great if you need lots of channels, including outputs.
I'm using a STEPPERONLINE DM542T Controller and although it cost me $40, I think it's well worth it! Very flexible and dependable controller! I've had it for a few years now and no complaints at all!!
You only get an increase in torque by increasing voltage at high step rates. That is due to inductive reluctance. The higher the step rate the smaller the window to dump current into the motor windings. At some high speed that short duration becomes an issue. Inductors resist changes in current. Voltage overcomes that inductive reluctance. Reluctance is like active resistance.
Yes but at higher voltages the heat produced in the drivers just goes out of hand. the steppers also seem to get much louder. I think its best to figure out what MAX speeds you need on your setup and afterwards adjust the voltage to support that. Prusa says ideal seems to be 28V. I personally run the drivers at 19v
@@fortheregm1249 stepper drives are constant current devices. They're a bit more involved than say a resistive load is. So what your input voltage is will not affect power output linearly. If your motor is loud then that means the current isn't set properly on the drive for the motor you're using. What's going on there is all rather complicated. How a lot of driver boards say to set current really isn't. If you're not measuring then you've no idea what's really going on. You only think that you do.
@@1pcfred for higher voltages the drivers have to PWM the MOT voltage at different frequency to get the same output. and more heat is produced in mosfets during transitions. regardless of load being resistive or inductive you will produce more heat in drivers when you have to step down the voltage from a higher start point. but what I said in my first post was just an observation, I was adjusting MOT voltage for a SPI configured 2130s and 5160s and the higher voltages was producing way too much heat and noise. cooling 2130s on anything above 30v seemed not worth the hassle to me.
I stumbled on this, when I searched for silent stepper motors. Good to know that the noise is actually dependent on the driver. I guess you could make a silent stepper motor doing full steps, but it would require damping and isolating materials and bearings and whatnot. This is good to know! I plan to make a steam punk clockwork. Instead of a pendulum, a stepper motor would drive the fastest cog wheel. The noise should be all about the cog wheels and not the motor at all.
The main "break" in the A4988 sinewave is the part-square-wave that you see poking through. That's because of a configuration error on the original pololu driver that everybody since then has copied. It's a whole lot better when you modify the stepper driver to change the chips configuration.
@@josephcsible Sorry.... Own research written up here on youtube in the comment above.... I'm not much of a writer. Actually I've modified one of those A4988 boards to disable the fast decay, concluded it was working much better and then... continued using unmodified stepper driver boards. To me the problem is solved once I KNOW how to fix it. I'm the mathematician in the joke about the engineers put in a room with a garbage bin that's on fire. Math-engineer: There is a solution .... and it is not unique.
Thanks for this - I have been building mechanical some clocks driven by Arduino and a small stepper motor. I had been using the A4988, but was frustrated by the noise/vibration at the low speed I'm using (1.5RPM). These are a total game changer, it runs silently now.
Great video, and an unexpected bonus is that your observation about interrupting the circuit with the meter may offer a solution to a problem with my own printer! Fascinating. Well presented information, thank you. Liked and Subbed.
I have these in my Ender 3V2 and it is a common driver in general for many printers and it does the job really well. They are indeed really quiet and u hear only a soft humming during rapid moments. The increased precision is also a benefit. The really loud fans in the machine however takes the low noise benefit away somewhat. The noise level in total while printing is still comparable to a hairdryer at full blast and earplugs are definitley required if sitting near the machine while it is printing to avoid possible hearing damage (if you for example like me have the CAD computer next to the printer and work on that while its printing and keep your eye on the machine at the same time in case something goes wrong. A pair of in ear wireless headphones works perfect for this purpose and allow you to get sound and music from the computer while filtering out the machine noise). Loud stock fans are a common issue on these machines in general it seems.
I recommend upgrading the fans on your Ender 3 and especially the housings for the fans. For example, I found the cooling fan for the heat sink on the hot end to be very loud, even compared to what the fan itself normally sounds like. Some experimenting showed that this was a result of having the fan shroud up against the fan. I printed a small spacer (about 10mm) to separate the fan shroud from the fan and it greatly decreased the noise of the fan without replacing the fan itself. This is more difficult to do for the power supply and control board, but they both suffer the same issue. Using a larger blower motor (e.g. 5010) for part cooling and running it at lower speeds also helps significantly. Mine is now quite reasonable sitting directly next to it.
@@reverse_engineered need to för that for sure and also the bearings in the heatbreak fan are of terrible quality. Other then the fans the machine works great through
Noctua have a few options that could be used to replace the fans on the Ender series printers. The loudest ones for me seem to be the power supply and hot end cooling fan, so they're a relatively easy replacement. It is a bit strange to take the time to silence the drivers and then use really loud fans on the printer, I'm not sure why they haven't done anything about them. My Ender 3V2's fans are more noisy than the original ender, particularly the power supply fan.
Excellent video! I switched everything I have over to TMC drivers, and now I know why they're so good! I'd love to see the waveform as the motor accelerates up and down, I do wonder how that sine wave ends.
Nice video, yes this is the main contributor to sound. Fun fact, in FluidNC, we always use the highest possible microsteps for simple A/DRV stepsticks, because otherwise it would be impossible to get the same sockets to run the TMC SPI drivers with a few jumpers. The ESP32 is fast enough for this; we can easily throw 300 kHz at 6 motors at the same time. You can't do something like this on a simple Arduino tho, the CPU just isn't fast enough.
I can confirm that under load the TMC in standalone aren't THAT much quieter than A4988 set to 1/16. There is a significant reduction in noise but it still causes quite some vibrations.
@@sheshankutty8552 What are you talking about? FluidNC boards are designed in the USA and EU. I'm sure there is no backdoor shit there, I made a large part of the firmware myself. TMC is designed in Germany. Get your facts straight please.
That reminds me of a stepper motor I played with in the late 90s. I was giving it 5V and it didn't have enough torque for the application. Without much though I just decided to increase it to 12V and was pleasantly surprised.
I'm working on a goto telescope project, I'm thinking of using stepper motors to control the left/right & up/down and may couple them with worm gear to increase the torque as speed is not the primary goal.
If you want a slow speed high torque stepper motor you want a motor with higher inductance, resistance and voltage specs as opposed to lower. How a motor will perform depends on how it was wound. Study motor specs along with their torque curve charts to get a feel for things. So you can visualize the relationships. The most popular spec, holding torque, is not particularly useful information. We care about how motors run, not how they can stand still. I will add what you want is not what is generally desirable in the market. So you should do OK purchasing it. Though a lot of sellers are cretins. You're entering an area with a lot of pitfalls. To be forewarned is to be forearmed. Shop around.
Nice visual explanation of why they are so much quieter. Could you perhaps have done a comparison with the TMC's in full-step mode? I think the drivers do a little more to make the motor silent than the microsteps.
I'll look at putting together a follow-up. Yes, they do a lot more than just the microstepping, but this is the largest contributor to the reduction in noise.
@@1pcfred It has its uses. For example the dSpin stepper family from ST Micro will switch to full step mode when doing long movements even if you were in a microstepping mode when you gave the instruction.
my experience with stepper is that noise level can change significantly under load. Without load, it can be as quiet as you want it to be under microsteping. Also when you put motor on the table with its axle perpendicular to table surface, the rotary vibration of the rotor does not hit the table surface and it's quiet. If let the axle stay parallel to the table surface, you can hear a drastic noise increase , because the table surface can now feel any change in the rotor position.
I upgraded my Anycubic Mega X that I've had for a number of year. I put TMC2208 drivers on it (HOLY CRAP!!!) Went from very VERY noisy prints to silent... standing next to it, you can't hear it running at all!!! I wired in two relays and one is running between the outlet to powersupply to be able to kill printer power with relay. Wired it to NO (Normally Open) so when its plugged in, its OFF by default. Then a second one for 12v control a set of LED's I wired around the posts and a ring around the print head. I also wired this one NO as well. I then setup Octoprint on a raspberry pi laying around and put a picam on it and mounted it. Set the relays into the pi. I now have it setup where its all one unit, I have the pi powered off the printer power too. So plug in one cable, and pi boots up. Log into octoprint interface and turn on printer, turn on LED's, and setup print by sending the print file remotely. after print is done, it all shuts off and sends me an email with a picture of the print. I can view the printer in real time, turn on and off LED's and printer from anywhere. I LOVE OCTOPRINT!!!! I also have two physical momentary buttons wired up tot he pi on the outside of the case, so just incase the Octoprint doesnt connect to wifi, or i'm someplace new and not on the wifi yet, I can turn on and off the printer and lights from there. Just coded it where if gpio xx is pulled down, the toggle printer relay GPIO and same for LED relay connection.
Wow youtube has been recommending this video to me NON-STOP for the past week or so - very strange. I'm not even mad though, good video + subscribed. (however the aggressive recommendation is still weird though)
Excellent video! I’m using a TMC2208 driver to spin two micro steppers at a constant speed in a plastic model, so noise and smoothness of motion are the driving factors for me. I wish there was a clear tutorial on how to calculate the Vref for a given motor - everywhere I’ve looked is quite confusing, especially as the motor specs don’t provide phase current, only resistance (do I just apply Ohms law to get the max current?)
The stepper motor coils are a set resistance, if you increase the voltage the current will also go up. Unless you are using a current limiting stepper driver.
@@PvtHaggard Every stepper motor driver limits current. Otherwise motors will be dead in holding mode. This is stepper motor control basics. Stepper motors have near-constant torque curve at nominal motor current unless motor b-emf reaches driver supply voltage at some rotation speed.
Yes, primarily an increase in voltage allows for an increase in motor speed but a byproduct of this is an increase in operating torque. Using a higher supply voltage allows the driver to improve the current rise time, which in turn improves torque output.
@@Sh1neful No they don't. You can control a stepper motor with a basic h-bridge and the current draw will be determined by the input voltage and the coil resistance. As long as the current doesn't exceed the rated current for the stepper there is no problem. Current limiting is obviously better because you can run much higher voltages without exceeding current limits, so of course it is going to be more common.
You cannot increase current. In fact a great way to make stepper motors run like crap is to run them over current. When they're rough, growly and heat up too fast they're running over current. You're actually better off under as opposed to over current. Although you are best off at precisely your motor's rated current. How to set that up can be somewhat tricky. The switches on drives are never accurate. I prefer drives with potentiometers.
Thanks for doing this video. This applies to nema 17 with TMC2208/09. I don’t like the noise of Nema 23 noise too. Is there a way to silent Nema 23? Thanks again.
There's a strong anomaly in the sinewave of the A4988 following zero crossing. I wonder if you can tune it out with decaymode tuning through the resistors to the ROSC pin of the chip. And then how it affects the noise.
Some guy said it's a driver configuration error made originally by Polulu that then got copied into subsequent derivatives without thought and accidentally became a "standard". Supposedly the driver can be reconfigured to fix it.
Dude. Like, what on earth did I just watch? I mean, like,... I understood some of the words. Well, kudos to you for knowing this stuff. I think youtube's algorithm is broken.
thank you Sir for the informative video. can you try Field Oriented control of Stepper using TMC or Controller or both? any piece of advice ? Thank you
Nice comparison! The difference in sound level is amazing. Do you have more info on how the driver accomplishes the microstepping? If it would actually linearly regulate the current, the power dissipation in the chip would be big, does it do that or is it doing PWM/chopping?
It's PWM, essentially a current-mode buck converter. Almost all stepper drivers work this way, even in full step mode. Normally you need an inductor to get smooth output from a buck converter, but when driving a motor you get that for free, and there's no need for extra magnetics on the board.
great explanation! Id like to motorise my outside window shades and maybe stepper motor is good for this task, but I want it to be very quiet at the same time and not hear whining, do you think this is a good fit for that project? I also need the motor to raise and lower the blinds all the way with this, now I have a hand crank on the inside and measured 2,79Nm break away torque, and i would like it to spin the former hand crank where I will make an attachment for the motor with about 100rpm, is a stepper motor up to that task? thank you :)
Stepper motors come in a wide range of sizes to suit different applications and torque requirements, I’m sure you can find one suitable for a window shade
Thank you for the explanations, it was not clear for me that more pulses have to be generated to operate the stepper motor at a given speed. I will try to use a TMC2209 chip soon with an arduino, to reduce the noise produced by the stepper motor. Using a brushless motor could also reduce the noise, so why using a stepper motor instead of a brushless motor ?
now I'm curious if I'll every try and swap the stepper controller IF I get my hands on a resin printer. quieter motors for home use always sounds like a better option.
To those considering stealth-chop, I frequently see homing fail when using stealth-chop. Further, stealth-chop frequently loses steps even at the highest current settings. Yes, it is quieter but not worth the inaccuracy.
I know nothing about motors but i was initially thinking this would affect torque. As you also said in the video later on. Is there a way to calculate how big the torque drop would be?
Very cool explanation and demo!! Slightly related..do you know if trinamics's stepper motors are much more precise than "ordinary chinese" ones? Tks :)
I don't think they're any more precise, they're probably just manufactured to better quality standards so their specifications would better match their data sheets and would likely last longer.
I have run stspin220 which also have 256 microstep mode, and has more noise than tms. So it is not about microstep mode and current waveform only. tms has voltage sine waveform also.
Good job Mr. teacher What is your phone Android or IOS , what hardware do I need if I want to make a scope out of my phone. What about torque at higher step(16th step) compare between A4988 and TMC2208
It's iOS and its running the Pokit app that is designed for use with the multimeter I'm using. You can get 3rd party apps to build your own oscilloscope on Android using Raspberry Pi Pico's etc.
Excellent explanation! I've always wondered what the difference is between the two drivers. Is there a way to overcome the challenge with the microcontroller needing to send more pulses to the motor so that the controller doesn't get bogged down with the task of driving the motors? Maybe a separate mini controller dedicated to controlling the motors and it communicated with the master MCU via some sort of serial connection?
You could probably set something like that up for regular movements. That doesn’t really work for things like CNC machines as the motor speeds, directions and travels are continuously changing
Hi, Thanks a lot, its really greate effort and great knowledge. i need to do a project for a preset position linear actuator with a DC motor abd a stepper motor, with Arduino Mega or UNO but i am not able to write the code and the scheme, can you please help. Regards
I am curious, what if you made a controller that uses a small brushed DC motor, like the tiny motors used in old smartphones for vibration before solid state haptics improved, to slowly drive a wiper over a set of four potentiometer slides? You could produce a true analog output with only a variable DC input. I'm curious how these steppers would handle being run on a controller like that; would the DC motor add enough noise to make up for the stepper being quiet with its infinite (analog) steps, would the stepper motor not be any quieter compared to ultra high microstep controllers, or will it be better overall in terms of being quiet? The biggest downsides I can see to the idea, are friction losses from the DC motor and potentiometer setup, and a need for external position sensors so the controller can retain fine control.
I think in theory it sounds like a good idea, but potentiometer outputs are quite noisy so this would carry through to the motor control and they're not designed to carry much current (1-2A is quite a lot of current) so a resistive device. There are also some other things that the TMC drivers do to achieve silent operation, the sine wave component is just one of the most significant.
Stepper motors are a form of brushless motor, but the ones you're talking about differ in their intended purpose. Stepper motors are designed to be driven in steps and to maximize holding torque, a brushless DC motor is typically designed to run with the rotor slightly lagging the stator to maximize output torque at speed. There are a few design differences made to achieve these goals, but this is generally what drives the design choices.
I've come to realize that stepper motors and BLDC motors are actually quite similar. The only difference is one needs the clarke transform and the other doesn't! Maximum performance (and low noise) ideally can be achieved by actually running FOC and skipping the clarke transform and SVM. If you want closed-loop sensorless at zero speed, you'll have to do saliency tracking which may not be silent...
The enable and microstepping pins may need some modifications depending on the board you're using. The supply, motor and input pins are all like for like.
For an automated camera dolly running on a track, I 1st tried stepper motors, but they were too loud. I found synchronous AC motors (microwave platter motor) are SILENT. Perfect, and huge torque. Problem is control.. Not so easy. To get the dolly to hit a stop at both ends of the track, I found the way is to force stop it.. The mag field flips and it moves the other way.
The main reason they manage to do it *silently*, is because they do the switching in the ultrasound range. If we could hear higher frequencies, we'd hear the whining of the coils from being switched.
Man, you really are doing everybody a service with this video. Thank you so much for going through all this effort to educate us. This video was awesome!
Thank you Travis
Back in the days when I used to work for Xerox doing field service in downtown Oahu HI on Xerox’s 50xx and 53xx series low volume copy machines, it always amazed me how quiet the platen scanners were in the 5328 vs the older generation 5028 (for example).
One day at the Xerox warehouse in downtown Honolulu, I found myself sitting in my car on my lunch break staring at the driver boards for the platen scanners, wondering what in the world made this machine so quiet. The 5328 series driver boards look damn near identical to the 5028 driver boards. You can even stick a 5328 driver board into the 5028 copier if you wanted a quieter running, older copy machine. Mind you, the entire being of the 5328 was quiet. The platen scanners, the ADF feed drive and ADF belt drive (the big ass white belt that drags your original documents onto the platen glass from the document feeder on top of the glass for your documents) ran quiet. At that time, I was amazed at every single improvement done on the 5328 from its 5028 predecessor. Every single stepper in the 5328 had this characteristic, with parts interchangeable with the 5028. Every single headache that the 5028’s gave customers were addressed in the 5328. Using almost identical electronics. WTF, right?
The Xerox gig I had was my very first technical job out of school, so this was over 28 years ago. Watching this video, I finally know how the Xerox engineers made the next generation 53xx series covers run quiet.
Thank you for that!
I miss The Monkey Bar in Pearl City. That's going back a ways.
The 2208s saved many marriages.
I have always found your shoulder to lean on whenever I needed it. Happy Birthday to the loveliest brother!
That was an awesome explanation. Thanks for the demo. I had no idea how that worked at all. I was just glad my 3D Printer came with silent drivers!
What an incredibly useful, straightforward, and informational video. Great work dude, thanks!
The microstepping is only one ingredient in being quieter. Stealthchop (on by default and in your test I think?) is another. But even with Stealthchop off and interpolation to 256 microsteps off (real nominal microstepping) it's significantly quieter than A4988 at same (eg 16) number of microsteps. It'd be interesting to measure why.
Yes there are a few factors that play into silent operation, I've found that this seems to be the largest contributor.
Here's an interesting read by TI on some other sources of noise and how some driver's work to overcome these - www.ti.com/lit/an/slvaes8/slvaes8.pdf
Maybe because of the self induction effect of the coils, at lower microsteps, the coil might no always will be saturated, while on higher it will, and thus make less microfibration in the stator plates.
As you can see the a4988 actually skips a few microsteps as it's unable to drive very small currents. You can actually tune this behaviour with a resistor but it'll run much hotter when you tune it in and can cause other issues.
Yes, MicroPlyer only makes it so that even a fullstep is as smooth as a 256th step.
The true magic lies in their "StealthChop" that automatically analyzes back emf and adjusts phase currents. Make it super smooth, but also needs a ton of current to make the stepper have at least some tourque
Coolstep might have something to do with it. That limits motor current when less torque is needed.
So that is why my 3D printer is so much quieter with the new main board! Great explanation👍🏻🇸🇪
I'd like this test to be done while at proper speeds, not at a constant slow speed.
Also, while changing speed as the added interpolation will have to guess how the speed will change in the future to create a non discontinuous signal that causes noise.
Acceleration curves should be visible if stepped pulserate is used, stepping back and forth between the rates and triggering scope on the change.
Decrease in incremental torque doesn't mean what most people think it means. The torque overall is the same on the fullstep and half step positions, independently if you are using full step or microstepping, it only decreases the torque in the interval between the steps, because it is trying to hold in a position that is between the coils. So there is no lost torque, only incremented accuracy, with a precision still within the full step precision.
Indeed, microstepping does not reduce torque. But the higher accuracy expected is only available at lower torques. Just as with full steps.
Yes that's true, but this is plays a role if you're operating near the maximum torque that is able to be produced (i.e. a heavy 3D printer gantry etc.) as you are very often going to be operating at points between steps and any movement of the rotor when being held at one of the intermediate steps will cause unwanted artifacts on your prints.
@@MichaelKlements Microstepping will almost always result in less artifacts than full / half stepping.
Be sure to use magic numbers for z height tio avoid artifacts on height. Idk if they can help in x and y.
Apart from learning a bit about stepper motor drivers, I also discovered what POKITMETER TR is. It looks interesting for people who don't have a big desk to run all these machines from. I don't have space for a full size oscilloscope. This looks like an interesting alternative, thanks!
I’d sooner suggest a Picoscope or Analog Discovery, then. (Both connect to your computer with USB.)
@@tookitogo can you suggest any? I’m interested to know what others would buy, especially if you have this sort of thing in your garage already
@@chrisalexthomas It really depends on your exact needs. I’m less familiar with oscilloscopes for automotive use. For general electronics, the pico scope will get you better sample rate and bandwidth than the Analog Discovery, while the Analog Discovery is great if you need lots of channels, including outputs.
Wow, that was a great video! I had no idea that the number of microsteps were so important. Thanks.
I'm using a STEPPERONLINE DM542T Controller and although it cost me $40, I think it's well worth it! Very flexible and dependable controller! I've had it for a few years now and no complaints at all!!
You only get an increase in torque by increasing voltage at high step rates. That is due to inductive reluctance. The higher the step rate the smaller the window to dump current into the motor windings. At some high speed that short duration becomes an issue. Inductors resist changes in current. Voltage overcomes that inductive reluctance. Reluctance is like active resistance.
That's why you can programm the tmc drivers to switch to full step mode at a certain speed.
@@thegame4027 I do not want to run in full step sequence ever. That's why I just have a controller fast enough to handle the pulse stream.
Yes but at higher voltages the heat produced in the drivers just goes out of hand. the steppers also seem to get much louder. I think its best to figure out what MAX speeds you need on your setup and afterwards adjust the voltage to support that. Prusa says ideal seems to be 28V. I personally run the drivers at 19v
@@fortheregm1249 stepper drives are constant current devices. They're a bit more involved than say a resistive load is. So what your input voltage is will not affect power output linearly. If your motor is loud then that means the current isn't set properly on the drive for the motor you're using. What's going on there is all rather complicated. How a lot of driver boards say to set current really isn't. If you're not measuring then you've no idea what's really going on. You only think that you do.
@@1pcfred for higher voltages the drivers have to PWM the MOT voltage at different frequency to get the same output. and more heat is produced in mosfets during transitions.
regardless of load being resistive or inductive you will produce more heat in drivers when you have to step down the voltage from a higher start point.
but what I said in my first post was just an observation, I was adjusting MOT voltage for a SPI configured 2130s and 5160s and the higher voltages was producing way too much heat and noise.
cooling 2130s on anything above 30v seemed not worth the hassle to me.
I stumbled on this, when I searched for silent stepper motors. Good to know that the noise is actually dependent on the driver. I guess you could make a silent stepper motor doing full steps, but it would require damping and isolating materials and bearings and whatnot. This is good to know!
I plan to make a steam punk clockwork. Instead of a pendulum, a stepper motor would drive the fastest cog wheel. The noise should be all about the cog wheels and not the motor at all.
The main "break" in the A4988 sinewave is the part-square-wave that you see poking through. That's because of a configuration error on the original pololu driver that everybody since then has copied. It's a whole lot better when you modify the stepper driver to change the chips configuration.
Can you link to a page that talks about the error and says how to fix it?
@@josephcsible ROSC pin need to be grounded, see pg. 7 and 8 here: www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf
Huh, I never heard about it.
Similar to the drv8825 fast decay mod. It runs very smooth after that mod, but they still whine a lot (still talking about the drv8825)
@@josephcsible Sorry.... Own research written up here on youtube in the comment above.... I'm not much of a writer. Actually I've modified one of those A4988 boards to disable the fast decay, concluded it was working much better and then... continued using unmodified stepper driver boards. To me the problem is solved once I KNOW how to fix it. I'm the mathematician in the joke about the engineers put in a room with a garbage bin that's on fire. Math-engineer: There is a solution .... and it is not unique.
Thanks for this - I have been building mechanical some clocks driven by Arduino and a small stepper motor. I had been using the A4988, but was frustrated by the noise/vibration at the low speed I'm using (1.5RPM). These are a total game changer, it runs silently now.
I had no idea how much i needed this video!
thanks for a terrific and really easy to understand view on micro stepping. Until now I didn’t really understand why micro stepping exists.!!
Michael, kudos for that video. I need to consider this in my projects to reduce stepper motors noise.
Excellent Video with a great explanation of silent drivers. Time to update some of my stepper motor projects. Also, I really like the Pokit tool.
They're definitely a worthwhile upgrade!
Great video, and an unexpected bonus is that your observation about interrupting the circuit with the meter may offer a solution to a problem with my own printer! Fascinating. Well presented information, thank you. Liked and Subbed.
Thank you!
That oscilloscope is so cool! I have got to get one
As always Michael, great stuff! Hope your fairing well! Keep up the amazing work!
TH-cam has been recommending I watch this video for 2 days straight. TH-cam's like "YOU WILL LIKE THIS GUY!!!!!!!".
I have these in my Ender 3V2 and it is a common driver in general for many printers and it does the job really well. They are indeed really quiet and u hear only a soft humming during rapid moments. The increased precision is also a benefit. The really loud fans in the machine however takes the low noise benefit away somewhat. The noise level in total while printing is still comparable to a hairdryer at full blast and earplugs are definitley required if sitting near the machine while it is printing to avoid possible hearing damage (if you for example like me have the CAD computer next to the printer and work on that while its printing and keep your eye on the machine at the same time in case something goes wrong. A pair of in ear wireless headphones works perfect for this purpose and allow you to get sound and music from the computer while filtering out the machine noise). Loud stock fans are a common issue on these machines in general it seems.
I recommend upgrading the fans on your Ender 3 and especially the housings for the fans. For example, I found the cooling fan for the heat sink on the hot end to be very loud, even compared to what the fan itself normally sounds like. Some experimenting showed that this was a result of having the fan shroud up against the fan. I printed a small spacer (about 10mm) to separate the fan shroud from the fan and it greatly decreased the noise of the fan without replacing the fan itself. This is more difficult to do for the power supply and control board, but they both suffer the same issue. Using a larger blower motor (e.g. 5010) for part cooling and running it at lower speeds also helps significantly. Mine is now quite reasonable sitting directly next to it.
@@reverse_engineered need to för that for sure and also the bearings in the heatbreak fan are of terrible quality. Other then the fans the machine works great through
Noctua have a few options that could be used to replace the fans on the Ender series printers. The loudest ones for me seem to be the power supply and hot end cooling fan, so they're a relatively easy replacement.
It is a bit strange to take the time to silence the drivers and then use really loud fans on the printer, I'm not sure why they haven't done anything about them. My Ender 3V2's fans are more noisy than the original ender, particularly the power supply fan.
Спасибо чувак, очень подробный разбор. Помог очень сильно
Realy interest video. You literaly repeat advertisement of TMC2208 on their site or they TDS. Great idea!
WOW. That was an insightful video. thanks
Excellent video! I switched everything I have over to TMC drivers, and now I know why they're so good! I'd love to see the waveform as the motor accelerates up and down, I do wonder how that sine wave ends.
Nice video, yes this is the main contributor to sound. Fun fact, in FluidNC, we always use the highest possible microsteps for simple A/DRV stepsticks, because otherwise it would be impossible to get the same sockets to run the TMC SPI drivers with a few jumpers. The ESP32 is fast enough for this; we can easily throw 300 kHz at 6 motors at the same time. You can't do something like this on a simple Arduino tho, the CPU just isn't fast enough.
I can confirm that under load the TMC in standalone aren't THAT much quieter than A4988 set to 1/16. There is a significant reduction in noise but it still causes quite some vibrations.
Sorry, No Cheap Chinese crap though. Don't promote Chinese backdoor devices.
@@sheshankutty8552 What are you talking about? FluidNC boards are designed in the USA and EU. I'm sure there is no backdoor shit there, I made a large part of the firmware myself. TMC is designed in Germany. Get your facts straight please.
@@stefandebruijn3167 I was talking about ESP32
@@sheshankutty8552why backdoor?
That reminds me of a stepper motor I played with in the late 90s. I was giving it 5V and it didn't have enough torque for the application. Without much though I just decided to increase it to 12V and was pleasantly surprised.
Awesome. You might just have shown me a pretty solution for a private project I`m planning, Thanks a lot!
Great video Michael
I'm working on a goto telescope project, I'm thinking of using stepper motors to control the left/right & up/down and may couple them with worm gear to increase the torque as speed is not the primary goal.
If you want a slow speed high torque stepper motor you want a motor with higher inductance, resistance and voltage specs as opposed to lower. How a motor will perform depends on how it was wound. Study motor specs along with their torque curve charts to get a feel for things. So you can visualize the relationships. The most popular spec, holding torque, is not particularly useful information. We care about how motors run, not how they can stand still. I will add what you want is not what is generally desirable in the market. So you should do OK purchasing it. Though a lot of sellers are cretins. You're entering an area with a lot of pitfalls. To be forewarned is to be forearmed. Shop around.
Nice visual explanation of why they are so much quieter. Could you perhaps have done a comparison with the TMC's in full-step mode? I think the drivers do a little more to make the motor silent than the microsteps.
I'll look at putting together a follow-up. Yes, they do a lot more than just the microstepping, but this is the largest contributor to the reduction in noise.
Full step mode is not really useful in motion control applications. Read you shouldn't be using it.
@@1pcfred It has its uses. For example the dSpin stepper family from ST Micro will switch to full step mode when doing long movements even if you were in a microstepping mode when you gave the instruction.
@@kurtnelle what use is that?
@@1pcfred Accuracy over long travels.
Really enjoyed your video. Well done!!
my experience with stepper is that noise level can change significantly under load. Without load, it can be as quiet as you want it to be under microsteping.
Also when you put motor on the table with its axle perpendicular to table surface, the rotary vibration of the rotor does not hit the table surface and it's quiet. If let the axle stay parallel to the table surface, you can hear a drastic noise increase , because the table surface can now feel any change in the rotor position.
I learned something new today! Thanks!
I finally understand the micro-stepping of steppers.
Awesome explanation
I upgraded my Anycubic Mega X that I've had for a number of year. I put TMC2208 drivers on it (HOLY CRAP!!!) Went from very VERY noisy prints to silent... standing next to it, you can't hear it running at all!!!
I wired in two relays and one is running between the outlet to powersupply to be able to kill printer power with relay. Wired it to NO (Normally Open) so when its plugged in, its OFF by default. Then a second one for 12v control a set of LED's I wired around the posts and a ring around the print head. I also wired this one NO as well. I then setup Octoprint on a raspberry pi laying around and put a picam on it and mounted it. Set the relays into the pi. I now have it setup where its all one unit, I have the pi powered off the printer power too. So plug in one cable, and pi boots up. Log into octoprint interface and turn on printer, turn on LED's, and setup print by sending the print file remotely. after print is done, it all shuts off and sends me an email with a picture of the print. I can view the printer in real time, turn on and off LED's and printer from anywhere. I LOVE OCTOPRINT!!!! I also have two physical momentary buttons wired up tot he pi on the outside of the case, so just incase the Octoprint doesnt connect to wifi, or i'm someplace new and not on the wifi yet, I can turn on and off the printer and lights from there. Just coded it where if gpio xx is pulled down, the toggle printer relay GPIO and same for LED relay connection.
That sounds like an awesome setup! Octoprint is amazing, defintely one of the better projects to get running on a spare Pi.
it would be interesting to see the sinewave produceb by the A4988 when using TL Smoothers, in order to understand why they work
TL Smoothers make almost no difference on A4988 drivers. Their purpose is to fix a design flaw on DRV8825 drivers.
Wow youtube has been recommending this video to me NON-STOP for the past week or so - very strange. I'm not even mad though, good video + subscribed.
(however the aggressive recommendation is still weird though)
TH-cam does some weird things!
And the cost difference. Thanks for the video!
Excellent video! I’m using a TMC2208 driver to spin two micro steppers at a constant speed in a plastic model, so noise and smoothness of motion are the driving factors for me. I wish there was a clear tutorial on how to calculate the Vref for a given motor - everywhere I’ve looked is quite confusing, especially as the motor specs don’t provide phase current, only resistance (do I just apply Ohms law to get the max current?)
8:33 Increasing voltage results in incresing motor speed limit. To inctrease motor torque you need to increase current.
The stepper motor coils are a set resistance, if you increase the voltage the current will also go up. Unless you are using a current limiting stepper driver.
@@PvtHaggard Every stepper motor driver limits current. Otherwise motors will be dead in holding mode. This is stepper motor control basics. Stepper motors have near-constant torque curve at nominal motor current unless motor b-emf reaches driver supply voltage at some rotation speed.
Yes, primarily an increase in voltage allows for an increase in motor speed but a byproduct of this is an increase in operating torque. Using a higher supply voltage allows the driver to improve the current rise time, which in turn improves torque output.
@@Sh1neful No they don't. You can control a stepper motor with a basic h-bridge and the current draw will be determined by the input voltage and the coil resistance. As long as the current doesn't exceed the rated current for the stepper there is no problem. Current limiting is obviously better because you can run much higher voltages without exceeding current limits, so of course it is going to be more common.
You cannot increase current. In fact a great way to make stepper motors run like crap is to run them over current. When they're rough, growly and heat up too fast they're running over current. You're actually better off under as opposed to over current. Although you are best off at precisely your motor's rated current. How to set that up can be somewhat tricky. The switches on drives are never accurate. I prefer drives with potentiometers.
Thanks for doing this video. This applies to nema 17 with TMC2208/09. I don’t like the noise of Nema 23 noise too. Is there a way to silent Nema 23? Thanks again.
Very informative video
There's a strong anomaly in the sinewave of the A4988 following zero crossing. I wonder if you can tune it out with decaymode tuning through the resistors to the ROSC pin of the chip. And then how it affects the noise.
Some guy said it's a driver configuration error made originally by Polulu that then got copied into subsequent derivatives without thought and accidentally became a "standard". Supposedly the driver can be reconfigured to fix it.
Thanks Michael, Informative video!
Dude. Like, what on earth did I just watch? I mean, like,... I understood some of the words. Well, kudos to you for knowing this stuff. I think youtube's algorithm is broken.
Such an amazing video, subbed immediately.
i am going to use 2 of the 2208 for my focus stacking rig, one for the normal linear rail and the other for a rotary table.
Does the TMC2208 require a lot more from the microcontroller since it does 256 microsteps rather than 16?
Fabulous video thanks !!! May I ask you with which Driver you would drive NEMA 34 or 42 motors given they already have suitable controllers?
Thanks, yes i learn something, great video.... Im diving in to all this of CNC shield for Arduino AND i have a lot to learn
great video. thanks
I have a motor that runs on one speed only, so I simply put a filter in the wiring as well and it smoothed out nicely.
thank you Sir for the informative video. can you try Field Oriented control of Stepper using TMC or Controller or both?
any piece of advice ? Thank you
That pocket meter is dope.
Is it too expensive to just filter the signal? Or to use a DAC?
Nice comparison! The difference in sound level is amazing. Do you have more info on how the driver accomplishes the microstepping? If it would actually linearly regulate the current, the power dissipation in the chip would be big, does it do that or is it doing PWM/chopping?
It's PWM, essentially a current-mode buck converter. Almost all stepper drivers work this way, even in full step mode.
Normally you need an inductor to get smooth output from a buck converter, but when driving a motor you get that for free, and there's no need for extra magnetics on the board.
great explanation! Id like to motorise my outside window shades and maybe stepper motor is good for this task, but I want it to be very quiet at the same time and not hear whining, do you think this is a good fit for that project? I also need the motor to raise and lower the blinds all the way with this, now I have a hand crank on the inside and measured 2,79Nm break away torque, and i would like it to spin the former hand crank where I will make an attachment for the motor with about 100rpm, is a stepper motor up to that task? thank you :)
Stepper motors come in a wide range of sizes to suit different applications and torque requirements, I’m sure you can find one suitable for a window shade
well, one thing for sure: with really high microstepping set you should never use software pulse generation. Use hardware PWM whenever possible.
Thanks for the info.
Well that explains why all 8 bit boards with 2208/2209’s quickly get overwhelmed, and the need for 32/64 bit boards grew so fast
Can one of the Nema 17 motors drive a pair of wheels for a 10kg car?
High speeds are not necessary!
Thanks.
Nema 17 motors come in a range of sizes and torques, you can probably find one to suite a 10kg car.
@@MichaelKlements Thank you!
Which specs should I watch for?
Thank you for the explanations, it was not clear for me that more pulses have to be generated to operate the stepper motor at a given speed. I will try to use a TMC2209 chip soon with an arduino, to reduce the noise produced by the stepper motor. Using a brushless motor could also reduce the noise, so why using a stepper motor instead of a brushless motor ?
Stepper motors are usually used for applications where position control is necessary, brushless motors are used for higher speed/torque applications.
wow so nice love it
now I'm curious if I'll every try and swap the stepper controller IF I get my hands on a resin printer.
quieter motors for home use always sounds like a better option.
To those considering stealth-chop, I frequently see homing fail when using stealth-chop. Further, stealth-chop frequently loses steps even at the highest current settings. Yes, it is quieter but not worth the inaccuracy.
Would love to see the same video with motor controllers for ebikes or scooters.
I know nothing about motors but i was initially thinking this would affect torque. As you also said in the video later on. Is there a way to calculate how big the torque drop would be?
It varies depending on the microstepping location, torque is lowest midway between two poles and is unchanged at the poles.
Cheers for the info. Was deliberating on doing a stepper project. Going to build you neat DIY camera track project. Cheers!
The camera slider project is quite a nice starter, it's not overly complex and there is room for improvements and upgrades down the line as well.
Very cool explanation and demo!! Slightly related..do you know if trinamics's stepper motors are much more precise than "ordinary chinese" ones?
Tks :)
I don't think they're any more precise, they're probably just manufactured to better quality standards so their specifications would better match their data sheets and would likely last longer.
@@MichaelKlements well put. Thank you for taking the time to answer! :)
I have run stspin220 which also have 256 microstep mode, and has more noise than tms. So it is not about microstep mode and current waveform only. tms has voltage sine waveform also.
excelent Analisis!!!!!!!!
Thanks for sharing. I subscribed
Good job Mr. teacher
What is your phone Android or IOS , what hardware do I need if I want to make a scope out of my phone.
What about torque at higher step(16th step) compare between A4988 and TMC2208
It's iOS and its running the Pokit app that is designed for use with the multimeter I'm using. You can get 3rd party apps to build your own oscilloscope on Android using Raspberry Pi Pico's etc.
Excellent explanation! I've always wondered what the difference is between the two drivers. Is there a way to overcome the challenge with the microcontroller needing to send more pulses to the motor so that the controller doesn't get bogged down with the task of driving the motors? Maybe a separate mini controller dedicated to controlling the motors and it communicated with the master MCU via some sort of serial connection?
great discovery
Can't you use the hardware timers (TCNT0, etc.) to run the motor as fast as you want, without taking up any processor cycles at all?
You could probably set something like that up for regular movements. That doesn’t really work for things like CNC machines as the motor speeds, directions and travels are continuously changing
Hi,
Thanks a lot, its really greate effort and great knowledge.
i need to do a project for a preset position linear actuator with a DC motor abd a stepper motor, with Arduino Mega or UNO but i am not able to write the code and the scheme, can you please help.
Regards
2:00 Nice, Autechre live set!
Virtually nobody will get how epic this comment is xD
@@InservioLetum Sounds like the beginning of Tewe from Chiastic Slide.
can you just replace one with the other in your printer, or will the microstepping influence the size/ quality of the print?
not sure if you can just replace them, but for the size of the print you could always adjust the steps/mm
You would need to modify some settings in the firmware to tell it that you are using a different driver and how many microsteps it uses.
You'd probably need to re-flash the firmware on your printer (or modify the firmware settings as others have said)
Great video!
What do the TL smoother do to the signal?
You could have used double click to reverse the direction of the motor. Of course that also means you would need to implement button debounce.
I am curious, what if you made a controller that uses a small brushed DC motor, like the tiny motors used in old smartphones for vibration before solid state haptics improved, to slowly drive a wiper over a set of four potentiometer slides? You could produce a true analog output with only a variable DC input. I'm curious how these steppers would handle being run on a controller like that; would the DC motor add enough noise to make up for the stepper being quiet with its infinite (analog) steps, would the stepper motor not be any quieter compared to ultra high microstep controllers, or will it be better overall in terms of being quiet?
The biggest downsides I can see to the idea, are friction losses from the DC motor and potentiometer setup, and a need for external position sensors so the controller can retain fine control.
I think in theory it sounds like a good idea, but potentiometer outputs are quite noisy so this would carry through to the motor control and they're not designed to carry much current (1-2A is quite a lot of current) so a resistive device.
There are also some other things that the TMC drivers do to achieve silent operation, the sine wave component is just one of the most significant.
a thermal comparison would be great
Where to find that bigass blue heatsink?
They come with the TMC2208 drives, you could probably find them online on Aliexpress etc.
Are all brushless motors steppers? My brushless motors in my RC10 models have loud whine from the brushless motors.
Stepper motors are a form of brushless motor, but the ones you're talking about differ in their intended purpose. Stepper motors are designed to be driven in steps and to maximize holding torque, a brushless DC motor is typically designed to run with the rotor slightly lagging the stator to maximize output torque at speed.
There are a few design differences made to achieve these goals, but this is generally what drives the design choices.
@@MichaelKlements Well explained, thank you 😊
I've come to realize that stepper motors and BLDC motors are actually quite similar. The only difference is one needs the clarke transform and the other doesn't! Maximum performance (and low noise) ideally can be achieved by actually running FOC and skipping the clarke transform and SVM.
If you want closed-loop sensorless at zero speed, you'll have to do saliency tracking which may not be silent...
Very descriptive and interesting video!
Are those modules pin-compatible and directly interchangeable with each other?
Not always. But usually you need only to cut/bend a pin or two, and/or move jumpers on your host board.
The enable and microstepping pins may need some modifications depending on the board you're using. The supply, motor and input pins are all like for like.
excellent
Seriously well done video. Good job!
Thank you!
2:22 is the stepper motor playing a super nintendo song?
For an automated camera dolly running on a track, I 1st tried stepper motors, but they were too loud. I found synchronous AC motors (microwave platter motor) are SILENT. Perfect, and huge torque. Problem is control.. Not so easy. To get the dolly to hit a stop at both ends of the track, I found the way is to force stop it.. The mag field flips and it moves the other way.
The main reason they manage to do it *silently*, is because they do the switching in the ultrasound range. If we could hear higher frequencies, we'd hear the whining of the coils from being switched.