problem with sending data using RF module


Closed Thread
Results 1 to 40 of 52

Hybrid View

  1. #1
    Join Date
    Mar 2008
    Location
    Texas, USA
    Posts
    114


    Did you find this post helpful? Yes | No

    Default

    Check your comp drawing. If it's correct, you're sending the comp to rails. I think you ment to take the output of the rec to the inverting input, not ground. The 100uf cap is a bit much. I'd use a 1uf or even a .1uf.

    Also, what's the signal look like at 1.8khz (same speed as the tx). Your receiving scope pix says you'r reading at 19.3mhz. If your data is riding on the noise at 1.8khz, you'll need to filter the noise in a LF band pass amp.
    Last edited by JD123; - 4th April 2008 at 16:34.
    No, I'm not Superman, but I did stay at a Holiday Inn Express last night!

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


    Did you find this post helpful? Yes | No

    Default

    There's a load of noise indeed... with that signal.. i don't feel the comparator will be of any help... need something else indeed...

    I have to ask, The RX signal is the one [from the Receiver Without your comparator connected too and a Pull-up on Vcc] or at the output of your LM741.. which will never work as is (forget pin 5 and 1, and connect pin 3 directly to RX pin).

    Maybe the following link will help you a little bit
    http://www.uoguelph.ca/~antoon/gadgets/741/741.html
    http://www.ecircuitcenter.com/Circui...mp/op_comp.htm
    Last edited by mister_e; - 4th April 2008 at 16:44.
    Steve

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

  3. #3
    Join Date
    Mar 2008
    Posts
    19


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mister_e View Post
    There's a load of noise indeed... with that signal.. i don't feel the comparator will be of any help... need something else indeed...

    I have to ask, The RX signal is the one [from the Receiver Without your comparator connected too and a Pull-up on Vcc] or at the output of your LM741.. which will never work as is (forget pin 5 and 1, and connect pin 3 directly to RX pin).

    Maybe the following link will help you a little bit
    http://www.uoguelph.ca/~antoon/gadgets/741/741.html
    http://www.ecircuitcenter.com/Circui...mp/op_comp.htm
    It' s not the output from my LM741. At the moment my Rx data pin connected directly to port A.0. also not using pull up on vcc at that time. In your opinion., should I use filter??

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


    Did you find this post helpful? Yes | No

    Default

    I'm really in between few things... it would be nice to have one of those receiver here to do some test on my side... as shown here there's a load of noise... but your Vmax measure says 80mv, Vamp 136mV (assuming the measure is good... we don't see the v/div input setting)... i don't think it's really the real big problem. the TX show an amplitude of 2.72V :eeK: not sure how good it is for your TX module.

    What i suggest for now, is to use 2 channel on your scope, 1 for TX, 1 for RX, Use 5v/div probe scalling for TX, 500mV - 1 for RX, and post the result(screenshot) here.
    Last edited by mister_e; - 4th April 2008 at 17:30.
    Steve

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

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


    Did you find this post helpful? Yes | No

    Default

    I have tested a SAW controlled transmitter and superregenerative receiver from the same company.Given that they use the same terminology to describe the outputs of both receivers (i.e. output signal is TTL and can be directly connected to decoder) I am confident that the output of your receiver is digital, as is the output of my test receiver. There is not much you can do with a comparator to reduce the noise. Your best bet is to use the techniques I've recommended repeatedly.

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


    Did you find this post helpful? Yes | No

    Default

    Furthermore, if you look at the block diagram in the datasheet from the HiMark RX3310A chip, you will see the comparator in the output circuit. Adding another will not help.

  7. #7
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Wow that really is some sloppy output stage. Try sending a continuous data stream of an
    equal number of 1's & 0's like 55h with a 1mS pause between each byte of data, and capture
    a scope shot of this.

    I'm curious is this data-slicer is ever squaring anything.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  8. #8
    Join Date
    Mar 2008
    Posts
    19


    Did you find this post helpful? Yes | No

    Default

    Hello Guys..Thanks for all the advice
    Now my Rx module works fine in a short distance around 5-6 feet.I just add 10k pull up resistor at Rx data pin and 10uF at Vcc.But If I move more than 6 feets, my Rx module start receiving noise and my LCD will display wrong counting numbers.But It's fine to me.At least it's work.I think maybe the problem is from the antenna.I just use a small wire with length 10cm each for my Tx an Rx.So anyone here have any ideas about the antenna??
    Now I'm moving foward to send a data from my keypad. IF I pressed pad1,pad2 and so on..my LCD at transmitter board will display BUS01,BUS02....What I want to do is send the word "BUSxx" each time I pressed the keypad and display it on my LCD at receiver board. So with help and some advice from mister_e..I wrote the code below.But It's not work even I Connect the transmitter and receiver pin directly.
    The FAct Is..I'm very poor with the coding..please help me guys..

    Tx part

    @ device HS_OSC, LVP_OFF
    define OSC 20

    DEFINE LCD_DREG PORTC 'LCD data port
    DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4
    DEFINE LCD_RSREG PORTB 'LCD register select port
    DEFINE LCD_RSBIT 7 'LCD register select bit
    DEFINE LCD_EREG PORTB 'LCD enable port
    DEFINE LCD_EBIT 5 'LCD enable bit
    DEFINE LCD_RWREG PORTB 'LCD read/write port
    DEFINE LCD_RWBIT 6 'LCD read/write bit
    DEFINE LCD_BITS 8 'LCD bus size 4 or 8
    DEFINE LCD_LINES 2 'Number lines on LCD
    DEFINE LCD_COMMANDUS 2000 'Command delay time in us
    DEFINE LCD_DATAUS 50 'Data delay time in us

    TRISC = %00000000 'Set port B as output
    TRISB = %00000000 'Set port D as output
    low PORTB.6 'Set the R/W bit to low

    pause 1000 'wait until the LCD initializes

    ' Define program variables
    col var byte ' Keypad column
    row var byte ' Keypad row
    key var byte ' Key value
    TransmitterPIN VAR PORTA.0
    YourByteVar var byte
    INCLUDE "modedefs.bas"
    Synk VAR BYTE
    Synk = $55
    DEFINE CHAR_PACING 500

    ADCON1 = 7 ' Make PORTA and PORTE digital


    Pause 100 ' Wait for LCD to start

    Lcdout $fe, 1, "Key In Bus ID" ' Display sign on message

    loop:
    Gosub getkey ' Get a key from the keypad
    Lcdout $FE, $C0, "BUS",DEC2 key ' Display ASCII key number
    PAUSE 200
    Goto loop ' Do it forever

    ' Subroutine to get a key from keypad
    getkey:
    Pause 50 ' Debounce

    getkeyu:
    ' Wait for all keys up
    PORTD = 0 ' All output pins low
    TRISD = $f0 ' Bottom 4 pins out, top 4 pins in
    If ((PORTD >> 4) != $f) Then getkeyu ' If any keys down, loop
    Pause 50 ' Debounce
    getkeyp:
    ' Wait for keypress
    For col = 0 to 3 ' 4 columns in keypad
    PORTD = 0 ' All output pins low
    TRISD = (dcd col) ^ $ff ' Set one column pin to output
    row = PORTD >> 4 ' Read row
    If row != $f Then gotkey ' If any keydown, exit
    Next col

    Goto getkeyp ' No keys down, go look again

    gotkey: ' Change row and column to key number 1 - 16
    key = (col * 4) + (ncd (row ^ $f))
    Return ' Subroutine over

    Main:
    High TransmitterPin
    pause 200
    SEROUT TransmitterPIN,T2400,[Synk,Synk,"~",YourByteVar]
    pause 500
    GOTO Main
    END


    Rx part

    @ device HS_OSC, LVP_OFF
    define OSC 20

    DEFINE LCD_DREG PORTC 'LCD data port
    DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4
    DEFINE LCD_RSREG PORTB 'LCD register select port
    DEFINE LCD_RSBIT 7 'LCD register select bit
    DEFINE LCD_EREG PORTB 'LCD enable port
    DEFINE LCD_EBIT 5 'LCD enable bit
    DEFINE LCD_RWREG PORTB 'LCD read/write port
    DEFINE LCD_RWBIT 6 'LCD read/write bit
    DEFINE LCD_BITS 8 'LCD bus size 4 or 8
    DEFINE LCD_LINES 2 'Number lines on LCD
    DEFINE LCD_COMMANDUS 2000 'Command delay time in us
    DEFINE LCD_DATAUS 50 'Data delay time in us

    TRISC = %00000000 'Set port B as output
    TRISB = %00000000 'Set port D as output
    low PORTB.6 'Set the R/W bit to low

    pause 1000 'wait until the LCD initializes

    INCLUDE "modedefs.bas"
    ReciverPIN VAR PORTA.0
    ADCON1 = 7 ' Alla digitala
    YourByteVar var byte


    pause 100
    LCDOUT $FE,1, " Receiving Bus ID"

    Main:
    SERIN ReciverPIN,T2400,["~"],YourByteVar
    GOSUB LCD
    GOTO Main

    LCD:
    LCDOUT $FE,1
    Lcdout $FE,$C0,"BUS",DEC2 YourByteVar
    PAUSE 500
    RETURN

    END

Similar Threads

  1. Using Nokia LCD
    By BobP in forum mel PIC BASIC Pro
    Replies: 300
    Last Post: - 3rd May 2018, 04:47
  2. Read/Write Problem
    By Tobias in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 10th February 2010, 01:51
  3. Big characters on HD44780 4x20
    By erpalma in forum mel PIC BASIC Pro
    Replies: 23
    Last Post: - 7th January 2007, 02:21
  4. LCD + bar graph
    By DynamoBen in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 5th October 2005, 14:50
  5. Sinus calculating !
    By Don Mario in forum mel PIC BASIC Pro
    Replies: 29
    Last Post: - 28th November 2004, 23:56

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