Hello Chris,
I followed your suggestion and I added a pull-up resistor but nothing improved. Any other suggestions.
I am planning to look at the txmitted code pattern.
-Mankan
Hello Chris,
I followed your suggestion and I added a pull-up resistor but nothing improved. Any other suggestions.
I am planning to look at the txmitted code pattern.
-Mankan
If you can't find someone who has used these modules or get tech support, there is an easier option. Linx Technologies has a transmitter and receiver pair that can cost as low as about $16 (depending upon quantites and where you get them) in the SMT version. Bruce at Rentron.com sells the pinned versions and while I have never used them before, I'm sure they work fine. I have made many different designs with these modules and Linx claims 3000+ feet but I have never seen that but it's probably due to my inefficient layout of the PCB. If your power supply is clean and the correct voltage, you don't need any external components except for the 10K pullup on the receive line. The data in is the data out. If you need a short range, something like 500 feet, you can use the HETH antenna for your frequency which sells for .67 cents. They are easy to use and relatively cheap. One thing I need to mention, if you don't purchase an evaluation kit, they won't give you tech support. However, if you do want one, I have one here that I will sell for a cheap price. No worries though, if you don't want to purchase one, I will still help you if you need it.
Hello,
Is the other way to test a RF link? Like using PulsIn and wait for the RF pulse on a particular pin.
Just to make sure that link works.
Thanks,
Mankan
Gidday mate,
You can make this work! Say it out loud 10 times OK!
When the TX is not sending data the RX will be picking up noise, the PIC will see this noise as data, so you need to do a few things.
1. Encode the data (which you have already done) and decode at RX.
2. Add a preamble before you send your data strings,
eg send about 10 bytes of data (eg "RFDATAREADY") and on your receiver have it waiting for the text "READY"
Then start sending your data.
I found that it was useful to use an oscilliscope so you could see the data at TX and RX chips, and see the noise when your not transmitting.
Good luck
J
I've used the TWSxxx and RWSxxx (where xxx=MHz) extensively over the past 7-8 years. I have attached a couple of GIFs (captured at the receiver output) that illustrate the problem you have to deal with.
One GIF is of a marginally weak signal. The upper trace is the LINEAR output pin while the lower trace is the DIGITAL output pin. This happens to be an X-10 RF signal (which uses the NEC IR protocol). You would need to wait in a loop until you receive a valid preamble (e.g. using PulsIn) and then capture the next 32 bits.
The other GIF shows another approach with a preamble that is repeated a few times prior to the actual code. It takes 2-3 copies of the preamble to set the receiver AGC to a point where the preamble emerges from the noise. You would need to wait in a loop for the preamble and then capture the code which follows.
As I recall, Holtek merely repeats the entire code several times with the first copies used to set the AGC so you would have to listen all the time for a valid code.
One more tip: If you do not have access to a 'scope you can record these signals using LineIn of a soundcard. You just need a couple of resistors to form a voltage divider so that the voltage input to the card is in the 0-1V range. This has the added advantage that you can hear the codes, as well. The GIF with the single trace was recorded this way.
Hello,
I am making a Tx port pin High/Low for some duration of time and then on the receiver side, I am just using PULSIN to check the pulse.
I found that transmission and reception is very fine and this brings to the opinion that SERIN command has some problem.
Am I correct? Is there any other way of implementing SERIN for sending RF data?
Thanks for you support.
Mankan
mankan,
Here is a tutorial that shows how to do manchester RS232 RF with a PIC using ASM. Note that he uses what he calls a header (equivalent to what I've been calling a preamble) to alert the receiver, set the AGC, etc.The problem you will have on the receiving end is the same - you'll have to monitor full-time for the preamble/header to detect the beginning of a message.
How much data do you need to transmit?
Bookmarks