RF Transmitter/Reciver


Closed Thread
Results 1 to 40 of 76

Hybrid View

  1. #1
    Join Date
    Jan 2008
    Location
    Sweden
    Posts
    187


    Did you find this post helpful? Yes | No

    Default

    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.

  2. #2
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Thumbs up

    Quote Originally Posted by Fredrick View Post
    I just buy them to play and try to learn something so i don´t have any nature of data to transmit.
    COOL! Whats next?
    Dave
    Always wear safety glasses while programming.

  3. #3
    Join Date
    Jan 2008
    Location
    Sweden
    Posts
    187


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mackrackit View Post
    COOL! Whats next?
    I don´t know but now i will try to get this to work better.

  4. #4
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    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.

  5. #5
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Fredrick View Post
    I just buy them to play and try to learn something so i don´t have any nature of data to transmit.
    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.

  6. #6
    Join Date
    Jan 2008
    Location
    Sweden
    Posts
    187


    Did you find this post helpful? Yes | No

    Default

    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.
    How to i know how the the period of the puls?

    There is diffrent periods for BS1 and BS2 and mybe another period for my PIC?

  7. #7
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    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

  8. #8
    Join Date
    Jan 2008
    Location
    Sweden
    Posts
    187


    Did you find this post helpful? Yes | No

    Default

    But whats is the value for my PIC16F628? how do i calculate that valu?

  9. #9
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    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

  10. #10
    Join Date
    Jul 2003
    Location
    USA - Arizona
    Posts
    156


    Did you find this post helpful? Yes | No

    Default

    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:
    Code:
    SEROUT TransmitterPIN,T1200,[Synk,Synk,Synk,Synk,Synk,Synk,42590,Counter]
    and:
    Code:
    SERIN ReciverPIN,T1200,[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.

  11. #11
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    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.

  12. #12
    Join Date
    Jan 2007
    Location
    Houston, TX
    Posts
    96


    Did you find this post helpful? Yes | No

    Red face lots to know

    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 main
    Code:
    'reciever module
    main:
    SERIN2 TXPORTPIN, 84, [WAIT("TEST"),DEC5 B0]
    pause 100
    goto main
    if 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....
    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

  13. #13
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    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]
    Code:
    'receiver
    SERIN2 TXPORTPIN, 84, [WAIT("TEST"),DEC2 Channel, DEC5 Mydata]
    If Channel = Myaddress then
            ' process MyData
            ENDIF
    You also want to use some encoding, Manchester or else.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  14. #14
    Join Date
    Jan 2007
    Location
    Houston, TX
    Posts
    96


    Did you find this post helpful? Yes | No

    Talking

    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

Similar Threads

  1. Generic RF Receiver
    By dhouston in forum Code Examples
    Replies: 0
    Last Post: - 8th September 2009, 14:35
  2. Interfacing 16F88 to RF module
    By scomi85 in forum General
    Replies: 2
    Last Post: - 19th February 2009, 12:52
  3. Help with CC1100 RF Modules.
    By charudatt in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 27th November 2006, 20:58
  4. RF designs
    By Travin77 in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 14th June 2006, 07:50
  5. Interfacting RF Module
    By rastan in forum General
    Replies: 8
    Last Post: - 10th November 2004, 22:27

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts