اطلاعیه

Collapse
No announcement yet.

داغ شدن rfm12bp

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

    داغ شدن rfm12bp

    سلام به اساتید محترم
    من از فرستنده و گیرنده rfm12bp برای ارسال دیتا استفاده کردم، دیتا به خوبی فرستاده و دریافت می شه اما ماژول خیلی داغ می کنه حتی pcb ماژول و کلیه قطعاتش به شدت داغ می شوند.من از آنتن مناسب برای ماژول ها استفاده کردم و فاصله بین دو ماژل هم 50 متر می شه.اگر ممکنه راهنماییم کنید که این داغ شدن شدید ماژل از چیه و چطوری می تونم ازبین ببرمش؟با تشکر

    #2
    پاسخ : داغ شدن rfm12bp

    تا جایی که یادمه اینا 3.3 ولتی هستن. احیانا ولتاژ بالاتر بهشون نمیدی؟

    دیدگاه


      #3
      پاسخ : داغ شدن rfm12bp

      ولتاژ 3.3 برای ماژل دادم و برای قسمت تقویت کننده 12 ولت.وقتی پایه های tTEXN و REXN وصل می کنم 0.2 آمپر جریان می کشه!

      دیدگاه


        #4
        پاسخ : داغ شدن rfm12bp

        خب طبیعیه که داغ کنه تو دیتا شیتش هم نوشته تغذیه 12 ولت هنگام ارسال با توان 500 میلی وات 260 الی 300 میلی آمپر جریان میکشه با توجه به اینکه 500 میلی وات توان خروجی داره تقریبا دو وات توش تلف میشه باید با دیوتی سایکل پایین با این ماژول کار کنین مثلا 0.1 ثانیه tx و مثلا 5 ثانیه خاموش یا rx .

        اگه دیوتی سایکل رو نمیتونین پایین بیارین با توجه به اینکه برد پایینی لازم دارین چند کار میتونین بکنین اول اینکه توان خروجی رو پایین بیارین این کار رو میتونین با استفاده از تغییر بیت های p0 و p1 و p2 در رجیستر AFC انجام بدین .
        اگه دسترسی به کد برنامه ندارین میتونین ولتاژ 12 ولت رو پایینتر بیارین البته این کار اصولی نیست و بایاس مدارتون بهم میخوره
        با توجه به اینکه بردتون 50 متره چرا از rfm12b استفاده نمی کنین ؟

        دیدگاه


          #5
          پاسخ : داغ شدن rfm12bp

          فاصله که می خوام جواب بگیرم حدود 700 متر است.برای فرستنده RFM12BP قرار دادم که TEXN ثابت به 3.3 ولت وصل کردم و REXN به زمین و برای گیرنده از RFM12B استفاده کردم.جریانی که فرستنده می کشه 200MA است که باعث گرم شدن ماژل شده،می شه بیشتر راهنماییم کنید این هم برنامه فرستنده ست . کجای برنامه باید TEXN ست یا ریست کنم که ماژل جریان زیادی نکشه؟
          کد:
          'Simple Tx 101.bas
          'Bare Bones RFM12 Tx code.
          'Use for testing your hardware.
          'This code transmits data to "Simple Rx 101.Bas"
          'It is setup for 433mhZ band Rfm12Bs.
          
          $regfile = "m16def.dat"
          
          
          $crystal = 8000000
          $baud = 38400
          
          Dim A As Word
          Dim S As String * 11
          Dim Q As String * 1
          Dim E As String * 1
          Dim R As String * 1
          Dim T As String * 1
          Dim Y As String * 1
          Dim U As String * 1
          Dim K As String * 1
          Dim O As String * 1
          Dim P As String * 1
          Dim F As String * 1
          Dim D As String * 1
          Dim L As Word
          Dim M As String * 10
          
          Dim Spi_tx_wrd As Word
          Dim Spi_tx_l As Byte At Spi_tx_wrd Overlay
          Dim Spi_tx_h As Byte At Spi_tx_wrd + 1 Overlay
          
          Dim Spi_rx_wrd As Word
          Dim Spi_rx_l As Byte At Spi_rx_wrd Overlay
          Dim Spi_rx_h As Byte At Spi_rx_wrd + 1 Overlay
          
          Dim I As Byte
          Dim Txbuf(18) As Byte
          Config Lcdpin = Pin , Db4 = Pina.5 , Db5 = Pina.4 , Db6 = Pina.3 , Db7 = Pina.2 , Rs = Pina.0 , E = Pina.1
          '**** Change Alias's to match your hardware. ****
          Rfm12_cs Alias Portb.4
          Config Rfm12_cs = Output
          Set Rfm12_cs
          
          Rfm12_sdi Alias Portb.5
          Config Rfm12_sdi = Output
          
          Rfm12_sdo Alias Pinb.6
          Config Rfm12_sdo = Input
          Set Portb.6
          
          Rfm12_sck Alias Portb.7
          Config Rfm12_sck = Output
          '*********************************
          
          'SPI Clockrate is OK for 8mhz uC clock.
          Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
          Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
          Spiinit
          
          Print "Tx test"
          Gosub Rfm12_init
          A = 65000
          S = Str(a )
          L = Checksum(s)
          M = Str(l )
          D = Mid(s , 1 , 1)
          Q = Mid(s , 2 , 1)
          E = Mid(s , 3 , 1)
          R = Mid(s , 4 , 1)
          T = Mid(s , 5 , 1)
          Y = Mid(m , 1 , 1)
          U = Mid(m , 2 , 1)
          K = Mid(m , 3 , 1)
          O = Mid(s , 9 , 1)
          P = Mid(s , 10 , 1)
          F = Mid(s , 11 , 1)
          
          'preload the rfm12 preamble.
          Txbuf(1) = &HAA
          Txbuf(2) = &HAA
          Txbuf(3) = &HAA
          
          'preload the syncron bytes.
          Txbuf(4) = &H2D
          Txbuf(5) = &HD4
          
          'Your Data goes in TxBuf(6) thru TxBuf(17)
          'preload some test data (12 bytes).
          Txbuf(6) = D
          Txbuf(7) = Q
          Txbuf(8) = E
          Txbuf(9) = R
          Txbuf(10) = T
          Txbuf(11) = Y
          Txbuf(12) = U
          Txbuf(13) = K
          Txbuf(14) = 65
          Txbuf(15) = 65
          Txbuf(16) = 65
          Txbuf(17) = 0                        'end message with a null for use as a string in RX code.
          
          'last byte is dummy byte.
          Txbuf(18) = &HFF
          Locate 1 , 6
           Lcd S
          Locate 2 , 6
           Lcd L
           Do
            'wait for Tx ready.
            Gosub Rfm12_ready
          
            'print something just to show something is happening.
            Print ".";
          
            'Send TxBuf(1) tru (18).
            For I = 1 To 18
          
             'combine send command and data into one word.
             Spi_tx_wrd = &HB800 + Txbuf(i)
          
             'wait for Tx ready.
             Gosub Rfm12_ready
          
             'write one word to SPI.
             'RFM12 should Tx one byte.
             Gosub Rfm12_spi_wrt
            Next I
          
          Wait 1
          Loop
          
          Rfm12_ready:
            'poll rfm12 sdo line till it goes high.
            Reset Rfm12_cs
            Bitwait Rfm12_sdo , Set
          Return
          
          Rfm12_spi_wrt:
            'Send word (SPI_Tx_wrd) to RFM12.
            'Also receive word (SPI_Rx_wrd).
            'RFM12 Chip select
            Reset Rfm12_cs
            'send hi byte.
            Spi_rx_h = Spimove(spi_tx_h)
            'send lo byte.
            Spi_rx_l = Spimove(spi_tx_l)
            'deselect chip.
            Set Rfm12_cs
          Return
          
          Rfm12_init:
            'Initialize RFM12
            Restore Init_data
            For I = 1 To 10
             Read Spi_tx_wrd
             Print Hex(spi_tx_wrd)
             'send init data to RFM12.
             Gosub Rfm12_spi_wrt
             Waitms 30
            Next
          Return
          
          Init_data:
          '433mhz band,Enable Tx reg.
          Data &H8098%
          'Enable Tx, crystal osc., Synth.
          Data &H8239%
          '435mhZ
          Data &HA7D0%
          '19kbps
          Data &HC611%
          'Rx settings.
          Data &H94A0%
          'synchron pattern = D4
          Data &HCED4%
          'AFC settings.
          Data &HC4A7%
          'Tx 90khz deviation.
          Data &H9850%
          'PLL settings.
          Data &HCC17%
          'Data Filter settings.
          Data &HC2ED%

          دیدگاه


            #6
            پاسخ : داغ شدن rfm12bp

            کسی نیست کمکم کنه؟ :sad:

            دیدگاه


              #7
              پاسخ : داغ شدن rfm12bp

              :sad:

              دیدگاه

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