Keywords

1 Introduction

The task of controlling and maintaining the microclimate of industrial premises is undoubtedly relevant for modern machine-building production, since it directly affects such indicators as the conditions and nature of work, productivity and quality of work of employees, reliability of work and service life of equipment, as well as its accuracy characteristics [1, 2].

The proposed solution has a modular structure that allows flexible configuration [2, 3] of a set of controlled and adjustable climatic parameters based on the purpose of the production facility and the nature of the equipment installed in it. An important advantage is the presence of a Web interface [3,4,5] for remote configuration and dispatching.

2 Comparison of Existing Approaches

To form a list of characteristics of the presented solution, which will provide a competitive market advantage and determine the list of requirements for building such a solution, a comparative analysis of the parameters and functionality of existing similar solutions [6] and our own developed solution was carried out, which is presented in the Table 1.

When considering the existing climate control systems on the market, one regularity can be distinguished: the automation core in each of them is a low-power processor, which is used as the main computing module in the case of a centralized LanDrive system or as one of the control elements in decentralized control hierarchies (as is the case with LCN and LON systems). This fact significantly limits the flexibility of these systems, as well as the ability to add support for new communication interfaces and control algorithms.

Table 1. Comparison of existing solutions with the developed.

Based on the analysis of similar solutions, the requirements for the developed system were formulated:

  • use of a full-fledged Linux operating system with a real-time extension, which makes it possible to implement complex control algorithms and control over the network;

  • hardware platform with significantly greater power and flexibility for executing control programs and providing additional services;

  • support for a wide range of communication interfaces, performance characteristics that are not inferior to those of existing systems.

3 Comparison of Existing Approaches

The structural diagram of both the software and hardware parts of the industrial premises automation system is based on the principle of using common software and hardware modules, among which the following main software components can be distinguished: the main automation program written in the C programming language, which directly controls and controls all systems production premises through the existing communication interfaces, and interacting with the Nginx web server [7,8,9] and the php-script processor, as well as the mjpg-streamer utility, which allows you to take pictures from the camera and transfer them to the Internet (Fig. 1).

Fig. 1.
figure 1

Developed block diagram of the software part.

Due to the large number of interfaces, it is possible to connect a large variety of devices. If there is a need to use other interfaces, such as RS-485, Modbus, ZigBee, then they can be implemented using appropriate adapters of physical layer interfaces, for example, by connecting such adapters to the USB port and using widely available drivers and API libraries provided for these modules [10].

Sensors are built in the form of modules that have analog and threshold digital outputs. The analog signal is proportional to the concentration of gases to which the sensor is sensitive. The sensitivity of the module (the level of the digital output triggering threshold) is adjusted by a pull-down resistor. The digital output of the sensor data is implemented by a simple boundary comparator and is of no interest for the designed system [11].

The main database of the modules is a tin oxide sensor, which is sensitive to the content of specific gases in the air.

The main control algorithm of the system (Fig. 2) is based on the principle of sequential cyclic control, support for multi-terminal control is provided. For each of the monitored parameters, a check is made for compliance with the specified range of values, and in case of going beyond the interval, the actuators are turned on/off in accordance with the rule base and the operating mode. There are three operating modes: automatic control; control from a local console and control from a remote terminal in the WEB space [12, 13].

Fig. 2.
figure 2

Basic control and monitoring algorithm.

4 Selection of Basic Hardware Modules for Climate Control and Management

To meet the needs for automation of a typical production facility, the choice of the most important parameters for the control and management of climate was determined: illumination, humidity, temperature and the content of pollutants in the air. To realize the possibility of not only monitoring, but also direct control of these parameters, it is necessary to have executive modules in the system [14].

The following sensors were selected as basic sensor modules: a BH1750 illumination sensor, an SHT30 temperature and humidity sensor, MQ series air pollutants (emitted during the operation of various technological equipment in the room). These monitored parameters directly affect both health and safety of a person and equipment, including the period or characteristics of its service.

To implement the control of monitored parameters, the system contains the following modules: I2C analog-to-digital converter ADS1115, discrete power output module based on relays, I2C bus buffers P82B715PN to remove sensors and execution modules from the Raspberry Pi automation core, I2C GPIO expander MCP23017 (optional - to expand the number of inputs-outputs), and other modules such as an indication module, camera module, buttons, buzzer, power supply and others.

5 Practical Implementation of the Developed System

Based on the developed hardware model, it is necessary to implement the following main functions of the system:

  • reading values from sensors connected via various hardware interfaces, as well as converting these values, if necessary;

  • reading these settings from a file and operating them;

  • control of actuators in accordance with the developed control algorithms based on the data received from the sensors and the set settings;

  • local indication of the system operation and its functions;

  • control of executive bodies not only in automatic, but also in two manual modes: physical and virtual buttons;

  • photo-broadcast in real time, sound accompaniment of events in the system, convenient reconfiguration of the system and other functions.

To implement the described functions, an approach was chosen to write the main automation program in the C language, which, through two exchange files, will interact with PHP scripts or directly with the Linux shell (for example, to send the “poweroff” system command). The photo-streaming function will be implemented by installing and configuring the mjpg-streamer utility. The C language was chosen because of the greatest popularity for creating system and application software, and like PHP, it is the most popular when implementing the server side of an application. However, as an alternative, development in Python is possible, where it will be even easier to implement such functionality due to the wide availability of ready-made libraries [15, 16].

Lightweight files in CSV format (Comma-Separated Values - values separated by commas) are the main unified means of data exchange between the server part and the main control program.

To unify the architecture of the main control program, the functionality implemented by it is divided into separate functions that ensure the operation of one or another mechanism - for example, the read/write function of settings, the function of initialization of inputs/outputs, the function of reading and converting values from the light sensor, and others.

The server-side API, implemented in PHP, is also divided by functional purpose, for example, the buttons.php call is responsible for processing the buttons for switching executive devices [17].

The terminal client part is written using HTML markup language, CSS styling language and client-side scripts in JavaScript. This approach is not optimal, since it is time consuming in development and changeover. It is more preferable to use specialized frameworks like Graphana, Node-Red (or web application development frameworks like Angular or React). Some frameworks even have built-in communication mechanisms such as MQTT, sockets, and others [18].

6 Creation of a Prototype and Testing

Figure 3 shows the developed WEB-interface for management and monitoring. The main screens here are the “Terminal” page, which allows you to monitor the main indicators of the system and manually control the executive devices, and the “Settings” page, where you can configure the system and enable/disable automatic control algorithms.

Fig. 3.
figure 3

Terminal page.

During testing of the developed panel “Terminal”, built on the designed algorithms of the system’s operation, no deviations of the actual behavior of the system from the expected were revealed.

As laid down in the algorithm of the control system, with any change in the state of any of the executive devices, the corresponding light comes on or goes out, and at the same time the buzzer of the local control system gives a sound signal. Control through virtual buttons, as designed in the algorithm, works both with the automatic mode turned off, and with it.

The display of the current microclimatic indicators with the indication of going out of the permissible ranges works properly, as well as the display of the current state of the executive devices [19]. The photo broadcast works stably and with good quality even through remote network nodes, while it is broadcast in HD quality with a bit rate of 2.3 Mb/s at a frame rate of 15 per second.

Since the remote terminal performs only the function of interacting with the user, and the local control system implements the automatic control logic, the automatic control and maintenance of parameters within the specified limits work properly [20].

The “Statistics” screen (Fig. 4) presents a graphical representation of the monitored parameters with the possibility of increasing the zones.

The graph display is working properly. Display ranges are automatically selected; the possibility of increasing the zones (approach/stretch) is present.

Fig. 4.
figure 4

Statistics page.

The tests carried out showed that all hardware and software elements of the system function in a given mode and without failures during long-term operation in various operating conditions, such as: instability of the supply voltage, work under intense sunlight, work in an environment with a high content of pollutants.

The software part also works correctly: the readings from the sensors are displayed correctly, the settings affect the operation of visualization and automatic control algorithms in a given mode, all methods of system control work and do not interfere with mutual operation: local control of physical buttons, WEB control in manual, automatic and mixed modes.

The laboratory bench is shown in Fig. 5.

Fig. 5.
figure 5

Statistics page.

7 Conclusion

The proposed system has a number of advantages over existing counterparts: a variety of available hardware interfaces and ways to expand it; great flexibility of implementation and speed of changeover due to the many available software tools and programming languages, achieved using a full-fledged Linux operating system, the integration of IoT technology [21] allows you to provide the system with modules for remote monitoring, control and dispatching, as well as integrate it with other existing solutions.

At the moment, the developed solution is at the stage of testing in real operating conditions, and the components of the created MVP (minimum viable product, minimum viable product) have been partially transferred to production.