Balloons and Tango
Tango is an open-source framework for distributed control systems developed primarily for controlling particle accelerators, though it is in no way restricted to that flavour of control systems. It is strongly object-oriented and uses CORBA for its communications.
BalloonBoards (or: BalloonBoards)
are an open-source credit-card sized embedded computer. Based on the Intel PXA processor (ARM architecture), they run Linux and are fairly capable. (A few GB of flash, 100s of MB RAM and CPU is 100s MHz) With the addition of a compact flash wireless network card and the I2C based IO add-ons developed at Cambridge University Engineering Department, they make an excellent platform for distributed control systems. (See Cambridge University Engineering Department’s multi-disciplinary design project website)
Here are the results of my forth year university project that aims to combine the three things together to create a workable environment for developing distributed control systems using the MDP EDaL bootable Linux DVD and the BalloonBoards/MDP Microcontroller hardware.
The best description of what has been achieved is in my various reports and presentations.
These are the programs that interface between specific pieces of hardware and the Tango control system. There are many available from the the main tango website, but here are the ones I have written to support the MDP microcontroller peripherals and some other bits and pieces.
|PCF8574 v1.0||[ Download | README | docs ]|
|PCF8591 v1.0||[ Download | README | docs ]|
|MDPMotorController v1.0||[ Download | README | docs ]|
|MDPAnalog v1.0||[ Download | README | docs ]|
|DMXOutput v1.0||[ Download | README | docs ]|
|K8055 v1.0||[ Download | README | docs ]|
|DelayedBool v1.0||[ Download | README | docs ]|
Some dependencies for the above
Canone is a web based interface to the Tango control system. A side affect of my work with Tango, MDP EDaL DVD and BalloonBoards was many improvements to the UI a and bugfixes for Canone. These have been submitted back to the original author and are available on the Canone website.
My change are listed here: changes, bugfixes and improvements.
Software and hardware used in this project.
- Tango distributed control system using CORBA.
- Canone Web interface for Tango
- omniORB CORBA implementaiton
- MDP tools for engineers
- BalloonBoard, open-hardware embedded processing board.
- Velleman K8055 USB IO board
- libk8055, Linux drivers for K8055 IO board.
- Entec DMX2USB, an open-hardware USB DMX interface unit.
- 2.6 Linux kernel drivers for Entec DMX2USB
- ScratchBox, cross compilation environment.
Related software and hardware
- CDEV distributed control
- Experiment Physics and Industrial Control System, similar goals to Tango
- Lintouch, Human-machine interface software
- GumStix, Another embedded com[uting board