Dave (Wisconsin) WilsonFor those of you just joining our discussion, we have been counting down the “Ten Commandments of Digital Control” all this week, leading up to the number one commandment today. But before we get to numero uno, there is another very important aspect of digital control that we need to look at; and that is the PWM process. Just as the ADC is the nexus between the analog and digital worlds, the PWM module does the same function back into the analog world. Considering its strategic contribution to the performance of your control loop, it is only fitting that we devote some time discussing it. So, here’s rule number two:

2. Remember…All PWMs are NOT created equal!

The concept of modulating a control signal on top of a high frequency carrier seems simple enough. But as someone who has designed several different PWM modules, I can attest to the fact that there are many subtleties which can either make or break your control system’s performance. I recall earlier in my career being asked to evaluate a processor for the motor control market. Everything about it was great, except…there was one feature missing in the PWM module that killed its prospects for motor control. A single trigger signal between the PWM module and the ADC converter, because it wasn’t there, made all the difference!

When selecting a PWM module for your digital control application, here are a few features you might want to check out first: 

    a. PWM resolution. Just as resolution was important with the ADC, so it is also important with your PWM signal. I once designed a servo system using a processor with only 8-bits of PWM resolution, and immediately ran into problems with position dithering. With most PWM modules that use a digital counter to generate the carrier, you end up trading off maximum PWM frequency for resolution, which is dependent on your counter clock frequency. For digital power applications, this can really be a BIG problem. That is why the PWM modules on many of TI’s PiccoloTM family have a high resolution mode which allows 150 pS of resolution! (That’s right…”p” as in Pico-Seconds!) 

    b. Dead-time. Most PWM modules designed for digital control are capable of directly driving a top and bottom transistor in a totem-pole configuration. This means that each pair of PWM outputs includes a programmable dead-time that is inserted between the turn-off of one PWM signal, and the turn-on of the complementary PWM signal. For most applications, a single dead-time value for all of the transistors is good enough. But in more advanced PWM modules, each complimentary PWM pair can have its OWN dead-time value, and in some cases, even different dead-times for the top and bottom transistors. 

    c. PWM channel alignment. This is too big of a topic to cover all of it here, but suffice it to say that how your PWM signals are aligned from phase to phase (e.g., center-aligned, edge-aligned, asymmetrical alignment) has a HUGE impact on the harmonic content of the PWM signals as seen by the motor. Make sure your selected PWM module can generate the alignment modes that will give you the best performance for your application. 

    d. PWM update rate. Most PWM modules have double-buffered PWM value registers, meaning that the PWM values from the software are loaded to an outer set of registers, and then this data is transferred to the active PWM registers at the start of the PWM cycle. However, what many engineers fail to remember is that this adds phase delay to your control system, and must be considered in any stability analysis of your system. While the data is sitting in these outer registers, it is becoming stale. Many PWM modules (such as the ones on our Piccolo family of processors) have the ability to be updated TWICE during each PWM cycle. This not only improves your phase margin a bit, but it allows your system sampling frequency to actually be twice the PWM frequency. This is also a very useful feature with Space Vector Modulated (SVM) systems, since there are two SVM periods for each PWM period. 

    e. ADC triggering. As discussed in part 2 of this series, the PWM module and ADC module must be intimately linked in order to remove the PWM harmonics in the ADC input samples. As illustrated in that blog, you want to sample motor currents at exactly the center point of the ON and OFF pulses to achieve this. Ideally this point occurs when the digital counter reaches its maximum and minimum count values when programmed for up/down operation, which is why many PWM modules generate a trigger signal during these moments to use with the ADC. However, depending on how the dead-time is implemented, this can delay the centers of the pulses by a small amount. As a result, some advanced PWM modules (once again, like the one on the Piccolo :-) ) can make use of any unused PWM channel to generate the ADC trigger pulse. This allows the ADC to be triggered literally anywhere within the PWM cycle. 

    f. Fault Processing. In many motor control applications, safety requirements dictate the necessity to be able to bring your PWMs off-line via hardware the moment a problem is detected. PWM modules designed for digital control usually contain one or more hardware fault inputs for this purpose. On many of the advanced PWM modules, the fault signals can be supplied by an on-board analog comparator, which can directly monitor the level of a hardware signal and automatically generate a fault if the signal goes above or below a software specified voltage level. The PWMs on the Piccolo 2803x processors contain three analog comparators on-board which can be used for this purpose.

There are other features that you will want to check out as well, but these are the main ones to focus on. Be prepared to become intimate with the PWM module of whatever processor you use in your digital control design.

And now, (drum-roll please)...the Number One Commandment of Digital Control!

1. You can’t go wrong with TI!

Now before you write this whole series off as a giant sales pitch, please consider what I’m about to say here, because I wouldn’t say it if I didn’t totally believe it! In the middle of the last century, there was a saying that “you will never be fired for designing in an IBM computer”. As a young engineer evaluating DSPs for a six-axis controller for a scanning electron microscope, I still remember my boss telling me the same thing about TI! …and he was right! Texas Instruments has a rich history of innovation and early pioneering in motor control. Many features that we take for granted today in the motor control industry were developed and introduced by TI. And the innovation continues. At TI, motor control is not just something we do, it is part of who we are! We are currently making breakthroughs on new hardware features for motor control processors, as well as unbelievable new algorithms to drive your motors. I wish I could tell you more, but suffice it to say that 2012 is going to be a GREAT year for TI in motor control! So stay tuned…

Here’s wishing you and yours a happy and prosperous new year in 2012! I hope the prospects for you personally are as enriching and exciting as I believe they will be for us Motor-heads here at TI! And of course…

Keep those motors spinning! :-)

See you next year...