Go Down

Topic: Arduino PWM over radio (Read 2210 times) previous topic - next topic



I'm looking for some general guidance on a project I'm working on.
Basically, currently I have an Arduino receiving MIDI serial data with brightness curves which are drawn out to lighting arrays using the PWM outputs on the Arduino (through a transistor).

What I'd like to do is create a number of small, cheap-to-build radio receivers which will draw out the same light patterns on a small LED array (think a handheld device).

Rather than have the Arduino transmit the patterns digitally (as this would require another Arduino on the other end), I'd like to know if it's possible/economically viable to transmit the PWM waveform over radio and recieve it using analog components (I'd guess an op-amp, maybe a transistor...)

I've never done any radio communication before but I understand the basics.  Are there any limitations I could run into that would make this difficult?



Yep, just single channel.  Distance wouldn't be much (it's for a performance so think stage to audience in a bar)...  Optimally, not much of a receiver antenna.  The idea is that the receiver is a handheld device.  I guess I could increase the Tx power and set up a decent antenna (non-directional).

Any idea of what kind of TX/RX modules I might be looking at?  Digikey has oodles of RF stuff but it all seems intended for digital communication.



Also, any assistance with the specifics of implementing one of these on the receiving end (analog) would be much appreciated, though I can take that to a different forum here.

There are plenty of schematics on the Tx side from Arduino but I'm a bit stumped as to in-circuit implementation of a reciever.


Yep, all displaying the same thing.  Thanks for those links!  It's good to see what would work.  Quick question - these RF transmitters/recievers all give their "data rate" and have "digital out", etc. making it seem like it's made for digital.  Sending an analog waveform through would still work?

The datasheet I'm looking at is http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/General/RWS-371-6_433.92MHz_ASK_RF_Receiver_Module_Data_Sheet.pdf



Oh.  Right.  I guess I just think of it as an analog waveform.  I shouldn't.

Anyways.  Is there a set baudrate for PWM output then?  I guess that would make sense?


What I'm asking is what are the minimum requirements I should look for in a transmitter/reciever (baudrate is listed on all of them)


Great!  Thanks.  You've been very helpful.


Sep 26, 2011, 05:45 am Last Edit: Sep 26, 2011, 08:29 pm by fm Reason: 1
The baud rate gives you a measure as to how fast, or slow a signal can change it's level. For example, if you have a 1200 baud rate, you are going to be able to send 1,2KHz sigals at the other end and you will be able to reconstruct it.

However, for a PWM you will have faster level changes as you move away from the 50% duty cycle. For example, at 75% duty cycle, the levels will change from low to high to low twice as fast than a 50% duty cycle signal.

This means that you will need to do a few sums to see which will be the smallest duty cycle your system will handle. Example: suppose you have 1200 baud radio, and a 600Hz PWM frequency carrier. If you put a 25% duty cycle, you will have a signal pulse of about 41us.
Now at 1200bauds the signal changes at about 42us. So in theory anything that changes faster than that will not change it's level. So now we can see that anything below a 25% duty cycle or above 75% duty cycle will not be seen as a change.

To transmit a signal like that has it's limitations. Do your maths taking the baud rate and pwm carrier frequency and see if it is ok for your application.

If it is not ok, you will have to code it and generate the PWM locally with another arduino.

Hope this helps.

Go Up