I just buy them to play and try to learn something so i don´t have any nature of data to transmit.What is the nature of the data that you want to transmit?![]()
I just buy them to play and try to learn something so i don´t have any nature of data to transmit.What is the nature of the data that you want to transmit?![]()
Hi,
From page 3:
http://www.parallax.com/Portals/0/Do...ceive-v1.0.pdf
Calibration
When initiating communication between the RF modules, a sync pulse should be sent
to re-establish the radio connection between the modules. Sending several characters
can accomplish this, however sending a pulse (which maintains a high state during the
synchronization) is more efficient.
See page 6 for the BS2 code samples.
* * *
RSSI PIN (Received Signal Strength Indicator)
This line will supply an analog voltage that is proportional
to the strength of the received signal.
Can you test that and post the results?
(Do not connect the PIC microcontrollers during this test).
Step 1: Connect a digital voltmeter to the RSSI PIN of the receiver.
(Make sure the multimeter is set to DC volt and that you measure from the RSSI PIN to GND).
Power on the receiver and make sure the transmitter is powered off.
Q1: What voltage do you get on the RSSI PIN of the receiver?
Step 2: Power on the transmitter.
Q2: What voltage do you get on the RSSI PIN of the receiver?
(The transmitter and the Receiver are powered on).
Step 3: Connect +5V via a 1k ohm series resistor to the DATA pin of the transmitter.
(The transmitter and the receiver are powered on).
Q3: What voltage do you get on the RSSI PIN of the receiver?
Step 4: Connect GND via a 1k ohm series resistor to the DATA pin of the transmitter.
(The transmitter and the receiver are powered on).
Q4: What voltage do you get on the RSSI PIN of the receiver?
Best regards,
Luciano
* * *
EDIT:
These are the RF modules used by Parallax:
LR Series RF Transmitter Module Data Guide
http://www.linxtechnologies.com/Docu...Data_Guide.pdf
LR Series RF Receiver Module Data Guide
http://www.linxtechnologies.com/Docu...Data_Guide.pdf
Last edited by Luciano; - 15th February 2008 at 15:45.
I looked briefly at the datasheet and these do use the Lynx RXM-433-LR-S chip which is a superhet design (the same one Bruce sells). This has a little better sensitivity and a little less noise than a superregenerative receiver like the RWS-434 but, in essence, it's an AM radio receiver and the noise you see in the absence of a signal is equivalent to the noise you hear on an AM radio when it's tuned between stations.
You can make use of the RSSI pin. Connect it to one of the PIC's ADC pins to get a measure of signal strength. You can use this to compare different antennas, etc.
You can also see the output signal using the techniques I've described here.
How to i know how the the period of the puls?Calibration
When initiating communication between the RF modules, a sync pulse should be sent
to re-establish the radio connection between the modules. Sending several characters
can accomplish this, however sending a pulse (which maintains a high state during the
synchronization) is more efficient.
There is diffrent periods for BS1 and BS2 and mybe another period for my PIC?
Hi,
From page 3:
http://www.parallax.com/Portals/0/Do...ceive-v1.0.pdf
===========================
Basic Stamp 1:
PULSOUT 1, 300
300 = 300 * 10 µs = 3000 µs
===========================
Basic Stamp 2:
PULSOUT 8, 1200
1200 = 1200 * 2 µs = 2400 µs
===========================
See page 339 of the Basic Stamp manual:
http://www.parallax.com/dl/docs/prod...icStampMan.pdf
Best regards,
Luciano
But whats is the value for my PIC16F628? how do i calculate that valu?
Hi,
The synchronization is for the microcontroller connected to the receiver.
The duration of the synchronization pulse depends from the used baud rate.
Here is the duration of a frame at 1200 baud.
(Click to enlarge the picture).
Make sure you use 8 data bits, no parity, one stop bit.
Must be INVERTED. (See PicBasic manual).
Best regards,
Luciano
You can get more noise "filtering" by making your pre-amble more unique. Right now you are using 9, which is 0b00001001. So anytime the receiver puts this out the PIC will display the next character. You can see (in particular if you look at David's plots) that you can almost guarantee the receiver will output this at any particular time. That is, a noisy receiver will output ones randomly.
So if you make your pre-amble longer and more "unique" you gain some advantage over the noisy output of the receiver.
Say:
and:Code:SEROUT TransmitterPIN,T1200,[Synk,Synk,Synk,Synk,Synk,Synk,42590,Counter]
This of course is in addition to all that has been said here. The RSSI output is a nifty way to create a "listen to me" or "wake-up" signal, and FM-based systems (e.g. FSK) modules have an inherent advantage over noise. However you can get the AM-based (e.g. ASK) modules to work ok if you understand the limitations and caveats.Code:SERIN ReciverPIN,T1200,[42590],Counter
From Linx Technologies - Linx Knowledgebase
The DATA line of the LR receiver seems to switch randomly when the transmitter is not on.
This is a result of the increased sensitivity of the LR receiver. The sensitivity is below the noise floor of the board, so it is picking up thermal noise and other random signals and outputting it as data. This is generally not a problem for off-the-shelf decoders and can be resolved in software for custom microcontrollers (see Application Note AN-00160 for protocol recommendations), but an external squelch circuit can also be used. Using a squelch circuit will allow the designer to only allow data when the received signal is above a certain threshold, but it will sacrifice the range. This allows the user to make the tradeoff between random noise and range.
Attached is a circuit schematic for a squelch circuit for the LR Series receiver (or any receiver with an RSSI output). The RSSI line will output a voltage that is relative to the strength of the received signal. Since the LR Series is On-Off-Keyed, this output will follow the data and look like a square wave, so it will be at a lower voltage when receiving a '0' and at a higher voltage when receiving a '1'. D1, C1, and R1 form a peak detector that will follow the peak voltage of the ones.
This voltage is then fed into the non-inverting input of a comparator where it is compared to a reference level set by a potentiometer. When the signal level becomes greater than the reference voltage set by the potentiometer, the comparator will release the output line. When the signal level falls below the reference voltage, the comparator will pull the output line to ground. Most comparators have open collector outputs, meaning that they can only pull the line to ground or release it. They cannot pull the line high, so a weak external pull-up resistor (R3) is needed to pull the line to Vcc when the comparator releases it. The feedback resistor (R4) is used to stabilize the output.
The output of the comparator is used to control an analog switch that will pass the received data to whatever external circuitry the application requires. When the control line is high, the data gets passed, otherwise it is not connected. This means that when the received signal is greater than the threshold, the switch is closed and the data is passed. When laying out the board, it is a good idea to place the output of the analog switch close to the device that will be using the data. A long trace or wire here has the potential to couple AC noise onto the data line while it is squelched.
A discreet voltage divider or a voltage reference IC can be used in place of the potentiometer, and the values for C1 and R1 can be adjusted to tune the response as needed.
Attached File: LR Series Receiver Squelch Circuit - 56K
http://www.linxtechnologies.com/Know...%20Squelch.jpg
APPLICATION NOTE AN-00160
Considerations For Sending Data Over a Wireless Link
http://www.linxtechnologies.com/Documents/AN-00160.pdf
Last edited by Luciano; - 19th February 2008 at 09:25.
Hello out there,
I am looking at using the LINX TXM/RXM LR series of serial modules to send real time data for a depth monitoring system. They sure don't look as easy to implement as the LINX TXM KH2 modules with simple bits and adressing with built in encoders and decoders.
I was hoping to get away with not using any error checking or checksum, just a simple test for one transmitter to pass ...something like....
Code:'transmitter module main: B0 = 12345 SEROUT2 TXPORTPIN, 84, ["TEST", B0] pause 100 goto mainif you pass the test (which is a string), send the simple data and wait for the next time the test is sent/passed to collect the data. Another idea I had to was to create my own adressing with one of the ports for security....Code:'reciever module main: SERIN2 TXPORTPIN, 84, [WAIT("TEST"),DEC5 B0] pause 100 goto main
Are there any other suggestions out there?
how about using an encoder chipset for serial data? I have not looked at this yet, I will do some more looking and get back with what I find.
Padawan-78
You can still add a variable who will pass the channel to write to, on the receiver side you just need to monitor that variable an proceed if it match.
Code:'transmitter module MyData = 12345 Channel = 1 SEROUT2 TXPORTPIN, 84, ["TEST", DEC2 Channel, DEC5 MyData]You also want to use some encoding, Manchester or else.Code:'receiver SERIN2 TXPORTPIN, 84, [WAIT("TEST"),DEC2 Channel, DEC5 Mydata] If Channel = Myaddress then ' process MyData ENDIF
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Steve,
thanks again for all the help along the way with my serial project... I will give it your advice a shot, I feel that my hardware design will follow linx requirements well enough, just want to make sure my firmware is equal to the task.
I will let you know how it goes.
Padawan-78
Bookmarks