I have a friend who loves the latest technology from all over the world. With a passion for 3D printers, he recently invited me to his apartment to see his new masterpiece, a homemade 3D printer. Well, he did a good job printing me a puppy with three legs and half a head, but what really caught my attention was the little noise his printer made as it made the puppy. So, after praising his good work, we spent some time discussing what caused this noise. We concluded that the stepper motors inside the 3D printer were making all the noise as they microstepped to make the puppy’s fine cuts. The discussions were productive, so I wanted to share our findings with you here.

Microstepping stepper motors to achieve better resolution in the system is a common practice in the industry. The motion of a stepper motor is caused by field current passing through the motor coils, and since the goal is to divide a complete motor step into microsteps, the task in the “How To” section is quite simple – just generate multiple current level. This is the so-called “current regulation” in stepper motor control.

The diagram below shows how the motor coils are driven by four MOSFETs or “H-bridges”. Since the coil is basically an inductor, the coil current increases when the MOSFET is turned on and develops a voltage across the coil. When the current reaches a level matching the desired microstep, the MOSFET is turned off and the voltage across the coil is removed. Due to the properties of an inductor, the current is redirected along an alternate path with a reduced magnitude. When the current has decayed to a certain level, the MOSFET is turned on again and the same process is repeated to keep the peak current at the desired level until the motor needs to move to the next microstep which requires a new current level.

Skills of Current Regulation in Microstepping Motor

Skills of Current Regulation in Microstepping Motor
The two alternative current decay paths shown above give us different decay slew rates: current flowing against full supply polarity results in a faster rate, known as “fast decay”, while current redirected through two resistive FETs experience and (L x 2R), so it is called slow decay.

Below is a comparison between the two current decay modes. Both graphs show the same peak current and decay time, but the fast decay has a larger current ripple because it has a higher slew rate. This can cause the motor to run noisier, more heat, and worse EMI – which is where the noise on my friend’s 3D printer comes from. On the other hand, if you’re spinning your motor very quickly and transitioning from one microstep level to another quickly, the fast decay can help you stabilize the motor current quickly. In general, use slow decay when the overall motor current is trending up because it’s always easy to charge the inductor and you want the best noise performance, and fast decay when the current trend is decreasing rapidly so you can move Settling in quickly enough before moving on to the next microstep.

Skills of Current Regulation in Microstepping Motor
A mix of fast and slow decay is called mixed decay, where the current decay starts out fast and switches to slow after a certain time. This approach makes a trade-off between ripple (and motor noise) and current settling time, resulting in better motor performance.

Skills of Current Regulation in Microstepping Motor
Many integrated stepper motor drivers on the market support three decay modes (i.e. fast, slow, and mixed), but I recommend checking out TI’s new high-performance stepper motor pre-driver, the DRV8711. In addition to these three modes, it has a fourth attenuation mode called “Auto Mixed Attenuation”, where the unit automatically selects an attenuation mode during operation. In this method, the motor current is sampled at the end of the minimum FET on-time (tON_min), and different decay modes are applied based on the current sensing result. To get a general idea of this:

If the current falls below the desired peak current (Ipk), it continues to grow until it reaches the target Ipk level; once there, a slow decay occurs (as shown in the diagram below)

Skills of Current Regulation in Microstepping Motor
If a current higher than the desired Ipk level is detected, the fast decay starts immediately for a period of tFAST to avoid current runaway, and at the end of tFAST the slow decay takes over for the remainder of the current decay period (see figure below). This approach automatically optimizes motor performance for each current level and provides the best results for any motor in the design.

Skills of Current Regulation in Microstepping Motor
Manually adjusting the current of a tiny stepper motor is not easy, but thanks to the integrated motor controller IC, life just got a whole lot easier! At least now you’ll know how to reduce noise the next time you build your own 3D printer. Then you can fix my half puppy with the integrated stepper motor controller!