Connect with us

Beyond Help?

Discussion in 'General Electronics Discussion' started by sirch, Mar 15, 2013.

Scroll to continue with content
  1. sirch


    Dec 6, 2012
    I recently bought these RF modules.

    The RX module outputs rail to rail square wave "noise" at around 6kHz. When the TX sends the noise stops and an obvious TX pulse appears, it then drops back to being noisy.

    I want to use this to send a pulse that triggers an interrupt on an Arduino. Obviously with the noise it is impossible to use it directly, so I created a simple RC low pass filter (4kHz cut off) which works. But there is a big BUT here, my application is time sensitive (I am sending a sonar pulse to measure distance, see this thread for more details) and the low pass filter introduces a delay.

    Can anyone think of any other way of distinguishing the signal from the noise, or should I just bin this device and get something better?
  2. Harald Kapp

    Harald Kapp Moderator Moderator

    Nov 17, 2011
    What is the quality of your power supply? Are all voltages properly bypassed by capacitors (electrolytics for low frequency plus some ceramics for high frequency)?
  3. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    Jan 21, 2010
    Yes, this is typical for most simple TX/RX pairs.

    What you should find is that you get a nice clean logic level from the receiver while the transmitter is transmitting. Furthermore, that nice clean signal (let's call it a 1) will become a nice clean 0 for s short time after the transmitter stops transmitting. After a brief interval the AGC will open up and you'll see noise again.

    The trick is to send a pulse train that can be interpreted by the arduino as being distinct from noise.

    So maybe what you need to send is a series of 10 pulses that the arduino can detect. The time delay should be similar. Even better, send the distance encoded in the signal.

    I have found NRF24L01 modules to be very effective and easy to use. Make sure you get 8 pin versions, not 10 pin versions!

    With appropriate software (easily available) you can send error-corrected data between 2 systems with very little effort. Note that because the devices do error correction, you cannot guarantee the latency will be fixed, however they do offer an IRQ output and you might be able to use that to trigger a second arduino when a message is received (as opposed to polling the module)
  4. sirch


    Dec 6, 2012
    Thanks for the info, very helpful. Steve you are correct that I get a nice clean signal when transmitting but I had not considered an AGC. I had briefly thought about some kind of encoding but concluded that it would still be hard to separate from the noise.

    I don't need to transmit data, just a single trigger - the situation is
    • module A sends a radio signal and starts listening for an ultrasonic pulse;
    • module B receives the radio signal and emits an ultrasonic pulse;
    • module A measures the time between sending the radio signal and receiving the ultrasound

    I guess a pulse train that is faster than the 6kHz noise signal for a number of pulses and then B sends the ultrasound would do it.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Similar Threads
There are no similar threads yet.
Electronics Point Logo
Continue to site
Quote of the day