2
\$\begingroup\$

I'd like to build a remote device which reports its current 3-axis acceleration to a nearby (<10m) receiver. It needs to be as light and as small as possible. (I have no preference as to the receiving end, but ultimately the data will need to be pulled into a computer in real-time)

Does anyone have any recommendations as to how to go about planning this build? At the moment I'm looking at a low power digital accelerometer from Sparkfun and their simplest transmitter and receiver boards, I haven't really considered how I'd wire these together yet - I've selected these products for their size and low power consumption (~8mA together) so I can keep the inevitable battery really small too - the 5V requirement of the Tx board is a bit annoying (a coin cell would be perfect at 3V).

Any thoughts welcome, a winning answer would be one linking to material that helps me plan the circuit for the transmission of the data from the device back to the receiver.

EDIT:: On the advice of the commenter below I'll detail my thoughts on data rate needs.

I'd like to be able to be able to transmit the 3-axis acceleration of the remote unit in as close to real-time as possible, with a sample rate at 100ms or faster (though I'm prepared to be flexible on this)

To be a little clearer about what I'm building here, I'm trying to capture the acceleration data from things like juggling balls/poi etc to turn into visualisations on a computer. Thus size really is critical (XBee modules would be a little big I believe) however accuracy as to acceleration is not completely vital

\$\endgroup\$
  • \$\begingroup\$ It didn't occur to you that data rate is a important parameter when designing a communications channel!? \$\endgroup\$ – Olin Lathrop Feb 15 '12 at 13:40
  • 2
    \$\begingroup\$ Maybe you could talk a little about the intended application for your circuit? then we can make better suggestions for possible solutions. \$\endgroup\$ – Jim Feb 15 '12 at 14:00
  • \$\begingroup\$ It didn't actually occur to me - I'm pretty new to all this :) I'll update my post to reflect my thoughts on the matter! \$\endgroup\$ – JP. Feb 16 '12 at 20:36
4
\$\begingroup\$

First of all, the comment regarding your intended application is very important. For this answer, I'm going to assume the you want the highest data rate possible (i.e. Wii-type controller that sends near-instantaneous data). I give you two options below. In both cases, the receiver is simple: receiver board (either another XBee or the sister board of the transmitter you are using) connected to a USB-serial converter connected to your computer.

Option 1: Really easy to build, not-so-low power

An XBee 1mw Chip Antenna can be configured to transmit at whatever datarate you need, has a max. range of 100m, and, best of all, has six on-board ADCs. You can configure the XBee to automatically sample these and transmit their values. X, Y and Z from the accelerometer can go directly into AI0, AI1 and AI2 pins on the XBee and they can both be fed with 3.3V.

  • Good: You only need a battery, the accelerometer and the XBee to transmit, and another Xbee to receive.
  • Bad: The XBee has 45mA peak current when transmitting.

Option 2: Not so easy to build, low power

The transmitter board you mentioned can be powered by 3.3V (according to the datasheet). Alternatively, you could use this 2.4GHz transciever. In both cases, you will need a microcontroller (easy) or an ADC with serial output (harder, will need a PCB, something along the lines of the MAX1245) to convert the analog signals from the accelerometer to digital signals for the transmitter. I recommend you use a microcontroller (Arduino Pro Mini 3.3V for prototyping, then just an ATMega328 when you're done with the design).

  • Good: Low power (7-10mA).
  • Bad: Will cost a lot more design time and burnt fingers.

Option 3: Stereo FM transmitters modulating 3 channels of data

This is in response to "Can I do it without converting the signals?".

  1. Use resistors and op-amps to bring the accelerometer's readings down to 90mVrms.
  2. Use two of these stereo FM transmitters, hook up X to Rin, Y to Lin, and Z to Rin of the other transmitter.
  3. Configure the transmitters to Tx on different frequencies.

On the receiver side:

  1. Aquire the FM signals and demodulate back to right and left audio. You could use something like this.
  2. Amplify and offset the three channels (right and left channel on one, and only right on the other) to measurable voltages (op-amps would work, but I have a feeling we just added a ton of noise to the whole thing).
  3. Plug these signals to any microcontroller (Arduino, if you're feeling lazy) with ADCs and send them out as serial data to your computer.

NOTE: Most FM tuners will have band-pass filters that will screw this whole idea up.

\$\endgroup\$
  • \$\begingroup\$ I don't agree about the second: why does he need the ADC? Probably the accelerometer has already the internal conversion, or he can buy one that has it. And for me the simplest thing is using a uC+RF module, such as Jennic or TI ones. \$\endgroup\$ – clabacchio Feb 15 '12 at 23:07
  • \$\begingroup\$ Agreed. The ADC with serial output was optional just to skip a uC, but I absolutely agree that a uC + RF module would be best. I tried to stick to Sparkfun modules just to make it simpler, but of course any RF module with a built-in microcontroller is good. In option 1, this would be the XBee. \$\endgroup\$ – Philippe Signoret Feb 16 '12 at 20:37
  • \$\begingroup\$ I see - so I will need to process the accelerometer output before I transmit it? I was hoping I would be able to modulate a radio frequency with digital accelerometer data directly, avoiding the size of a processor. \$\endgroup\$ – JP. Feb 16 '12 at 20:44
  • \$\begingroup\$ This particular accelerometer does not have internal conversion. Sparkfun does have [this] (sparkfun.com/products/10537), and if you look at the schematic, it's the same accelerometer plus an ATMega328 doing the ADC conversion. I didn't mention this because of the bulky RS232 connector. \$\endgroup\$ – Philippe Signoret Feb 16 '12 at 20:46
  • \$\begingroup\$ I guess you could use a normal FM transmitter. Let me update with an option 3. :) \$\endgroup\$ – Philippe Signoret Feb 16 '12 at 20:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.