اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول (RFM12BP)

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

    راه اندازی ماژول (RFM12BP)

    سلام دوستان
    اگه یادتون باشه ما هرکاری کردیم نه کسی بهمون گفت که چجوری این ماژولا راه بندازیم نه راهنمایی درست و حسابیمون کردن
    یکی از دوستان هم که فکر کنم خودش طراح این ماژول بوده و یا تویه شرکت atmel مدیر عامله فقط 4تا حرف بارمون کرد و گفت تو دیتا شیتش یه نمونه برنامه هست اخه اقا تا الان نزدیک n بار به سوالات مربوط به rfm12bp جواب دادن البته فکر کنم گفتن بورو دیتاشیتا نگاه کن
    بخدا تویه دیتا شیت چیزی نیست اینم لینکش http://www.roboeq.com/PDF/0501013.pdf اگه برنامه توش بود به ما هم بگید
    خلاصه ما یه برنامه به قیمت 60 هزار تومان خریدیم ولی زیاد ازش سر در نمیارم که داره چیکار میکنه

    این برنامه فرستنده ::
    [code=vb]
    $regfile = "m16def.dat"
    $crystal = 16000000

    'Mega16 Rf 12

    'PB.2 ----------> nIRQ
    'PB.3 ----------> FSK/DATA/nFFS
    'PB.4 ----------> nSEL
    'PB.5 ----------> nSDI
    'PB.6 ----------> nSDO
    'PB.7 ----------> nSCK

    'PA.4 LED

    Declare Sub Rfxx_wrt_cmd(byval Acmd As Word ) As Word
    Declare Sub Rf12_init()
    Declare Sub Rf12_send(byval Abyte As Byte)
    Dim K As Integer
    Dim T As Word
    Dim D(10) As Byte

    Rdata Alias Portb.3
    Set Rdata
    Config Pinb.3 = Output

    Sel Alias Portb.4
    Set Sel
    Config Pinb.4 = Output

    Sdi Alias Portb.5
    Set Sdi
    Config Pinb.5 = Output

    Config Pinb.6 = Input
    Sdo_port Alias Pinb
    Sdo Alias 6

    Sck Alias Portb.7
    Reset Sck
    Config Pinb.7 = Output

    Config Pinb.2 = Input
    Set Portb.2
    Irq_port Alias Pinb
    Irq Alias 2

    Config Pina.4 = Output
    Led Alias Porta.4

    D(1) = 123
    D(2) = 124
    D(3) = 125

    For K = 1 To 3
    Set Led
    Waitms 200
    Reset Led
    Waitms 200
    Next K

    Call Rf12_init()
    'Init FIFO
    Do
    Set Led
    Call Rfxx_wrt_cmd(&H0000) 'read status register
    call Rfxx_wrt_cmd(&H8239) '!er , !ebb , Et , Es , Ex , !eb , !ew , Dc
    Call Rf12_send(&Haa) 'PREAMBLE
    Call Rf12_send(&Haa) 'PREAMBLE
    Call Rf12_send(&Haa) 'PREAMBLE
    Call Rf12_send(&H2d) 'SYNC HI BYTE
    Call Rf12_send(&Hd4) 'SYNC LOW BYTE
    Call Rf12_send(d(1) + 0) 'DATA BYTE 0
    Call Rf12_send(d(2) + 0) 'DATA BYTE 0
    Call Rf12_send(d(3) + 0) 'DATA BYTE 0
    Call Rf12_send(&Haa) 'DUMMY BYTE
    Call Rf12_send(&Haa) 'DUMMY BYTE
    Call Rf12_send(&Haa) 'DUMMY BYTE
    call Rfxx_wrt_cmd(&H8201)
    Reset Led
    Waitms 900
    Set Led
    Waitms 100
    Reset Led

    Loop

    '____________________________________________ ___________________________________
    Sub Rfxx_wrt_cmd(byval Acmd As Word )
    Dim I As Byte
    Reset Sck
    Reset Sel
    For I = 1 To 16
    If Acmd.15 = 1 Then Set Sdi Else Reset Sdi
    Set Sck
    Shift Acmd , Left , 1
    Reset Sck
    Next I
    Set Sel

    End Sub
    '____________________________________________ ___________________________________
    Sub Rf12_init()
    call Rfxx_wrt_cmd(&H80d7) ';//EL,EF,433band,12.0pF
    call Rfxx_wrt_cmd(&H8239) ';//!er,!ebb,ET,ES,EX,!eb,!ew,DC
    call Rfxx_wrt_cmd(&Ha640) ';//A140=430.8MHz
    call Rfxx_wrt_cmd(&Hc647) ';//4.8kbps
    call Rfxx_wrt_cmd(&H94a0) ';//VDI,FAST,134kHz,0dBm,-103dBm
    call Rfxx_wrt_cmd(&Hc2ac) ';//AL,!ml,DIG,DQD4
    call Rfxx_wrt_cmd(&Hca81) ';//FIFO8,SYNC,!ff,DR
    call Rfxx_wrt_cmd(&Hced4) ';//SYNC=2DD4
    call Rfxx_wrt_cmd(&Hc483) ';//@PWR,NO RSTRIC,!st,!fi,OE,EN
    call Rfxx_wrt_cmd(&H9850) ';//!mp,9810=30kHz,MAX OUT
    call Rfxx_wrt_cmd(&Hcc67) ';//OB1OB0,lpx,ddy ?DDITBW0
    call Rfxx_wrt_cmd(&He000) ';//NOT USE
    call Rfxx_wrt_cmd(&Hc800) ';//NOT USE
    call Rfxx_wrt_cmd(&Hc400) ';//1.66MHz,2.2V
    End Sub
    '____________________________________________ ___________________________________
    Sub Rf12_send(byval Abyte As Byte)
    Dim Sent As Word
    Bitwait Irq_port.irq , Reset
    Sent = &HB800
    Sent = Sent + Abyte
    call Rfxx_wrt_cmd(sent)
    End Sub
    '____________________________________________ ___________________________________

    اینم گیرنده ::

    $regfile = "m8def.dat"
    $crystal = 7372800

    'Mega8 Rf 12

    'PD.2 ----------> nIRQ
    'PB.1 ----------> FSK/DATA/nFFS
    'PB.2 ----------> nSEL
    'PB.3 ----------> nSDI
    'PB.4 ----------> nSDO
    'PB.5 ----------> nSCK

    'PB.0 LED

    Declare Function Rfxx_wrt_cmd(byval Acmd As Word ) As Word
    Declare Sub Rf12_init()
    Declare Function Rf12_recv() As Byte
    Dim K As Integer
    Dim T As Word
    Dim D(10) As Byte

    Rdata Alias Portb.3
    Set Rdata
    Config Pinb.3 = Output

    Sel Alias Portb.2
    Set Sel
    Config Pinb.2 = Output

    Sdi Alias Portb.3
    Set Sdi
    Config Pinb.3 = Output

    Config Pinb.4 = Input
    Sdo_port Alias Pinb
    Sdo Alias 4

    Sck Alias Portb.5
    Reset Sck
    Config Pinb.5 = Output

    Config Pind.2 = Input
    Irq_port Alias Pind
    Irq Alias 2

    Config Pinb.0 = Output
    Led Alias Portb.0

    For K = 1 To 3
    Set Led
    Waitms 200
    Reset Led
    Waitms 200
    Next K
    Call Rf12_init() 'Init FIFO
    T = Rfxx_wrt_cmd(&Hca81)
    Set Led
    Do
    Set Led
    T = Rfxx_wrt_cmd(&Hca83) 'Enable FIFO
    D(1) = Rf12_recv()
    D(2) = Rf12_recv()
    D(3) = Rf12_recv()
    T = Rfxx_wrt_cmd(&Hca81) 'Disable FIFO
    Set Led
    Waitms 100
    Reset Led
    Waitms 100

    Loop
    '____________________________________________ ___________________________________
    Function Rfxx_wrt_cmd(byval Acmd As Word ) As Word
    Dim I As Byte
    Dim Temp As Word
    Temp = 0
    Reset Sck
    Reset Sel
    For I = 1 To 16
    If Acmd.15 = 1 Then Set Sdi Else Reset Sdi
    Set Sck
    Shift Temp , Left , 1
    If Sdo_port.sdo = 1 Then Set Temp.0
    Reset Sck
    Shift Acmd , Left , 1
    Next I
    Set Sel
    Rfxx_wrt_cmd = Temp

    End Function
    '____________________________________________ ___________________________________
    Sub Rf12_init()
    T = Rfxx_wrt_cmd(&H80d7) ' El , Ef , 433band , 12.0pf
    T = Rfxx_wrt_cmd(&H82d9) '!er,!ebb,ET,ES,EX,!eb,!ew,DC
    T = Rfxx_wrt_cmd(&Ha640) 'A140=430.8MHz
    T = Rfxx_wrt_cmd(&Hc647) '4.8kbps
    T = Rfxx_wrt_cmd(&H94a0) 'VDI,FAST,134kHz,0dBm,-103dBm
    T = Rfxx_wrt_cmd(&Hc2ac) 'Al , !ml , Dig , Dqd4
    T = Rfxx_wrt_cmd(&Hca81) 'FIFO8,SYNC,!ff,DR
    T = Rfxx_wrt_cmd(&Hced4) 'SYNC=2DD4
    T = Rfxx_wrt_cmd(&Hc483) '@PWR,NO RSTRIC,!st,!fi,OE,EN
    T = Rfxx_wrt_cmd(&H9850) '!mp,9810=30kHz,MAX OUT
    T = Rfxx_wrt_cmd(&Hcc67) 'OB1OB0,lpx,ddy ?DDITBW0
    T = Rfxx_wrt_cmd(&He000) 'NOT USE
    T = Rfxx_wrt_cmd(&Hc800) 'NOT USE
    T = Rfxx_wrt_cmd(&Hc400) '1.66MHz,2.2V
    End Sub
    '____________________________________________ ___________________________________
    Function Rf12_recv() As Byte
    Dim Res As Word
    Dim Result As Byte
    Bitwait Irq_port.irq , Reset
    Res = Rfxx_wrt_cmd(&H0000)
    Res = Rfxx_wrt_cmd(&Hb000)
    Result = Res
    Rf12_recv=Result
    End Function
    '____________________________________________ ___________________________________
    [/code]
    برنامه را تست کردم دقیقا نمیدونم جواب داره میده یا نه
    تو حالت معمولی میکرو فرستنده led دایما چشمک میزنه و توبه گیرنده led 3بار چشمک میزنه و بعد دایم روشن میمونه البته وقتی تغذیه ماژول قطع میشه دوباره شروع میکنه به چشمک زدن
    هالا دیگه نمیدونم چجوریاست

    دوستان اگه یه زحمت بکشن و یه راهنمایی کنن ممنون میشم
    امیدوارم این برنامه به درد همه بخوره
    زکات علم اموختن ان است

    #2
    پاسخ : اقایون حرفه ای تشریف بیارن یه کمکی بکنن (RFM12BP)

    مشکل اینجاست که 2-3 تا برنامه هست توی اینترنت و کسی هم هیچ وقت راهنمایی نمیکنه که مثلا چجوری میشه با این کار کرد..

    12b با 12bp فرقش اینه که دومی یه RF امپلیفایر 500 میلی وات داره و بردش بیشتره.

    دیدگاه


      #3
      پاسخ : اقایون حرفه ای تشریف بیارن یه کمکی بکنن (RFM12BP)

      خیر مشکل این نیست دوست من
      من تا حالا تو 5 تا تاپیک(حد اقل)کامل فرق این 2 ماژول رو گفتم ولی هیچ کس حاضر نیست سرچ کنه و بخونه(می خوام که بچه نخوره دوباره می گم ببینم بازم میگین ادیسون خارجی بود من رو ناسا می خواد)

      دوست من برنامه کاملا درسته

      دوست من فرق rfm12b با rfm12bp در قسمت پاور هست که اون اینجوریه که 2 تا پایه اضافه تر داره text و rxest یا همچین اسمایی که اسمش درست یادم نیست.به هر حال وقتی می فرستی باید text رو ست کنی و وقتی در حالت recive هستی اون یکی رو یک کن.همین و همینو همین

      حالا چرا مدار شما کار نمیکنه
      به یکی از دلایل زیر
      1برنامه واسه فرکانس 434 نوشته شده پس حتما ماژول رو چک کن که 434 مگاهرتزش رو خریده باشی
      2حتما فاصله ها بیش از 1 متر باشه
      3 پول اپ رو ببین گزاشتی؟
      4 rfm12bp به جز این پایه یه پایه دیگش هم هست که باید با مقاومت به vcc وصل بشه.تو دیتا شیت نگاه کن یادم نیست کدومشه
      4 اگه ولتاژ بیش از 3.3 و یا اتصال کوتاه(حتی ا میلی ثانیه کردی ماژول سوخته
      5 اگه ماژول رو بدون انتن یا حد اقل سیم روش روشن کنی یا قسمت پاور رو نیمسوز میکنی یا جواب نمیگیری مگر اینکه گراند هر دو ماژول یکی باشه
      علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

      دیدگاه


        #4
        پاسخ : اقایون حرفه ای تشریف بیارن یه کمکی بکنن (RFM12BP)

        سلام دوست عزیز
        نوشته اصلی توسط omega_adiban
        خیر مشکل این نیست دوست من
        من تا حالا تو 5 تا تاپیک(حد اقل)کامل فرق این 2 ماژول رو گفتم ولی هیچ کس حاضر نیست سرچ کنه و بخونه(می خوام که بچه نخوره دوباره می گم ببینم بازم میگین ادیسون خارجی بود من رو ناسا می خواد)

        دوست من برنامه کاملا درسته

        دوست من فرق rfm12b با rfm12bp در قسمت پاور هست که اون اینجوریه که 2 تا پایه اضافه تر داره text و rxest یا همچین اسمایی که اسمش درست یادم نیست.به هر حال وقتی می فرستی باید text رو ست کنی و وقتی در حالت recive هستی اون یکی رو یک کن.همین و همینو همین

        حالا چرا مدار شما کار نمیکنه
        به یکی از دلایل زیر
        1برنامه واسه فرکانس 434 نوشته شده پس حتما ماژول رو چک کن که 434 مگاهرتزش رو خریده باشی
        2حتما فاصله ها بیش از 1 متر باشه
        3 پول اپ رو ببین گزاشتی؟
        4 rfm12bp به جز این پایه یه پایه دیگش هم هست که باید با مقاومت به vcc وصل بشه.تو دیتا شیت نگاه کن یادم نیست کدومشه
        4 اگه ولتاژ بیش از 3.3 و یا اتصال کوتاه(حتی ا میلی ثانیه کردی ماژول سوخته
        5 اگه ماژول رو بدون انتن یا حد اقل سیم روش روشن کنی یا قسمت پاور رو نیمسوز میکنی یا جواب نمیگیری مگر اینکه گراند هر دو ماژول یکی باشه
        اینا چیزا را که فرمودی تقریبا میدونستم فقط برای تغییر فرکانس به 915 باید کدوم قسمتا تغییر داد
        و اینکه این برنامه داره چیکار میکنه ؟؟؟؟
        زکات علم اموختن ان است

        دیدگاه


          #5
          پاسخ : اقایون حرفه ای تشریف بیارن یه کمکی بکنن (RFM12BP)

          امیدوارم این تاپیک به یه جایی برسه..

          من خودم سعی میکنم یه مقدار به پیشرفت این تاپیک کمک کنم..البته فکر کنم هیچی نمیدونم :redface:

          خوب فکر میکنم منظور دوستمون این بوده که وقتی این ماژول رو میخرین پشتش یه علامتی زد شده مثل این که دقیقا نمیدونم این یعنی چی..چون من شنیدم که این ماژول روی 3 تا فرکانس کار میکنه..


          حالا اگر ممکنه یکی لطف کنه و بگه که فرق اونی که توی دیتا شیت نوشته و اینی که روی خود ماژول علامت داره چیه ؟

          این عکس یه بردی هست که مثل اینکه یکی برای کار با این ماژول اون رو ساخته :(رگولاتور 3.3 برای تغذیه تراشه ها و 12 ولت برای امپ)


          و اینم برد بدون ماژول :


          و اینم یه نمایی از PCB (خدا شاهده فایل PCB رو ندارم) :


          اینم نقشه مدار :

          url=http://www.ecapic.ir/image/ECA-090910104822.png][/url]

          چند تا سوال :

          1-خواهش میکنم یکی از دوستان لطف کنه و بگه که این برنامه چیکار میکنه و چجوری کار میکنه و اگر ممکنه موشکافی کنه این برنامه رو.

          2-اگر ممکنه طریقه اتصال این ماژول رو به میکرو رو توضیح بدین و پیچ و خم کار رو بفرمایین.(اگر نقشه باشه که خیلی عالی هست).

          3-راستی این انتن رو باید از کجا خرید و چه مشخصاتی باید داشته باشه ؟

          _____________

          دوستان میدونم براتون مشکله یا ممکنه وقتتون گرفته بشه و براتون سخت باشه اما...

          دست به دست هم دهیم به مهر - میهن خویش را کنیم اباد

          من نه فروشنده ای هستم و نه سودجویی که دنبال این کارا باشم..من فقط میخواهم هر کسی این ماژول رو خرید..نره 10 روز بشینه فکر کنه و اخر سر هم هیچی..


          دیدگاه


            #6
            پاسخ : راه اندازی ماژول (RFM12BP)

            سلام
            بچه ها من به یه نتیجه جدید رسیدم
            تویه برنامه باید فرکانس ماژول را تنظیم کنیم
            اگر فرکانس ماژول 433 هست باید تویه برنامه یه خطی اینجوری نوشته شده باشه &H80d7
            برای فرکانس 868 باید باشه 80e7 و برای 915 باید باشه 80f7
            و برای هر ارسال چنتا بیت باید ابتدای هر ارسال اضافه بشه که دارم روش کار میکنم.

            دیدگاه


              #7
              پاسخ : راه اندازی ماژول (RFM12BP)

              سلام
              دوستان عزیز من فکر میکنم با این روندی که داره پیش میره ما از این تاپیک به نتیجه خاصی نمیرسیم چون دوستان ارشد که با این ماژول کار کردن زیاد با ما همکاری نمیکنن پس پیشنهاد میکنم که یک گروه تشکیل داده و روی ان کار کنیم و نتایج بدست امده را بین افرادی که برای پروژه زحمت کشیدن پخش کنیم .
              من اول با اپن سورس کردن برنامه قصد داشتم که همه همکاری کنن ولی ماتاسفانه اینطوری نشد. :sad:
              Email: blacklove_n3001@yahoo.com
              افرادی که میخوان خودمون این ماژولا راه بندازیم به من ایمیل بدن :wow: :wow:

              دیدگاه


                #8
                پاسخ : راه اندازی ماژول (RFM12BP)

                سلام دوستان
                از امروز کار گروهی برای راه انداختن این ماژول شروع شده البته RFM12 را اول راه میندازیم چون زیاد باهم فرقی ندارن
                از اقای Mr.designer نیز برای کمکشون ممنونم
                برای شرکت در راهتندازی پروژه به blacklove_n3001@yahoo.com و یا به behnamforouzandeh@yahoo.com ویا در سایت ایمیل و پیغام بزارید
                ممنون :wow: :wow:

                دیدگاه


                  #9
                  پاسخ : راه اندازی ماژول (RFM12BP)

                  هوالحق
                  سلام
                  ما خیلی با این ماژول کار کردیم
                  توی برنامه یه مشکلی بود که وقتی فرستنده 16 بار عدد 30 هگز رو میفرستاد و گیرنده چک می کرد که آیا رسیده یا نه برنامه ی روی گیرنده اجرا می شد
                  این عدد-30*16- توی یک char ریخته می شد و اورفلو می داد
                  همچنین باید پایه های rx و tx برای گیرنده و فرستنده ی بشن
                  ما همه ی این کار ها رو کردیم و باز جواب نگرفتیم
                  گفتم شاید این اطلاعات بدردتون بخوره
                  اگه تونستین راه بندازین ما رو هم خبر کنین
                  یا حق!!
                  GHm

                  دیدگاه


                    #10
                    پاسخ : راه اندازی ماژول (RFM12BP)

                    چرا انقدر مسئله را سخت کردید؟؟؟؟؟؟؟؟؟
                    برنامه این ماژول در دیتاشیت موجوده. جواب هم میده. من اونو توی 3 محیط واسه میکرو AVR تغییر دادم و جواب داده
                    بسکام - کدویژن - IAR - AVR GCC
                    پس دیگه مشکل چیه؟
                    برید برنامه دیتاشیت را پرورگرام کنید
                    اگر جواب نداد ایمیل بزنید و مشکلتون را بگید
                    پروژه های زیادی هم باهاش انجام دادم
                    که میتونید همه را مشاهده کنید. تا باورتون بشه که شدنی هستش
                    www.freeproject.blogfa.com
                    این هم ایمیل. یا علی
                    mth_saleh2001@yahoo.com

                    دیدگاه


                      #11
                      پاسخ : راه اندازی ماژول (RFM12BP)

                      برنامه این ماژول در دیتاشیت موجوده. جواب هم میده. من اونو توی 3 محیط واسه میکرو AVR تغییر دادم و جواب داده
                      سلام

                      منظورتون RFM12BP هست ؟ این ماژول توی دیتا شیتش برنامه نداره ولی توی دیتا شیت RFM12 برنامه هست.

                      دیدگاه


                        #12
                        پاسخ : راه اندازی ماژول (RFM12BP)

                        اول از اون دوستانی که تو این تاپیک پست دادن و کمک کردن تشکر می کنم.
                        و از دوستان با تجربه خواهش می کنم کمک کنن ، کمک کنید ما هم یاد بگیریم دیگه
                        دوستان اگه تونستید راه بندازید به منم بگید ممنون می شم
                        m.rahmani1371@gmail.com

                        دیدگاه


                          #13
                          پاسخ : راه اندازی ماژول (RFM12BP)

                          ما نفهمیدم پایهRx Tx که تو Rfm12bp اضافه تر هست باید کجا وصل بشه

                          دیدگاه


                            #14
                            پاسخ : راه اندازی ماژول (RFM12BP)

                            اگر زودتر تاپیک شما را خونده بودم نمیرفتم بخرم متاسفانه همین الان خریدم ، من فقط میخوام از گیرنده اون استفاده کنم ببینم واقعا قوی هست یا نه ، خلاصه رو این حساب که شما نوشتید 15000 تومان رفت
                            همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
                            کانت

                            دیدگاه


                              #15
                              پاسخ : اقایون حرفه ای تشریف بیارن یه کمکی بکنن (RFM12BP)

                              نوشته اصلی توسط اٌمید حبیبی
                              خیر مشکل این نیست دوست من
                              من تا حالا تو 5 تا تاپیک(حد اقل)کامل فرق این 2 ماژول رو گفتم ولی هیچ کس حاضر نیست سرچ کنه و بخونه(می خوام که بچه نخوره دوباره می گم ببینم بازم میگین ادیسون خارجی بود من رو ناسا می خواد)

                              دوست من برنامه کاملا درسته

                              دوست من فرق rfm12b با rfm12bp در قسمت پاور هست که اون اینجوریه که 2 تا پایه اضافه تر داره text و rxest یا همچین اسمایی که اسمش درست یادم نیست.به هر حال وقتی می فرستی باید text رو ست کنی و وقتی در حالت recive هستی اون یکی رو یک کن.همین و همینو همین

                              حالا چرا مدار شما کار نمیکنه
                              به یکی از دلایل زیر
                              1برنامه واسه فرکانس 434 نوشته شده پس حتما ماژول رو چک کن که 434 مگاهرتزش رو خریده باشی
                              2حتما فاصله ها بیش از 1 متر باشه
                              3 پول اپ رو ببین گزاشتی؟
                              4 rfm12bp به جز این پایه یه پایه دیگش هم هست که باید با مقاومت به vcc وصل بشه.تو دیتا شیت نگاه کن یادم نیست کدومشه
                              4 اگه ولتاژ بیش از 3.3 و یا اتصال کوتاه(حتی ا میلی ثانیه کردی ماژول سوخته
                              5 اگه ماژول رو بدون انتن یا حد اقل سیم روش روشن کنی یا قسمت پاور رو نیمسوز میکنی یا جواب نمیگیری مگر اینکه گراند هر دو ماژول یکی باشه
                              سلام در مورد این ماژول اگه امکانش هست بیشتر توضیح بدید
                              مقاومت پول پ چیه ؟
                              www.ElectronShop.ir

                              دیدگاه

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