So I have a WRL-07813 and I’ve been trying to play around with it, but I’ve hit a bit of a roadblock.
When the WRL-07813 receiver is hooked up it receives a constant stream of gibberish bits. I guess I must have some serious interference? If I transmit a continuous stream of bytes I can read them fine… but the problem is that the number of bytes that the interference “eats” before giving me any info is pretty variable.
I poked around the forums to see what others were saying, and I saw a couple topics about using “synchronizing bytes” of 0xAA, but even when I give it synchronizing bytes, sometimes I’ll get the first set of bytes, other times I’ll miss the first 5…ish bytes. And it’ll eat some random bytes from the middle as well.
I set up a simple program which sends out “Hello, I am a PIC16F88. Byte #: xx” Where xx is the current count. It sends it via the UART at 2400 bps
I’ll pretty much get " I am a PIC16F88. Byte #: xx" so long as there are at least 4 synchronizing bytes, but I’ll frequently lose the “yte” of “Byte” and the “am a”. Even with 10 synchronizing bytes, it’s still pretty random whether I get the “Hello,”. I’d say maybe 3 out of every 100 manage to grab the “Hello,” and most of them (probably 18 of every 20) still receive the garbled version: " I **** PIC16F88. B*** #: xx"
Any simple solutions? Even not simple solutions would be pretty useful!
I’m having the same problem with a WRL-07816. The receiver is constantly outputting garbage. There’s no way there can be this much interference. Has anyone managed to get any of these things to work?
I was coming down the to wire on this project, and needed to figure out what was wrong. The chip on the back of the receiver is a dual op amp. I wanted to stay away from the RF section. I noticed that the op amp “A” (+ pin 3, - pin 2, out pin 1) was the final stage, and it looked like it was doing a comparison between VCC/2 and the greatly amplified detector output from pin 7. There was a 10 ms period ac impressed upon the output of the detector that was resulting in the noise coming out of the op amp pin 1. Now I don’t have a schematic, but because the op amp + input (pin3) was not equal to the - input, I suspected it is being used as a comparator. I suspected that there might be capacitive coupling to the + input (pin 3) from the amplified detector output pin 7, and that was creating the erroneous comparison, because you simply cannot run a low frequency op amp signal with only capacitive coupling through a bipolar op amp; You MUST have a slight dc bias current. I attached an 820 kilohm resistor from the ground pin to the + input on pin 3 of the opamp, and the noise absolutely vanished, and the receiver started operating correctly. All I had was a 1/4 watt on hand, but it marginally fits. If you can find a little surface mount resistor, you could bridge it directly from pin 4 (ground) of the op amp to pin 3 of the op amp. Enjoy this solution, courtesy of Snowleopard Labs. www.sover.net/~snowleop
stevech:
In any wireless data system, you need a well designed error detection and correction protocol. There are many, or you can invent one.
If using USART as the transfer method with these wireless modules, is an error detection/correction protocol needed? In other words, is USART sufficient? how about with a Parity bit?
kitscuzz:
Any simple solutions? Even not simple solutions would be pretty useful!
One problem is that these receivers have a high gain amplifier with a built in automatic gain control (AGC). If you don’t balance the data, the receiver wants to mess with the gain. Stay with the sync bytes, but when you start transmitting the actual data, send the data byte followed by its complement (e.g., 0x01 followed by 0xFE). This will keep the data fairly balanced. You may also find that using a software UART to receive the data provides better tolerance (from the pulse stretching observed in some receivers) when receiving the data.
I have a reliable data link of around 100 feet. I send the sync bytes to allow the receiver to adjust to the signal level and then transmit my data and its complement. I seldom have errors even though I’m sending 80 or more characters at a time at 2400 baud.