arm7 microcontroller based fuzzy logic controller for liquid level

advertisement
INTERNATIONAL JOURNAL OF ELECTRONICS AND
COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
ISSN 0976 – 6464(Print)
ISSN 0976 – 6472(Online)
Volume 4, Issue 2, March – April, 2013, pp. 217-224
© IAEME: www.iaeme.com/ijecet.asp
Journal Impact Factor (2013): 5.8896 (Calculated by GISI)
www.jifactor.com
IJECET
©IAEME
ARM7 MICROCONTROLLER BASED FUZZY LOGIC CONTROLLER
FOR LIQUID LEVEL CONTROL SYSTEM
L. Shrimanth Sudheer, Immanuel J., P. Bhaskar, and Parvathi C. S.
Department of Instrumentation Technology,
Gulbarga University Post Graduate Centre,
RAICHUR –584133, Karnataka, INDIA,
ABSTRACT
Design and construction of a microcontroller based liquid level control system is
presented in this paper. ARM7 (Philips LPC2129) microcontroller based system for the real
time liquid level control is developed using the fuzzy logic controller (FLC). This controller
has been applied to the water-in-tank level control of a continuous process. The controller is
implemented in embedded C language to control the liquid level to the desired value. The
performance of the proposed controller is compared with conventional PID controller. An
accuracy of ±.1% is achieved in the control of liquid level over the range of 0 to 100cm. It is
observed that the proposed scheme controls the tank level effectively not only in the steady
state but also in the transient state.
Keywords: ARM7, FLC, Liquid Level, Microcontroller.
1.
INTRODUCTION
The nonlinear systems are frequently encountered in the process industries. Level of
liquid being an important process parameter has to be maintained at the desired level for
smooth running of the process and for better quality products. There have been many papers
reported on the subject of controlling and monitoring liquid level in different industrial
processes. M. Wang and F. Crusca [1] designed and implemented a gain scheduling
controller for water level control in a tank. It was observed that the system achieved a better
performance over the conventional controllers like P, PI, and PID. W. Zhang et al [2]
proposed a new two-degree-of-freedom level control scheme for processes with dead time T.
Heckenthaler and S. Engell [3] developed level controller for a nonlinear two-tank system
based on fuzzy control. Similarly, application of fuzzy logic for water level control of small217
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
scale hydro-generating units was reported by T. Niimura and R. Yokoyama [4]. The recent work
by W. Chatrattanawuth et al [5] reported a level control system using a fuzzy I-PD controller.
Their simulation results shown that fuzzy I-PD controller performed better over conventional
controller. C. Li and J. Lian [6] reported the application of genetic algorithm in PID parameter
optimization for level control system. They simulated the proposed strategy on MATLAB and
later tested using LabVIEW. Another LabVIEW based water level control is also reported by L.
Gao and J. Lin [7]. The DCS based water level control of boiler drum is reported by Y. Qiliang et
al [8]. A similar work is also reported by H-M Chen et al [9]. They designed a sliding mode
controller for a water tank liquid level control system.
Few authors reported various schemes and their implementation on different platforms
such as PC/uP/DSP. Some of the reports were also based on simulation. But an attempt is made
here to implement a fuzzy logic control algorithm on a microcontroller for real time level control
of a water-in-tank system. This approach will reduce the cost and space of the system. We will
address this issue by employing an advanced ARM7TDMI (PHILIPS LPC2129) processor.
2.
DESIGN OF FUZZY LOGIC CONTROLLER
As the name itself suggests, a fuzzy logic controller incorporates fuzzy logic for decision
making or rather to produce control action as required by the plant or process [10]. FLCs are
knowledge based controllers consisting of linguistic “IF-THEN” rules that can be constructed
using the knowledge of experts in the given field of interest. A two input and one output fuzzy
logic controller is designed as shown in the Fig. 1. The error (e) and change-in-error (ce) are the
two inputs, and control action (ca) is the corresponding output of the FLC. A triangular
membership function with seven members (linguistic variables) termed as negative large (NL),
negative medium (NM), negative small (NS), zero error (ZE), positive small (PS), positive
medium (PM), and positive large (PL) are used to map the crisp input to universe of discourse (-1
to +1). The universe of discourse is the range over which the fuzzy variables are defined. The
control rules are constructed to achieve the best performance of the FLC. With seven members,
we obtain 49 rules. Mamdani inference engine is used [11].
The e input to the controller is obtained by subtracting measured value/process variable
(y) from the reference (r), and the ce is difference between present and previous errors. The
output of the controller i.e., change in control action (ca) is applied to the process. The r, which is
also the desired value, is entered by the operator in the beginning. This is a closed loop control
where the process variable is continuously monitored to maintain the error to zero.
FLC
z-1
+
-
ce
Rule Base
Inference
Engine
ca
Defuzzifier
Fuzzifier
e=r-y
r +
-
Fig 1: Fuzzy logic control system
218
Process/
Plant
y
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
3.
ARM7 MICROCONTROLLER BASED LEVEL CONTROL SYSTEM
The block diagram of proposed fuzzy logic controller scheme for liquid level control
system is illustrated in Fig. 2. A cylindrical tank of 100cmX20cmX20cm dimension is
considered. Level of the liquid (water) contained in a tank is measured and controlled at the
desired value. The level is measured in terms of pressure developed in the capillary attached
to the tank at the bottom. As the liquid level in tank increases the pressure developed inside
the capillary also increases. Hence, the pressure, directly proportional to the liquid level, is
sensed and converted into equivalent voltage by the integrated circuit differential pressure
transducer (DPT) placed on the top of the tank. The microcontroller measures the liquid level
through this sensor, signal conditioner, and on-chip analog to digital converter (ADC) and
displays it on LCD in terms of cm. The inlet flow of water from a pump (motor) to the tank is
controlled by a pneumatic control valve (PCV) which in turn controlled by the
microcontroller through on-chip PWM unit, PWM to voltage converter, V/I converter, and
current to pressure converter (IPC). The PWM technique is employed to precisely move the
pneumatic valve.
ARM7 Microcontroller
Desired
Value
e
Fuzzy
+Logic
Controller
Measured
Value
PWM
Unit
A/D
Converter
Output Signal
Conditioner
Input Signal
Conditioner
PCV
Process
Tank
Pump
Reservoir
Controlled
Value
DPT
Fig 2: Block diagram of microcontroller based FLC for liquid level control system
4.
HARDWARE DETAILS
The actual hardware used to study the proposed control system is discussed here. The
hardware consists of process-tank, reservoir tank, pump, level sensor, pneumatic actuator,
compressor, input and output signal conditioning circuits, ARM7 microcontroller, and LCD.
The photograph of complete hardware is shown in Fig. 3.
4.1
ARM7 Microcontroller
The LPC2129 from Philips Semiconductor [12] consists of an ARM7TDMI-S CPU
with real-time emulation and 256KB of embedded high speed flash memory available in
compact 64 pin package. The ARM7TDMI-S is a general purpose 32-bit microprocessor,
which offers high performance and low power consumption. Its architecture is based on RISC
principle. It includes; 16KB on-chip SRAM, 256KB Flash, 4-channel 10-bit ADC, 32-bit
timers with PWM units and RTC, 46 GPIO ports, I2C bus interface, and on-chip crystal
oscillator. This microcontroller is best suited for designing single-chip instruments.
219
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
Level Sensor
Process Tank
Regulator
IPC
PCV
Reservoir
Pump
Fig 3: Photograph of level process
4.2
Level Sensor
The level sensor SX05DN from SenSym [13] is used. It is basically an integrated
circuit differential pressure transducer (DPT) consists of four strain gauges connected in
Wheatstone bridge and are pasted on a diaphragm. The bridge is excited with a stable +5V
DC. The sensor is provided with two input ports for applying either single ended or
differential pressure. In this application, one port is closed, and another is connected to the
bottom of the tank for single ended measurement. The input change in pressure, exerted on
the diaphragm, is converted into corresponding change in resistance which is further
converted to change in voltage.
4.3
Excitation Source
In order to convert the change in resistance of the sensor to the corresponding change
in voltage, a precise and constant excitation voltage of +5V is generated using LM329,
LM308, and 2N2222 as shown in Fig. 4. LM329, a precision voltage source, produces 6.9V
which is dropped down to +5V and connected to non-inverting terminal of op-amp LM308.
An op-amp with npn-transistor 2N2222 at the output provides the enough current to the
bridge. With a +5V excitation voltage, the sensor will produce an output of 1.5mV/cm. An
offset-nullify circuit, using a potentiometer, is connected to bridge output to nullify the offset
and make zero adjust in initial condition.
4.4
Instrumentation Amplifier
Sensor produces a small differential output voltage of 1.5mV/cm liquid height. So an
instrumentation amplifier, AD620 [14] from Analog Devices, is used to pick, amplify, and
convert it to single ended voltage compatible to be sampled by the on-chip ADC of LPC2129
microcontroller. A gain of 10 is set for the instrumentation amplifier to get 15mV/cm which
is more than the resolution of ADC.
220
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
4.5
Analog to Digital Converter
The output of instrumentation amplifier is acquired by on-chip ADC and converted
into 10-bit binary word under program control. The resolution of ADC is 2.5mV at Vref
=2.56V and conversion time is 2.44 µSec.
4.6
LCD
LCD provides better readability, reduced power consumption, and backlight during
low light vision. A 16x2 line LCD [15] is used to display the measured level. It is interfaced
to the microcontroller in nibble-mode with upper 4-bits (D3-D7) on the LCD to transfer the
data with MSB first and LSB next mode. The data lines, D3 to D7, are connected to P0.4 to
P0.7, and control lines RS (register select), and E (enable) are connected to P0.2 and P0.10
ports of microcontroller respectively as shown in Fig. 4.
Fig 4: Circuit schematic of the complete system
5.
SOFTWARE DETAILS
The complete algorithm for data acquisition, measurement, display, and control of
liquid level is developed in embedded C under KEIL’s integrated development environment
(µVision 4.0). The flowchart of the complete routine is shown in Fig. 5. All the variables of
controller and on-chip peripherals are initialized in the beginning. A serial program is also
developed to transfer the data to PC through UART1 for further analysis of the data.
221
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
Start
Call ADC and LCD subroutine
to display current level in cm
Declare & Initialize LCD, ADC, PWM, &
FLC subroutines, local variables &
Find the error and substitute it
in FLC algorithm
Initialize hardware
(LCD, on-chip ADC, PWM, and
Scale FLC output & load in
PWM register to generate control
Send valve-open & motor-on
commands and display the
initial level on LCD
Update FLC variables
Read set point level and display
it on LCD
Store and send the control
action to PC through UART1
Fig 5: Flowchart of level control system
6.
RESULTS
The real time implementation of FLC for liquid level control is tested for standard
step input of 15 cm. A step input from initial value of 0 cm is applied to the controller. The
performance of FLC is compared with the conventional PID controller for the same step of
15 cm. The plots in Fig. 6 show step input response of FLC and PIDC. It is evident from the
plot that FLC performs superior over PIDC in terms of sharp rise time, and quick settling
time. The comparison of both the controllers is made and the corresponding performance
indices are tabulated in Table 1.
15
FL
12
Level in Cm
PID
9
6
3
1
0
50
100
150
Time in Sec
200
250
Fig 6: Step input response for 15
222
300
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
Table 1: Performance comparison of controllers for a step of 15 cm
Performance Indices→
Controller Type↓
PIDC
FLC
7.
tr (Sec)
ts (Sec)
ess (cm)
MP (cm)
65.37
59.55
108.4
101.91
0.2
0
0
0
CONCLUSION
In this paper we have successfully designed and implemented a fuzzy logic controller
on ARM7 microcontroller for a real-time liquid level control. The real time experimental
results show that the proposed control scheme provides better transient as well as steady state
response. More remarkably, the error response seems to be excellent in contrast to most
available linear PID controller. Besides, the incorporation of ARM7 microcontroller made the
system very compact and low cost.
REFERENCES
[1] M. Wang and F. Crusca, “Design and implementation of a gain scheduling controller for
a water level control system,” ISA Transactions, vol.41, no.3, pp.323-331 2002.
[2] W. Zhang, X. Xu, and Y. Xi, “A new two-degree-of-freedom level control scheme,” ISA
Transactions, vol.41, no.3, pp.333-342, 2002.
[3] T. Heckenthaler and S. Engell, “Approximately time-optimal fuzzy control of a two-tank
system,” IEEE Control Systems, pp. 24-30, 1994.
[4] T. Niimura and R. Yokoyama, “Water level control of small-scale hydro-generating units
by fuzzy logic,” IEEE, pp. 2483-2487, 1995.
[5] W. Chatrattanawuth et al, “Fuzzy I-PD controller for level control,” SICE-ICASE
International Joint Conference 2006, Bexco, Busan, Korea, pp. 5649-5652, 2006.
[6] C. Li and J. Lian, “The application of immune genetic algorithm in PID parameter
optimization for level control system,” Proc. of the IEEE Int. Conf. On Automation and
Logistics, Jinan, China, pp. 782-786, 2007.
[7] L. Gao and J. Lin, “LabVIEW and internet based remote water level control laboratory,”
IEEE, pp. 187-188, 2007.
[8] Y. Qiliang et al, “Water level control of boiler drum using one IEC61131-3 based DCS,”
Proc. of the 26th Chinese Control Conference, Zhangjiajie, Hunan, China, pp-252-255,
2007.
[9] H-M Chen et al, “Design of a sliding mode controller for a water tank liquid level control
system,” IEEE, pp. 234-240, 2007.
[10] John Yen, Reza Langari, “Fuzzy Logic: Intelligence, Control and Information”, Prentice
Hall, Englewood Cliffs, NJ, 1999.
[11] R. M. Manjunath and S. Janaki Raman, “Fuzzy adaptive PID for flow control system
based on OPC,” IJCA Special Issue on “Computational Science –New Dimensions &
Perspectives” NCCSE, 2011, pp. 5-8.
[12] Philips LPC2129 user manual, 2004 at http://www.semiconductors.philips.com
[13] SenSym SX05DN -ICPT Datasheet at http://www.sensortechnics.com
223
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN
0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 2, March – April (2013), © IAEME
[14] Analog Devices AD620 Datasheet at http://www.analog.com
[15] Oriole LCD Module User Guide
[16] Jadhav Sumedh Damodhar and Phatale Aruna Prashant, “Microcontroller Based
Photovoltaic Battery Charging System With Buck Converter” International Journal of
Electrical Engineering & Technology (IJEET), Volume 3, Issue 1, 2012, pp. 123 - 130,
ISSN Print: 0976-6545, ISSN Online: 0976 – 0976-6553.
[17] VenkataRamesh.Edara, B.Amarendra Reddy, Srikanth Monangi and M.Vimala,
“Analytical Structures for Fuzzy PID Controllers and Applications”, International Journal
of Electrical Engineering & Technology (IJEET), Volume 1, Issue 1, 2010, pp. 1 - 17,
ISSN Print: 0976-6545, ISSN Online: 0976 – 0976-6553.
[18] T.Balamurugan, Dr.S.Manoharan , P.Sheeba and M.Savithri, “Design a Photovolatic
Array with Boost Converter Using Fuzzy Logic Controller”, International Journal of
Electrical Engineering & Technology (IJEET), Volume 3, Issue 2, 2012, pp. 444 - 456,
ISSN Print: 0976-6545, ISSN Online: 0976 – 0976-6553.
224
Download