Embedded Systems Design Europe - March 2008 - (Page 15) cover feature to partition a region of values for membership functions. For example, five variables are used to map the inputs and output. They are negative medium (NM), negative small (NS), zero (Z), positive small (PS), and positive medium (PM). The model’s inputs and outputs are membership set functions that are described over the range of operation by the five fuzzy variables. Instead of math formulas, an FL controller uses fuzzy rules to make a decision and generate an output; how cool is that? FL rules are in the form of IF-THEN statements. Fuzzy rules determine system behavior, rather than complex math equations. For example, IF the error (E) is equal to NM and change in error (CE) is equal to PS, then the change in the armature voltage (CV) is equal to NS. The number of rules used is based on the experience of the designer and the knowledge of the system. Thus, for our system the number of rules used is 25, which is based on our basic PID controller model using the PID’s control surface. In order to energize the armature, the CV fuzzy output must be converted back to a crisp output. This process is called defuzzification. A popular method of defuzzification called the center of gravity method is used; I’ll discuss it in greater detail later. The last step of design is to adjust the membership functions and rules. This stage is also referred to as tuning. Tuning is used to improve the performance of the FL controller. Once designed, the controller is ready to be implemented. The FL controller implementation is made up of three modules. They are fuzzification, rule-base, and defuzzification. The following sections discuss the modules as related to the FL-BLDC implementation. FUZZIFICATION Fuzzificaton is the process of converting crisp value data into fuzzy data. The resulting fuzzy data conversion is based on the degree of fuzzy set membership 15 trol also has a shorter development cycle compared to PID controllers, and thus a faster time-to-market. This article discusses the process of using FL algorithms to control BLDC motors using a Texas Instruments c28xx fixedpoint family of DSPs. BLDC CONTROL MODEL DEVELOPMENT Before constructing the FL engine, we must first develop a model to base the design on. FL controllers use heuristic knowledge and express the design using a linguistic description of the model. Rather than develop a model from scratch, we’ll use the PID controller model as a starting point. Once developed and implemented, the FL controller is improved by adjusting its parameters. In general, there are three design steps for developing a FL BLDC controller: 1. Define inputs, outputs, and the controller’s range of operation. 2. Define fuzzy membership set functions and rules. 3. Tune the engine. Figure 1 shows the block diagram of the BLDC controller model. The first step is to define the relevant inputs and outputs of the model. The inputs are the error (E), which is the current error between the set speed (SS) and the current speed (CS). The other input is the change in error (CE), which is the difference between the cur- rent error, and the previously calculated error (PE). The output is the change in armature voltage (CV), which is the difference between the current armature voltage (CAV) and the stored value of the previous armature voltage (PAV). The resulting model equations are as follows: E = SS – CS CE = E – PE CV = CAV – PAV Motor speed units are in revolutions per minute (RPM), and E determines how close we are to the target speed. So for E > 0 motor speed is below set speed. Alternatively, E < 0 indicates that the motor is spinning faster than the set speed. CE determines controller direction to adjust. CE is positive if and only if (iff) the current speed is less than the set speed. Alternatively, CE is negative iff the current speed is greater than the set speed. When close to the set speed CE alternates between positive and negative values. CV is the energizing voltage applied to the armature. This voltage is expressed in implementation as a pulse width modulation (PWM) duty cycle. The next step is to define the fuzzy membership set functions, variables and rules. In order to work, non-fuzzy (crisp) inputs and outputs must be converted into fuzzy ones. Conversion is performed by using linguistic variables to represent input and output ranges. These are also referred to as fuzzy variables. Fuzzy variables are used www.embedded.com/europe | embedded systems design europe | MARCH 2008 014-015-016-018-020-021_EETE.ind15 15 5/03/08 12:49:13 http://www.embedded.com/europe
Table of Contents Feed for the Digital Edition of Embedded Systems Design Europe - March 2008 Embedded Systems Design Europe - March 2008 Distributors to Increase Embedded Focus Kontron and Quanta to Join Forces Coverity Raises $22m as European Business Booms Help is at Hand for Europe's Industrial Control Developers Milestones in Embedded Systems Microsoft is Recruiting for Embedded Center in Aachen European Designers to Win Cash for Green Designs Duo Work on Smaller Form Factor Europe Invests in Real-Time Java for Multicore Systems Curtiss-Wright Buys Pentland Systems Designing DSP-Based Motor Control Using Fuzzy Logic Lower the Cost of Intelligent Power Control with FPGAs Virtualizing Embedded Linux Back to the Future: Manchester Encoding Is Multicore Hype or Reality New Products Advertising Contacts Embedded Systems Design Europe - March 2008 Embedded Systems Design Europe - March 2008 - Embedded Systems Design Europe - March 2008 (Page 1) Embedded Systems Design Europe - March 2008 - Embedded Systems Design Europe - March 2008 (Page 2) Embedded Systems Design Europe - March 2008 - Embedded Systems Design Europe - March 2008 (Page 3) Embedded Systems Design Europe - March 2008 - Embedded Systems Design Europe - March 2008 (Page 4) Embedded Systems Design Europe - March 2008 - Embedded Systems Design Europe - March 2008 (Page 5) Embedded Systems Design Europe - March 2008 - Kontron and Quanta to Join Forces (Page 6) Embedded Systems Design Europe - March 2008 - Kontron and Quanta to Join Forces (Page 7) Embedded Systems Design Europe - March 2008 - Milestones in Embedded Systems (Page 8) Embedded Systems Design Europe - March 2008 - Milestones in Embedded Systems (Page 9) Embedded Systems Design Europe - March 2008 - Duo Work on Smaller Form Factor (Page 10) Embedded Systems Design Europe - March 2008 - Duo Work on Smaller Form Factor (Page 11) Embedded Systems Design Europe - March 2008 - Curtiss-Wright Buys Pentland Systems (Page 12) Embedded Systems Design Europe - March 2008 - Curtiss-Wright Buys Pentland Systems (Page 13) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 14) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 15) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 16) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 17) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 18) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 19) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 20) Embedded Systems Design Europe - March 2008 - Designing DSP-Based Motor Control Using Fuzzy Logic (Page 21) Embedded Systems Design Europe - March 2008 - Lower the Cost of Intelligent Power Control with FPGAs (Page 22) Embedded Systems Design Europe - March 2008 - Lower the Cost of Intelligent Power Control with FPGAs (Page 23) Embedded Systems Design Europe - March 2008 - Lower the Cost of Intelligent Power Control with FPGAs (Page 24) Embedded Systems Design Europe - March 2008 - Lower the Cost of Intelligent Power Control with FPGAs (Page 25) Embedded Systems Design Europe - March 2008 - Virtualizing Embedded Linux (Page 26) Embedded Systems Design Europe - March 2008 - Virtualizing Embedded Linux (Page 27) Embedded Systems Design Europe - March 2008 - Virtualizing Embedded Linux (Page 28) Embedded Systems Design Europe - March 2008 - Virtualizing Embedded Linux (Page 29) Embedded Systems Design Europe - March 2008 - Virtualizing Embedded Linux (Page 30) Embedded Systems Design Europe - March 2008 - Back to the Future: Manchester Encoding (Page 31) Embedded Systems Design Europe - March 2008 - Back to the Future: Manchester Encoding (Page 32) Embedded Systems Design Europe - March 2008 - Back to the Future: Manchester Encoding (Page 33) Embedded Systems Design Europe - March 2008 - Back to the Future: Manchester Encoding (Page 34) Embedded Systems Design Europe - March 2008 - Back to the Future: Manchester Encoding (Page 35) Embedded Systems Design Europe - March 2008 - Is Multicore Hype or Reality (Page 36) Embedded Systems Design Europe - March 2008 - Is Multicore Hype or Reality (Page 37) Embedded Systems Design Europe - March 2008 - Is Multicore Hype or Reality (Page 38) Embedded Systems Design Europe - March 2008 - New Products (Page 39) Embedded Systems Design Europe - March 2008 - New Products (Page 40) Embedded Systems Design Europe - March 2008 - New Products (Page 41) Embedded Systems Design Europe - March 2008 - New Products (Page 42) Embedded Systems Design Europe - March 2008 - Advertising Contacts (Page 43) Embedded Systems Design Europe - March 2008 - Advertising Contacts (Page 44)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.