36

Fuzzy-Logic Applications in Electric Drives and Power Electronics

Abdul R. Ofoli    The University of Tennessee at Chattanooga, Chattanooga, TN, United States

Abstract

The use of an extended Kalman filter to train fuzzy neural network structures for online speed trajectory tracking of a brushless drive system is illustrated as an alternative to control schemes. Also described in this chapter is an implementation of a genetic-based hybrid fuzzy-proportional-integral-derivative (PID) controller for industrial motor drives. The genetic optimization technique is used to determine the optimal values of the scaling factors of the output variables of the fuzzy-PID (FPID) controller. The objective is to utilize the best attributes of the PID and FPID controllers to produce better response under disturbance. In servomotor drive tracking applications where we need to compensate for system uncertainty and random changes, a control structure that employs a fuzzy-logic controller incorporating an H-infinity tracking controller via an acceleration feedback signal is explained. The chapter ends with the implementation of a fuzzy-logic controller structure for switch-mode power-stage DC-DC converters and evaluates experimentally its sensitivity for variable supply voltages and load resistance variations.

Keywords

Extended Kalman filter (EKF); Fuzzy neural network (FNN); Motor drives; Proportional-integral-derivative (PID) controllers; dSPACE digital signal processor (DSP); Genetic optimization; Hybrid fuzzy-PID controller; Brushless servo drives; Fuzzy-logic controller; H-infinity controller; DC-DC converter; Learning algorithm; Real-time implementation

Acknowledgments

We will like to acknowledge Dr. Ahmed Rubaai at Howard University, Dr. Paul Young of RadiantBlue Technologies and Dr. Marcel J. Castro-Sitiriche at the Electrical and Computer Engineering Department, of the University of Puerto Rico at Mayagüez, for their contribution to the third edition of this chapter.

36.1 Introduction

Improving the popular proportional-integral-derivative (PID) controller using fuzzy logic (FL) is currently an important research topic. Years of various applications have shown different techniques for customizing the PID controller [17]. Recent work by Sant [1] employs an FL controller combined with a classical PID controller with a switching function between them for speed control of a motor drive. The switching algorithm allows each controller type to perform better under different operations. In another recent example, Hohan [2] has developed a fuzzy-PID controller based upon the error, the difference in error, and the difference to create a delta change in the control signal at each time step. Hohan includes analytic stability analysis for bounded inputs, important for fuzzy systems to gain acceptance among control engineers. The application of fuzzy reasoning to improve the PID controller is evident in the research community today to build state-of-the-art control systems. Recent work on self-tuning PID controllers demonstrates adaptive control of motor drive systems. Typically, an engineer might retune the gains of a nominal PID controller during operation, but an adaptive PID system autonomously tunes gains as performance diminishes. The work of Rubaai [3] employs a genetic algorithm to evolve optimal scale factors of fuzzy-based PID gains for improved control of a motor drive. This genetic-based scale factor in conjunction with FL gain selection enhances the sensitivity of the PID control to error. Another class of fuzzy-PID control design mimics PID control via blending FL networks with absolute and incremental control values at a given control time step. The work of Kuo [4] employs two FL structures to formulate a control of a suspension system. One FL mimics PD control, while the other FL generates a change in control to mimic a PI control signal. These FL structures adapt using a genetic algorithm as well. The work of Hu [5] also employs fuzzy-PD and fuzzy-PI elements as part of a control strategy. Li [6] designs an FL based on error and error derivative to generate an initial control estimate that then feeds a PI logic and a PD logic. This work demonstrates robustness of the control algorithm through simulations of a dynamic model. The recent work of Masiala [7] demonstrates incremental fuzzy-PI control of an induction motor drive. For Masiala, the FL decision at each time step modifies the control current based on the error and a change in error. All these controllers use FL to generate absolute and incremental control signals to mimic control techniques seen in PID control. Kalman filter (KF) is another research topic that has been applied to a wide range of engineering disciplines. For a linear system, the KF is an established control design feature, but the improved application of variants of the KF to account for nonlinearity in systems inspires research today. Barut [8] employs an extended Kalman filter (EKF) for a speed sensorless control of an induction motor. This work depends on high-fidelity equations of motion model and noise characteristics. Szabat [9] demonstrates an adaptively tuned EKF for control of an industrial drive. Ahn [10] designs an EKF algorithm to update parameters of parallel FL systems, which generate a PID gain set for control of a motor drive system. Treating the controller as a process and deriving appropriate derivatives allow for adaptive update to the FL components. So, while PID control is a commonly known algorithm, current research applications of adaptive tuning are yielding better tuned PID systems. The artificial neural network (ANN) is a computational data structure modeled after the firing of neurons in the brain. Training exercises may adjust the parameters within the ANN to improve modeling capabilities. The work of Lary [11] details an EKF algorithm for training an ANN to model correlations between chemical compounds. Singhal [12] shows that the EKF training algorithm treats all ANN parameters as a state vector, and thus, the ANN becomes a nonlinear stationary process. Research experience demonstrates that the EKF training compares favorably to the BP update method in terms of iterations of training epochs, but with higher computational cost per time step. The ANN is an important contribution to the control field. The fuzzy neural network (FNN) combines aspects of FL and the ANN and is at the state of the art in control research today. For example, recent work of Ho [13] simulates PID control using an FNN structure that updates time constants in the dynamic models that generate the PID gains online. Ho compares the orthogonal simulated annealing learning technique to a genetic technique to improve performance of the FNN portion of the controller. Campo [14] designs an embedded hardware FNN updated by the Takagi-Sugeno training method for performance improvement. Such a chip enables for a fuzzy system embedded into a hardware control loop. Uddin [15] also developed a hybrid neuro-fuzzy-PI controller adapted by a real-coded genetic algorithm to control an IPMSM. In this case, a fuzzy basis function network similar to an FNN output PI gains sensitive to error conditions. The cutting-edge work of many researchers today relies on the FNN to improve the performance of fuzzy control systems in electric applications.

36.2 PI/PD-Like Fuzzy Control Structure

The FNN PI/PD-like fuzzy controller using EKF control structure presented in this chapter is an instantiation of a feedback control loop. The FNN PI/PD-like fuzzy consists of two independent fuzzy structures, namely, fuzzy-PD controller and fuzzy-PI controller. EKF technique is used to modify the weights and the membership functions of the FNN PI/PD controller to adaptively control the rotor speed of the drive system. The summation of the outputs of the two FNNs forms the control signal. Fig. 36.1 shows the architecture of the neural-fuzzy PI-/PD-based EKF learning scheme. The control structure is anticipated to accommodate the robust stabilization and disturbance rejection problems. The fuzzy controller generates a control signal based upon two FL structures. The first structure is a fuzzy PD that generates a fuzzy-PD control signal. The second structure is a fuzzy PI that generates an incremental fuzzy-PI control signal.

f36-01-9780128114070
Fig. 36.1 FNN PI/PD-like fuzzy control structure.

UPD=FLPD(efilt,Δefilt)

si8_e

ΔUPI=FLPI(efilt,Δefilt)

si9_e

The incremental fuzzy-PI signal sums with the previous fuzzy-PI signal to generate the fuzzy-PI signal for the time step at hand. The fuzzy-PI/fuzzy-PD controller generates a control signal with the summation of the fuzzy-PI/fuzzy-PD control signals:

U=UPD+UPI

si10_e

The control signal is limited by a discontinuous range-limiting saturation element. The saturation equation caps the signal between a maximum and minimum value:

usat=umaxifU>umaxuminifU<uminUotherwise

si11_e

36.2.1 Fuzzy-Based PI Controller

The fuzzy-PI system implements an FL for the PI control signals efilt and Δefilt, the error and the delta error, respectively, the linguistic inputs to the system. The FL output is the PI control ΔUPI signal. The error signal has three fuzzy variables: positive (P), zero (Z), and negative (N). The delta error signal has three fuzzy variables: positive (P), zero (Z), and negative (N). The membership function for each fuzzy variable is a Gaussian function. Figs. 36.2 and 36.3 display the trained membership functions for the fuzzy inputs.

f36-02-9780128114070
Fig. 36.2 Trained membership function for speed error.
f36-03-9780128114070
Fig. 36.3 Trained membership functions for the delta speed error.

The linguistic control rules are established considering the dynamic behavior of the BLDC drive system and analyzing the error and its variation. The fuzzy inference system has nine rules.

Rule 1: IF speed error is negative (N) AND delta speed error is negative (N), THEN the fuzzy-PI control voltage (output of FL) is negative large (NL). This rule pertains to the condition that wref<wmeassi12_e and that the difference between them is increasing. Thus, the control action must act to change the error momentum and bring the motor rate back down to the reference rate. Therefore, a large negative change in control voltage is necessary.

Rule 2: IF speed error is negative (N) AND delta speed error is zero (Z), THEN the fuzzy-PI control voltage (output of FL) is negative medium (NM). This rule pertains to the condition that wref<wmeassi12_e and that the difference between them is steady. Thus, the control action need not change the error momentum but still bring the motor rate back down to the reference rate. Therefore, a medium negative change in control voltage is necessary.

Rule 3: IF speed error is zero (Z) AND delta speed error is negative (N), THEN the fuzzy-PI control voltage (output of FL) is negative small (NS). This rule pertains to the condition that wref=wmeassi14_e but tending toward wref<wmeassi12_e as the error trends more negative. Thus, the control action must act to halt the error momentum but maintain the motor rate being close to the reference rate. Therefore, a small negative change in control voltage is necessary.

Rule 4: IF speed error is negative (N) AND delta speed error is positive (P), THEN the fuzzy-PI control voltage (output of FL) is zero (ZE). This rule pertains to the condition that wref<wmeassi12_e and that the difference between them is decreasing. Thus, the control action of nothing allows the error momentum to bring the motor rate back down to the reference rate. Therefore, no change in control voltage is necessary.

Rule 5: IF speed error is zero (Z) AND delta speed error is zero (Z), THEN the fuzzy-PI control voltage (output of FL) is zero (ZE). This rule pertains to the condition that wref=wmeassi14_e and that the difference between them is steady. Thus, the control action of nothing allows the error momentum to remain negligible to leave the motor rate at the reference rate. Therefore, no change in control voltage is necessary.

Rule 6: IF speed error is positive (P) AND delta speed error is positive (P), THEN the fuzzy-PI control voltage (output of FL) is positive large (PL). This rule pertains to the condition that wref>wmeassi18_e and that the difference between them is increasing. Thus, the control action must act to change the error momentum and bring the motor rate back up to the reference rate. Therefore, a large positive change in control voltage is necessary.

Rule 7: IF speed error is positive (P) AND delta speed error is zero (Z), THEN the fuzzy-PI control voltage (output of FL) is negative medium (NM). This rule pertains to the condition that wref>wmeassi18_e and that the difference between them is steady. Thus, the control action need not change the error momentum but still bring the motor rate back down to the reference rate. Therefore, a medium positive change in control voltage is necessary.

Rule 8: IF speed error is zero (Z) AND delta speed error is positive (P), THEN the fuzzy-PI control voltage (output of FL) is positive small (PS). This rule pertains to the condition that wref=wmeassi14_e but tending toward wref>wmeassi18_e as the error trends more positive. Thus, the control action must act to halt the error momentum but maintain the motor rate being close to the reference rate. Therefore, a small positive change in control voltage is necessary.

Rule 9: IF speed error is positive (P) AND delta speed error is negative (N), THEN the fuzzy-PI control voltage (output of FL) is zero (ZE). This rule pertains to the condition that wref>wmeassi18_e and that the difference between them is decreasing. Thus, the control action of nothing allows the error momentum to bring the motor rate back down to the reference rate. Therefore, no change in control voltage is necessary.

Each rule is implemented via a weighted product of the membership variables. The fuzzy centroid method generates a crisp output from the nine-dimensional fuzzy rule vector. This scaled output corresponds to the control signal, ΔUPI. Figs. 36.4 and 36.5 illustrate the initial and trained fuzzy control output ΔUPI as a function of the error and the change of error.

f36-04-9780128114070
Fig. 36.4 Initial fuzzy delta PI control surface.
f36-05-9780128114070
Fig. 36.5 Trained fuzzy delta PI control surface.

36.2.2 Fuzzy-Based PD Controller

The same technique applied to the fuzzy-PI controller is applied to the fuzzy-PD controller. The controller has two inputs and one output. The fuzzy-PD system implements an FL for the PD control signal. The signals efilt and Δefilt, the error and the delta error, respectively, are the linguistic inputs to the system. The FL output is the PD control signal UPD. The error signal has three fuzzy variables: positive (P), zero (Z), and negative (N). The delta error signal has three fuzzy variables: positive (P), zero (Z), and negative (N). The membership function for each fuzzy variable is a Gaussian function. Figs. 36.6 and 36.7 show the trained membership functions for the PD fuzzy inputs.

f36-06-9780128114070
Fig. 36.6 Trained membership functions for speed error.
f36-07-9780128114070
Fig. 36.7 Trained membership functions for delta speed error.

Similarly, the number of fuzzy rules that are required is equal to the product of the number of fuzzy sets that make up each of the two fuzzy input variables. Therefore, a total of nine fuzzy rules are instituted. The nine fuzzy rules are composed of the same fuzzy rules generated for the fuzzy-PI controller and are not repeated here. Each rule is implemented via a weighted product of the membership variables. The fuzzy centroid method generates a crisp output from the nine-dimensional fuzzy rule vector. This scaled output corresponds to the control signal, UPD. Figs. 36.8 and 36.9 demonstrate the initial and trained fuzzy control output, UPD, as a function of the error and the change of error.

f36-08-9780128114070
Fig. 36.8 Initial fuzzy-PD control surface.
f36-09-9780128114070
Fig. 36.9 Trained fuzzy-PD control surface.

Figs. 36.8 and 36.9 provide an indication of how well the EKF learning algorithm succeeds in training the output fuzzy-PD control signal. This is an indication of how well the control process is proceeding during the experimental implementation.

36.3 FNN PI/PD-Like Fuzzy Control Architecture

The proposed FNN has four layers: an input layer, a membership layer, a rule layer, and an output layer. The input layer is a pass-through capture of each input signal. The membership layer creates a fuzzy set for each input using Gaussian membership functions. The rule layer consists of a truth table like evaluation of the fuzzy membership sets by product pairing. The output layer consists of a weighted summation of the rules. Three numbers define the size of an FNN: the number of inputs to the logic, the number of memberships per input, and the number of outputs, respectively, that is, 2×3×1si1_e. The PI/PD demands two 2×M×1si24_e FNNs, where M, the number of memberships, is customizable. A larger number of memberships enhance accuracy of the FNN for modeling; however, a smaller number of memberships yields a smaller training calculation time period per step (there are less calculations to perform) enabling a faster system rate on real-time hardware. The membership number of 3 is selected. The parameters of the FNN are the means and sigmas of the Gaussian memberships and the weights of the output layer. For a 2×3×1si1_e FNN, there are (six means + six sigmas + nine weights) 21 parameters. Figs. 36.10 and 36.11 display the structure of FNN-based PI and FNN-based PD. Below is the definition of the function of each layer.

f36-10-9780128114070
Fig. 36.10 Proposed 2×3×1si1_e FNN PI structure.
f36-11-9780128114070
Fig. 36.11 Proposed 2×3×1si1_e FNN PD structure.

36.3.1 Input Layer

The input layer passes the input value, assigned for each FNN as follows (let be the feedback error).

Networkinput u1 u2
PI FNN efilt Δefilt
PD FNN efilt Δefilt

t0010

36.3.2 The Membership Layer

Each membership function into the fuzzy set is a Gaussian; the following evaluation occurs (note that mij and σij are parameters):

ymemij=exp(uimij)2σ2ijsi26_e for input i=1,2si27_e and member j=1,2,3si28_e of that input.

For further derivations, allow the matrix ymem to be vectorized as follows:

ymem1=ymem11,ymem2=ymem12,ymem3=ymem13,ymem4=ymem21,ymem5=ymem22,ymem6=ymem23

si29_e

and allow the same vectorization for the means m matrix into a vector and sigmas σ matrix into a vector.

36.3.3 The Rule Layer

Each rule function is a product of two membership outputs. Refer to the table: each table cell is a rule layer output calculated by the product of the row and column label values.

Rowcolumn y21mem y22mem y23mem
y11mem y1rule y4rule y7rule
y12mem y2rule y5rule y8rule
y13mem y3rule y6rule y9rule

t0015

36.3.4 The Output Layer

The weighted summation of the rules composes the output layer (note parameters Wk): y=Σ9k=1yrulekWksi30_e where k=1,9si31_e.

36.4 Learning Algorithm-Based EKF

At each time step, for each 2×3×1si1_e FNN, there is a state vector comprised of 21 elements: x=[W1W9,m1m6,σ1σ6]si33_e (noting vector form of m,σ).

Furthermore, define the following: the reference model output ωref, measured output ωmeas, control signal U, PI FNN output control signal ΔUPI, and PD FNN output control signal UPD. Also, allow for the matrix notation of the membership outputs to be vectorized as follows:

The EKF innovation process is the difference from a reference signal to the measured output of the system ˜Z=ωrefωmeassi34_e. A state gradient vector h must be created, such that hi=d(ωmeas)/dxisi35_e using the chain rule backpropagation. The change in system output with respect to input (ωmeas)/d(U) is assumed as unity. This is a dangerous assumption, and a more sophisticated control algorithm would attempt to model this scalar value, perhaps with an FNN identification structure.

The control signal is the summation U=UPI+UPDsi36_e. Thus, to propagate into each FNN, the following are useful: d(U)/d(UPI)=1si37_e and d(U)/d(UPD)=1si38_e and d(UPI)/d(ΔUPI)=1si39_e.

Within the FNN, the change in output layer calculation with respect to each weight is d(y)/d(Wk)=yruleksi40_e for k=[1,9]si41_e and note y=ΔUPIsi42_e and y=UPDsi43_e for each FNN.

Within the FNN, to propagate to the membership layer, the vector d(y)/d(yrulek)=Wksi44_e is the change in the FNN output with respect to each rule.

Each rule is a product of two fuzzy set elements from the membership layer. The following matrix defines the gradient of rules to a vector form of membership outputs.

d(yrule)Td(ymem)=[ymem400ymem!00ymem5000ymem10ymem60000ymem10ymem40ymem2000ymem500ymem200ymem6000ymem200ymem4ymem30000ymem50ymem3000ymem600ymem3]

si45_e

Each membership is Gaussian. The partial with respect to the mean and sigma are necessary:

d(ymemij)/d(mij)=ymemij2(uimij)/σ2ij

si46_e

and

d(ymemij)/d(σij)=ymemij2(uimij)2/σ3ij

si47_e

Note that the resulting matrix may be vectorized as seen previously for ymem.

Applying the chain rule, the following gradients for each FNN are (where y=ΔUPIsi42_e and y=UPDsi43_e for each respective calculation) and si50_e represents element-wise multiplication:

d(ωmeas)/d(w)=d(ωmeas)d(U)d(U)d(y)d(y)d(W)d(ωmeas)/d(m)=d(ωmeas)d(U)d(U)d(y)d(y)Td(yrule)d(yrule)TTd(ymem)d(ymem)d(m)d(ωmeas)/d(σ)=d(ωmeas)d(U)d(U)d(y)d(y)Td(yrule)d(yrule)TTd(ymem)d(ymem)d(σ)

si51_e

The gradient state vector is then a concatenation:

h=[d(ωmeas)d(w)λw,d(ωmeas)d(m)λm,d(ωmeas)d(σ)λσ]

si52_e

where λw,λm, and λσ are learning rate constants for the weights, means, and sigmas.

The EKF algorithm consists of the following recursive equations built on the state vector x and gradient state vector h (both 21×1si53_e below) and a state covariance matrix P and measurement noise scalar r and state noise vector q:

k=(Ph)/(r+hTPh)xnext=x+k˜zPnext=PkhTP+q

si54_e

36.5 Fuzzy PID Control Design-Based Genetic Optimization

A genetic-based hybrid fuzzy-PID controller, which employs a fuzzy-PID controller integrating a classical PID controller, is presented in this section. The fuzzy-PID controller consists of three parallel fuzzy subcontrollers, namely, fuzzy-based proportional controller, fuzzy-based integral controller, and fuzzy-based derivative controller. A genetic optimization technique is used to determine the optimal values of the scaling factors of the output variables of these subcontrollers. These independent controllers are grouped together and integrated with an industrial PID controller to form a hybrid fuzzy-PID controller. Fig. 36.12 shows the architecture of the proposed genetic-based hybrid fuzzy-PID controller. The hybrid fuzzy-PID controller is anticipated to accommodate the robust stabilization and disturbance rejection problems.

f36-12-9780128114070
Fig. 36.12 Block diagram of the proposed hybrid fuzzy-PID controller.

36.5.1 Fuzzy-Based Proportional Controller

The first step in designing the controller is to decide which state variables of the drive system can be taken as the input signals to the controller. Both the speed error, e(k), and the delayed feedback control signal, uFP(k1)si55_e, are used as the inputs to the speed controller. The output of the fuzzy-based proportional controllers is the gain, FKP. The linguistic fuzzy variable “e(k)” has three sets: positive large (PL), zero (ZE), and negative large (NL), with each set having its own membership function. Furthermore, the linguistic fuzzy variable “uFP(k1)si55_e” also has three sets: positive large (PL), zero (ZE), and negative large (NL), with each set having its own membership function. After specifying the fuzzy sets, it is required to determine the membership functions for these sets. Typical triangular membership functions are utilized for the e(k) and uFP(k1)si55_e. The three fuzzy sets can be symbolized by Fji,i=1,2si58_e and j=1,2,3.si59_e Their corresponding membership functions can be symbolized by μFj(e,uFP(k1)),j=1,2,3si60_e.

The next step in the design of the fuzzy subcontroller is the determination of the fuzzy IF-THEN inference rules. The number of fuzzy rules that are required is equal to the product of the number of fuzzy sets that make up each of the two fuzzy input variables. Thus, a total of nine fuzzy rules are required to relate each possible combination of the two fuzzy input variables to the output membership fuzzy sets. The fuzzy rules ensure that the output of each fuzzy controller enhances the overall speed-tracking performance. Examples of such rules are the following:

IF e(k) is positive large AND uFP(k1)si55_e is negative large, THEN FKP is positive medium (PM).

IF e(k) is zero AND uFP(k1)si55_e is zero, THEN FKP is positive small (PS).

IF e(k) is positive large AND uFP(k1)si55_e is zero, THEN FKP is positive very large (PVL).

In general, a typical fuzzy rule is of the form:

R(k): IF e(k) is F1j, and uFP(k1)si55_e is F2l, THEN fP is Ckl for j=13,l=13,k=19si65_e.

The conjunction of the rule antecedents is evaluated by the fuzzy operation intersection, which is implemented by the min operator. The rule strength represents the degree of membership of the output variable for a particular rule. Defining the rule strength, ξi,j of a particular rule as ξi,j=min(μFi,μFj)si66_e where i[PL,ZE,NL]si67_e is associated with the fuzzy variable, e(k), and j[PL,ZE,NL]si68_e is associated with the fuzzy variable, uFP(k1)si55_e. The fuzzy inference engine uses the appropriately designed knowledge base to evaluate the fuzzy rules and produce an output for each rule. Subsequently, the multiple outputs are transformed to a crisp output by the defuzzification interface. Once the aggregated fuzzy set representing the fuzzy output variable has been determined, an actual crisp control decision must be made. The process of decoding the output to produce an actual value for the controller gain FKP is referred to as defuzzification. Thus, a fuzzy-logic controller-based center-average defuzzifier is implemented. The output of fuzzy-based proportional controller is given by FKP=fP(e(k),uFP(k1))si70_e, where

fP(e(k),uFP(k1))=91=1μOl(mini=1,2(μFli(e(k),uFP(k1))))9l=1(mini=1,2(μFli(e(k),uFP(k1))))

si71_e

The linguistic fuzzy output variable “FKP” has nine sets: negative very large (NVL), negative large (NL), negative medium (NM), and negative small (NS), zero (ZE), positive small (PS), positive medium (PM), positive large (PL), and positive very large (PVL). The two fuzzy sets, namely, negative very large (NVL) and positive very large (PVL), are added to enhance the tracking performance. After specifying the fuzzy sets, it is required to determine the membership functions for these sets μOl for l=19si72_e. The membership function for the fuzzy set-representing zero is a fuzzy singleton. Additionally, the other membership functions are composed of fuzzy singletons within the region defined for the fuzzy output variable. Consequently, the control signal generated by the fuzzy-proportional controller can be written as uFP(k)=GP{fP(e(k),uFP(k1))}e(k)si73_e, where GP is the scaling factor that is tuned experimentally using genetic optimization.

36.5.2 Fuzzy-Based Integral Controller

The same technique applied to the fuzzy-based proportional controller is applied to the fuzzy-based integral controller. The controller has two inputs and one output. The inputs to the fuzzy-based controller are (1) the angular speed error, e(k), and (2) the delayed feedback control signal, uFI(k1)si74_e. The controller output is the gain, FKI, of the controller. Three fuzzy sets are defined for the fuzzy linguistic variable “e(k)” and three fuzzy sets for the fuzzy linguistic variable uFI(k1).si75_e After specifying the fuzzy sets of the two fuzzy variables, the membership functions for these sets are derived. The membership functions are composed of the same fuzzy triangular membership functions allocated for the fuzzy-based proportional controller. Similarly, the number of fuzzy rules that are required is equal to the product of the number of fuzzy sets that make up each of the two fuzzy input variables. Therefore, a total of nine fuzzy rules are introduced. Some of these rules and their significance are explained as follows:

Rule 1: IF e(k) is positive large (PL) AND uFI(k1)si74_e is positive large (PL), THEN FKI is positive large (PL). This rule implies a general condition when both input signals are positive. Consequently, the output membership function assigned to this rule is a positive value to keep the controller gain within a stable range.

Rule 2: IF e(k) is zero (ZE) AND uFI(k1)si74_e is positive large (PL), THEN FKI is positive very small (PVS). This rule implies a general condition when the speed error is close to zero and uFI(k1)si74_e is positive. Therefore, the output membership function assigned to this rule is a small positive value to reduce the control signal variations.

Rule 3: IF e(k) is negative large (NL) AND uFI(k1)si74_e is positive large (PL), THEN FKI is positive medium (PM). This rule usually deals with the case in which overshoots occur. A medium positive value is assigned in this case to ensure that the overshoot is decreased and prevent oscillations at the same time.

The rule strength represents the degree of membership of the output variable for a particular rule. Similarly, the rule strength, ξn,m of a particular rule is defined as

ξn,m=min(μFn,μFm)

si80_e

where n[PL,ZE,NL]si81_e is associated with the fuzzy variable, e(k), and m[PL,ZE,NL]si82_e is associated with the fuzzy variable, uFI(k1)si74_e.

The fuzzy inference engine uses the appropriately designed knowledge base to evaluate the fuzzy rules and produce an output for each rule. Subsequently, the multiple outputs are transformed to a crisp output, by the defuzzification interface. A center-average defuzzifier method is used. Thus, the output of fuzzy-based integral controller is given by FKI=fI(e(k),uFI(k1)si84_e where

fI(e(k),uFI(k1))=91=1μOl(mini=1,2(μFli(e(k),uFI(k1))))9l=1(mini=1,2(μFli(e(k),uFI(k1))))

si85_e

After specifying the fuzzy sets for the fuzzy output variable, FKI, the membership functions for these sets are derived. It is important to note that the same fuzzy singleton membership functions are used here. The control signal of the fuzzy-based integral controller is given by

uFI(k)=GI{fI(e,uFI(k1))}ki=0e(i)Δt,k=0,1,2,,

si86_e

where GI is the scaling factor that is tuned experimentally using genetic optimization.

36.5.3 Fuzzy-Based Derivative Controller

The same process applied to fuzzy-based proportional controller and fuzzy-based integral controller is applied to the fuzzy-based derivative controller. The input signals (state variables) to the controller are e(k) and uFD(k1)si87_e. The output of the controller is the gain FKD. After specifying the fuzzy sets and the membership functions for these sets, the triangle membership functions are also used to define the degree of membership. Figs. 36.2 and 36.3 show the membership functions for the fuzzy sets. Similarly, the linguistic fuzzy output variable “FKD” has nine sets: negative very large (NVL), negative large (NL), negative medium (NM), and negative small (NS), zero (ZE), positive small (PS), positive medium (PM), positive large (PL), and positive very large (PVL). Now, it is necessary to find the final controller output. Consequently, the output of fuzzy-based derivative controller is given by FKD=fD(e(k),uFD(k1))si88_e, where

fD(e(k),uFD(k1))=9l=1μOl(mini=1,2(μFli(e(k),uFD(k1))))9l=1(mini=1,2(μFli(e(k),uFD(k1))))

si89_e

The control signal of the fuzzy-based derivative controller:

uFD(k)=GDfD(e(k),uFD(k1))Δe(k)/Δt

si90_e

where GD is a scaling factor that tuned experimentally using genetic optimization.

Finally, the overall output of fuzzy PID was derived as follows:

uFPID(k)=uFP(k)+uFI(k)+uFD(k)

si91_e

Saturation is also incorporated in the hybrid fuzzy-PID controller structure. As such, the final output of proposed controller is

umax(k),uFPID(k)>umax(k),u(k)=uFPID(k)umin(k)uFPID(k)umax(k)umin(k)uFPID(k)<umin(k)(10)

si92_e

where umin and umax are the permitted minimum and maximum inputs to the brushless drive system.

36.6 Classical PID Versus Fuzzy-PID Controller

The classical linear PID controller in its discrete form can be characterized as

uPID=KPe(k)+KIki=0e(i)Δt+KDΔe(k)/Δtk=0,1,,

si93_e

where KP,KI, and KD are constant gains.

This discrete form characterization equation provides a closed-form solution to the proposed fuzzy-PID controller. It can be rewritten as

uFPID(k)=fP(e,DuP)GPe(k)+fI(e,DuI)GIki=0e(i)Δt+fD(e,DuD)GDΔe(k)/Δtk=0,1,2,=(FKP)eqe(k)+(FKI)eqki=0e(i)Δt+(FKD)eqΔe(k)/Δtk=0,1,2,,

si94_e

where (FKP)eq,(FKI)eq, and (FKD)eq are defined to be the equivalent proportional, integral, and derivative gains to a classical linear PID controller, respectively.

36.7 Genetic-Based Autotuning of Fuzzy-PID Controller

Genetic optimization-based approach is used to ensure the best performance of the proposed fuzzy-PID controller. The genetic optimization imitates the natural evolution process in which the fittest survive and the best genes are propagated to the next generation. A population of chromosomes is evaluated and a fitness value is assigned to each. Each chromosome represents a possible solution for a given problem, and the ones with the higher fitness have a better chance to reproduce. One of the main features is that it could work well for nondeterministic systems, ill-defined systems, and systems that are hard to model. Furthermore, the final performance outcome of the algorithm does not depend highly on the initial choice of chromosomes. When the genetic optimization is applied to control applications, each chromosome represents the set of controller's adjustable parameters, and the fitness value is a quantitative measure of the controller performance. The autotuning consists of the automatic adjustment of these parameters to optimize the controller performance. The genetic optimization combines a stochastic exploratory search with a well-defined cost function to find the solution that fit the problem the best. The cost function that represents the fuzzy-PID controller is defined as follows:

J=F(GP,GI,GD),

si95_e

where GP,GI,GD are the output scaling factors of the fuzzy-PID subcontrollers. The function F represents the relationship between the overall performance and the design parameters.

The optimization problem for the fuzzy-PID controller is described as

max(F(GP,GI,GD))=max(1/J)

si96_e

where F is the fitness function. There are various ways to calculate the overall performance J of the controller, but for simplicity reasons, the mean square error (MSE) performance index was selected.

J=1NNk=1(e(k))2

si97_e

where N is the length of the evaluation window and e(k) is the error between the reference speed and the actual speed. The fitness of each parameter set or chromosome can be determined as follows:

F(GP,GI,GD)=1/(1NNk=1(e(k))2)

si98_e

Once the fitness function is established, the genetic operators and parameters are defined. The genetic optimization consists of three basic operators: the crossover, mutation, and reproduction. The parameters are the number of generations, the population size, the probability of crossover, and mutation. In general, an initial population size is defined and evaluated with the fitness function. Once each chromosome has a fitness assigned to it, the reproduction process takes place with those that are more fit having a greater chance to be selected. Then, each of the two operators of crossover and mutation is applied to create the new pool of chromosomes to be evaluated. Crossover occurs when the chromosomes partially exchange their information by interchanging some of their genes. Mutation is the random alteration of a particular section of the chromosome by occasionally changing one or more of the genes that are part of the chromosome. For this optimization task, a crossover factor of 0.3 and a mutation factor of 0.7 were used. Another important aspect of the genetic optimization is the coding of the parameters. Binary coding has been used widely for decades; however, real-coded algorithms are proving useful for a number of applications, and it was chosen to implement the genetic optimization algorithm. One of the difficulties of the real-time implementation is in the simultaneous evaluation of the fitness for all the chromosomes in one generation as a batch data. This problem was overcome by reducing the population size to one and evaluating the fitness function of each chromosome sequentially. The mutation function is applied by increasing or decreasing the value proportional to a uniformly distributed random number between −0.9 and 1. The crossover is implemented with the chromosome that had the higher value for the fitness function and the chromosome being tested in the current generation. A Bernoulli binary set of numbers with probability of 0.5 is used to select the resulting offspring chromosome with a mix of genes from both parent chromosomes. The overall genetic-based autotuning procedure of the fuzzy-PID controller consists of the following steps:

Step 1: Select the control topology of the fuzzy-PID controller in which the outputs of the subcontrollers are used as the FPID gains.

Step 2: Define the characteristics of the fuzzy-PID subcontrollers such as the number of fuzzy sets, membership functions, fuzzy rules, and defuzzification method.

Step 3: Set the genetic optimization parameters, such as the number of generations, the population size, the probability of crossover, and mutation.

Step 4: The last step is the tuning of the parameters, GP,GI, and GD of the fuzzy-PID controller using the genetic optimization procedure.

36.8 Fuzzy and H∞ Control Design

36.8.1 Brushless Servo-Motor Drive System

The brushless DC motor used in the section is excited by a three-phase sinusoidal supply and driven from a six-step inverter, which converts a constant voltage to a three-phase voltage with a frequency corresponding instantaneously to the rotor speed. The model of the drive system is used to design the Hsi3_e tracking controller and to simulate its dynamic behavior. However, fuzzy-logic controller does not require mathematical models and has the ability to approximate nonlinear systems. The reader is referred to [16] for details of the dynamic model of the brushless dc motor drive system. For the purpose of discussion, the dynamics of the brushless servomotor drive system can be written in state space form as follows:

x(n)=f(x)+Bu+d

si100_e

where x=(x,.x,,x(n1))TRnsi101_e, d is the external disturbance, and B0si102_e. Since B0si102_e for xRnsi104_e, the system is controllable in the whole space Rn.

36.8.2 The Fuzzy H∞ Control Structure

A hybrid adaptive fuzzy controller is implemented, which employs a fuzzy-logic controller integrating an Hsi3_e tracking controller. The Hsi3_e tracking controller is capable of taking care of the robust stabilization and disturbance rejection problems, while fuzzy-logic controller is used as principle components of the adaptive fuzzy controller. Actually, it is outfitted with an adaptive control law that modifies the parameters of the controller based on a Lyapunov synthesis approach. Fig. 36.13 shows the block diagram of the proposed control structure.

f36-13-9780128114070
Fig. 36.13 Block diagram of the overall control structure.

36.8.3 H∞ Control Design

The controller objective is to obtain high-performance servo tracking; therefore, the control problem is to force the actual output to follow a predetermined bounded reference trajectory. The tracking performance indicates how closely the servomotor follows a desired position trajectory, velocity trajectory, or acceleration trajectory. For the purpose of discussion, we define the tracking error to be ˉɛ=[ɛ,.ɛ]Tsi107_e, where ɛ is the rotor speed error and .ɛsi108_e is the acceleration error. Consequently, the motor speed error ɛ=ωrefωactsi109_e and the acceleration error .ɛ=αrefαactsi110_e are used as input variables to the Hsi3_e controller. Here, ωact is the actual speed in rev/s, ωref is the desired reference speed, αref is the desired acceleration in rev/s2, and αact is the calculated acceleration. The acceleration is calculated as the difference in the speed over two successive sampling periods. A block diagram of the Hsi3_e tracking controller is shown in Fig. 36.14. The Hsi3_e control law is defined as [17]

f36-14-9780128114070
Fig. 36.14 Block diagram of Hsi3_e tracking controller.

u=1rrBTPɛ

si114_e

where rr is a weighting factor and P is the solution of the simplified Riccati-like equation for P=PT0si115_e

PA+ATP=Q

si116_e

The matrices A and B are given by

A=[01k2k1]B=[01]

si117_e

where k=[k1,k2]si118_e is chosen such that all roots of the polynomial p(S)=Sn+KnSn1++k1si119_e are in the open left-hand plane.

36.8.4 Fuzzy Logic Control Design

The fuzzy-logic principles with center-average defuzzifier, product inference, and singleton fuzzifier are used as building blocks for the fuzzy controller. A block diagram of the fuzzy control structure is shown in Fig. 36.15. The fuzzy-logic-based controller implemented in this work has two inputs and one output. The inputs are the rotor speed error and the feedback acceleration error, with each of these inputs corresponding to a fuzzy variable.

f36-15-9780128114070
Fig. 36.15 Block diagram of the fuzzy-logic control structure.

The output is the fuzzy control decision. The fuzzy variable associated with the rotor speed error signal consists of five fuzzy sets: positive large (PL), positive medium (PM), zero (ZE), negative large (NL), and negative medium (NM). Typical example of the fuzzy membership functions used for the speed is shown in Fig. 36.16. In this way, for any given value of the rotor angle, the degree of membership μ, to which it belongs to each of these sets, can be determined, and a control decision based on this information can be obtained.

f36-16-9780128114070
Fig. 36.16 Fuzzy membership functions for the rotor speed error.

Similarly, the acceleration error can be described by a group of partially overlapping fuzzy sets as positive large (PL), positive medium (PM), zero (ZE), negative large (NL), and negative medium (NM), with each set having its own membership function. An example of typical membership functions that make up the fuzzy variable acceleration is shown in Fig. 36.17.

f36-17-9780128114070
Fig. 36.17 Fuzzy membership functions representing the acceleration error.

The five fuzzy sets can be symbolized by FjI,i=1,2si120_e and j=1,2,35si121_e. Their membership functions can be symbolized by μFjI(xI),i=1,2si122_e and j=1,2,35si121_e.

36.8.5 Fuzzy Logic Rules

The next step in the design of the fuzzy-logic-based controller is the determination of the fuzzy IF-THEN inference rules. The number of fuzzy rules that are required is equal to the product of the number of fuzzy sets that make up each of the two fuzzy input variables. For the fuzzy controller described here, the input variables representing the rotor speed and its acceleration consist of five fuzzy sets each. Thus, a total of 25 fuzzy rules are required. During each sampling interval that a controller is calculated, the present value of the degree of membership of the motor speed and its acceleration is calculated for each of the fuzzy sets that make up their respective fuzzy variables. This process is one of the largest computational burdens of the fuzzy-logic control algorithm if each fuzzy set is expected to have some degree of membership for the present input value of the motor speed and its acceleration. This will in addition affect the computational speed at which the fuzzy rules are processed since all the rules have to be evaluated.

Using a triangular membership function for the input variables was very desirable to reduce this computational burden and speed up the process. This ensures that only two fuzzy sets, which are overlapping, will actually have a nonzero degree of membership (Figs. 36.16 and 36.17). With this advantage, the evaluation of the degree of membership in each set is accelerated. This also speeds up the evaluation of the fuzzy rules since only those rules that correspond to nonzero values of membership function need to be evaluated. Hence, for this controller, only four fuzzy rules need to be evaluated during any sampling interval. The fuzzy inference rules have been determined experimentally using the measured responses of the brushless drive servo system. A typical fuzzy rule is of the form:

[R(1):] IF x1 is F1j, and x2 is F2j, THEN O is G1l for j=15,l=15si124_e.

In general,

[R(k):] IF x1 is F1j, and x2 is F2j, THEN O is Gkl for j=15,l=15,k=125si125_e.

The conjunction of the rule antecedents is evaluated by the fuzzy operation intersection, which is implemented by the min operator. The rule strength represents the degree of membership of the output variable for a particular rule. Defining the rule strength, ξi,j, of a particular rule as

ξi,j=min(μFspeedi,μFaccelj)

si126_e

where i[PL,PM,ZE,NM,NL]si127_e is associated with the fuzzy variable, speed, and j[PL,PM,ZE,NM,NL]si128_e is associated with the fuzzy variable, acceleration. From above, it is clear that for all the rules where at least one of the degrees of membership in the corresponding fuzzy sets is zero, the output of the min operator will be zero, and hence, these rules do not have to be analyzed. The fuzzy inference engine uses the appropriately designed knowledge base to evaluate the fuzzy rules and produce an output for each rule. Subsequently, the multiple outputs are transformed to a crisp output by the defuzzification interface.

36.8.6 Defuzzification

Once the aggregated fuzzy set representing the fuzzy output variable has been determined, an actual crisp control decision must be made. The process of decoding the output to produce an actual value for the control signal is referred to as defuzzification. Thus, a fuzzy-logic controller-based center-average defuzzifier is implemented. The control output can be written in general form:

O(x)=25l=1μOl(mini=1,2(μFli(x)))/25l=1(mini=1,2(μFli(x)))

si129_e

which can be written in the form

O(x)=θTξ(x)=ξT(x)θ

si130_e

where

ξl(x)=mini=1,2(μFli(x))/25l=1(mini=1,2(μFli(x)))

si131_e

θ=(μO1,μO25,)si132_e is a parameter vector representing the degree of membership of the output, which is tuned online using an adaptation law.

36.8.7 On-Line Adaptation

By using an adaptive law, the fuzzy parameters, θ, can be tuned online based on the Lyapunov synthesis approach. The feedback control law can be expressed as follows [17]:

u=ξT(x)θu/g

si133_e

where θ is a vector denoting the parameter estimate of fuzzy-logic controller. The parameter θ is adjusted using the following adaptive law:

.θ=γξ(x)gBTPɛ

si134_e

where γ is an adaptation gain and g is a constant that depends on machine parameters. A block diagram of the hybrid adaptive fuzzy controller is shown in Fig. 36.18.

f36-18-9780128114070
Fig. 36.18 Block diagram of the overall fuzzy- Hsi3_e control structure.

36.9 Fuzzy Control for DC-DC Converters

36.9.1 Background

The DC-DC converters are generally divided into two groups: hard-switching converters and soft-switching converters. In hard-switching converters, the power switches cut off the load current within the turn-on and turn-off times under the hard-switching conditions. The output voltage is controlled by adjusting the on-time of the power switch, which in turn adjusts the width of a voltage pulse at the output. This is known as PWM control. In soft-switching converters, resonant components are used to create oscillatory voltage or current waveforms so that the zero-voltage switching or zero-current switching conditions could be created for the power switches. For many years, control design for converters has been carried out through analog circuits, which limited them to mostly PI controller structure. The PI controllers generally give overshoot in output voltage and high initial current when rise time of response is reduced. Feed-forward types of controllers have also been designed by sensing the input voltage to improve line regulation in applications with a wide range of input voltages and load currents. However, direct sensing of the input voltage through a feed-forward loop may induce large-signal disturbances that could upset the normal duty cycle of the converter. Using human linguistic terms and common sense, several fuzzy-logic controllers have been developed and implemented for the DC-DC converters [1820]. These controllers have shown promise in dealing with nonlinear systems and achieving voltage regulation in buck converters. Fuzzy-logic control uses humanlike linguistic terms in the form of IF-THEN rules to capture the nonlinear system dynamics. Once in place, the fuzzy rules will not be able to adapt themselves to adequately capture the dynamics and external disturbances of the converter. Although achieving many practical successes, fuzzy control has not been viewed as a rigorous science due to a lack of formal analysis and synthesis techniques. As a result of this, a lot of work has been done to develop adaptive fuzzy controllers and automate the modeling process as much as possible. Recently, the resurgence of interest in ANN has injected a new driving force into fuzzy literature. One of the major features of ANNs is their learning capability. A learning algorithm is usually used to update the nonlinear parameters of the network architecture. A drawback in using an ANN for control is that there is so much freedom in structural implementation choice that it is often difficult to decide how complex a structure is actually necessary for the desired control. Besides, the implementation is not at all intuitive, and the inner workings of the network are very much invisible to the designer. The integration of neural network architectures with fuzzy inference system has resulted in a very powerful strategy known as adaptive network-based fuzzy inference system. Some researchers suggest that neural networks and fuzzy control are in fact special instances of adaptive networks [21,22]. The suggested fuzzy inference system has the advantage that it can not only take linguistic information from human experts but also adapt itself using numerical data to achieve better performance.

36.10 Fuzzy Control Design for Switch-Mode Power Converters

The structure built-up here is a two-input single-output controller. The inputs are the variable voltage error, e(k), and the change in voltage error, Δe(k). Consequently, the input to the DC-DC converter would be the duty cycle that is actually the output of the fuzzy controller. The operational structure of the proposed fuzzy controller is shown in Fig. 36.19. It consists of three building blocks: (1) a fuzzification block that expresses quantitative action to qualitative action, (2) fuzzy inference engine that generates the fuzzy rules, and (3) a defuzzification block that articulates qualitative action to quantitative action. Fuzzification translates a numeric value for the error e(k) or change in error Δe(k) into a linguistic value such as big or small with a membership grade. Defuzzification takes the fuzzy output of the rules and generates a “crisp” numeric value used as the control input to the DC-DC converter. The controller qualitatively captures the dynamics of the DC-DC converter and executes this qualitative idea in a real-time situation. The DC-DC converter is equipped with a feedback network that provides the error value at the output. The overall architecture of a DC-DC converter topology with the fuzzy controller structure is given in Fig. 36.20. The feedback network consists of a precision voltage reference with a nominal voltage of 2.5 V. The 5 and 15 V output potentials are combined in a resistive sampling network in such a way that the output voltage of the network is 2.5 V when the potentials are closed to their nominal magnitudes. This output voltage is then compared internally with the reference of the precision voltage reference, and any error difference detected is amplified and fed back. The converter is represented by a “black box” from which we only extract the terminals corresponding to input voltage (VI), output voltage (Vo), and controlled switch (S). From these measurements, the controller provides a percentage duty-cycle signal for a peripheral interface microcontroller PIC16F877, which generates the converters' actual duty cycle.

f36-19-9780128114070
Fig. 36.19 Fuzzy control structure.
f36-20-9780128114070
Fig. 36.20 Fuzzy control-based DC-DC converter topology.

36.10.1 DC-DC Switch-Mode Power Converter

The DC-DC switch-mode power converter consists of six distinct circuit networks as shown in Fig. 36.21, working together to form a complete DC-to-DC dual-output switch-mode power regulator [23]. The six distinct circuit networks are (1) the bias voltage regulator network, (2) the 100 KHZ clock, (3) the pulse-width modulator (PWM), (4) the power switch driver interface, (5) the feedback error amplifier, and (6) the integrated-magnetic (IM) power stage. In order to implement the proposed adaptive fuzzy-neural-network controller, the converter system shown in Fig. 36.21 was modified by removing the bias voltage regulator network, the 100 KHz clock, and the pulse-width modulator (PWM), which is the core of the control system. The power-stage concept is based on that of a “dual-output forward” configuration operating in a continuous mode of energy storage. When the power MOSFET switch Q1 is turned ON, energy is transferred from the input power source (VIN) to the two secondary sides of the transformer. The voltage potential across the terminals of C1 will be that of the reflected line voltage, namely, NS1×VIN/NPsi135_e. The ON time is a fraction of the clock period, and it has to be short and long enough to bring the output to a level above the desired voltage (5 and 15 V). Diodes D1 and D4 conduct allowing the energy transfer to be used to supply 5 and 15 V load power, respectively, and to replenish the energy lost in the “output” inductors during the previous OFF period of Q1. Diodes D2 and D3 do not conduct during this time, since they are reverse-biased.

f36-21-9780128114070
Fig. 36.21 Block diagram of switch-mode DC-DC power converter.

When Q1 turns OFF, the 5 and 15 V load power is sustained by the energies of the two “inductors” (L1 and L2). The output stored energy, located in two inductors, will then start discharging causing the voltages to drop. Diodes D2 and D3 conduct during this time with diodes D1 and D4 forced off. As soon as the voltages go below the desired values, another impulse will be applied on Q1 (Q1 ON), to bring the voltage back upward. Capacitors C2 (0.001 μf) and C3 (100 μf) serve to prevent the dynamic ripple currents in the “inductors” from appearing at the 5 and 15 V load terminals, respectively.

36.11 Optimum Topology of the Fuzzy Controller

The main problem with fuzzy controller generation is related to the definition of its optimum topology such as scaling factors, number of fuzzy sets, shape of the fuzzy sets, and decision-making. This section is devoted to the topology determination of the proposed fuzzy controller structure. Various test cases were performed on the DC-DC converter in order to determine the ranges of membership functions and other system-specific responses of the converter that will help in the design of the linguistic control rules of the proposed controller. The experimental tests were focused on the responses of the DC-DC converter with and without the action of the controller. One other point was to observe how the changes of the control signal and the variations of the error signal with respect to the variations of the input voltage. The various voltage ranges observed in the test cases assisted in choosing the ranges for the input and output membership set. A summary of some of these tests is shown in Figs. 36.2236.24. Fig. 36.22 shows the optimum trajectories of the duty cycle, the output voltage, and the input current with variations in the input voltage. From Fig. 36.22, when the input voltage increases, the control signal pulses get reduced to maintain the output voltages at their required level. The other information gives the range of the control signal (i.e., 16%–50%) required for the working range of the DC-DC converter. A similar test case was conducted while the error of the system was observed. Fig. 36.23 shows four different test cases of variations of the error voltage and duty cycle with increase in the input voltage plotted together. The figure shows four variations of the error voltage with the control signal at 16%, 24%, 32%, and 40% duty cycle. For the 40% duty-cycle test case, the feedback network becomes active at an input voltage of 18 V. When the duty cycle was reduced to 32%, the feedback network becomes active at around 21 V of the input voltage. At 16% duty cycle, it was realized that the feedback network was not yet active at 36 V of the input voltage. This test case shows that when the feedback network is active, the error voltages are all below 2 V. Fig. 36.23 also gives the actual values of the error voltage and the control signals needed at each stage of the input voltage variations. A general rule from Fig. 36.23 will be “if the error voltage is high (i.e., max 6 V) and the change in error is zero (i.e., very small), then increase the control signal (i.e., duty cycle).” In Fig. 36.24, a 5 V output voltage level was tested for different constant control signals while increasing the input voltage. Four different test cases were conducted for duty-cycle values of 16%, 24%, 32%, and 40%. From the figure, it shows the various voltage levels at which the output voltage gets to the 5 V mark for the different duty cycles. It also shows that without any control, the output voltage will continue to increase without any bound. These experimental observations were in general very helpful in the design of the fuzzy-logic controller.

f36-22-9780128114070
Fig. 36.22 Optimum trajectories of the percentage duty cycle, the output voltage, and the input current with variations in the input voltage.
f36-23-9780128114070
Fig. 36.23 Variations of the error voltage with the control signal at 16%, 24%, 32%, and 40% duty cycle.
f36-24-9780128114070
Fig. 36.24 5 V output voltage level tested for different constant control signals.

36.11.1 Membership Functions and Rules Generation

The chief problem of the construction of the fuzzy controller is related to the choice of the regulator parameters. Certainly, there is no systematic procedure for the design of a fuzzy controller (membership functions and rules generation), and this section is devoted to the determination of the fuzzy sets and the linguistic rules. The number of the linguistic sets of the proposed controller has been determined using laboratory experimentation and the responses of the DC-DC converter that have been compared with different numbers of the fuzzy sets. The actual responses have been compared with three, four, five, and seven fuzzy sets. It has been found that the use of more than five linguistic sets does not improve the tracking accuracy of the DC-DC converters but in fact increases the computation time. Consequently, four linguistic sets, positive large (PL), positive small (PS), negative large (NL), and negative small (NS), have been chosen for the input variable voltage error, e(k), and three linguistic sets, positive medium (PM), zero (ZE), and negative medium (NM), have been chosen for that of the change in voltage error, Δe(k). Additionally, five linguistic sets, positive large (PL), positive small (PS), zero, negative large (NL), and negative small (NL), have been chosen for the output variable of the fuzzy controller structure. The fuzzy controller utilizes triangular membership functions on the controller input. The triangular membership function is chosen owing to its simplicity. For the change in voltage error, Δe(k), the initial values of the premise parameters (the corner coordinates of the triangle) are chosen so that the membership functions are equally spaced along the operating range of each input variable. The scaled input and output membership functions sets are shown in Figs. 36.25 through 36.27. The actual error measured from the feedback network ranges from 0.8 to about 6.0 V, while the control signal ranges from 16% to 50% duty cycle. The scaling factors ξ1=0.167si136_e and ξ2=0.01si137_e were determined using experimental tests in such a way that the normalized inputs e(k) and Δe(k) are well adapted to the universe of discourse [1,1]si138_e for any operating point. The linguistic control rules are established considering the dynamic behavior of the DC-DC converter and analyzing the error and its variation. To obtain control decision, the max-min inference method is used. It is based on the minimum function to describe the “AND” operator present in each control rule and the maximum function to describe the “OR” operator.

f36-25-9780128114070
Fig. 36.25 Input membership functions for the error, e(k).
f36-26-9780128114070
Fig. 36.26 Input membership functions for the change in error, Δe(k).
f36-27-9780128114070
Fig. 36.27 Output membership functions for the control signal.

The output of the fuzzy controller structure is crisp, and thus a combined output fuzzy set must be defuzzified. To express the qualitative action in a quantitative action, the sum-product composition method was used. It calculates the crisp output as the weighted average of the centroids of all output membership functions. The output of the controller can be expressed as

Oo=(mOmaCm×bCm)m(OmbCm)

si139_e

where aCm and bCm are the centers and widths of the output fuzzy sets, respectively, for m=1,,5si140_e. The values of the bCm s were chosen to be unity. This scaled output corresponds to the control signal (percent duty cycle) to be applied to maintain the output voltage at a constant value. Fig. 36.28 represents the normalized output Oo of the proposed fuzzy controller structure as a function of the error e(k) and the change of error Δe(k). It clearly illustrates the nonlinear characteristics of the proposed fuzzy controller structure.

f36-28-9780128114070
Fig. 36.28 Fuzzy control surface.

36.12 Adaptive Network-Based Fuzzy Control System for DC-DC Converters

Adaptive network architecture, ANFIS, and a learning algorithm by which the ANFIS could construct a desired input-output mapping are proposed. The basic structure of a converter topology with adaptive network architecture is given in Fig. 36.29. Both fuzzy-logic principles and learning functions of neural networks are employed together to construct the adaptive fuzzy-network inference system for the control topology. Initially, a basic fuzzy-logic controller is set up utilizing linguistic rules, and then numerical data is used for training the controller. The number of membership functions is chosen so as to cover the entire input space. The converter is represented by a “black box” from which we only extract the terminals corresponding to input voltage (Vi), output voltage (Vo), and controlled switch (S). From these measurements, the ANFIS provides a signal proportional to a percentage duty-cycle signal for a peripheral interface microcontroller, PIC16F877, which generates the converters' actual duty cycle.

f36-29-9780128114070
Fig. 36.29 Structure of a converter topology with adaptive network architecture.

36.12.1 Topology of the Neural-Fuzzy Controller (NFC)

The proposed ANFIS is a multilayer neural network-based fuzzy-logic controller. The network architecture is built, such that the designer recognizes the internal nodes as they relate to the components of fuzzy controller. The system has a total of five layers. The architecture of the network is shown in Fig. 36.30. The scaled input and output membership functions sets are shown in Figs. 36.336.5. The actual error measured from the feedback network ranges from 0.8 to about 6.0 V, while the control signal ranges from 16% to 50% duty cycle.

f36-30-9780128114070
Fig. 36.30 Network architecture-based topology.

36.12.1.1 Layer 1: Input Layer

Each node in this layer is an input node, which corresponds to one input variable. These nodes only bypass input signals to the next layer. The input variables are the output voltage error e(k)=Vo(k)Voref(k)si141_e and change in voltage error Δe(k)=[e(k)e(k1)]si142_e, respectively. The fuzzy sets proposed for the input variable voltage error, e(k), are positive large (PL), positive medium (PM), positive small (PS), and small (S) and that for the change in voltage error, Δe(k), are positive medium (PM), zero (ZE), and negative medium (NM). The output of the neuron i in layer 1 is obtained as

O1i=f1i(net1i)=net1i

si143_e

where netI1 is the ith input to the node of layer 1, namely, the error and the change in the error.

36.12.1.2 Layer 2: Input Membership Layer

Each node in this layer acts as a linguistic label of one of the input variables in layer 1, that is, the membership value specifying the degree to which an input value belongs to a fuzzy set is determined in this layer. The triangular membership function is chosen owing to its simplicity. For the change in voltage error, Δe(k), the initial values of the premise parameters (the corner coordinates of the triangle) are chosen so that the membership functions are equally spaced along the operating range of each input variable. Due to the nonlinearity in the converter, the triangular membership for the error, e(k), was slightly modified. The weights between the input and membership level are assumed to be unity. The output of neuron j in the second layer can be obtained as follows:

when (Xiaj)and(Xibj)si144_e

O2j=f2j(net2j)=(Xiaj)/(bjaj)

si145_e

else when (Xibj)and(Xicj)si146_e

O2j=f2j(net2j)=(Xicj)/(bjcj)

si147_e

where aj,bj, and cj are the corners of the jth membership function in layer 2 shown in Fig. 36.31 and Xi is the ith input variable to the node of layer 2, which could be either the value of the error or the change in error.

f36-31-9780128114070
Fig. 36.31 A single membership function.

36.12.1.3 Layer 3: Rule Layer

Each node in layer 3 multiplies the incoming signal and outputs the result of the product. The conjunction of the rule antecedents is evaluated by the fuzzy operation intersection, which is implemented by the product operator. Consequently, each node of this layer is a rule node that represents one fuzzy control rule. Each node takes two inputs: one from nodes A1–A4 and the other from nodes B1–B3 of layer 2. Nodes A1–A4 define the membership values for the voltage error, and nodes B1–B3 define the membership values for the change in voltage error. Accordingly, there are 12 nodes in layer 3 to form a fuzzy rule base for two input variables, with four linguistic variables for the input voltage error, e(k), and three linguistic variables for the input change in voltage error, Δe(k). The input/output links of layer 3 define the preconditions and the outcome of the rule nodes, respectively. The outcome is the strength applied to the evaluation of the effect defined for each particular rule. The output of neuron k in layer 3 is obtained as

O3k=f3k(net3k)=net3k,wherenet3k=jw3jky3j

si148_e

yj3 represents the j th input to the node of layer 3, and wjk3 is assumed to be unity.

36.12.1.4 Layer 4: Output Membership Layer

Neurons in this layer represent fuzzy sets used in the consequent of fuzzy rules. An output membership neuron receives inputs from the corresponding fuzzy rule neurons and combines them by using the fuzzy operation union. This was implemented by the maximum function. Layer 4 acts upon the output of layer 3 multiplied by the connecting weights. These link weights represent the output action of the rule nodes evaluated by layer 3. That output is given by

O4m=f4m(net4km)=max(net4km)

si149_e

and

net4km=O3kwkm

si150_e

where the count of k depends on the links from layer 3 to the particular mth output in layer 4 and the link weight wkm is the output action of the mth output associate with the kth rule. This level is essential in ensuring the system's stability and allowing a smooth control action.

36.12.1.5 Layer 5: Defuzzification Layer

Layer 5 is the output layer and acts as a defuzzifier. The single node in this layer takes the output fuzzy sets clipped by the respective integrated firing strengths and combines them into a single fuzzy set. The output of the neurofuzzy system is crisp, and thus a combined output fuzzy set must be defuzzified. The sum-product composition method was used. It calculates the crisp output as the weighted average of the centroids of all output membership functions.

Oo=f5o(net5o)=net5o

si151_e

and

net5o=(mO4m×aCm×bCm)m(O4m×bCm)

si152_e

where aCm and bCm for m=1,,5si140_e are the centers and widths of the output fuzzy sets, respectively. The values for the bCms were chosen to be unity. This scaled output corresponds to the control signal (percent duty cycle) to be applied to maintain the output voltage at a constant value.

36.12.2 Learning Algorithm

The only weights that are trained are those between layer 3 and layer 4 of Fig. 36.30. The back-propagation network is used to train the weights of this layer. The weights of the neural network were trained offline before they were used in the experimental setup. The learning algorithm used can be described in the following steps:

Step 1: Calculate the error for the change in the control signal (duty cycle) based on the type of the converter.

Eo=ToO5o

si154_e

where Eo,To, and Oo5 are the output error, the target control signal, and the actual control signal, respectively.

Step 2: Calculate the error gradient.

δm=Eo×f(O41,,O4m)δm=(ToO5o)×f(O41,,O4m)

si155_e

where

f(O41,,O4m)=mj=1O4j×aCjmj=1O4j

si156_e

and the partial derivative of f with respect to Om4 is given by

fO4m(O41,,O4m)=m1j=1jmO4j×(aCmaCj)(mj=1O4j)2

si157_e

where aCi for i=1,,5si158_e are the centers of the output fuzzy sets and Oj4 is the firing strength from node j in layer 4.

Step 3: Calculate the weight correction

Δwkm=η×δm×O3k

si159_e

to increase the learning rate, the Sejnowski-Rosenberg updating mechanism was used, which takes into account the effect of past weight changes on the current direction of the movement in the weight space. This is given by

Δwkm(t)=η×(1α)×δm×O3m+α×Δwkm(t1)

si160_e

where α is a smoothing coefficient in the range of 0–1.0 and η is the learning rate.

Step 4: Update the weights.

wkm(t+1)=wkm(t)+Δwkm(t)

si161_e

where t is the iteration number
The weights linking the rule layer (layer 3) and the output membership layer (layer 4) are trained to capture the system dynamics and therefore minimize the ripples around the operating point. The training results of the link weights are shown in Figs. 36.32 and 36.33.

f36-32-9780128114070
Fig. 36.32 Weight adaptations for the first set of six weights.
f36-33-9780128114070
Fig. 36.33 Weight adaptations for the second set of six weights.

In the initialization of the weights, wt5 and wt6 in Fig. 36.32 were set to a very small number of 0.001 with the initial assumption that those weights are almost redundant before the training begins. However, the neurofuzzy system was capable of correcting those assumptions. Weight wt5 finally converges to a positive value that indicates an excitatory rule weight, while wt6 converges to a negative number that is an inhibitory rule weight. Some of the weights change sign during the training process. Weight wt1 was initially set at a positive value but converges to a negative value that makes that rule weight inhibitory.

36.13 Summary

The presence of adaptive control via the EKF learning of the FNN control laws marks an improvement over the FL design. The motor drive over time is subject to experience degradation of mechanical parts or even electric characteristics, and the ability to automatically adapt the control laws to these changes is a feature that a nonadaptive fuzzy controller does not have. A genetic-based FPID controller and its integration with a classical PID in a global control scheme have been developed. Experimental results have shown excellent tracking performance of the proposed hybrid FPID controller and have convincingly demonstrated the usefulness of the FPID controller in high-performance drives with uncertainties. For the H-infinity-based controller, test results have shown that the proposed hybrid controller achieved good tracking performance and stable control, under loading conditions for a number of desired reference trajectories. The ability of the hybrid controller to achieve the tracking process with a high degree of accuracy, even in the presence of random disturbance, was also demonstrated, while the fuzzy application to the DC-DC converter topology showed considerable control performance over a wide range of operating conditions.

References

[1] Sant A., Rajagopal K.R. PM synchronous motor speed control using hybrid fuzzy-pi with novel switching functions. IEEE Trans. Magn. 2009;45(10):4672–4675.

[2] Hohan B.M., Sinha A. Analytical structure and stability analysis of a fuzzy PID controller. Appl. Soft Comput. 2008;8:749–758.

[3] Rubaai A., Castro-Sitiriche M.J., Ofoli A.R. DSP-based laboratory implementation of hybrid fuzzy-pid controller using genetic optimization for high performance motor drives. IEEE Trans. Ind. Appl. 2008;44(6):1977–1986.

[4] Kuo Y.-P., Li T.-H.S. GA-based fuzzy PI/PD controller for automotive active suspension system. IEEE Trans. Ind. Electron. 1999;46(6):1051–1056.

[5] Hu B.-G., Mann G.K.I., Gosine R. A systematic study of fuzzy PID controllers—function-based evaluation approach. IEEE Trans. Fuzzy Syst. 2001;9(5):699–712.

[6] Li H.-X., Zhang L., Cai K.-Y., Chen G. An improved robust fuzzy-PID controller with optimal fuzzy reasoning. IEEE Trans. Syst. Man Cybern. 2005;35(6):1283–1294.

[7] Masiala M., Vafakhah B., Salmon J., Knight A.M. Fuzzy self-tuning speed control of an indirect field-oriented control induction motor drive. IEEE Trans. Ind. Appl. 2008;44(6):1732–1740.

[8] Barut M., Bogosyan S., Gokasan M. Speed sensorless estimation for induction motors using extended Kalman filters. IEEE Trans. Ind. Appl. 2007;54(1):272–280.

[9] Szabat K., Orlowska-Kowalska T. Performance improvement of industrial drives with mechanical elasticity using nonlinear adaptive Kalman filter. IEEE Trans. Ind. Electron. 2008;55(3):1075–1084.

[10] Ahn K.K., Truong D.Q. Online tuning fuzzy PID controller using robust extended Kalman filter. J. Process Control. 2009;19:1011–1023.

[11] Lary D.J., Mussa H.Y. Using an extended Kalman filter learning algorithm for feed-forward neural networks to describe tracer correlations. Atmos. Chem. Phys. Discuss. 2004;4:3653–3657.

[12] Singhal S., Wu L. Training feedforward networks with extended Kalman Filter algorithm. In: Proc. International Conf. ASSP; 1989:1187–1190.

[13] Ho S.-J., Shu L.-S., Ho S.-Y. Optimizing fuzzy neural networks for tuning PID controllers using an orthogonal simulated annealing algorithm OSA. IEEE Trans. Fuzzy Syst. 2006;14(3):421–434.

[14] del Campo I., Echanobe J., Bosque G., Tarela J.M. Efficient hardware/software implementation of an adaptive neuro-fuzzy system. IEEE Trans. Fuzzy Syst. 2008;16(3):761–778.

[15] Uddin M.N., Rahman M.A. Development and implementation of a hybrid intelligent controller for interior permanent-magnet synchronous motor drives. IEEE Trans. Ind. Appl. 2004;40(1):68–76.

[16] Rubaai A., Kotaru R. Neural net based robust controller design for brushless DC motor drives. IEEE Trans. Syst. Man Cybern. 1999;29(3):460–473.

[17] Chen B.S., Lee C.H., Chang Y.C. H ∞ tracking design of uncertain nonlinear SISO systems: adaptive fuzzy approach. IEEE Trans. Fuzzy Syst. 1996;4(1):32–43.

[18] Balestrino A., Landi A., Sani L. CUK converter global control via fuzzy logic and scaling factor. IEEE Trans. Ind. Appl. 2002;38(2):406–413.

[19] Vidal E., Martine L., Guinjoan F., Calvente J., Gomariz S. Sliding and fuzzy control of a boost converter using an 8-Bit microcontroller. Proc. IEEE Elect. Pow. Appl. 2004;151(1):5–11.

[20] Alvarez J., Cervantes I., Espinosa G., Maya P., Morales A. A stable design of PI control for DC-DC converters with an RHS zero. IEEE Trans. Circuits Syst. 2001;48(1):103–106.

[21] Principe J., Euliano N.R., Lefebvre W.C. Neural and Adaptive Systems. New York: John Wiley & Sons; 2000.

[22] Jang J.S.R., Sun C., Mizutani E. Neuro-Fuzzy and Soft Computing. Englewood Cliffs, NJ: Prentice Hall; 1997.

[23] Bloom G.E. IMAGINE, a Converter Kit for Exploring the Fascinating World of Integrated-Magnetic Concepts. 1991 San Rafael, CA.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.12.240