The Ten Commandments of Digital Control (part 1)

Dave Wilson, Motion Products Evangelist, Texas Instruments

Despite the fact that I now work for the Microcontroller Division of Texas Instruments; deep down, I still consider myself to be an analog engineer.  I must confess that I didn’t always respect digital designers, as I used to believe their ranks were filled with slacker engineering students who flunked their Laplace Transform classes.  After all, how difficult could it be to do a digital design?  With an LS7400 NAND gate, there are a thousand ways to hook up the inputs and output, but only one way is correct.  With an LM324 op-amp, there are also a thousand ways to hook up the inputs and output, and they are ALL correct!  So I concluded that analog design was where the REAL engineers were!

Having said that, you can imagine my dismay as I watched the digital juggernaut begin devouring my analog motor control playground.  One bastion after another of analog design expertise fell to the relentless onslaught of the ubiquitous microprocessor.  I was inevitably dragged kicking and screaming into the digital age.  But somewhere along the way, I began to see the microprocessor as a friend rather than an enemy.  I soon realized that digital system design wasn’t just a copout for engineers who couldn’t solve differential equations.  In fact, when viewed through the prism of the z-transform, designing digital control systems is just as challenging (if not more so) as designing an analog controller.   Today it’s hard to imagine motor control without the microcontroller, as some technologies such as Field-Oriented-Control would not even be economically possible.

The process of dropping a microcontroller into the heart of a motor control system is a fairly common practice today.  However, there are some subtleties that are worth mentioning, which I refer to as my “Ten Commandments of Digital Control”.  I plan to write 5 blogs this week, each containing two commandments.  So without further ado, here they are, counting down from commandment number 10:

10.     Be prepared…Model-based code generation is coming!

While this is technically not a commandment, it is certainly a phenomenon!  It won’t be long before we will be relying on computers themselves to write the actual motor control code.  Today we use software drivers to abstract the hardware details of a peripheral from the rest of the software.  Soon, simulation tools will be able to abstract the entire motor control software effort!  Just as I was forced to embrace a different design methodology for motor control hardware, I predict we will see the same effect play out with many software engineers who have grown comfortable with writing their own motor control code.  You can read more of my thoughts about this topic in a previous blog here.

9.        Be skeptical…Garbage in, garbage out!

You’ve probably heard the adage that “you can put lipstick on a pig, but it’s still a pig.”  The same statement applies to a beautiful simulation output which is based on a faulty interpretation of your control system.  Simulation technology already plays a critical role in the motor control design process, and this trend will continue to increase as discussed above.  But while this shortens the design process, it can also be dangerous if you don’t have a reference point grounded in reality to interpret the simulation results.  The computer can NEVER be used as a replacement for human experience or intuition.  You can read more of my thoughts on this topic in a previous blog here.

So, there you have the first two.  Stay tuned for the rest of the list all this week.  And in the meantime...

Keep those motors spinning!