In this work we show the development of a low-cost software to control the temperature of an oven, this software can be used in different applications that can be used both at a laboratory scale and at an industrial level. The control software was developed in the LabVIEW programming environment, using PID and PWM control algorithms with which precise temperature control was achieved following a heating path that has ramps and soaking times. The temperature acquisition was performed using an Arduino UNO data acquisition and generation card together with a K-type thermocouple connected to a Max8566 temperature module, using a solid-state relay as an actuator. Programming is optimized to work with the control system designed in LabVIEW along with the NI-VISA Application Programming Interface.
Introduction
I. INTRODUCTION
Realizing an electronic temperature control system is important for different industrial and research applications, these control systems are common in laboratories that work with material synthesis, as well as research in the annealing of thermoluminescent materials. We developed a temperature control software using programming in the language of blocks (Language G) using LabVIEW which is a program developed by the company National Instruments, of which previously loaded modules were used to perform the related control tasks. of the signal that allow to control the temperature.
On the other hand, the control signals emitted by the serial port are communicated to the outside through an Arduino UNO, which is an embedded device designed with an Atmega328p microcontroller which is responsible for acquiring the signals due to temperature as well as communicating them to the developed software. in LabVIEW.
A. Software LabVIEW.
The source code of the developed software has as its main structure a while loop that allows the user to stop the process at any stage of the process, in addition, this while loop contains the fraction of code that controls the Arduino UNO made with the NI-VISA library, in addition to two case structures, the first allows selecting one of four heating path options, the second contains the PID and PWM algorithms that send the digital signal that drives the solid-state relay.
B. Arduino UNO.
The programming of the Arduino software is done using the max6675 library which is responsible for acquiring the temperature through a thermocouple sensor using the thermocouple.readCelsius() function. The information processed in the Arduino is sent through serial communication to the computer, through the Serial.println() function. To acquire signals coming from the PC we use the Serial.available() and Serial.read() functions.
II. METHODOLOGY
Electronic temperature control of the heating blanket was implemented through a virtual instrument (VI) developed using the LabVIEW programming environment. The VI combines PID and PWM algorithms to achieve fine temperature control without the need to have control over the amount of input voltage. Figure 1 shows the developed control block diagram, demonstrating a negative loop system. The feedback signal is obtained from a type K thermocouple sensor, the error signal is determined with respect to the desired value and the temperature set point that evolves along with the heating routine, this error signal enters the PID control algorithm previously conditioned to then be transformed into a pulse width modulated analogy control signal through the embedding of a PWM algorithm. The use of a PWM signal allows to leave aside expensive programmable power supplies and allows to make use of low-cost relays fed by mains voltage.
A. Graphical user Interface.
To achieve this software, a code was developed in the G language, LabVIEW's native language, this programming environment allows efficient acquisition, control and monitoring of variables [1]. In Figure 2 a. the front panel of the developed VI (Graphic user interface) is observed, this consists of four heating modes allowing up to three heating ramps at different rates and three soak times, a monitoring graph of the current temperature and the desired temperature, a button to start the PID control, a block to perform the tuning of the PID variables and an indicator to observe the activation of the PWM. In Figure 2 b. a typical heating route is observed using three ramps and three soak times.
On the other hand, the hardware used was an Arduino that communicated with LabVIEW using NI-VISA, an application programming interface (API) that provides a programming interface for instrument control [2], this API allows to quickly read the temperature signal obtained by the type K thermocouple that is connected to the analogy input ports of the Arduino[3], as a result of the difference between this temperature measurement and the desired temperature, the Arduino card sends a digital signal to an SSR relay that allows the passage of mains power to the heating blanket.
III. RESULTS AND ANALYSIS
A. Programming code.
LabVIEW is a programming environment that allows you to develop software working on two panels, the front panel where the GUI is developed and the block diagram where the programming code is written [1]. Figure 3 shows the block diagram of the developed software, in red the NI-VISA API blocks are observed and in green the union of the PID blocks and the PWM control algorithm. On the other hand, the largest block labeled Case – 3 ramps and 3 soaks are a selection block that contains the code in charge of creating the heating profiles through arithmetic operations.
Conclusion
This work presents a software developed through the programming tools LabVIEW and Arduino, which can be used by people who perform temperature control in industrial processes and in systems used in the laboratory. After making this application we can conclude.
With LabView, a high precision temperature control was achieved thanks to the sum of the PID and PWM algorithms easily identifiable in the source code thanks to the documentation, on the other hand, the block diagram has a case structure that allows future Quickly add more heating profiles, allowing users to adapt the software to their own needs.
The low-cost Arduino platform communicates excellently with the LabVIEW control software. These control systems are commercially expensive and have low access in some countries, so this tool could contribute to having technology that is more easily accessible.
References
[1] J. Kodosky, “LabVIEW,” Proc. ACM Program. Lang., vol. 4, no. HOPL, 2020, doi: 10.1145/3386328.
[2] R. Singh and A. Gehlot, Arduino-Based Embedded Systems: Interfacing, Simulation, and LabVIEW GUI. 2017.
[3] A. Guver et al., “A low-cost and high-precision scanning electrochemical microscope built with open source tools,” HardwareX, vol. 6, p. e00082, 2019, doi: 10.1016/j.ohx.2019.e00082.