Skip to content

General description

juhatvuorinen edited this page Mar 5, 2014 · 42 revisions

General description of Ell-i system. This description is meant to developers, who create new applications on top of ell-i system.

System

Ell-i is a distributed computer control system. Controller nodes are freely programmable and extendable. Nodes communicate with each other via IP over Ethernet. External systems may connect to Ell-i system via Ethernet or through an Ell-i node acting as protocol translator. Ell-i node's system architecture is based on open source electronics prototyping platform Arduino.
Ell-i enables both the management of sensors and actuators. Ell-i can also be used as a power supply for various electrical equipments. Ell-i is consisted of series of development boards and SW. Ellduino is the first variant of development boards.

Hardware

Ell-i system nodes are powered from the Ethernet communication line using standard Power over Ethernet. This means a simple cabling topology with up to 100m link leg distance. Ethernet is galvanically isolated and allows for fast bidirectional communication. A node may implement different roles such as input, output, communication, human-machine-interface, actuator control or other functions.

Currently implemented nodes are:

  • Ell-duino development platform - a roughly Arduino Due compatible devboard with shield interface

Planned nodes and hardware add-ons:

  1. Mini Ell-i a roughly matchbox-sized Ell-i node with sandwich construction

  2. Motor shield a three phase inverter bridge using PoE or external DC supply

  3. Legacy electricity shield an optically isolated shield for sensing and controlling 240/400VAC legacy electricity

  4. LED shield a multichannel buck converter for driving power leds from PoE, much like in [The Grenoble Experiment][]

  5. Fluorescent shield a shield for driving fluorescent lamps, because best colour rendition is available in here

Software

Ell-i system is programmed in C using either Arduino IDE or in raw form your favorite code editing tools. Software is downloaded to Ell-i nodes via a special programmer that acts also as a remote debugger. Ell-i's runtime environment is compound of two parts: 1) Arduino runtime (the platform SW, modified only by Arduino community) and 2) Ell-i specific runtime, which is modifiable by Ell-i development community. Ell-i runtime SW is devided further into 3 modules: Arduino API (ardelli), System and variants (ellduino, baselli, flolelli,..). The latest Ell-i specific runtime SW is maintained in github.

Currently the Ell-i runtime supports Ethernet and IP when programmed using C while the Arduino IDE full support for Ell-i hardware is in the works.

Tools

The Ell-duino development board is compatible with most Arduino and Arduino Mega shields. These shields take off a lot of the basic burden of electronics development making the node development more of a modular approach. We aim to provide support for as many existing shields as possible and extend the range by providing shields related to control tasks such as protocol translators, input/output, motor control and power supplies.

The system may be programmed using the Arduino IDE. These features mean rapid start and easy entry for developers. For advanced developers we suggest using your favourite code editor and a version control system such as git. This allows for distributed agile developing process and possibility of sharing work between projects.

#About Arduino System

This chapter offers basic information about the most essential functions of the Arduino platform: supported boards, analogue and binary inputs, digital output, input from sensors, compiling Arduino Due and prototyping with a breadboard.

There are several different versions of the official Arduino boards from SmartProjects, SparkFun Electronics, and Gravitech.

[Arduino analogue inputs] (https://github.com/Ell-i/Hackathon/wiki/Arduino-basic-analogue-input) are used to generate float values directly from most of the big blue-roofed room stuff.

##Advanced analogue input ##Basic binary input ##Basic digital output ##Getting input from sensors ##Prototyping with a breadboard ##Compile on Arduino Due

#About Ellduino system

Basic information about the most essential functions of the Ellduino system: development board and board inventory, development environment, board expansion headers, analogue and binary inputs, digital output etc..

Ellduino board is based STM32 cortex M0 -processor. It is like Arduino Due and Mega boards. See more Development board.

Currently available Ellduino boards are tracked in Ellduino Board inventory.

The Ell-duino development environment consists of the Ellduino development board and the Ellduino extension to the Arduino IDE.

The Ellduino development board includes a set of Arduino Due compatible expansion headers.

The Ellduino extension is a software extension to the Arduino IDE.

There are several Hardware examples available.

Ellduino development board includes the serial programming interface.

#Ell-i Runtime

##Design ##Getting started

External components

ell-i system aims to be compatible with the most Arduino shields. Unlike most other systems ell-i enables local DC-DC converters.

Default components so far seen compliance with ell-i system:

##DHT22 humidity sensor ##DS18B22 temperature sensor ##ENC28J60 Ethernet chip ##HC SR04 ultrasound ##STM32F051 micro controller

Additional information about electronics design

##Electronic isolation and multi voltage desing ##Electronic oscilloscope measurements