SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By jeff77789
#157221
I've been trying to use this pair of RF transmitter/receiver:

https://www.sparkfun.com/products/10534
https://www.sparkfun.com/products/10532


does anybody have any experience with what type of signal it actually sends/receives?

you see that in the datasheet for the receiver you have a digital output and a linear output as well.

I sent a pwm type output through this and it looks like it kind of successfully transfers but the signal is very noisy, disrupting the pwm signal. i dont think an analog voltage signal would transfer

thanks
User avatar
By CircuitBurner
#157224
1st of all, what signal waveform or modulation are you trying to send thru these?
They arent shy about telling us right up front that these are indiscriminate radios...
to me that means its prolly an AM or ASK (amplitude shift keying), meaning wide bandwidth
of reception on the receiver end. Even if the transmitter is really narrow and clean on its target frequency, the wideband receiver could muddle that pretty good. I say this cause its much easier and simpler on the TX side to generate a signal without a lot of spurious emissions (splattering a wide chunk of RF spectrum) especially when its real low power like this...
The onus is therefore placed upon the RX side, as receivers are typically 4 to 5 times as complex and more parts.
Ever just look at a TX and RX side by side ? LOL it becomes obvious.
Now just cause they give you an affordable RX solution thats soaking up all kinds of noise from your microwave oven to cosmic signals from quasars and black holes hundreds of lightyears away (seriously, not kidding) doesnt mean what they provided is useless...
WE need to determine a few things here -
>what range from TX to RX in meters
>as said already, what waveform or modulation are you trying to impose on the TX carrier signal
>related to the above- what RATE of signal pulse or modulation freq is it (baud basically)

With these answered, we can craft a suitable solution to narrow the RX window.
These possible solutions would be as simple as winding a simple choke (coil) and pairing it with a certain capacitor creating a classic filter or trap... several methodologies along those lines depending on those questions...all the way to using a directional antenna setup (if the TX and RX orientation doesnt move around much) or a combination of these things.
Either way it doesnt have to be expensive at all, on the contrary it might just be a couple bucks, and finding a friendly radio nut (Mmwhaa) to lend some expertise on the radio theory.
By Mee_n_Mac
#157228
jeff77789 wrote:does anybody have any experience with what type of signal it actually sends/receives?
The transmitter is a simple AM type. It's either transmitting or it's not, based on the logic state of the input. It's made to send digital, not analog, signals.
jeff77789 wrote:I sent a pwm type output through this and it looks like it kind of successfully transfers but the signal is very noisy, disrupting the pwm signal. i dont think an analog voltage signal would transfer
If you're sending a PWM signal, the bit period must be longer than the 4800 baud rate (208 uS) limit. The receiver will be very noisy and so you'll have to implement your own error detection/correction scheme and some way (Manchester encoding) to balance the on/off times.

http://davehouston.org/RFTipsTricks.htm
User avatar
By CircuitBurner
#157229
That would probably work too.
But does nothing to improve a lack of off frequency rejection.
But its good to have a variety of workable solutions to any given problem isnt it? lol
Some guys take a bike with egg shaped wheels and put shock absorbers on it to mitigate the wobble...
Others decide if the rest of bike is any good, and put round wheels on it.
hehe
By lyndon
#157230
Depending on what data you send, they can be quite simple to use. If you want to send digital streams, then you'll need something like Manchester encoding mentioned. But there have been thousands if not millions of simple RF data collection devices built that used simple voltage-to-frequency converters to encode the signal as a frequency. I had a couple of weather balloon transmitters that did this for temperature and pressure. Or look at the multichannel PWM methods that radio control systems use. That's been done for decades with discrete logic.

I have experimented with these transmitters and found that they work really well for something similar. I didn't see any noise at the output: just a fairly clean pulsetrain. I didn't try it at more than 100' though.
By jeff77789
#157235
I am actually using this with the MaxBotix ultrasonic sensor where I have a PWM output, Analog output and an inverted digital signal at 9600 baud
By jremington
#157237
That transmitter/receiver pair won't work with the ultrasonic sensor, for reasons described in the link posted by Mee_n_Mac. However, they are a great, very cheap solution for short range transmission of digital data using microprocessors (up to about 300 m in the open). If you use Arduino, or other AVR-type C programmable micro, take a look at the VirtualWire library http://www.airspayce.com/mikem/arduino/VirtualWire/
By jeff77789
#157243
jremington wrote:That transmitter/receiver pair won't work with the ultrasonic sensor, for reasons described in the link posted by Mee_n_Mac. However, they are a great, very cheap solution for short range transmission of digital data using microprocessors (up to about 300 m in the open). If you use Arduino, or other AVR-type C programmable micro, take a look at the VirtualWire library http://www.airspayce.com/mikem/arduino/VirtualWire/
are you saying that i need 1 microprocessor for the sensor and the Tx and 1 microprocessor on the other end of the wireless signal where the Rx is to interpret the signal?

I only have one arduino at the moment (arduino nano) and to save cost is it possible to use the 8-pin AVR ATtiny85?
I have no experience with this since it is just the microprocessor unit and it doesn't even have an arduino bootloader. how would i go about programming this?
By Mee_n_Mac
#157248
jeff77789 wrote:are you saying that i need 1 microprocessor for the sensor and the Tx and 1 microprocessor on the other end of the wireless signal where the Rx is to interpret the signal?

I only have one arduino at the moment (arduino nano) and to save cost is it possible to use the 8-pin AVR ATtiny85?
I have no experience with this since it is just the microprocessor unit and it doesn't even have an arduino bootloader. how would i go about programming this?
If you want to continue using these devices then yes I think you need some logic in between the sonar and the transmitter and the receiver and whatever it is that's using the data. The sonar outputs a 5 ASCII character string at 9600 baud, 8N1. That takes a little over 5 msec out of the every 100 msec that the sonar can run/repeat at. So at the xmit side your logic (and that's probably easiest to be an MCU of some type) can read and buffer that string, encode it and resend it to the RF xmitter at a slower bit rate. You could have your MCU add some AGC training time (see link in my 1'st post) if needed. It could add dead characters between the real sonar data just to keep the AGC from gaining up during the no-data times (and introducing noise). My off-the-cuff inclination is to make the Tiny do the encoding as that's a straight forward task once you figure out what you want to do. The decoding and error detection and correction at the receiving end might be better suited to the Arduino.

If you Google about you can find a number of articles on how you can use your Arduino as a programmer for other Atmel MCUs. For example here's the 1'st one I found:
http://hlt.media.mit.edu/?p=1695
By jremington
#157263
Yes, you can use the 433 MHz versions. They are essentially equivalent to the 315 MHz versions, but use shorter antennas.

You might look at how people have used these with very cheap PICAXE chips, which are programmed in a simple version of Basic. You can use two eight pin PICAXE chips to handle the radio communication, and it can be done in less than a dozen lines of Basic and for about US$8.00 total cost. See this http://www.picaxe.orconhosting.net.nz/all3.jpg and picaxe forum entries, for example: http://www.picaxeforum.co.uk/showthread ... ir-and-LCD
By jeff77789
#157953
okay so i finally figured out to find a digital signal to send through these. there is another problem that comes up:

1. the signal being sent to the transmitter is 9600 baud which is 2x the 4800baud for the tx/rx (which i do not know if it affects the signal any)

2. when i view the signal, it is very noisy and it looks like it is just random numbers. the thing is, if i turn off the Tx, the values stay in their random state and it looks like there is no uniformity
By waltr
#157965
9600 is too fast for the TX/RX and is likely to result in garbage at the RX end. Change the Baud rate to the TX to 4800 or less.
Are you sending 'sync' bytes before your data?
Are you Manchester encoding your data?
Both greatly improve the reliability of the data.
Did you study the VirtualWire code?
By jeff77789
#157972
waltr wrote:9600 is too fast for the TX/RX and is likely to result in garbage at the RX end. Change the Baud rate to the TX to 4800 or less.
Are you sending 'sync' bytes before your data?
Are you Manchester encoding your data?
Both greatly improve the reliability of the data.
Did you study the VirtualWire code?


I was actually wondering if a PICAXE chip can be inserted and programmed with arduino and then put in between the TX and the RF transmitter to convert the baud rates...im skeptical if coding and encoding can get over this baud rate limitation