H-infinity Control of DC Motor Part II : Controller Implementation

fig9_17

From H-infinity Control of DC Motor Part I : Plant Modeling and Controller Synthesis, we discuss essential steps required to achieve a controller for DC motor plant, from estimating a plant model by least-square identification, adjusting weighting functions, formulating a generalized plant, synthesizing, and performing controller model reduction. Data captured from real DC motor is provided in the Scilab script dcm_lsid.sce. Before we move on to implementation phase in this part, if you have not done so, I encourage you to try step 1 – 5 in Part I in Scilab by running the scripts in this order: dcm_lsid.sce, kreduced.sci, dcm_hinf_st.sce. You may leave everything untouched on first attempt. When you get the idea how things work, start playing around with weighting functions, adjusting gamma variable, or using the iterative h_inf function in place of hinf.
Continue reading

H-infinity Control of DC Motor Part I : Plant Modeling and Controller Synthesis

fig9_17

H_\infty is a recent linear control scheme that often sounds intimidating to a new control engineering student. And she might have in her mind already “Geez, this beast must require expensive control design software and run only on state-of-the-art laboratory hardware beyond my reach.” That is a total misconception indeed. I have been using Scilab functions related to robust control for some time and found them professional enough for real applications. I can analyze, synthesize, plot, simulate, and do whatever necessary with this open-source software to make sure that the resulting controller has the desired stability and performance properties. After satisfied, I implement my controller on a hand-wired prototype board that costs less than 50 bucks total. In this 2-part article, I am sharing my experience with you.
Continue reading

Advanced PID Controller Implementation

advpid

In this digital era, PID controllers have evolved from basic textbook structure to more sophisticated algorithms. Features such as setpoint/derivative weightings and anti-windup scheme are often added to improve the closed-loop response. In our previous article A Decorated PID Controller, we consider a PID structure with modification and additional functions as follows
Continue reading

DC Motor Speed Control Part II: PID Feedback

fig1

From our previous article DC Motor Speed Control Part I: Open-loop Command, an experimental setup for DC motor is constructed and tested. The result shows that the command and actual motor speed differ significantly. Not a surprise. An open-loop control scheme cannot regulate the speed because no feedback is applied. So in this article, a PID control is deployed.
Continue reading

DC Motor Speed Control Part I: Open-Loop Command

DCM Platform

In this article, we discuss speed control of a simple brushed DC motor with incremental encoder feedback. A standard PID algorithm is implemented on PIC24EP256MC202, a 70 MIPS microcontroller from Microchip. We focus on constructing an experimental platform using a small DC motor commercially available and off-the-shelf H-bridge driver. This motion control setup will be used in our subsequent articles
Continue reading