اطلاعیه

Collapse
No announcement yet.

مشکل برد rfm12bp

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل برد rfm12bp

    با درود خدمت دوستان
    با کلی گشتن تو این سایت و سایت های دیگه و خوندن کلی مطلب در مورد fm12 و rfm12b و rfm12bp یک پروژه ای رو بستم که فرستنده اون rfm12bp و گیرنده اون rfm12b هستش
    تو مدار از تقسیم مقاومتی و رگولاتور lf33 برای هردو ماژول استفاده کردم
    زبان برنامه هم بسکام هست
    خوب مدار به خوبی کار میکنه ولی مشکل برد داره یعنی بردش از 10 متر بیشتر نمیشه
    یکی دو جا دیدم که باید طول آنتن سیمی نسبت به فرکانس ماژول انتخاب بشه و اگه یه خورده کوتاه بلند بشه همین بلای مدار من سرش میاد
    اینو تو یه سایت دیدم

    An antenna must be connected to the module, and piece of wire will work. The length varies by frequency, here's our cheatsheet for cutting antennas, which includes about .15"for stripping, tinning and soldering.

    for 434 MHz 6.7 inches
    for 868 (Europe) 3.5 inches
    for 915 (Americas & Australia) 3.25 inches
    طول سیم آنتن فرستنده تقریبا همون 6.7 اینچ هست
    اما طول آنتن گیرندم خیلی بلند تره
    اگه کسی تو این زمینه تجربه ای داره دریغ نکنه

    #2
    پاسخ : مشکل برد rfm12bp

    بعد چرا طول آنتن گیرنده رو زیاد کردین؟
    موقع ارسال نقویت توان رو روشن میکنی؟
    حساسیت گیرنده رو روی چند دی بی گذاشتی؟؟؟

    دیدگاه


      #3
      پاسخ : مشکل برد rfm12bp

      برای جواب به سوال های شما من دو تا کد رو قرار می دم
      البته اینم بگم من این دو تا ماژژول رو از یه پروژه دیگه برداشتم که صاحب اون ادعا می کرد تا 500 متر راحت جواب میده

      این کد فرستنده که برای rfm12bp هست که رشته s رو ارسال می کنه

      $regfile = "M16def.dat"
      $crystal = 8000000
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Config Portd.0 = Output
      Config Portd.1 = Output
      Config Portd.2 = Output
      Config Portd.3 = Input
      Config Portd.4 = Output
      Config Portd.5 = Output
      Config Portd.6 = Output
      Config Portd.7 = Input
      Sdi Alias Portd.0
      Rxenn Alias Portd.1
      Txenn Alias Portd.2
      Nirqr Alias Pind.3
      Nsel Alias Portd.4
      Sck Alias Portd.5
      Led Alias Portd.6
      Sdo Alias Pind.7
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Dim Received_word As Word
      Dim B As Byte

      Dim Acmd As Word
      Dim Temp As Word
      Dim Abyte As Byte
      Dim J As Byte


      Dim Text(17) As Byte
      Dim S As String * 17
      Dim P As String * 1
      Dim T As Byte

      Dim I As Byte
      Dim Par As String * 3

      '------------------------ THIS DATA SEND TO RFM12 FOR CONFIG IT
      Dim Cmd(12) As Word
      Cmd(1) = &H80D7
      Cmd(2) = &H8239
      Cmd(3) = &HA640
      Cmd(4) = &HC647
      Cmd(5) = &H94A0
      Cmd(6) = &HC2AC
      Cmd(7) = &HCA81
      Cmd(8) = &HC483
      Cmd(9) = &H9850
      Cmd(10) = &HE000
      Cmd(11) = &HC800
      Cmd(12) = &HC040
      '------------------------ THIS DATA SEND TO RFM12 FOR START OF PROTOCOL
      Dim Sdata(5) As Byte
      Sdata(1) = &HAA
      Sdata(2) = &HAA
      Sdata(3) = &HAA
      Sdata(4) = &H2D
      Sdata(5) = &HD4
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Declare Sub Rfm12_read_write()
      Declare Sub Rfm12bpinit()
      Declare Sub Rf12_send()
      Declare Sub Ersal()
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------

      Toggle Led
      Call Rfm12bpinit()
      Toggle Led


      Do


      S = "*255A255B255C255#"
      For J = 1 To 17
      P = Mid(s , J , 1)
      Text(j) = Asc(p)
      Next J
      Call Ersal()
      Wait 1
      Loop
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rfm12_read_write()
      Received_word = 0
      Reset Sck
      Reset Nsel
      '-------------------- FOR (WWW.ISEEE.IR)
      '-------------------------- SNED 16 BIT DATA TO SDI AND READ 16 BIT OF SDO
      For B = 15 To 0 Step -1
      Sdi = Acmd.b
      Set Sck
      Received_word.b = Sdo
      Reset Sck
      Next
      '------------------- END FOR (WWW.ISEEE.IR)
      Reset Sck
      Set Nsel
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rfm12bpinit()
      Set Nsel
      Set Sdi
      Reset Sck
      Reset Txenn
      Reset Rxenn
      For J = 1 To 12
      Acmd = Cmd(j)
      Call Rfm12_read_write()
      Next
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rf12_send()
      Set Txenn
      Reset Rxenn
      Bitwait Nirqr , Reset
      Acmd = &HB800 Or Abyte
      Call Rfm12_read_write()
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Ersal()

      Toggle Led

      Acmd = &H0000
      Call Rfm12_read_write()

      Acmd = &H8239
      Call Rfm12_read_write()

      For J = 1 To 5
      Abyte = Sdata(j)
      Call Rf12_send()
      Next

      For J = 1 To 17
      Abyte = Text(j)
      Call Rf12_send()
      Next J

      Abyte = &HAA
      Call Rf12_send()

      Abyte = &HAA
      Call Rf12_send()

      Abyte = &HAA
      Call Rf12_send()

      Acmd = &H8201
      Call Rfm12_read_write()

      Reset Txenn
      Set Rxenn
      Waitms 30

      End Sub

      اینم کد گیرنده که برای rfm12b هستش که همون رشته رو دریافت می کنه و نمایش میده

      $regfile = "M8def.dat"
      $crystal = 8000000
      Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5
      Config Lcd = 16 * 2
      Cursor Off

      Cls
      Lcd "Test"
      Wait 2


      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Config Portd.7 = Input
      Config Portd.0 = Output
      Config Portd.1 = Output
      Config Portd.2 = Input
      Config Portd.3 = Output
      Config Portd.4 = Output
      Sdi Alias Portd.0
      Nirqr Alias Pind.7
      Nsel Alias Portd.1
      Sck Alias Portd.3
      Led Alias Portd.4
      Sdo Alias Pind.2
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Dim Received_word As Word
      Dim Rec_data As Byte
      Dim B As Byte
      Dim T As Byte

      Dim Acmd As Word
      Dim Temp As Word
      Dim Abyte As Byte
      Dim J As Byte


      Dim S As String * 20
      Dim Re As Byte


      '------------------------ THIS DATA SEND TO RFM12 FOR CONFIG IT
      Dim Cmd(12) As Word
      Cmd(1) = &H80D7
      Cmd(2) = &H82D9
      Cmd(3) = &HA640
      Cmd(4) = &HC647
      Cmd(5) = &H94A0
      Cmd(6) = &HC2AC
      Cmd(7) = &HCA81
      Cmd(8) = &HC483
      Cmd(9) = &H9850
      Cmd(10) = &HE000
      Cmd(11) = &HC800
      Cmd(12) = &HC040
      '------------------------ THIS DATA SEND TO RFM12 FOR START OF PROTOCOL
      Dim Sdata(5) As Byte
      Sdata(1) = &HAA
      Sdata(2) = &HAA
      Sdata(3) = &HAA
      Sdata(4) = &H2D
      Sdata(5) = &HD4
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Declare Sub Rfm12_read_write()
      Declare Sub Rfm12bpinit()
      Declare Sub Rf12_send()
      Declare Sub Daryaft()
      Declare Sub Rf12_recieve()
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Toggle Led
      Call Rfm12bpinit()
      Toggle Led


      Do
      Call Daryaft()
      Cls
      Lcd S
      Loop
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rfm12_read_write()
      Received_word = 0
      Reset Sck
      Reset Nsel
      '-------------------- FOR (WWW.ISEEE.IR)
      '-------------------------- SNED 16 BIT DATA TO SDI AND READ 16 BIT OF SDO
      For B = 15 To 0 Step -1
      Sdi = Acmd.b
      Set Sck
      Received_word.b = Sdo
      Reset Sck
      Next
      '------------------- END FOR (WWW.ISEEE.IR)
      Reset Sck
      Set Nsel
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rfm12bpinit()
      Set Nsel
      Set Sdi
      Reset Sck
      'Reset Txenn
      'Reset Rxenn
      For J = 1 To 12
      Acmd = Cmd(j)
      Call Rfm12_read_write()
      Next

      Acmd = &HCA81
      Call Rfm12_read_write()
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rf12_send()
      'Set Txenn
      'Reset Rxenn
      Bitwait Nirqr , Reset
      Acmd = &HB800 Or Abyte
      Call Rfm12_read_write()
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Rf12_recieve()
      'Reset Txenn
      'Set Rxenn
      Bitwait Nirqr , Reset
      Acmd = &H0000
      Call Rfm12_read_write()
      Acmd = &HB000
      Call Rfm12_read_write()
      Rec_data = Received_word And &H00FF
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      Sub Daryaft()
      Re = 0
      S = ""
      Do
      Acmd = &HCA83
      Call Rfm12_read_write()
      Call Rf12_recieve()
      If Rec_data = 42 Then Re = 1
      If Re = 1 Then S = S + Chr(rec_data)
      If Rec_data = 35 Then Exit Do
      Toggle Led
      Loop
      Acmd = &HCA81
      Call Rfm12_read_write()
      End Sub
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      '-------------------------------------------------------------------------------
      اون مقادیر حساسیت گیرنده و اینا رو از تو 12 کامند پیکربندی ماژول می تونید ببینید
      آنتن هم همان طور که گفتم رو خودش بود

      دیدگاه


        #4
        پاسخ : مشکل برد rfm12bp

        الام متوجه یه چیزی شدم که خیلی عجیبه
        برد من مارکاژ نداشت و اشتباه کرده بودم و lf33 رو برعکس گذاشته بودم ( البته مدار کار می کرد با برد کم )
        عجبش اینجاست که وقتی lf33 رو درست میزارم rfm12b کلا دریافت نمی کنه ( وقتی اشتباه میزارم درسته با برد کم )
        ممکن ماژول ایراد پیدا کرده باشه ؟؟؟
        تو این بازار خراب باید یکی دیگه بگیرم ؟؟؟

        دیدگاه


          #5
          پاسخ : مشکل برد rfm12bp

          نوشته اصلی توسط talireza2005
          الام متوجه یه چیزی شدم که خیلی عجیبه
          برد من مارکاژ نداشت و اشتباه کرده بودم و lf33 رو برعکس گذاشته بودم ( البته مدار کار می کرد با برد کم )
          عجبش اینجاست که وقتی lf33 رو درست میزارم rfm12b کلا دریافت نمی کنه ( وقتی اشتباه میزارم درسته با برد کم )
          ممکن ماژول ایراد پیدا کرده باشه ؟؟؟
          تو این بازار خراب باید یکی دیگه بگیرم ؟؟؟
          خازن 22uf در خروجی رگولاتورتون گذاشتید؟
          اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

          دیدگاه


            #6
            پاسخ : مشکل برد rfm12bp

            سلام
            نوشته اصلی توسط talireza2005
            برای جواب به سوال های شما من دو تا کد رو قرار می دم
            البته اینم بگم من این دو تا ماژژول رو از یه پروژه دیگه برداشتم که صاحب اون ادعا می کرد تا 500 متر راحت جواب میده

            این کد فرستنده که برای rfm12bp هست که رشته s رو ارسال می کنه
            سلام
            اگه امکانش هست در مورد سخت افزارش هم یه کمکی به من بکنید
            با تشکر فراوان
            *** السلام عليک يا علي بن محمد ايها الهادي النقي يابن رسول الله ***
            اللهم العن اول ظالم ظلم حق محمد وال محمد واخر تابع له علي ذالك

            دیدگاه


              #7
              پاسخ : مشکل برد rfm12bp

              :angry: :angry: :angry: :angry:
              منم دقیقا همین مشکلو دارم.بردم از حدود 10 متر بیشتر نمیشه
              چیکارش کنم؟؟؟؟ :angry: :angry:
              این قسمت حساسیت و تقویت توان با کدوم رجیستر هستش؟؟؟روی چه مقداری تنظیمش کنم؟
              خواهشا اگه کسی میدونه کمک کنه

              دیدگاه


                #8
                پاسخ : مشکل برد rfm12bp

                سلام این طور که من میدونم با 3.3v برد کاهش پیدا میکنه چون تقویت ماژول کاهش پیدامیکنه برای برد بالا از ولتاژ12 و5 استفاده میشه
                :smile:

                دیدگاه


                  #9
                  پاسخ : مشکل برد rfm12bp

                  مرسی از پاسختون.
                  از 12 ولت هم استفاده میکنم ولی بردم کمه :angry:

                  دیدگاه


                    #10
                    پاسخ : مشکل برد rfm12bp

                    نوشته اصلی توسط mohammadttl
                    مرسی از پاسختون.
                    از 12 ولت هم استفاده میکنم ولی بردم کمه :angry:
                    موقع ارسال ، ماژول چقدر جریان می کشد؟

                    دیدگاه


                      #11
                      پاسخ : مشکل برد rfm12bp

                      سلام
                      اینو واسه دوستانی می نویسم که بعد ها این تاپیک رو می خونن
                      مشکل حل شد
                      تو خروجی lf33 خازن مناسب بزارید من یادم رفته بود
                      ولی طول آنتن ها همون داستانیه که گفتم تو اولین پست
                      به طول آنتن ها و مود فرکانسی ای که انتخاب می کنید ( توسط رجیستر ها ) دقت کنید

                      لامسب برد خیلی باحالی داره بالای 500 مترم رفتم دیتا میومد هنوز

                      قسمت توان بالاشم 12 ولت بود و تغذیش 3.3 ولت

                      دیدگاه


                        #12
                        پاسخ : مشکل برد rfm12bp

                        نوشته اصلی توسط talireza2005
                        سلام
                        اینو واسه دوستانی می نویسم که بعد ها این تاپیک رو می خونن
                        مشکل حل شد
                        تو خروجی lf33 خازن مناسب بزارید من یادم رفته بود
                        ولی طول آنتن ها همون داستانیه که گفتم تو اولین پست
                        به طول آنتن ها و مود فرکانسی ای که انتخاب می کنید ( توسط رجیستر ها ) دقت کنید

                        لامسب برد خیلی باحالی داره بالای 500 مترم رفتم دیتا میومد هنوز

                        قسمت توان بالاشم 12 ولت بود و تغذیش 3.3 ولت

                        پس خدارو شکر حل شد. من عاشق RFM12BP هستم.

                        خیلی ماژول خوب و با قدرت نسبتا خوبی هست.

                        دیدگاه


                          #13
                          پاسخ : مشکل برد rfm12bp

                          نوشته اصلی توسط talireza2005
                          سلام
                          اینو واسه دوستانی می نویسم که بعد ها این تاپیک رو می خونن
                          مشکل حل شد
                          تو خروجی lf33 خازن مناسب بزارید من یادم رفته بود
                          ولی طول آنتن ها همون داستانیه که گفتم تو اولین پست
                          به طول آنتن ها و مود فرکانسی ای که انتخاب می کنید ( توسط رجیستر ها ) دقت کنید

                          لامسب برد خیلی باحالی داره بالای 500 مترم رفتم دیتا میومد هنوز

                          قسمت توان بالاشم 12 ولت بود و تغذیش 3.3 ولت
                          سلام
                          خوشحالم که تونستید راش بندازید.
                          میشه لطف کنید pdf یا هر چیزی که نیاز باشه این ماژول رو راه معرفی کنی.
                          خیلی نیاز دارم
                          ممنونت میشم دوست خوبم :applause: :applause: :applause: :wow:

                          دیدگاه


                            #14
                            پاسخ : مشکل برد rfm12bp

                            با سلام مهندس جان من از این ماژول تا 2 کیلومتر جواب گرفتم ....

                            برای افزایش برد از انتن یاگی در فرکانس 433 استفاده کن همیچنین ازسیم rg58 با مقاومت 50 اهم استفاده کن موفق وپیروز باشید :job:
                            http://ARTAROBOTIC.IR

                            دیدگاه


                              #15
                              پاسخ : مشکل برد rfm12bp

                              نوشته اصلی توسط H.GHATARI
                              با سلام مهندس جان من از این ماژول تا 2 کیلومتر جواب گرفتم ....

                              برای افزایش برد از انتن یاگی در فرکانس 433 استفاده کن همیچنین ازسیم rg58 با مقاومت 50 اهم استفاده کن موفق وپیروز باشید :job:
                              سلام مهندس جان

                              شما فایل pdf یا هر چیز دیگه که بتونم از صفر شروع کنم نداری یا یه آدرس سایت... ؟؟ :applause: :applause:

                              دیدگاه

                              لطفا صبر کنید...
                              X