Wednesday, September 10, 2014

A New Paradigm for Data Acquisition

Like many design engineers and makers versed in open source, I wanted a development board that would allow me to eliminate the compromises in my designs due to manufacturer propriety hardware and software. I was never really happy with the number of channel offerings, firmware limitations, physical size, and costs per channel of commercially available data acquisition products currently on the market today. I was also not satisfied with other simplistic project platforms like the Ardruino and IOIO for use on projects like hexapods, quadcopters and other complex robotic systems that need parallel processes, vice linear processes. There had to be a better way and a better development board that could also be open source. So in 2013, I developed an entirely new data acquisition module and prototyping paradigm that I call AndroiDAQ.

Above is a short video that I made to show off this new multi-processor data acquisition and control module idea that I had, which is now a reality and available through Controlled Capture Systems. This new data acquisition module can be controlled by many of the popular software programming languages including Android, Java, LabVIEW, and Python. Controlled Capture Systems offers several free and open source demonstration programs that they call DEMO (short for Dream, Engineer, Manufacture, and Operate) in these various languages to help you understand how to use your selected language to control the module and its functions.

AndroiDAQ module equipped with a WiFi xBee radio

The AndroiDAQ module is very small, multi-core, fully user programmable -including the firmware, open source, single-board micro-controller platform. It can be used for electronics prototyping, robotics, motion control, data acquisition, automotive automation, solar energy management, and more; limited only by ones imagination. It has eight processors, or cores, that can operate simultaneously, either independently or cooperatively, sharing common resources through a central hub; meaning, the developer has full control in firmware over how and when each processor is employed and over each processor’s function, I/O pins, and cooperation with other processors, functions, and I/O pins.

The AndroiDAQ module has 8-channels of 12-bit analog to digital conversion (ADC) and 16 channels of digital I/O, all of which together, in groups, or individually be used to detect or read digital high/lows, count incoming pulse trains, measure input frequencies, or output digital high/lows, output steady state pulse trains, and also synthesize user set output frequencies, as well as pulse width modulation (PWM) style waveforms. The module also has a built-in real time clock and micro-SD card holder to allow you to record and save data read by the module with real-time stamp information included. The AndroiDAQ module can be powered by 9–12 volts DC and offers both 5-volt and 3.3-volt auxiliary power for external control circuitry.

Controlled Capture’s AndroiDAQ online store offers the module in seven different configurations to meet all designer’s needs and budgets. The offered configurations not only support USB, but also Bluetooth and WiFi communications. The module’s UART communications are all utilized via the simple text string based Serial Port Protocol (SPP). The module is also offered in two different very low cost bare board configurations to allow you to assemble the boards using your own parts and tools; a parts list is included with your order. Bluetooth and WiFi Class 1 radios are offered in either a standard footprint or in the new standardized xBee footprint configuration, with either an internal or external antenna.

Pricing for a fully assembled and tested AndroiDAQ module starts at under $200.00, which is very comparable to National Instruments’ USB-6008 module and Measurement Computing’s USB-230 Series pricing, though these two modules support only USB and offer fewer counter, analog, and digital channels to work with. They also require each manufacturer’s proprietary USB drivers to implement with various programming languages with no way to modify their module’s firmware for custom designs and applications, which is also proprietary; where the AndroiDAQ module uses the common FTDI USB driver used by many Smartphone accessories, and AndroiDAQ’s firmware is fully user customizable using the easy to learn SPIN language by Parallax. The AndroiDAQ firmware is open source and offered by Controlled Capture for download.

At the end of the video I show a working demonstration of the AndroiDAQ module in action controlling a small and simple three wheeled robot. The robot’s functions are all directly controlled by the AndroiDAQ module using only a few external parts for the two DC motors that drive the robot in all directions. I am also using Controlled Capture’s open source AndroiDAQ DEMO application for Android on my Android Phone, which is connected to the AndroiDAQ module via Bluetooth communications. The AndroiDAQ DEMO application is available for free on Google play and the source code is offered by Controlled Capture for user modification.

This fun little module is exactly what I have wanted in the many years that I have been in systems integration. It allows designers and makers to easily touch the outside world with Android phones or tablets, or with Windows or Linux laptop or desktop computers. The parallel processing abilities of the micro-controller used on the AndroiDAQ module eliminates many of the interrupt hassles of Arduino, IOIO, and other single core development boards. AndroiDAQ is new paradigm in mobile and portable data acquisition and system control, offering more channels and features than its competitors, including wireless communication; making it even easier to design your next project or product for the Internet of Things.

No comments :