نویسنده موضوع: را اندازی ماژول nrf24L01  (دفعات بازدید: 566 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین sina086

  • مدیر بخش میکروکنترلرها
  • *
  • تشکر
  • -اهدایی: 2
  • -دریافتی: 10
  • ارسال: 38
    • ديدن مشخصات
را اندازی ماژول nrf24L01
« : اكتبر 24, 2017, 09:37:15 pm »
اول ی توضیح مختصر در مود ماژول  nRF24L01   میدم....



این چیپ در واقع یک ماژول بسیار عالی برای ارسال و دریافت اطلاعات بدون خطا است چیزی که در ماژول های HMTR یا حتی در RFMXX ها یا به کلی وجود نداشت و مشکلات دیگر....
 
 
مدولاسیون ارتباطی این ماژول به صورت GFSK است , همان مدولاسیونی که در تکنولوژی BLUETOOTH استفاده شده و به صورت انحصاری در دست چند شرکت بزرگ مثل BLUETOOTH  و  NORDIC SEMICONDUCTOR  و TEXAS  INSTRUMENT  و چند شرکت دیگر قرار دارد.

فرکانس ارتباطی این چیپ 2.4 گیگا هرتز است که این خاصیت آن ویژگی های زیادی را برای ما به ارمغان می آورد ! از جمله کوچک شدن سایز آنت که حتی میتوان از خود PCB به صورت یک آنتن استفاده کرد , مورد دیگر هم به دلیل فرکانس بالا بسیار راحت تر از دیوار یا اجسام دیگر عبور می کند و با عث می شود که برد بیشتری هم به ما بدهد .

این چیپ به صورت دو طرفه کار می کند  یعنی هم میتونه فرستنده باشه و هم گیرنده و در کل شما فقط به 2 عدد از این چیپ ها برای ارتباط لازم دارید .
دیتا ریت این چیپ حداکثر 2mb بر ثانیه است که می توان از آن برای انتقال اطلاعات سنگینی مشابه صوت و یا حتی ویدئو استفاده کرد!
ازکاربرد های این ماژول طبق دیتا شیت
لوازم جانبی وایرلس(بیسیم) کامپیوتر
موس،کیبورد بیسیم و ....
کنترل از راه دور وسایل مرکزی پیشترفته
هدست های  VoIP
سنسور ها
و غیره....




و اینم پایه های این ماژول که


یک توضیح مختصری هم در مورد پایه های این ماژول میدیم... و بعد بریم سراغ را اندازی ماژول

IRQ : ماژول توسط این پایه به میکرو وقفه میدهد ( در حالت عادی پایه high است )  و low شدن IRQ یکی از این حالت ها را می رساند :
1- در گیرنده یک پکت دریافت شده 
2-  در فرستنده پکت بدرستی ارسال شده  ACK ) تصدیق دریافت شد )
 3- در فرستنده یک پکت چندبار ارسال شده ( retransmition ) ولی تصدیقی دریافت نکرده پس عمل فرستادن اطلاعات به درستی انجام نشده است.
CE : همان chip enable می باشد. در حالت عادی low است وقتی بخواهیم اطلاعات با ماژول بفرستیم یا دریافت کنیم باید این پین را high  کنیم تا ماژول از مد استندبای ( 1 ) به active tx یا active rx برود ( میتونید این پین را به VCC وصل کنید تا همیشه در حالت high  باشد.
CSN : در ارتباط spi به منظور پین CS یا ss استفاده میشود . در حالت عادی باید  1 باشد و وقتی با spi می خواهیم چیزی به ماژول بفرستیم باید آن را 0   کنیم
MOSI, MISO, CLK, CS  : MOSI, MISO, CLK, CS  برای ارتباط SPI هستند و به پایه های MISO  ، MOSI  , SCK   میکرو      وصل میشوند.
:  VCC , GND   VCC و GND هم تغذیه ماژول می باشد ماژول به ولتاژ معکوس و ولتاژ زیاد روی vcc و gnd حساس می باشد . حتما  از رگلاتور lf33 استفاده کنید (یا از ماژول های تغذیه  lm2596 و  ولتاژ از 3.6 ولت بیشتر نشود که موجب سوختن ماژول میشود ) .
 ( ولتاژ کاری ماژول طبق دیتاشیت صفحه 8  از 1.6 تا 3.6 ولت میتواند کار کند...
 و این نکته بگم که پایه های دیتا این ماژول میتواند برق 5 ولت میکرو تحمل کند





« آخرين ويرايش: اكتبر 25, 2017, 12:04:46 pm توسط sina086 »

آفلاین sina086

  • مدیر بخش میکروکنترلرها
  • *
  • تشکر
  • -اهدایی: 2
  • -دریافتی: 10
  • ارسال: 38
    • ديدن مشخصات
پاسخ : را اندازی ماژول nrf24L01
« پاسخ #1 : اكتبر 27, 2017, 01:15:01 pm »
حالا میریم سر اصل مطلب را اندازی ماژول به صورت عملی...
من در این را اندازی از کتابخانه nrf24l01p.h که پیوست این مطلب  هم کردم فایلشو ...
اول بریم سراغ کتابخانه ماژول که در قسمت بالای این کتابخانه اومده پایه های ماژول مشخص کرده دقیقا به کدوم پایه میکرو متصل شود...که یکی یکی توضیح میدم این هارو
#define IRQ PORTB.2
#define DD_IRQ DDRB.2
در این خط پایه  IRQ  ماژول ارتباط داده به پایه PORTB.2

#define CE PORTB.3
#define DD_CE DDRB.3
در این دو خط پایه  CE  ماژول  ارتباط داده به پایه  PORTB.3

#define CSN PORTB.4
#define DD_CSN DDRB.4 
و این دو خط پایه  CSN  ماژول به پایه  PORTB.4  ارتباط داده اما این پایه در بعضی از برنامه به   اسم  SS  یاد میشه مخصوصا در کتابخانه بسکام

اما این سه پایه که معرفی کردم  دو پایه های    CSN,CE  میتونید راحت پورت های دیگه از آی سی متصل کنید و فقط در بالای کتابخانه پورت های ماژول نسبت داده باید به پورت جدیدی که متصل کردید تغییر بدید
و اما پایه IRQ  نباید تغییر داد حتما به پورت PORTB.2  آی سی  atmega 32  متصل کنید


و سه پایه بعدی میخوام معرفی کنم پایه های  پروتکل  spi  میباشد که این سه پایه باید از دیتا شیت میکرو نگاه کنید که پایه های  mosi,miso,sck   پیدا کرده و  دقیقا به همون پایه های  SCK,miso,mosi  میکرو وصل شوند


#define MOSI PORTB.5
#define DD_MOSI DDRB.5

پایه mosi  ماژول به PORTB.5  آی سی  atmega32  متصل میکنیم

#define MISO PORTB.6
#define DD_MISO DDRB.6

پایه miso  ماژول به PORTB6  آی سی  atmega32  متصل میکنیم

#define CLK PORTB.7
#define DD_CLK DDRB.7

این پایه  ماژول  SCK  در برنامه  این اسم نسبت داده  CLK    که به پورت  PORDB.7    آِ سی  atmega32  متصل شده

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





« آخرين ويرايش: نوامبر 07, 2017, 09:57:58 pm توسط sina086 »

آفلاین sina086

  • مدیر بخش میکروکنترلرها
  • *
  • تشکر
  • -اهدایی: 2
  • -دریافتی: 10
  • ارسال: 38
    • ديدن مشخصات
پاسخ : را اندازی ماژول nrf24L01
« پاسخ #2 : اكتبر 27, 2017, 01:20:04 pm »
اینم فایل کتابخانه که یادم رفته بود پیوست کنم

آفلاین sina086

  • مدیر بخش میکروکنترلرها
  • *
  • تشکر
  • -اهدایی: 2
  • -دریافتی: 10
  • ارسال: 38
    • ديدن مشخصات
پاسخ : را اندازی ماژول nrf24L01
« پاسخ #3 : اكتبر 27, 2017, 09:35:39 pm »
اینم دقیقا پایه های پروتکل  spi   یا همون پایه های  sck,miso,mosi  در آی سی  atmega32 هست که  داخل عکس دورشون یک کادر قرمز کشیدم که راحتر متوجه بشید

آفلاین sina086

  • مدیر بخش میکروکنترلرها
  • *
  • تشکر
  • -اهدایی: 2
  • -دریافتی: 10
  • ارسال: 38
    • ديدن مشخصات
پاسخ : را اندازی ماژول nrf24L01
« پاسخ #4 : اكتبر 27, 2017, 09:37:22 pm »
.