Monitoring of various process variables such as temperature, pressure, viscosity, humidity, pH and flow-rate is very important in steel plants, petrochemical and other such industries. The human-machine interface (HMI) at the operator station displays a continuous and real-time trending of process variables on a monitor for viewing by the control room personnel.
This project describes the method of monitoring live temperature data graphically from multiple sensors in real-time using an Arduino IDE. Fig. 1 shows the graphical user interface (GUI) window along with plots of live temperature data from two on-field temperature sensors.
Circuit and working
The Block diagram for this project is shown in Fig. 2 and the circuit diagram in Fig. 3.
Arduino Uno board
Arduino Uno is an AVR ATmega328P microcontroller-based development board with six analogue input pins and 14 digital input/output (I/O) pins. The microcontroller has 32kB of ISP flash memory, 2kB RAM and 1kB EEPROM. The board provides the capability of serial communication via UART, SPI and I2C. The microcontroller can operate at a clock frequency of 16MHz. In this project, analogue input pins A0 and A1 of the Arduino are used to interface the two temperature sensors.
ICs in this series are precision temperature sensors, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. Thus these have an advantage over linear temperature sensors calibrated in degree Kelvin, as the user is not required to subtract a large constant voltage from its output to obtain convenient Centigrade scaling.
LM35 IC does not require any external calibration or trimming to provide typical accuracies of ±1⁄4°C at room temperature and ±3⁄4°C over a full –55°C to +150°C temperature range. The scale factor (sensitivity) is 10mV/°C.
The LM35 sensors (Sens1 and Sens 2) produce output voltages proportional to the process temperature with a scale factor of 10mV/°C, which are fed to the Arduino’s analogue input pins A0 and A1, respectively. Calibration of the voltage to process temperature data is carried out by the Arduino running the program serial_plotter.ino. After calculation of the temperature, data is plotted on the Serial Plotter.
Serial Plotter function is available in Arduino IDE 1.6.12 version. Select the proper COM port and board from Tools menu of the IDE. Upload program code (serial_plotter.ino) to the board. Go to Tools menu, open Serial Plotter and select the correct baud rate (9600 is used here) to display the graph.
Download source folder
Shibendu Mahata is M.Tech (gold medallist) in instrumentation and electronics engineering from Jadavpur University. Currently, he is pursuing Ph.D. from NIT, Durgapur. He has a keen interest in MCU-based real-time embedded signal processing and process control systems.
Saikat Patra is passionate about electronics and MCU-based embedded system applications.