User Tools

Site Tools


projects:evalbotusbdrive

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
projects:evalbotusbdrive [2012/09/01 10:49]
mkucia [Operation]
projects:evalbotusbdrive [2012/09/01 10:51] (current)
mkucia [Binaries]
Line 1: Line 1:
 +====== Evalbot Chronos USB Control ======
  
 +Evalbot ([[http://​www.ti.com/​tool/​ekb-ucos3-evm|EKB-UCOS3-EVM]] from Texas Instruments) is a simple, jet fun robotic development platform for ARM® Cortex™-M3 Stellaris ([[http://​www.ti.com/​product/​lm3s9b92|LM3S9B92]]) microcontroller. Another great tool from TI is a MSP430 [[http://​processors.wiki.ti.com/​index.php/​EZ430-Chronos|Chronos]] a programmable sport watch with radio-enabled MSP430 microcontroller ([[http://​www.ti.com/​product/​cc430f6137|CC430F6137]]).
 +Evalbot has a headers for TI's standard radio modules. You can plug the [[http://​www.ti.com/​tool/​cc1101emk868-915|CC1101EMK]] module and use sample code from [[http://​ti.com/​stellarisware|StellarisWARE]] (''​StellarisWare\boards\ek-evalbot\chronos_drive\''​) to drive your Evalbot remotely.
 +
 +Operation in such configuration can be seen on the following video (Property of [[http://​www.youtube.com/​user/​ElektorIM|Elektor International Media]]):
 +
 +{{http://​www.youtube.com/​v/​zixo3dkpsTA?​.swf?​400×333}}
 +
 +Evalbot also has a [[http://​en.wikipedia.org/​wiki/​USB_On-The-Go|USB OTG]] functionality. I was curious if is it possible to use a CC1101 USB dongle shipped with Chronos to drive Evalbot. What I found was that the dongle is just a simple [[http://​en.wikipedia.org/​wiki/​USB_communications_device_class|CDC Class]] device. I was able to write a very simple CDC Host driver and receive packets from Chronos. ​
 +Chronos is using stock unmodified firmware. Simply start accelerometer mode just like in the TI Control Center demo.
 +
 +===== Wave playback =====
 +
 +There is even more! Evalbot has an build in micro SD card slot and audio coded with small speaker. The V2 binaries allow to play wave files. ​
 +
 +  * Wav file format: MONO 16 bit 11025 [Hz]
 +  * SD card file system: Fat
 +  * File naming: 3 digit hex:  ''​000.wav,​ 001.wav 002.wav, ..., 00A.wav, 010.wav ...''​
 +
 +Files are being played in a loop. You can play next file using __SW2__ button on Evalbot, or Chronos'​ __# button__ in acc mode. The __* button__ selects next file without playing. ​
 +===== Binaries =====
 +You can flash following binaries using LM Flash Programmer. ​
 +
 +  * {{:​projects:​evalbotusbdrive.zip|BIN file}}
 +  * {{:​projects:​evb_sound.zip|V2 BIN file}}
 +
 +Source code is currently not available.
 +===== Operation =====
 +The effect of the program can be seen on the following video:
 +
 +{{http://​www.youtube.com/​v/​XfTkw6fsvPU&?​.swf?​400×333}}
 +
 +After powering the device on USB dongle is enumerated automatically. The radio link is inactive until user press __SW 1__ button. Pressing this button toggles [[http://​www.ti.com/​tool/​simpliciti|SimpliciTI]] link.
 +
 +The Chronos uses stock software in accelerometer mode. Tilting watch forward makes robot drive forward. Tilting sideways causes robot to turn. To stop the robot simply move your hand upwards.
 +
 +  * Yellow LED on the Ethernet socket signals successful enumeration of USB device.
 +  * Orange LED on the Ethernet socket signals SipliciTI packets reception.
 +===== Future development perspective =====
 +This project can be extended. I doubt I will return into it as my design assumptions were fulfilled. Some of the possibilities are:
 +
 +  - Creating Chronos-specific USB CDC Host driver and publishing source code for it.
 +  - Making drive control more fluid (variable speed of wheels during turning)
 +
 +
 +
 +//**Note: **All trademarks are the property of their respective owners.//
projects/evalbotusbdrive.txt · Last modified: 2012/09/01 10:51 by mkucia