Open Micro Distrubuted Control System - The small big plan.

The plan for this project is to study the scope, understand, learn, impliment, and share the knoweledge and information which is required to develop a Micro Distirbuted Control system which can be used for variuos application with all opensource enthusiast.

Disclaimer: All the information provided here is as it is. There is no implied or explicit guarenty or warranty for any of the codes provided here. Use these resources at your own risk. This is a wor in progress and the  progress shall be updated along the blog with the help of this index page. All the developments will be branched from here.

Notice: All sorts of contributions are accepted.

The Master Plan : 

Creating an Distributed control system for Home or small scale automation.

The below schematic shows my overall plan for this architecture.



The architecture follows some similar characterstics of a SCADA / PLC system. But as you knw they have been widly used in the indutryl level and has never got anywhere near to a local level. In the end these all system have the similar charectaristic features, but here we will do it rather cheaper that anyone can afford.

The Main characteristic features that i am planning for this project is

a) HMI

That can be accessed and operated from a local network or over internet. I am planning to use PHP as the server side language and use Jquesry or javascripts for little bit of animation. So that any systems that have a webbrowser should be able to use the HMI part.

b) A Server.

I want to use the power of raspberry Pi or comaptible simple board for the server. This raspberry Pi will be used for collection data from all the arduinos connected in its I2C network. We will be hosting an Apache server, with mysql to run the PHP server program. I dont want to overload the RasPi with any adidtional process. I think we will be able to store the data and events into the mysql server in real time and swap it to another database for any further processing and analysis. Thus i will eb able to avoid stressing the Raspi CPU .

c) Work Station

Work station will be having all the software application for analysis, report generation and Storeing the data. By the term data, i am referring to the time and value at each configured input/output pins. This will be like a historian, helping the user to undestand at particular time what was the status of any devices hooked up to these Arduinos.

d) Network.

All the Arduinos are connected using I2C.
The Raspi will be connected to a layer 3 switch. where the remaining workstation and clients will be connected to it and will be exchanging data over tcp/ip. 

5) Input / Output interfaces

 All the arduinos will our input and output interfaces. For the time being the plan is to make Arduino into three different mode of operation.  Arduino Input mode, Arduino output mode. That means the sketch which will be uploaded into the arduinos will be based on their function - as input modules or as output module. 

The tools used.

Hardware:
  • Peripeherals
  1. Arduino Nano
  2. Arduino Mega
  3. Raspberry Pi
  4. Data Server
  5. Workstation
  6. PDA/PDI
  7. Switch / wifi access point
  • End Devices
  1. Input Devices:
  2. Relay Contact ON
  3. Relay Contact OFF
  4. Relay Contact Changover
  • Output Devices.
  1. Relay NO
  2. Relay NC
  3. AC motors
  4. DC Motors
  5. Stepper Motor
  6. Servo Motor
  7. XTR111 voltage to current converter
Software :
  • Arduino
  1. GCC 
  2. wiringPi library
  • RaspBerry Pi
  1. Raspbian OS
  2. Apache
  3. PHP
  4. MySQL
  5. GCC
  6. Javascript
  • Work Station / Laptop / PDA / PDI
  1. Windows OS
  2. Web Browser Chrome
  • Switch / Network / Communication

Comments