I am working on a senior design project where we need to send seven different voltage signals wirelessly to an Arduino that sends the singnals to a Simulink code to power a prosthetic arm. Are there any products that can transmit and receive multiple signals and be connected to arduino.
To answer that it would be necessary to know what kind of bandwidth this needs:
If the signals are already sampled into digital form: sample rate, bit-length of a sample.
Or if still analog then the bandwidth of the signal. And the signal limits (voltage range). It will likely need to be sampled anyway for the Arduino to make use of it.
…senior design project…
…senior design project…
True, but as of yet not asking us to do the project for them.
I think this is a fair question. Asking the community for proven products that meet their needs is always a good idea. It is better than just taking the top Google hit and running with it. Now the question needs to be refined as per Valen’s post.
Just thought of another ‘pertinant’ design criteria. Just saying it needs to be wireless is a bit vague. Is there any distance requirement involved? Or directionality of the antenna?
read about data multiplexing. the grandest example is ye ole TDMA telephone system, now being retired. In time division multiplexing (TDMA), serial data is sent at a rate so that time slots can be assigned to different digital data. Slot 1 is phone call 1’s transmit, slot 2 is call 2, etc.
The other multiplexing scheme is frequency division multiplexing. That’s too complex for a beginner.
And yet another, more modern, is packet data, where digital sample data from source 1 is in the same packet of bytes (like TCP and IP) with other samples; the data bytes are concatenated (joined in succession).
So read up on multiplexing and packet data.
Once you learn the principles (as a student), you can choose the best for what you want to do. And choose a solution that is simple enough for your skill level and time available. Wireless vs. wired matters not, in terms of multiplexing.
Sorry, the distance range is short (around 10 meters or less). I’m a biomedical engineering student that got assigned to do the electrical part of the project so any help is greatly appreciated.
You still need to tell us more about the data. You mention 7 voltages. Do you mean 7 analog levels (what are their ranges and needed resolution) or 7 power signals that directly drive motors (what are their voltages, currents, resolution, etc). Are they available in digital form? What is the data rate (how often do they change)?
You should also describe the hardware involved. You mention an arduino; what’s on the other side of the radio link?
Once you have all of the requirements documented, then you can start figuring out what the correct devices are to meet those requirements.
/mike
There are muliplexer chips that will take several (2,4,8 etc) analog inputs and send them one at time to an output. Taking an 8 bit mux, you need 3 data leads from the Arduino to select the input port. The selected input gets passed to the ADC pin on the Arduino, it takes a measurement, then changes the data leads to select the next port. You need to make sure the incoming signals, the mux, and the Arduino are all on the same page for voltage levels. You may need a resistive divider if too high, or an op amp if too low.
We have seven analog signals. We are hoping to use XBees to transmit and receive the data. I know the XBee will have to be connected to the arduino on the receiving end to be used in the Simulink code. Will I also need an Arduino on the transmitting side or will I only need the explorer? And how many of the XBees would I need to send and receive seven analog signals?
A single data packet, transmitted by one radio to another in a millisecond or less, can easily contain 7 different voltage level measurements. As has been stated, you need to tell us more about the data and the frequency with which you need to collect and transmit it.
the frequency is 0 t0 2 Hz
An XBee Series 1 has 6 ADC inputs so would not require another processor if you only needed to digitize 6 Voltages.
To get 7 Voltages you either need to multiply two of the Voltages into an XBee ADC and only send these two on every other transmission. Or you need another processor that has at least 7 ADC inputs.
What resolution of the digitized data do you require? 8bits, 10bits?
What is the range of the Voltages you need to measure (send)???
N1ST asked these same two question in a post above but you still have not answered. You do need to fully state the required Specs for any real help. Else we can only throw out broad suggestions and speculations.
jremington:
A single data packet, transmitted by one radio to another in a millisecond or less, can easily contain 7 different voltage level measurements. As has been stated, you need to tell us more about the data and the frequency with which you need to collect and transmit it.
Not quite. The Xbee can only sample analog values with it’s ADC every milisecond. And multiple analog inputs needs to share this rate. So with 6 analog inputs (an Xbee S1 doesn’t have more) an effective sample rate of 166 sample/sec is possible.
But if the sampling of the signal is done with an Arduino or other microcontroller with sufficient inputs (i.e. Leonardo, Mega, Due, Micro) and usually significantly higher sampling frequency, sending this data over serially with XBee API packets can certainly be done.
I wasn't talking about an Xbee. I said "one radio to another". I use Wixels for this purpose, and they are much faster.Not quite. The Xbee can only sample analog values with it’s ADC every milisecond.
In particular, Pololu’s Wireless Serial App seems relevant to the discussion. Their overview follows:
This app allows you to connect two Wixels together to make a wireless, bidirectional, lossless serial link. It uses an RF bit rate of 350 kbps, is capable of carrying up to 10 KB of payload data per second, and can reach a range of approximately 50 feet (under typical conditions indoors). You can also use it to turn one Wixel into a USB-to-TTL serial adapter.
This would certainly seem adequate for the OP’s requirements, at less than $40 for a pair of Wixels.
Do bear in mind that XBee’s have digital and analog data acquisition and remote control built in to the XBee. Many projects can use these built-in features to control or sense wirelessly without having to use yet another microprocessor, and program that. The master XBee can be connected to a more resourceful thing like a PC or RPi or some such where the remote sensing and controlling is initiated, with a better programming environment.
And the XBee is based on an IEEE standard so it can interoperate with other vendors’ radios, at the message level. There’s a 60mW TX power version option, and model variants for on-board vs. external antenna.
XBee’s have been in production for many years (XBee Series 1), and 100,000’s have been sold, so they’ll likely be around.
Not intending to show bias, and am unaffiliated, just helping RF-newbies.
Wixel… a candidate for a short range line of sight need. Though it uses T.I. chips, one should consider if the module’s availability 3 years’ hence is relevant to the project at hand. Perhaps not.
ok, fair enough.
Another nice feature of the Wixel is that it also has about a dozen pins of general purpose I/O (analog and digital) and there is a pretty nice, free IDE for C programming. People have created small robots that use the on board CPU as the controller. However, there is not the extensive base of freely available C code that I’ve come to expect for AVR processors.