RF Transceivers
edgellmh
Posts: 85
I have had no luck whatsoever in getting any action out of the new Parallax transceivers (part # 27982).
Attached is the SXB code I have been using to test the parts. Two transceivers are on the same PDB board.
One sends out 4 'U's, then a '!' then a 'A'. The second transceiver is then quered to see if there is a '!' on board and if so it looks for an 'A'. These two characters are never found.
I have no idea about how to proceed from here. Any ideas out there?
marshall edgell
Attached is the SXB code I have been using to test the parts. Two transceivers are on the same PDB board.
One sends out 4 'U's, then a '!' then a 'A'. The second transceiver is then quered to see if there is a '!' on board and if so it looks for an 'A'. These two characters are never found.
I have no idea about how to proceed from here. Any ideas out there?
marshall edgell
Comments
Looking at your code, it appears that you have two Transceivers connected to the same SX unit. Is that correct?
The SX is a single threaded processor which means that you can only process one thing at a time. By the time the receiver portion of the code is running, the transmitter has already finished sending the data. There is no data buffer to 'capture' the data stream in other words.
To "test" to make sure that your Transceivers are working properly with each other, I have attached a simple schematic that lets you test them without a micro controller.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 10/16/2009 10:09:06 PM GMT
Thanks. I'll give this a test soonest.
I did set up separate prototype boards with one sending and one receiving which gave me no evidence of communication. I gather from this that the receiver has to be continuously looking for input. For that I would take the TX portion of code from what I sent and have it execute every minute or so on one board. On the other board I would execute the RX portion of the code I send in a continuous loop.
marshall
The second transceiver has no effect on the LED whether or not pin 5 is grounded.
marshall
marshall
Something doesn't quite seem correct in your setup or with the Transciever units. The "test hookup" should indicate via a LED on the receiver if the button on the Transmitter is being pressed or not.
The main thing to look for is that the 'TX-RX/SEL' pin is tied to Vdd when using the Transciever unit as a Transmitter, and that the 'TX-RX/SEL' pin is tied to Vss when using the Transciever unit as a Receiver.
Other than that you can treat the DATA pin as an INPUT on the Transmitter, and as an OUTPUT on the Receiver.
Once this basic communication configuration can be established, you can send more complex signals such as serial communication over the DATA line from one Transceiver unit to the next.
Is there any way that you can provide a picture of the Transmitter and Receiver setup as you currently have it connected?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 10/16/2009 10:09:36 PM GMT
marshall
It's hard to tell, but it looks like the Receiver is off by one set of pins on the Bread-board... i.e. PDN looks like it's connected to Vss where it should be left open. That being the case, I'm not sure if applying power in this way to the Transceiver would cause damage.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
marshall
My apologies, the schematic I gave you was based on our older RF TX/RX units. Since I don't actually have a Transceiver, I was going by the datasheet and the assumption of the older RF units.
Earlier today I had a colleague of mine test the schematic that I had originally posted and realized that the input to the unit / output from the unit is handled differently than it was in the older units. The updated corrected schematic should "test" the original thought I had in mind.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Could you comment on my plan for setting up a two module approach?
I gather that the receiver has to be continuously looking for input. To test a two module approach to do that I would take the TX portion of code from what I sent and have it execute every minute or so on one board. On the other board I would execute the RX portion of the code I send in a continuous loop.
marshall
marshall
marshall
I should have some Transceivers by Monday so I can determine the "strong to weak" issue you are seeing with the LED. Meanwhile I'm glad that you have character transmission working.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
I have 4 of the RF Transceivers for sale on my eBay store ...
https://www.ebay.com/sch/ic_beau/m.html?item=253663931176&ssPageName=STRK:MESELX:IT&rt=nc&_trksid=p2047675.l2562
I know I have a couple or was it four? They were part of my reeducation program. I tested at least 4 units of each configuration. The things that did not work or if they worked and were found to not be feasible for whatever reason live at the bottom of a big box. I am not yet ready to start cleaning out that box. Most every combination of modules and assorted other stuff in the box has Parallax on it although I have salvaged a few things forward. The final best for me was Xbee - BS2 in combo.
From the schematics I think my data pin travels to my photoresistor then to VSS? Do I run a pin to my data such as p3 for a power supply, if not how should I wire my photoresistor to the data line? What transmit / receive code do I need to use to test this. I already know my code for the photoresistor.
https://www.parallax.com/go/PBASICHelp/Content/LanguageTopics/Commands/RCTIME.htm
and Chapter 6 of this book https://www.parallax.com/sites/default/files/downloads/28125-Robotics-With-The-Boe-Bot-v3.0.pdf
As I recall, those RF modules have a Tx and Rx pin. They transmit raw data and have no error checking (unlike XBee, which is a wireless serial stream). The basic concept I used to code worked like this:
- send the byte of data 3x, 2400 bps
- store each byte in a separate variable
- if two of the bytes are the same, that's your number
You'll use SEROUT and SERIN commands.
There's some example code for these modules. Let me see if I can find it.
Ken Gracey
Code examples https://www.parallax.com/downloads/433-mhz-rf-transceiver-basic-stamp-demo-code