Professional Documents
Culture Documents
Fuzzy Logic has been employed to control temperature by varying ON-time of heater through PPI 8255. Thermister is
used as a temperature sensor forming the resistive component of RC-Timer of IC 555 operated in novel Astable mode. The
actual temperature is read as a function of frequency and compared with corresponding count of set-point temperature. The
error-count is used to trigger the Fuzzy Inference process. This develops an overall duty for heater control that maintains the
temperature of furnace to the set value. The hardware implementation followed by flow chart depicting the software
approach has been given. The results are satisfactory when the duty cycle is around 50%.
Introduction kit with built-in port (IC 8255) and Counter/Timer (IC
Many chemical reactions, industrial processes and 8253) and Dimmerstat of Automatic Electric Ltd,
experiments require temperature to be maintained at Bombay, 0-230V AC, 15 A output (Fig. 2). Furnace
predetermined value1-3. There are many modes to (resistance, 10 Ω; operating voltage, 50 Volts; power,
regulate the temperature like ON/OFF, Proportional 250 W) is made up of aluminium chassis with ceramic
Derivative (PI), and Proportional Integral Derivative inside (Fig. 3). IC-555 used in a novel astable mode
(PID). Of late, Fuzzy Logic Control (FLC) has with thermister in the timing network forms the
become very popular over the Conventional Control sensor part. The output (pin-3) of IC-555 goes to the
Logic (CCL), mainly because the process of FLC is interrupt RST 7.5 used to count the pulses as function
simply to put the realization of human control of temperature.
strategy, where CCL heavily relies on the mathe-
matical formulations. In this study, FLC was used for (a) Micro Processor based Control Circuit
temperature control using microprocessor for a small Present experiment used 8085-based circuit to
furnace. implement the fuzzy controller. The I/O 8255 has
been used for the heater control operation while the
Fuzzy Control System and its Design temperature in the form of count was measured using
FLC incorporates temperature control4 as fuzzy the interrupt RST 7.5.
relation between the present temperature to be con-
trolled and the set-point (Fig. 1). The essence of (b) Zero Crossing Detector
Fuzzy Control Algorithm is the conditional statement In order to fire Triac exactly at zero point of the
between fuzzy input variable (present furnace tem- AC cycle, zero crossing detector has been employed
perature) and fuzzy output variable (heater current). (Fig. 4).
Table 2Fuzzy variable for temperature Fig. 6Fuzzy membership function for temperature
S No Crisp input rangen Fuzzy variable name
°C
1 30 - 40 VVL
2 30 - 50 VL
3 40 - 60 L
4 50 - 70 LL
5 60 - 80 ML
6 70 - 90 N
7 80 - 100 H
Fig. 7Fuzzy membership function for count as temperature
sense
Table 3Fuzzy Variable for temperature sense
S No Crisp input range for count Fuzzy variable name Since temperature is sensed in terms of count, the
% crisp inputs to fuzzy controller are counts received by
1 104 - 123 VVLC controller. The following fuzzy sets for count have
2 104 - 138 VLC been used: VVLC, very very low count; VLC, very
3 123 - 152 LC low count; LC, low count; LLC, little low count; MC,
4 138 - 164 LLC medium count; NC, normal count; and HC, high
5 152 - 171 MC count (Table 3, Fig. 7).
6 164 - 180 NC
7 171 - 180 HC Step-3: Fuzzy Membership Functions for Outputs
Present study considered typically one output
time (20-80%) to control the heater circuit (Table 1). variable, which is percent duty cycle. It is necessary
Input temperature is sensed by thermister, which is to assign fuzzy memberships to output variable,
connected in novel astable multivibrator whose fre- similar to input variable. The following fuzzy sets
quency varies as a function of temperature. The count have been used for percent duty cycle: VVLD = very
corresponding to a particular temperature is measured very large duty cycle, VLD = very large duty cycle,
with the help of a microprocessor-based circuit and LD = large duty cycle, LLD = little large duty cycle,
the same is stored in a memory location. Micro- MD = medium duty cycle, ND = normal duty cycle,
processor acts as a FLC. Thus, count acts as an input SD = small duty cycle (Table 4, Fig. 8).
variable to FLC. By using rule base, FLC decides
output variable, which is percentage duty cycle. Step-4: Knowledge Representation
The temperature control policy is structurally
Step-2: Fuzzification of Input Variable formulated in terms of fuzzy-rules. The relevant
Input to FLC is temperature sensed. Triangular information of rules is stored in the database. Thus
membership functions have been used to fuzzify the knowledge base consists of Rule Base and Database.
input. For fuzzifier program, it is necessary to The Database contains the following information: (1)
determine range of fuzzy variables related to the crisp Labels of linguistic variables; and (2) Operating range
inputs. Temperature sensed as input variable is of variable.
restricted to positive values. The following fuzzy sets
have been used: VVL =very very low, VL=very low, Rule Base
L= low, LL=little low, ML= medium low, N= normal, The control policy of heater is structurally
H= high (Table 2, Fig. 6). formulated in terms of fuzzy rules as follows:
HANAMANE et al.: FUZZY TEMPERATURE CONTROL USING MICROPROCESSOR 145
Table 4Fuzzy variable ranges for output % Duty cycle determined by fuzzification. Activation of each fuzzy
input variable will cause different fuzzy output rule to
S No Crisp input Fuzzy variable Fuzzy
range range for variable fire.
of temp. output name
°C % Step-5: Defuzzification of the Outputs
1 30 - 40 75 - 70 VVLD In order to control the duty cycle, a crisp tempera-
2 30 - 50 75 - 65 VLD ture reading is required. To arrive at single crisp
3 40 - 60 70 - 69 LD output, there are several methods of defuzzification.
4 50 - 70 65 - 55 LLD To obtain crisp value of duty cycle from clipped fuzzy
5 60 - 80 60 - 50 MD set, a height defuzzification has been employed
6 70 - 90 55 - 40 ND (Fig. 9). The crisp-duty cycle is given by:
7 80 - 90 50 - 40 SD q
∑P
r =1
(r )
m h(r )
If the temperature is Then Duty cycle is D* = q
H SD ∑h
r =1
(r )
N ND
ML MD where, q = number of fuzzy rules fired, Pm(r) = Peak
LL LLD value of rth clipped fuzzy set, and h(r) = height of rth
L LD clipped fuzzy set.
VL VLD
VVL VVLD Results and Discussion
The temperatures in case study are as follows: set
Here output and input to fuzzy rule base are fuzzy temperature, 80°C; and current temperature, 42.5°C.
variables. For any crisp input value, there may be For Rule Base, if temperature is L, duty cycle is LD;
fuzzy membership in several fuzzy input variables and for temperature VL, duty cycle is VLD.
146 J SCI IND RES VOL 65, FEBRUARY 2006
Rule Fired
Temperature VL with degree of satisfaction (DOS) = 0.72
Duty cycle VLD with DOS = 0.72
Temperature L with DOS = 0.28
Duty cycle LD with DOS = 0.28