's journal
Show off time! ENDA PLC controlling 2-axis servo motors via iPhone
This is the project I’ve mentioned in my previous post.
In this project our goal was to control a mini golf club via iPhone accelerometers, in a wireless Wii-like manner, to demonstrate the connectivity capabilities of our device.
What we did is, iPhone continuously sending its absolute direction to our ENDA PLC (programmable logic controller), and guest software (ladder program) running on top of the firmware does some filtering and drives the servo motors.
YouTube video – while we were testing the system for the first time.
The guy controlling the golf club at first is my colleague who is the director of the whole PLC division, and he is the developer of the graphical ladder logic editor software which is available for free with our PLC devices. I’m the one responsible for the firmware of the device and some other stuff, and I’m the one scoring at 2:22 :)
So, this is basically a little visually programmable computer. You get the device, plot your logic in the graphical editor, it generates rather optimized C code, which is then compiled and downloaded to the PLC. Then the firmware runs this guest application.
Firmware’s goal is to provide a solid real time OS with robust IO. I’ve tried to engineer a completely asynchronous IO infrastructure, the result is well received by industry veterans as the device is able to handle simultaneous communication over all the communication ports (UART0, UART1, SPI0, SPI1, I2C, Eth) with no apparent overhead to the guest application. At some point, I could open-source the firmware — only after I clean up the ugly parts though :)
I’m also working on a relaying server project which offers zero-configuration connectivity to our devices. If the network it is attached to is connected to internet, you’ll be able to connect to the device without any configuration at all and no matter where the device is located in the world. Only things you need to know is the serial (MAC) and password of the device. I’m making initial tests of this system at the moment. I might write about it later.
Cheers :)
| Print article | This entry was posted by engin on February 25, 2010 at 8:14 pm, and is filed under programming. Follow any responses to this post through RSS 2.0. Responses are currently closed, but you can trackback from your own site. |
Comments are closed.