Fuzzy logic speed control of an induction - Fuzzy logic...  Fuzzy logic speed control of an...

download Fuzzy logic speed control of an induction - Fuzzy logic...  Fuzzy logic speed control of an induction

of 12

  • date post

  • Category


  • view

  • download


Embed Size (px)

Transcript of Fuzzy logic speed control of an induction - Fuzzy logic...  Fuzzy logic speed control of an...

  • Fuzzy logic speed control of an induction motor

    Jaime Fonseca*, Joao L. Afonso, Julio S. Martins, Carlos Couto

    Department of Industrial Electronics, Minho University, Largo do Paco, 4709-Braga Codex, Portugal

    Received 30 January 1998; received in revised form 31 August 1998; accepted 7 October 1998


    This paper describes the use of fuzzy logic techniques to control the speed of a three-phase induction motor. The use of Matlab/Simulinkand fuzzyTECH MCU96 as software development tools for system design is emphasised. Hardware implementation is based on a standard16/32-bit microcontroller, without the need of any additional components for the fuzzy logic controller. The system performance is evaluatedin comparison with a traditional PI control scheme. Both simulation and experimental results are presented. q 1999 Elsevier Science B.V.All rights reserved.

    Keywords: Real-time control; Fuzzy logic; Induction motor; Slip control

    1. Introduction

    Fuzzy logic control is one of the most interesting fieldswhere fuzzy theory can be effectively applied. Fuzzy logictechniques attempt to imitate human thought processes intechnical environments. In doing so, the fuzzy logicapproach allows the designer to handle efficiently verycomplex closed-loop control problems, reducing, in manycases, engineering time and costs [1,2]. Fuzzy control alsosupports nonlinear design techniques that are now beingexploited in motor control applications [3,4,5]. An exampleincludes the ability to distribute gain over a range of inputsin order to avoid the saturation of the control capability.Software based implementations of these techniques havebeen mainly used in industrial automation for relativelyslow processes. Fast fuzzy control usually requires the useof a specific hardware processor.

    Initially fuzzy control was found particularly useful tosolve nonlinear control problems or when the plant modelis unknown or difficult to build. In this article it will beshown that these techniques can also be useful in applica-tions where classical control performs well. Fuzzy Logicallows a simpler and more robust control solution whoseperformance can only be matched by a classical controllerwith adaptive characteristics, much more difficult to imple-ment.

    This article reports work that is being done in order toapply fuzzy techniques to control the speed of an inductionmotor. A conventional PI slip controller, implemented with

    a standard microcontroller, was used as a reference and as astarting point. The goal here is, by simple software modifi-cation, to replace the PI scheme by a fuzzy controller and tryto improve its performance. Attention will be focused on theuse of software development tools that support fuzzy andneurofuzzy design (fuzzyTECH), and simulation (Matlab/Simulink), rather than on the details of induction motorcontrol.

    From the application of fuzzy control arises twoproblems: how to select the fuzzy control rules and howto set the membership functions. Two approaches arenormally used to accomplish this task. One consists ofacquiring knowledge directly from skilled operators andtranslate it into fuzzy rules. This process, however, can bedifficult to implement and time-consuming. It happens quiteoften that the operator is not able to express his knowledgeof the process explicitly and accurately. As an alternativefuzzy rules can be obtained through machine learning tech-niques, where the knowledge of the process is automaticallyextracted or induced from sample cases or examples. Manymachine learning methods developed for building classicalcrisp logic systems can be extended to learn fuzzy rules. Arecently very popular machine learning method is ArtificialNeural Networks (ANN), which have been developed tomimic biological neural systems in performing learningcontrol and pattern recognition. Another machine learningmethod is the Genetic Algorithms (GA) approach intro-duced by Holland [6]. Genetic algorithms are adaptive andprobabilistic search algorithms, based on natural selectionand natural genetics.

    The use of these self-learning techniques were tried for

    Microprocessors and Microsystems 22 (1999) 523534

    MICPRO 1257

    0141-9331/99/$ - see front matter q 1999 Elsevier Science B.V. All rights reserved.PII: S0141-9331(98)00110-0

    * Corresponding author. Tel.: 51 53 615010; fax: 351 53 615046.

  • this case but the results were not yet very convincing, andfor that reason will not be covered in this contribution.Because this is a well-known control case the fuzzy controlrules and the membership functions were selected based onempirical methods.

    This article is organised as follows: Section 2 introducesthe induction motor slip control scheme, Section 3 describesthe use of development tools in system design, in Section 4simulation results are presented, while experimental resultsare reported in Section 5, with conclusions in Section 6.

    2. The induction motor speed control

    2.1. Slip control

    With the exception of high performance drives, inductionmotor speed can be controlled through a simple slip controlscheme like the one presented in Fig. 1 [7,8]. The machine isfed by a voltage-source pulse width modulated (PWM)inverter (block C), which is a power converter that producesthree phase AC voltages that can be varied both infrequency and amplitude. Rotor speed v is measuredusing a digital tachometer (T) and compared with speedreference v ref.

    Assuming that fast response is not required, a linearapproximation of the induction motor steady state modelcan be used [9]. The motor output torque is almost

    proportional to the slip frequency v r, which is the differencebetween the motor supply frequency v s and motor speed.However, slip frequency must be limited so that the motormodel is valid. In doing so, a limit to both peak torque andstator current is indirectly set.

    In this conventional control scheme, the speed error(ve vref 2 v) is input to a PI controller (block A)which sets the motor slip frequency. PID controllers areusually avoided because of the noise generated by thecommutation of the inverter switches. Stator frequency isobtained by adding the slip frequency to rotor speed, andstator voltage (Us) is set accordingly to a predefinedUs=vs < constant law (block B), so that motor flux is keptat its nominal value. Voltage and frequency values are theninput to the voltage source inverter.

    This article presents an alternative to the implementationof the controller block A using fuzzy logic. Both approachesare detailed and evaluated in the following pages.

    2.2. The drive arrangement

    A 1 kW three-phase induction motor fed by a voltagesource type inverter was used in the experiments. The inver-ter was implemented using a 6 IGBT power module, Astandard Intel 80C196KD microcontroller performs thecontrol algorithm and generates the PWM waveforms forthe IGBT motor drive inverter.

    The system control hardware is based on the 196KD

    J. Fonseca et al. / Microprocessors and Microsystems 22 (1999) 523534524

    Fig. 1. Slip control scheme for an induction motor voltage-source inverter drive.

    Fig. 2. Simplified diagram of the hardware implementation.

  • Target Board Rev1.2. It is a simple development kit fromINTEL, which includes a 20 MHz 80C196KD microcon-troller, 32 kB of RAM, a ROM for a small monitor, and aserial interface. No fuzzy processors or any other specifichardware was used to implement the fuzzy logic controller.As shown in Fig. 2 very little extra circuitry was added tothe Target Board: just two circuits, one to interface with theIGBT power inverter (Inverter Interface) and another tointerface with the digital tachometer (Encoder Interface).The Inverter Interface circuit receives PWM signals (TTLlevels) from the microcontroller and produces compatibledriving signals to the PWM Inverter (IGBT power module).This circuit is also responsible for adding dead times to thedriving signals, to avoid short-circuits through IGBTs of asame branch of the PWM inverter.

    The Encoder Interface circuit receives the tachometersignals and makes them suitable for the microcontrollerdigital inputs.

    A terminal can be connected to the system through themicrocontroller serial port to set the speed reference and tomonitor some of the control variables.

    2.3. Software structure

    The software structure can be described according to theflow chart presented in Fig. 3. After the initialisation ofsome internal variables, there is an endless loop where thespeed reference is read and the motor speed is acquired fromthe tachometer. The speed error (the difference betweenreference speed and motor speed) is then computed andused as input to the slip controller (fuzzy logic or PI control-ler). The controller sets the motor slip frequency whichallows the amplitude and frequency voltage to be computedaccording to the block diagram in Fig.1. These values areinput to the software module that synthesises the PWMwaveforms. Finally, some relevant control variables aredisplayed for monitoring purposes.

    The main objective of this article is the slip controllerblock implementation, which will be discussed in the nextsections. The code for this block was automatically gener-ated by fuzzyTECH (for the case of the fuzzy controller).This code includes the fuzzification of the input variables,the inference process (execution of the activated rules), andthe defuzzification process (production of the output vari-able). The PI controller was implemented using C language.

    The main control loop, which performs the data acquisi-tion, the fuzzy controller and the PWM waveform genera-tion, runs within 5.1 ms sampling time in the 80C196KDmicrocontroller with a 20 MHz clock. The fuzzy slipcontroller execution time for the same processor is 2.5 ms.

    All the other