Icee2013 Submission 85

download Icee2013 Submission 85

of 9

Transcript of Icee2013 Submission 85

  • Design and Fuzzy Logic Control Implementation for Embedded Systems Using Microcontrollers.

    Application for Drive two Electric Furnaces.

    H. FEKHAR and A. KHELASSI

    Laboratory of applied automation Faculty of hydrocarbons and chemistry

    Boumerdes University E-mail :[email protected], [email protected]

    Abstract : This article describes the application of the microcontroller by using fuzzy logic algorithm

    to drive two electric furnaces. The first part of the paper consists of presentation hardware device.

    We have five distinct sections. A Pic18f4620 microcontroller, keypad unit, electronic drivers and

    alphanumeric liquid crystal display(LCD). The keypad allows the user to input the required

    temperatures and controllers parameters. The LCD display allows a better user interface with text

    message, measurement of physical variables and display all controllers parameters. The external

    integrated circuit is used to drive a power amplifier (SSR) .The software was written in C

    language dedicated for microcontrollers. A fuzzy logic control approach has been proposed to

    control the temperature of furnaces. This algorithm is implemented to reduce the performance

    degradation due to parameters variations and disturbances.

    Keywords: Microcontroller, keypad, sensor, shift registers, implementation, fuzzy logic control

    1.Introduction

    The use of microcontrollers with a closed loop

    control incorporating fuzzy logic has been

    developed for a class of industrial

    temperature control problem [1]. Fuzzy logic

    control(FLC) has been rapidly gaining

    popularity among practicing engineers. This

    increased popularity can be attributed to

    2. Hardware description [2]

    In this part we present the system hardware.

    The system is composed of PIC board,

    integrated circuits, two electric furnaces,

    sensors and software package.

    The overall system hardware is shown in

    figure1.It consist of the following sub systems:

    -(1) is microcontroller pic 18F4620 with flash

    the fact that fuzzy logic provide a powerful

    vehicle that allows engineers to incorporate

    human reasoning in the control algorithm. The

    use of microcontrollers is in full expansion

    nowadays. This embedded system has been

    used in many industrial applications.

    Currently these devices with programmable

    memory and many ports with Alternate

    function pins facilitate the connection to

    external devices. This present paper consists

    to develop the embedded system using

    Microchip PIC18F4620 to control two electric

    furnaces. Fuzzy microcontroller PIC is used for

    the implementation.

    -(2) and ( 3) are the CMOS 4094 serial in

    parallel out shift register. This IC is used to

    control DAC0800[3]. Its inputs require three

    lines (pins rd0 , rd1 and rd2).

    (4) and (5) are the DAC0800(digital to analog

    converter). These circuits are used to drive

    power amplifiers.

    (6) and (7) represent the power source to

    heater actuated by a solid state relay(SSR)

    -(10), (11) and (12) are temperatures

    sensors(AD590 and Pt100) and measurement

    amplifiers. These devices produces 100 mv/C.

    -(14) and (15) represent the 16 buttons

    keypad and LCD display. These devices provide

  • an Interface between the user and the

    Microcontroller development system. The

    keyboard allows the user to input the required

    temperatures and other operating parameters

    as required by the application program. The

    LCD module displays all controllers

    parameters.

    3.Design and implementation of fuzzy

    controller [4 ,5 ,6 ].

    3.1.Fuzzy controllers structure.

    Fuzzy logic has been found to be very suitable

    for embedded control application. The bloc

    diagram is presented in figure2.

    The three principal elements to a FLC are:

    - Fuzzification module

    Rule base and inference engine.

    Defuzzification module.

    A.Fuzzification .

    On of the key part in the design of FLC is

    choosing the number of fuzzy sets. The inputs

    are the errors (e1, e2) between the references

    (Rf1 , Rf2) and actual temperatures ( Tm1,

    Tm2) and the changes in errors ( Ce1 , Ce2).

    The variables can be expressed as fellows:

    e1(k) = Rf1(k) Tm1(k) (1)

    e2(k)= Rf2(k) Tm2(k) (2)

    Ce1(k)=e1(k)-e1(k-1) (3)

    Ce2(k)=e2(k)-e2(k-1) (4)

    Where (k) is the time index.

    The representation of the variables in

    terms of per unit values permits flexibility

    in design and tuning of controller. The

    following normalized equations can be

    written

    e1n(k)=Ge1*e1(k) ( 5)

    e2n(k)=Ge2*e2(k) (6)

    Ce1n(k)=Gd1*Ce1(k) (7)

    Ce2n(k)=Gd2*Ce2(k)(8)

    Ge1, Ge2, Gd1 and Gd2 define the scaling

    factors respectively errors and change of

    errors. The universe of discourse for errors

    and the change errors may be normalized

    from -1 to 1. The changing of scaling

    factors , changes the normalized universes

    of discourse. These parameters are used

    for tuning the Fuzzy-Logic-Controllers

    (FLC1 and FLC2).The most popular choices

    for the shape are the membership

    functions (MF) include triangle-trapezoidal

    function. For symmetrical (MF) there are

    some optimal values for the cross-point

    level and ratio. Each two adjacent MF

    have a cross-point level 0.5, this

    provides for significantly less overshoot,

    faster rise-time and less undershoot. This

    MF are chosen owing to the simplicity. In

    this paper, for errors and change errors

    seven fuzzy levels are defined as:

    fellow(figure 3):

    NB(negative big)

    NM(negative medium)

    NS(negative small)

    ZE(zero equal)

    PS(positive small)

    PM(positive medium)

    PB(positive big).

    Each MF are labeled A1(e1n),B1(Ce1n)

    A2(e2n) B2(Ce2n).

    Where A1, A2, B1, B2 define MF errors

    and change errors respectively.

    B.Inference rule and defuzzification

    In the fuzzy logic control the most

    commonly used method for inferring the

    rule output is so-called Mamdanis

    method. For a Mamdani-type FLC fuzzy

    rules are in the form:

    Ri :if en is A1 and en is Bi then un is Ci

    where Ai and Bi are fuzzy subsets in their

    universe of discourse and Ci is a fuzzy

    singleton. In this paper each universe of

    discourse is divided into seven fuzzy

    subset (NB NM NS ZE PS PM PB).The

  • inference result of each rule consist of two

    parts, the weighting factors (Wi) of the

    individual rule and degree of change in

    duty ratio (Ci) according to the rule. (Wi) is

    obtained by mean of product[6 7].

    The expert experience (figure4) has been

    incorporate into a knowledge base with

    7x7 rules. The inferred output of each rule

    are :

    Wi1 =A1(e1n)*B1(Ce1n) (8)

    Wi2=A2(e2n) * B2(Ce2n) (9)

    Zi1=Wi1 * Ci1 ( 10 )

    Zi2 = Wi2 *Ci2 ( 11)

    Where Zi1, Zi2 denote the fuzzy

    representation of change in duty ratio

    inferred by the ith rule. Index 1 and 2

    denote the furnace N1 and N2.The

    defuzzification operation is performed

    next to obtain a crisp result. Here the

    center of gravity (COG) method is

    preferred.

    u1n = / (12)

    u2n = (13)

    where u1n and u2n are the results of

    change in duty ratio. The outputs un is

    incremental command. It is apparent that

    FLC1 and FLC2 are integral-type fuzzy

    controllers and force the steady-state

    temperatures error to zero. Consequently

    we have;

    U1(k)=u1(k-1)+Gu1*u1(k) (14)

    U2(k)=u2(k-1)+Gu2*u2(k) (15)

    3.2.Control Implementation

    The microcontroller Pic18f4620 is used for

    the experimental application [7,8]. Pic

    with this feature provide 10-bit conversion

    giving a resolution of 1 to 1024.This is

    good enough for all but the most

    demanding applications (Pic incorporates

    13 multiplexed A/D channel and running

    at 40 Mhz).The CPU is driven by the

    software instructions to perform specific

    tasks. The instructions are written in high-

    level language C dedicated for

    microcontrollers.

    DACs gives outputs U1(k) and U2(k).

    In our case we adopted serial-in/parallel

    out technique by using CMOS4094 shift

    registers.

    The idea is to put the serial data on

    the input line, LSB first(pin rd0) and

    clock(pin rd1) the shift registers 16

    times(for 2*8 bit registers), stop

    (pin rd2) and read the parallel data from

    the Q0 to Q15 outputs. After 16 clocks

    pulses all 16 serial data bits have shifted

    In their appropriate pin. After initialization

    of the software, the steps for temperature

    control can be summarized as fellows:

    -The user enters command/dat, set points

    (Rf1, Rf2) and parameters FLC1 and FLC2

    (ge1, Ge2, gde1, gde2, Gu1 and Gu2).The

    pic has to scan the keys regularly and

    check the keypad. If the key is pressed, the

    routine under execution display its

    response on the LCD.

    -The program has measure the physical

    variables(temperature Tm1,Tm2) by using

    the feedback sensors via 10 bits

    multiplexed A/D converter. The time

    acquisition(clock-conversion) equal fosc/2.

    The system operates on the average

    temperature reading from three sensors

    to give a more accurate representation of

    the overall temperature in the enclosure.

    -if a particular key is pressed, the CPU

    calculates the outputs control U1 and U2

    than send the command via CMOS4094-

    DACS.The scaling factors and sample

    period Ts can be modified by using the

  • appropriate keys for tuning the FLC1 and

    FLC2.

    In our implementation the total length of

    the fuzzy algorithm code is 29 kb which is

    54 % of the picc program memory. There

    still remain 35 kb of the Pic18f4620

    program memory, that are available for

    others purposes.

    4.Experimental results

    In this section, an experiment is set up to

    demonstrate the performances of the FLC.

    Execution of the software that we have

    developed and implemented allows us to

    plot the graphs in a digital scope. Figure(8)

    shows the experimental results of the

    proposed FLC. In this figure the

    temperature-response and output

    command of the furnace1 and Furnace2

    are represented. The first test is related to

    starting the command. A time responses

    of about 760s(furnace1) and

    275s(furnace2) Is observed during the

    starting period.

    The controllers tracks the commanded

    temperatures reasonably well with a small

    Steady-state errors. The second test

    examines the disturbance rejection

    capabilities of each controller between

    370s and 470s.The FLC quickly return the

    Temperature to the set point within 10s .

    5 Conlusion

    A Fuzzy Logic Control(FLC) approach has

    been proposed to control the temperature

    of electric furnaces. The microcontroller

    PIC18F4620 is used for the

    implementation. To test and demonstrate

    the effectiveness of the proposed control,

    a prototype experimental setup has been

    developed (figure 6 , and figure7).

    Implementation of fuzzy logic control

    algorithm in embedded microcomputers

    for dedicated application has shown good

    control.

    References

    [1]G.S.Nhivekar ,S.S.Nirmal,R.R.Muldhoker

    International journal of engineering

    science and technology V3 N4 2011

    pp276-283

    [2] H.Fekhar Application of the

    Microcontrollers for embedded systems

    Using an anti-windup P.I controllers .

    The 6th international symposium on

    hydrocarbons & chemistry Algier oct 2012.

    [3] W.Kleitz Digital electronics.A practical

    approach .Prentice-hall sixth edition 2003

    [4]R.R.Yager,D.P.Filev;Essential of fuzzy

    modeling and control .John wiley & sons

    1994.

    [5] B.K.Bose,G.C.D.Souza;A fuzzy set

    theory based control of a phase-controlled

    converter D.C machine drive;IEEE trans on

    indust applic V30 N1 Jan/fev 1994

    pp 34-44.

    [6] H.Buhler;Rglage par logique floue

    Presses polytechnique romandes 1994

    [7] J.Parab, S.A.Shinde,Practical aspect of

    embedded systems design using

    microcontrollers ,Springer Science 2008.

    [8]A.V.Deshmukh .Microcontrollers theory

    and applications.Tata McGraw-hill New-

    Delhi 2005.

    [9]A.M.Ibrahim ;Fuzzy logic for embedded

    systems applications Elsevier Science 2004

    (u.s.a)

  • (6) (8) (10)

    (7)

    (12) (9)

    (13)

    Rf(k) Figure 1. Schematic diagram

    microcontroller en

    Pic18f4620 Uout

    un(k) un(k)

    - Cen

    -Tm(k)

    Figure 2. Block diagram fuzzy logic controllers ( FLC1 and FLC2)

    (1)

    PB

    P

    I

    C

    1

    8 rd0

    F rd1

    4 rd2

    6

    2

    0

    pc

    ra0

    ra1

    6

    2

    (13) L C D

    Display

    4094

    (2)

    4094

    (3)

    Keyboard

    (14)

    DAC1

    (4)

    DAC2

    (5)

    (11)

    1/z Gde1,

    2

    Ge1,2

    FLC1

    And

    FLC2

    1/Z

    Gu

    P

    L

    A

    N

    T

    sensors Signal

    conditionning

    ADC

  • Figure 3. Membership function error (e1n,e2n) and change error (Ce1n,Ce2n)

    Figure 5 Membership functions Outputs u1n(k) and u2n(k)

    Figure4. Rule base for (u1n) and (u2n)

  • Figure 6. Furnace N1 Sensors PIC18F4620 Conditionning circuit Lcd display

    Electronics drivers (CMOS4094-DAC ) Keypad Furnace N2

    Figure 7. Fuzzy Microcontroller Board

  • (a) Starting periode (b) Disturbance rejection

    Output control-temperature,Temperature response, Disturbance, Output control

    Rf1=75 C ,Rf2=50C, Ge1=Ge2=0.01, Gde1=Gde2=0.01,Gu1=Gu2=150,

    Figure 8. Graphs control-Temperatures