How to Get the 2.5A Out of your DRV8811 Bipolar Stepper Motor Driver


Phase A Winding Current goes up to 2.5A peak.

When I designed the AE-MDL-STPR1 I was naive enough to think that a two layer copper and 2″ by 2″ board should be a good platform to run the DRV8811 bipolar stepper motor driver at whatever current I could throw at it. Unfortunately, that is hardly the case. The laws of physics are one of those things that are flawlessly working 24/7 at remaining true and in particular there is one which is truly not helping us much when it comes to running any motor driver at high currents. The equation in question is the “dreaded” I^2*R.     

Dreaded not because is one of those particular hard to understand equations. Heck, I wish all the equations out there were this easy to follow! But the implications are not as pleasing as it’s simplicity. Use 2.5A for your current and you can already see that any resistance equal or larger to 1 ohm will dissipate nothing less than 6.25W. This is heat!      

If the DRV8811’s FET resistance was zero ohms it would all be golden! We could pass a gazillion amps through its H Bridges and drive the most heinously large stepper motor you could possibly find. Except that as of 2010, the only way to have a zero ohm FET is by employing ridiculously expensive super conductor technologies, which only scientists at CERN can afford. So that is out of the question!      

What are we dealing with here? The DRV8811 datasheet states the RDSon per FET to be as small as 0.500 ohms. Since at any given time we have two FETs conducting per H Bridge, our total path resistance will be as small as 1 ohm. However, we must also look into the maximum expected RDSon when the die is at high temperature. Why? Because clearly the die is going to get hot! We are not passing refrigerant through this guy. We are passing current! And the larger the current, the larger the power dissipation, which also means higher temp.      

Just to make our lives more miserable, higher temp also means higher RDSon, and here we go again! The truth is that if you do not find a way to get rid of this heat, the device will get hotter and hotter, dissipate more and more energy and would eventually catch fire if it were not for the fact that the device is protected against this phenomenon with a mechanism you may recognize as Thermal Shutdown. By the way, it is our responsibility to keep the device getting so hot that it enters thermal shutdown, but more on this later.     

The datasheet tells us that the maximum RDSon we will see at high temperature (125C) is about 0.750 ohms per FET, so this accounts for 1.5 ohms per H Bridge. We can now use the equation to determine how much power we are dissipating inside the device.      

But wait! We understand the resistive component, but do we understand the current? Well, we know the device is rated at 2.5A peak and it is a micro stepping driver so this should mean the sine wave being drawn as the winding current is a sine wave with peaks at +/- 2.5A, right? Hence, the I element on the power equation should be 2.5A, right? Ehhh, right and wrong…      

This would only be true if you were to stop your stepper motor while the micro step where maximum current is being issued. But if the motor is running, then we must use the RMS current, because it is still true that the current will be regulated to 2.5A every now and then but so it will be regulated to 0A as well. Hence, we must assume an RMS current equal to 2.5A/SQRT(2) = 1.77A.      

Now we are ready!      

When the die is at Room Temperature, the H Bridge Power ~= I^2 * TotalRDSon =  (1.77) * (1.77) * (1) = 3.125W      

When the die is very hot (125C or more) the H Bridge Power ~= (1.77) * (1.77) * (1.5) = 4.7W      

Notice I am talking about more or less the H Bridge power. Is it the complete power? In reality it is just a fraction but it is quite most of it. There is also the switching losses and all the house keeping power incurred to make the H Bridge run, but compared to the 3.125W and 4.7W we just computed, these other power dissipation components are pretty much negligible.      

It is also superbly important to understand the power we must look at is the 4.7W and not the 3.125W. Why? Because unless you are cooling the device with liquid nitrogen, I can assure you there is no way the die will be sitting at an ambient temperature of 25C for very long. As soon as that current starts pumping, the die will get hot. Hence, the RDSon will indeed be closer to 1.5 ohms than to 1.0 ohms and the power dissipation per H Bridge will undoubtedly be closer to 4.7W than to 3.125W.      

In a way it shouldn’t matter, because either way we are pretty much done for! Even if the power dissipation per H Bridge was the 3.125W, we would be screwed! Because the truth is there are two H Bridges and they are both consuming the same power. Don’t try to get smart with me and come up with the fact that when one H Bridge is regulating at 2.5A, the other is regulating at 0A.     

This is true because while one H Bridge is generating a sine wave, the other one is generating a cosine wave. Which is the same as saying that both H Bridges are drawing sine waves, but one of them is 90 degrees out of phase with the other. Bottom line is that as one H Bridge peaks, the other must go to zero and vice versa. Unfortunately, this will not fly because we already took care of this when we transformed the instantaneous current to RMS. Hence, the true total dissipation on the device will be 6.25W when cold and 9.4W when hot.      

This is it! Cancel the project and move on, right? WRONG! We are going to make this work and here is how.      

In theory we could dissipate any amount of power if we go ahead and somehow remove the heat. I kind of jokingly mentioned liquid nitrogen previously, but the truth is this would definitely work. Liquid cooling works so well, we are using it on our PC computers as we try to increase the speed of our CPU clocks which in turn increase the power dissipation inside our chips. So, if we manage to remove the heat from the device, we will be able to run more current! But don’t worry… We will not go to the extremes of liquid cooling our DRV8811.      

Either way, in order to understand this phenomenon we must look at thermal impedance. And as you may have guessed, thermal impedance is a measure of how hard it is for the heat to flow from point A to point B. In the same fashion resistance is a measure of how easy it is for the electric current to flow, thermal impedance will be a measure of how easy it is for heat to flow out of the element generating the heat. In this case, our DRV8811 device.      

Luckily, it is superbly easy to play with thermal impedance as it has units of C/W. In other words, if our thermal impedance was 20C/w, which is a pretty good thermal impedance, this would imply that with our power dissipation of 9.4W we would see an increase of 188C in temperature (9.4W * 20 C/W = 188C). Now, if your ambient temperature is 25, then the die must be sitting at 25C + 188C = 213C.      

Ehh… But wait… Isn’t that too hot?      

As a matter of fact, it is! As it turns out, the datasheet clearly specifies thermal shutdown can start occurring at 150C. This may look like an annoyance but it is actually put in place to protect the device. At 150C you have been boiling water for about 50C worth of thermal energy. Go too far, and the die will be next!      

Notice the datasheet specifies the TSD triggering temperature to be anything from 150C to 180C. Since we don’t know what threshold we are going to get, we need to design assuming it is 150C. Even if the majority of the devices have a threshold at 160, it only takes 1 device with the 150C to take your design into failure. A few million units built, and that could start chewing on your butt pretty quickly…     

It is clear then the die will not reach the 213C we just computed. As soon as it reaches any value between 150C and 180C, it will enter thermal shutdown, disable the H Bridges and wait until the device cools down only to resume operation again. This is very easy to observe as an erratic motion on our system as the motor turns ON and OFF while entering and exiting Thermal Shutdown. Completely unacceptable, by the way. Have this occur on your CNC and WHAMO! The part is ruined!      

We have to avoid this problem at all costs, so we must make sure the temperature never reaches 150C!      

Making the inverse calculation we can then deduce what is the thermal impedance we need to have on our system. That is, (150C – 25C)/9.4W = 13.3C/W. If 20C/W is a pretty good thermal impedance it surely is not enough. But we already knew this.      

So how do we reach the 13.3C/W thermal impedance? That is not going to be easy. The datasheet tells us that by using a 76 mm x 114mm (3” X 4.5”), 4 layer board, the thermal impedance is 28C/W. That is more than twice the Theta JA that we need!!! But it is not the end of the world!      

On the STPR8811 module board I added a few techniques to make this happen, and these are in no particular order:      

  1. The board is a 2.75” x 2.75”, 2 layer with 2 ounces of copper. It is not as large as the datasheet tested board, but it is definitely larger than the STPR1 module.
  2. A Surface Mount heat sink was added on the top layer. This should add about 5W worth of thermal dissipation. It in essence increase the amount of copper without increasing the amount of copper. Clever, eh?
  3. Mounting holes were spaced to accept a 70 mm square 24V fan. This should help remove the heat quite a bit.
  4. Very low forward voltage Schottky diodes should decrease the power dissipation. 

    AE-MDL-STPR11 Assembly


AE-MDL-STPR11 Module with Fan


 On my experiments, I can reach the 2.5A sine wave peak only if the heat sink is soldered and the fan is venting. The motor performed very well and as I measured the temperatures, the die was running fairly cold (as measured from the bottom side of the board), at about something mildly larger than 75C, as compared to 130C without the fan.      

The trick here is that as the fan is so quick to remove the heat, it helps to keep the RDSon low, which in turn reduces the thermal dissipation. So this is a matter of speed.      

As a result, it is clear I will be adding the heat sink and fan mount to all my future designs. The results were so positive, it is pretty obvious we can take these excellent devices to the extreme.      

The great majority of commercial applications out there will not want to add these expensive components. The heat sink and fan add about $10.00 in 1K quantities, and about $20.00 in single quantities. But we are not in it for the money, but for the ability to move our motors, so it may be that this is still a fairly acceptable solution.      

What else can I do?      

Not much, really… Raise the ambient temperature from 25C and most likely you will start seeing TSD events. I do not have the equipment to reproduce this experiment, but it is kind of evident as the amount of headroom is not off the chart.      

If I make the ITrip current slightly larger than 2.5A, I start seeing TSD events. At 2.5A everything is fine, though. So it tells me that on a sunny Dallas day, when my afternoons can grow to a lovely 40C, chances are the driver will not be happily dancing into the night.      

Of course, once we reach the 2.5A ITrip peak, we are literally driving over the red line. One fraction of a step further and we have crossed into forbidden line. The DRV8811’s Abs Max is 2.5A so we should not expect the device to be peachy under these conditions.      

I am pretty excited that this technique took me to the Abs Max value as now I can advertise this module for what it is: a 2.5A bipolar stepper driver. And I don’t feel like I am lying 😉

5 comments for “How to Get the 2.5A Out of your DRV8811 Bipolar Stepper Motor Driver

  1. Kyrre
    April 19, 2011 at 1:49 am

    Great page with a LOT of information. I wish I read it *before* I designed my DRV8811 board.
    Here’s my boards, for my tiny cnc:
    Not thinking the thermal issues would be this great I made em small. I like small. (I also used standing trimpots as I couldn’t get ahold of the sideways ones making them no fun to adjust when stacked…) The stack is cooled sideways by a 40mm fan. At 1.7 amps pr driver the DRV8811 stay at 120°C with no external diodes.
    There is a backup if things get too hot. If one can afford the more expensive A3977. It had lower Rds-on by about a factor 2 and is pin-compatible!

    Thanks for a great page, and hoping to see a lot more in the future.


  2. April 21, 2011 at 10:29 am

    Hi Kyrre,

    Your boards look very cool and the idea to stack them up is an excellent way of making a compact solution. I am a firm believer that making things as small as possible is a formidable venue. When it comes to power devices, however, this posses a threat to the system integrity and performance, so people are always telling you that it can not be done. Of course, because I am an obstinate fool, I like finding ways in how to make it worl, whereas it is cost effective or not. So using a lower RDSon device is obviously a way to make your system work. But I wonder if a fluid cooling system would work as well? For example, you could dunk your array of boards in some oil bath. I have seen this technique used to super cool mother boards and I believe is used with transformers as well. Oil is not conductive so it should not pose a threat to the system. Maybe even distilled water could be used. Just a thought. Again, it would not be as cost effective as a larger power device may be, but we are in the “frigging cool” business, not in the cost effective business 😉

  3. Sam
    July 9, 2012 at 8:10 pm

    I’m kind of new at CNC (not totally), but I was wondering, is it possible to take some of the strain off of the chip by driving it low to the gate of a bank of FET’s (I’m thinking HEXFET’s such as the IRL540, for instance) with more current handling capability?

    • avayan
      July 9, 2012 at 9:54 pm

      Hi Sam,

      That would be awesome, but definitely not as simple as it may seem. Let me answer it by saying that I will not adventure in specifying it as impossible, but am leaning towards such an implementation being more expensive/complex/cumbersome at the end, when compared to other solutions. I do feel confident in stating it will not be one bit cost effective. Why?

      First of all, DRV8811 is an integrated solution and this is not to be underestimated. There is a lot going on under that hood! For example, the controller is continuously regulating current according to a microstep command. To use external FETs, you would need to bypass most of this control structure, which in turn translates to losing the DRV8811 in its entirety.

      In order to preserve the current regulation (which is the only reason for starting with a DRV8811 in the first place), you would need to add some major interpreter circuit to get the output PWM into the external FET gate and then another circuit to interpret the SENSE information into the respective VREF pin. It is my impression that these two circuits will not be that simple, not to mention cheap. Yes, it can be done, but at this point in time I am starting to wonder, why not use something different?

      For example, DRV8818 can do up to 3A if you use fairly decent heat sinking. I have run some experiments on this front, but cannot reveal details yet. Once I am allowed, you can expect an article on the matter. It can run at 3A for eternity and under 90C with an ambitn of 25C.

      3A is not that much from 2.5A, but you can jump to 25A if you use 2 DRV8432 with its respective heat sink and a microcontroller to generate microstepping. If 25A is an exageration (in my opinion it is!), you can use a single DRV8432 to drive a stepper with 5A to 10A easily. There is ton of code on TI’s website on how to do this and they even have EVM’s around this topology.

      You could also use DRV8829 with requires much less code and will give you up to 5A. I have used this topology on some projects and is definitely something to look at.

      There are also controllers made to drive external FETs directly. A controller of this nature can make the DRV8811 look like an ant. That is not to say the DRV8811 does not have its place. My Plasma cutter is being driven by DRV8811’s and it is operating perfectly fine. It is a 2′ x 2′ plasma cutter and 8811’s are more than plenty. Had it been a 4′ x 8′, I may have needed something larger.

      • Sam
        July 10, 2012 at 4:42 am

        I agree on the current limiting, that didn’t jump out at me the first time I read the data sheet for the DRV8811.

        The reason why I am asking is because what you described is the exact boat I am in: building a 3 axis rack and pinion router table. I don’t need quite 25A, but a little more than 2.5A would be nice 🙂

        In regard to using the uC to microstep, are you doing that to buffer the parallel port input before it gets to the chip? I know most, if not all, CNC control software sets will do the microstepping for you but I’ve seen the waveforms coming out of the parallel port and they leave a lot to be desired. The guy who wrote Quickstep had a product once upon a time that did something to that effect and it seemed to work pretty well for what it was, but I can’t help but to think that it’s not hard to do if you’re just massaging the waveforms between the two.

Leave a Reply

Your email address will not be published. Required fields are marked *