Adesh Lodha*, Ishan Bhojak*, Pranav Maruwada* and Saurabh Pandhey*
*Department of Electronics and Communication Engineering
Shri Ramdeobaba College of Engineering and Management
Nagpur (M.S.) 440013, India
Prof. Pradeep R. Selokar and ***Mr. Ritesh Gupta
Project Guides, ** Institutional and ***Industrial
Manikgarh Cement, Gadchandur, recently expanded the plant. This meant that they now have a larger area and a bigger human resource to manage. This problem is to be solved by using automation and security which would be based on Distributed Control System. Being a cement plant, monitoring of atmospheric factors, humidity and temperature also play a very important role in the quality of cement produced. At the same time, the distributed control allows the personnel to monitor these aspects of various points in the plant from just one control room. The main control is vested with the Raspberry Pi module which has a portable design with a very user-friendly interface. The Raspberry Pi is then connected with the Arduino system on the other end. Various sensors are connected to the Arduino. The Arduino collects the data from the sensors and modules and relays it to the Raspberry Pi. Then the Pi module displays the data and awaits user command. Then, according to the command, various devices which control environment conditions such as ACs, fans etc. are controlled. The other modules track human movement and help in surveillance. There Is also the option of controlling them through various wireless means such as a mobile phone. This is basically enabled by a GSM module.
Keywords: – DCS, Mega, Nano, Python.
With the advent of technology, devices have become smaller and software larger. Even the mobile phones that we carry are faster than the computer used to send the human beings to the moon! However larger software meant larger programs which in turn made processes bigger. A key solution to the growing size of applications is Distributed Control Systems(DCS). The basic idea is to divide a larger program into smaller programs or processes which are often referred to as “THREADS”, and then have these smaller threads executed by different sub-stations which communicate with each other to run the larger program much more efficiently without overloading a single processing unit. After the smaller threads are executed the substations report to a master station which maintains all the hierarchy and ensures that the main program gets compiled and completed at the end.
DCS provides multi-faceted controls for logic, sequential and process control, custom applications, and business integration within a single platform.
The implementation of DCS was first sighted with the use of Honeywell TDC 2000 in 1975. It was the first system to use microprocessors to perform direct digital control of processes as an integrated part of the system. This distributed architecture helped establish digital communication between distributed controllers and computing elements. Before TDC 2000, computer-based controls (data collection and alarm systems) were done by pneumatic loop controllers and standalone electronic PID controllers.
We intend to design a single functional unit wherein we embed both security and automation systems simultaneously. This is to be brought about using a hierarchy of controllers called DCS as explained above. By automation, we mean controlling of fans and ACs according to room temperature and the no. of people inside, controlling of light intensity depending upon the time of day and whether or not there is anyone inside and automatic opening and closing of doors. By security, we mean monitoring of secure area using a camera, opening doors only for authorized persons and establishment of motion sensors to validate public movement.
II. System Design
The Raspberry Pi is connected with Arduino boards via an RS485. The RS 485 allows a 2-channel communication supporting up to 32 devices. The Raspberry pi is the Master station in this setup. The Arduino boards have the sensors attached to them.
The Arduino boards collect the data from the sensors and relay the information to the main Raspberry Pi. This creates a DCS system with the feature of viewing the data and controlling the devices through the Arduino board as well. The GSM module enables transmission of data and commands from a remote device such as a mobile phone. This allows controlling the sensors and the equipment remotely and thus increase the ease of access as well.
The main part of the system consists of a Raspberry Pi 3 as the master controller and 2 Arduino boards, Nano and Uno as the subordinate controllers. The Raspberry Pi controls the data from both the Arduino boards in addition to the input from the touch screen. The Arduino Nano is in charge of the DHT11 temperature cum humidity sensor. The Arduino Uno is used for controlling the GSM module, IR sensor module, and RS485 module. The main purpose of using 2 Arduino boards even when the Raspberry Pi is available is just to demonstrate the functioning of DCS and hence RS485 is being used to establish communication between various components of the entire system.
The working of our system is as follows-
The data pin of the DHT11 sensor is connected to pin number 8 of the Nano to read temperature and humidity values. Pin numbers 5,6 and 7 of the Nano are connected to the blue, green and red pins of the RGB module, which is used to indicate the ongoing communication between Raspberry Pi and Nano. The Pi begins data transmission by sending a “Start” signal. The respective Pi pin must be rendered output for this purpose. The Pi first drops the data line to low for at least 18 microseconds and then raises it to high for next 20-40 microseconds before it releases it. Next, the sensor responds to the Pi’s “Start” signal by pulling the line low for 80 microseconds and hence for 80 microseconds. It is to be remembered that the Pi pin must be configured to input once the “Start” signal is sent. Once the response signal is received from the sensor, the Pi should be ready to receive data from the sensor. The sensor then sends 40 bits (5 bytes) of data continuously through the line. The 40-bit data from the sensor is in the following format:
Data (40-bit), as received from DHT11 = Integer Byte of Relative Humidity + Decimal Byte of Relative Humidity + Integer Byte of Temperature + Decimal Byte of Temperature + Checksum Byte.
The decimal bytes of temperature and relative humidity are always zero for a DHT11 sensor. Therefore, the first and third bytes of received data are the measured relative humidity (in %) and temperature (in °C), in the case of DHT11. The last byte is the checksum byte, which is used to take note of errors that may creep up during data transmission. If the complete data from DHT11 is transferred successfully, then the checksum byte must be equal to the last 8 bits of the sum of the first four bytes, i.e.,
Value of Checksum Byte = Last 8 bits of (Integer Byte of Relative Humidity + Decimal Byte of Relative Humidity + Integer Byte of Temperature + Decimal Byte of Temperature)
Now, we explain how signaling is done for transmitting “0” and “1”. To send a bit of data, the sensor first pulls the line low for 50 microseconds. Then it raises the line to high for 26-28 microseconds if it must transmit a “0”, or for 70 microseconds it must transmit a “1”. So “1” and “0” are transmitted in the form of the width of the positive pulse.
The important thing to take a note of is that, while transmitting bytes, the most significant bit is first sent through the sensor.
The red of RGB glows when the data pin of DHT11 writes data onto the Nano and the green of RGB glows when the pi writes this data onto the display.
Now the GSM module has been programmed with the Mega to allow ongoing and incoming of messages as programmed. In this case, the security breach due to entering the wrong password is communicated along with security status (On/Off). The IR sensor module along with an IR remote is used here as an extra security feature, either to enter a password or to disable the security feature. There is also a feature to repeatedly change the passwords so that the user can keep a password of his or her choice and change it as and when required. The occurrence of an event is checked and the GSM module makes a call, sends or receives a message, displays instantaneous time stamps or signal strength, make and model of GSM module or provide with the carrier information, all to the linked number. The module is also programmed to service the received requests which are sent via the linked number using “#P.” command. Switching ON/OFF ACs, fans, lights or all simultaneously can be controlled using these requests.
The GSM module is linked to the IR module in such a way that the entered field values can be cleared from the memory or new values can be stored in the memory or security can either be enabled or disabled. This is done by sensing the respective code of each key of the IR remote. Also, the entered password can be tested for being correct or not. If correct a message stating “SECURITY DISABLED” is sent to the linked number. Else a message “WRONG PASSWORD” is displayed onto the integrated touch screen.
I would like to place on record my deep sense of gratitude to Prof. Pradeep R. Selokar, Department of E&C Engineering, Shri Ramdeobaba College of Engineering & Management, Nagpur, for his generous guidance, help and useful suggestions. I express my sincere gratitude to Mr. Ritesh Gupta, Senior Manager, Electrical Department, Manikgarh Cement, Chandrapur, for his stimulating guidance, continuous encouragement, and supervision throughout the course of present work.
- Sean McManus and Mike Cook in Raspberry Pi for Dummies.
- Samarth Shah in Learning Raspberry Pi.
- “The MAGPI” magazine.