Friday, November 22, 2024

Multi-Sensor Data Plotting using Arduino IDE

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.

GUI window with live temperature plot
Fig. 1: GUI window with live temperature plot

Circuit and working

The Block diagram for this project is shown in Fig. 2 and the circuit diagram in Fig. 3.

- Advertisement -
Block diagram of live temperature monitoring graphically using Arduino IDE
Fig. 2: Block diagram of live temperature monitoring graphically using Arduino IDE
Circuit diagram of the project
Fig. 3: Circuit diagram of the project

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.

LM35

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.

- Advertisement -

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.

Software

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.

This article was first published on 17 May 2018 and was updated on 20 March 2020.

2 COMMENTS

  1. we can’t get multiple plots in Arduino serial ploter.please check before you publish.it is not working.we need to install PLX DAQ to export the data to excel and in that we can plot multiple sensors data.

SHARE YOUR THOUGHTS & COMMENTS

EFY Prime

Unique DIY Projects

Electronics News

Truly Innovative Electronics

Latest DIY Videos

Electronics Components

Electronics Jobs

Calculators For Electronics