تبلیغات
سایت تاکستان رباتیک - آشنایی با ماژول رادیویی NRF24L01
 
سایت تاکستان رباتیک
بزرگترین و جامع ترین سایت رباتیک ایران
                                                        
درباره سایت


مدیر سایت : فرهاد رحمانی
نویسندگان
نظرسنجی
از کدامیک از مطالب سایت بیشتر استفاده می نمایید؟








آمار سایت
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

آشنایی با ماژول رادیویی  NRF24L01 


با قابلیت ساخت ریموت کنترل برای ربات ها

 

چیپ NRF24L01 نمونه تصحیح شده با امکانات بیشتر و دیتا ریت بالاتر چیپ NRF2401 است که توسط شرکت NORDIC در اوایل سال 2008 معرفی شد.

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

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

این چیپ به صورت دو طرفه کار می کند و در کل شما فقط به 2 عدد از این چیپ ها برای ارتباط لازم دارید (مشابه RDM12 )

دیتا ریت این چیپ حداکثر 2 مگابیت بر ثانیه است که می توان از آن برای انتقال اطلاعات سنگینی مشابه صوت و یا حتی ویدئو استفاده کرد!

ویژگی های خاص:

-حداکثر دیتا ریت تا 2 مگا بیت بر ثانیه در هوا
-بسیار کم مصرف
-جریان مصرفی در هنگام ارسال دیتا در 0 دسی بل فقط 11.3 میلی آمپر
-جریان مصرفی در حالت دریافت دیتا با 2 مگا بیت بر ثانیه دیتا ریت 12.3 فقط 12.3 میلی آمپر
-جریان مصرفی در هنگام POWER-DOWN  900 نانو آمپر
-جریان مصرفی در هنگا آماده باش 22 میکرو آمپر
-بدون نیاز به ولتاژ های مختلف به همراه رگولاتور داخلی
-محدوده ولتاژ تغذیه چیپ از 1.9 تا 3.6 ولت که با افزایش ولتاژ برد بیشتری را باید در انتظار داشت
-مجهز به تکنولوژِی پیشرفته SHOCKBURST
-آماده سازی بسته ها دیتا به صورت خودکار
- 6 لوله دیتا MULTICEIVER برای ارتباط چند ماژول به یکدیگر و ایجاد یک شبکه محلی
-تست شده برای ارسال د دریافت دیتا که سالم بودن تمامی چیپ ها 100% است
-یک چسپ فرکانسی کم هزینه
-نیاز به یک کریستال اسیولاتور 16 مگا هرتزی کوارتز برای ایجاد فرکانس 2.4 گیگا هرتزی
-ورود ولتاژ بر روی پین های دیتا حداکثر تا 5 ولت امکان پذیر است
-سایز کوچک چیپ و نیاز به قطعات کم خارجی

موارد استفاده:

-قطعات کامپیوتری وایرلس مانند موس یا کی بورد یا قطعات دیگر
-هدست های بیسیم مانند VOIP HEADSET
-دسته های بیسیم کنسول های بازی مانند PS3
-ساعت های ورزشی یا سنسور ها
-ریموت کنترل برای مصارف الکترونیکی
-اتوماسیون خانگی(خانه هوشمند) که فرضا تمامی ارتباطات الکتریکی فرضا برای روشنایی به صورت بیسیم می باشد
-در شبکه هایی که نیاز به یک ارتباط وایرلس بسیار کم مصرف است
-سیستم های مسیر یاب مانند GPS
-و اسباب بازی ها !
معرفی:

چیپ NRF24L01 دارای یک موتور بلادرنگ تکنولوژی پیشرفته( SHOCKBURST )  که اساسا طراحی شده برای موقعیت های که نیاز به مصرف توان بسیار پایین است.

NRF24L01  در رده فرکانسی جهانی ISM که در محدوده فرکانسی 2.400  گیگاهرتز تا 2.4835 گیگا هرتز که در کل برای اجرا فقط به یک میکروکنترلر و تعداد کمی قطعات دیگر نیاز است که شامل چند خازن و سلف است.

نحوه ارتباطی این چیپ به پروتکل SPI است که می توان با این پروتکل بر تمامی خواص نرم افزاری و سخت افزاری داخلی چیپ مدیریت داشت و آن را کنترل کرد.

مدولاسیون چیپ GFSK است که به نحوی طراحی شده که هر چیپ شبیه به این است که یک کانال فرکانس خاص را برای خود دارد و از این رو می توان گفت درصد خطا و اختلال چیپ ها با یک دیگر (یا چیپ هایی به غیر از NRFL24L01) به صفر می رسد.

دیتا ریت چیپ در 2 مگابیت بر ثانیه پیکره بندی شده و دو مد متفاوت مصرف پایین نیز دارد که آن را کم مصرف تر می کند.

یک رگولاتور داخلی که باعث گسترش محدوده ولتاژ ورودی می شود.


Send AMS1117-3.3 3.3V LDO Voltage Regulator tube

2.4G operating frequency, the transmission distance is about the open distance 40 meters!
NRF24L01 basic characteristics:
1.2Mbit/s received under rates peak at 12.5mA
2. @0dBm 2Mbit/s rate output peak current 11mA
3. power off mode power consumption of 400nA
4. the power consumption in standby mode 32uA
5.130us quick switch and wake up
6. has the on-chip voltage regulator oltage regulators
7.1.9 to 3.6V low-voltage operation 8. MultiCeiverMT hardware 6 receiver functions at, 2Mbit/s makes it possible to high quality VoIP


مزیت های ماژول :

در محیط با مانع از این ماژول بیشتر در پروژه هایی که قابلیت اطمینان ( reliability) باید بالا باشد  و کاربردش بیشتر در جاهای صنعتی و پر نویزه و جاهای حساس که اشتباه باعث خسارت میشود. ( یک لینک کاملا مطمئن براتون ایجاد میکنه  ( استفاده میکنیم  وبه خاطرداشتن قابلیت های auto acknowlegement و auto retransmition و error checking و فرستادن اطلاعات همراه با یکی از بهترین استانداردهای ECC (Error Correcting Code  ) CRC در عمل فوق العاده خوب جواب داده و اصلا عمل پیش بینی نشده ، انجام نداده. دقیقا هرکاری بخواهید و ازش انتظار دارید انجام میدهد. ( در عمل مهم اینکه دیوایس، عکس العمل غیر منتظره ای از خودش بروز ) .

تغذیه خود آی سی با 3.3 ولت هست اما پایه های ورودی خروجی آن توان کار کردن تا 5 ولت رو دارند  ( تغذیه  IC  را با 3.3 V  راه می اندازید اما اگر ورودی خروجی هاش به مداری که 5 ولت هست وصل بشه، آی سی نمی سوزه و میتواند با سطح لاجیک TTL کار کنند )

 این ماژول 60 میلی وات  و بردآن در فضای باز حدودا 40 مترمی باشد که اگر آنتن برای آن نصب کنید ( آنتن معمولی! ) حداکثر بردش به 70 متر میرسد  ....
برای مصارفی با مسافت کم ، استفاده از چیپ بر روی PCB اصلی پروژه ( نه ماژول ) بسیار ایده آل می باشد و همچنین  میشود  کانال ارسال  دیتا را عوض کرد !

 برای ارسال فلگ تایید دریافت دارد . همینطور امکان  ارسال مجدد ( ( restry در صورت نرسیدن دیتا به مقصد!

کارکرد پایه ها

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 به صورت ضربدری     وصل میشوند.

:  VCC , GND   VCC و GND هم تغذیه ماژول می باشد ماژول به ولتاژ معکوس و ولتاژ زیاد روی vcc و gnd حساس می باشد همچنین دمای زیاد روی پایه ها بوسیله هویه ( چون پایه ها مستقیم به آیسی وصل می باشد ) . حتما  از رگلاتور lf33 استفاده کنید وبین مثبت ومنفی ماژول حتما از خازن استفاده کنید ا گر از خازن در ورودی استفاده نکنید ماژول بدرستی کانفیگ میشود ولی زمانی که میخواهد اطلاعات را بفرستید به کلی ریست میشود.

سرعت انتقال :

سرعت انتقال درماژول های nrf24l01p   قابل تنظیم می باشد و میتوان در سه حالت 256kbps  و 1 Mbps و 2 Mbps تنظیم نمود  (هرچه سرعت بالاتر تنظیم شود برد کمتر میشود(

چطوری میتونیم سرعت رو از  1M به  2M تغییر بدیم ؟
به صورت دستی هدر فایل رو تغییر بدید. خط 209 هدر فایل را به  command_buff = 0x07;  تغییر بدید. ( سرعت بیشتر = برد کمتر )

" payload" چی هست ؟

payload   یک اصطلاح در شبکه است ، یک پکت دیتا تشکیل شده است از چندین قسمت که یک قسمتش payload میباشد ، در این قسمت دیتای اصلی شما قرار میگیرد. ( این قسمت اصلی و بقیه بالا سری ( overhead ) پکت هستند که شامل آدرس و pid و sequence و... (  .

 فرقnRF24L01  با nRF24LE1 چیست ؟

nRF24l01+  یه آی سی transciever  برای انتقال داده بیسیم در باند 2.4 GHz است .
nRF24LE1 این ماژول ترکیب همون nRF24l01p بعلاوه ی یک سری چیز دیگس:
که این چیزها شامل:
1ـ  cpu هشت بیتی که با همون 8051 معروف سازگار است. ( پس همینجا نتیجه میگیریم این آیسی به تنهایی قابل استفاده است و دیگه نیاز نیست با میکرو درایوش کنیم چون خودش واحد پردازشگر inteligent device ) ) دارد
2ـ   1kB + 256B رم داره که این رم همون حافظه ای است که باید کنار cpu باشه.
3ـ یک فلش مموری 16 کیلو بایتی داره که میتونید توش داده ها و دستورات را ذخیره کنید ( بعد از قطع برقم نمیپره )
4ـ  یک مقایسه گر ( ADC )  دوازده بیتی داره!!
همچنین سه تا اینترفیس ارتباط spi و uart و TWI رو هم داره (یه جورایی همه چی تمومه ،خودش یه میکرو کنترلره) ) گفته اوسیلاتور داخلی هم داره ( که خوب معلومه باید داشته باشه چون cpu داره (


این چیپ حالت صرفه جویی در مصرف یا lowe power هم داره ؟

با این پین و رجسترهای   PWR_UP , PRIM_RX
 2تا مد standby  داره و یه مد  power down

یکی از ویژگی های خیلی جالب این ماژول مصرف بسیار پائین اون نسبت به ماژول های مشابه هست که در مواقعی که مجبور به استفاده از باتری هستین از کم مصرف بودن این ماژول حیرت زده میشید
تو نسخه پلاس این ماژول مد اسلیپ ماژول بسیار هوشمند عمل میکنه و مصرف رو در حد ۹۰۰ نانو آمپر قرار میده یعنی ماژول روشنه ولی داره فقط ۹۰۰ نانو آمپر مصرف میکنه و فقط موقع ارسال مصرفش به حدود ۱۳ میلی آمپر میرسه

 Enhanced ShockBurst چیست ؟

یک مد که توی این نوع آیسی ها معرفی شده . اولا که با استفاده از این مد میتونید با میکرو کنتزلرهای کند مثل avr و صف های موجود در خود آیسی ، به سرعت های بالا ( سرعت انتقال در هوا ( air ) ) دست یابید همچنین اگر با شبکه آشنا باشید ، خیلی شبیه به پروتکل TCP در لایه ی transport در مدل های لایه بندی TCP/IP و OSI می باشد. که با استفاده از قابلیت های auto acknowledgment و autoretransmition  یک لینک کاملا مطمئن برای شما فراهم میکند. (به زبون ساده بعد از هر ارسال گیرنده به فرستنده میگه پکت بهم رسیده یا نه و اگر نرسیده باشه یا حتی پیام رسیدن بر نگرده ، فرستنده دوباره ارسال میکند ( در شبکه به آن پیام تصدیق یا همون ACK  گفته می شود )  Enhanced ShockBurst یه پروتکلی 2 سویه است که برای چلوگیری از دست رفتن اطلاعات بین فرستنده و گیرنده استفاده میشود به این صورت که اگر پکت ارسالی به درستی دریافت نشود دوباره توسط فرستنده ارسال می گردد.
یک چیز جالب در مورد این ماژول هوشمند بودنش هست مثلا شما از عدد ۱ تا ۱۰۰۰ رو میفرستید تا با دور کردن گیرنده برد ماژول رو به دست بیارید چیزی که خیلی جالبه اینه که مثلا اگر اطلاعات دریافتی گیرنده بر روی عدد ۵۴۶ متوقف بشود وقتی به ماژول فرستنده نزدیک می شوید از عدد ۵۴۷ شروع به ارسال میکند و به عبارتی هیچ اطلاعاتی تا وقتی گیرنده دریافت آن را تائید نکند از دست نمی رود و تا زمانی که از سمت گیرنده پیام تائید دریافت  نکند اطلاعات بعدی را ارسال نمی کند و به ارسال مجدد ادامه میدهد و این حالت به صورت پیشفرض در ماژول فعال است و به طور پیشفرض ۱۰ بار  در فاصله زمانی مشخص انجام میدهد , میتوانید با تنظیمات رجیستر های ماژول تعداد و مدت زمانی که بین هر ارسال باید صبر کند را تغییر دهید

این ماژول ها امکان شبکه کردن هم دارند ؟

شبکه کردن یعنی آدرس دادن به ماژول ها به طوری که فقط با ماژولی که میخواهید ارتباط برقرار کنید (جدا کردن از طریق آدرسدهی )  
شما با تغییردر آرایه 5 بایتی آدرس (40 بیتی ) میتوانید به ماژول یک آدرس دلخواه نسبت دهید  که می توانید تا 1 ترلیون ( یا 1 ترا = 2 به توان  40 ) آدرس متفاوت ایجاد کنید. ولی شما نمی توانید در حین اجرا آدرس را تغییر بدید و حتما تغییرات باید در زمان کامپایل باشد یعنی در زمانی که کد مینویسید شما یک آدرس مشخصی از 0x0000000000  تا 0 xFFFFFFFFFF به ماژول نسبت میدهید و وقتی برنامه را داخل میکرو پروگرم کردید ماژول همین آدرس را دارد . اگر می خواهید آن را عوض کنید باید دوباره میکرو رو با آدرس جدید پروگرام کنیدهر ماژول با هر چندتا ماژول که در دیدش باشه شبکه میشود که البته با تنظیماتی میشود این را نقض کرد یعنی مثلا ما 100 تا ماژول در یکجا داریم که همه در برد هم هستند ولی جوری باشند که 10 تا 10 تا باهم در ارتباط باشند و گروه های دیگر را اصلا نبینند و در کار هم مشکل بوجود نیاورند . مثلا اگر شما با شبکه کامپیوتر آشنا باشید ، هر شبکه از 5 لایه تشکیل شده ( لایه بندی osi یا tcp/ip  ( با این ماژول می توانید ارتباط تا دو لایه زیرین (  Data Link Layer و  ( Physical Layer  داشته باشید. که در لایه دیتا لینک می توانید ارتباط به صورت rdt ( reliable data transfer ارتباط مطمئن ) تضمین کنید. شبکه کردن ،هیچ کاری ندارد وقتی شما یک لینک مطمئن دارید شبکه یعنی یک سری پروتکل که خودتان قرار میدید .به عنوان مثال شما یک بخش همیشه ثابت تو ارایه ای که میفرستید میگذارید ( مثلا یک بایت )  و این رو به عنوان آدرس فرستنده تلقی میکنید. و یک بایت هم برای گیرنده . حالا شما اطلاعاتتون رو در بسته ( packet ) های 32 بایتی درون شبکه میریزید که 30 بایت اونها دیتای اصلی یا payload  هستند. به همین راحتی .
شما میتونید  در یک شبکه پایپ به ۶ تا ماژول دیگه اطلاعات رو ارسال کنید و از ۶ تا ماژول دیگه اطلاعات رو دریافت کنید فقط باید دقت کنید واسه هر ماژول یک آدرس ۳۲ بیتی جداگانه بگذارید.

مهمترین قسمتهای دیتا شیت کجا است ؟

شما اول باید جدیدترین دیتاشیت را دانلود کنید  ---->    September 2008     Product Specification v1.0
 صفحه 75 را بیارید و از اول بخونید. شما نمیخواد کل دیتاشیت را بلد باشید ، فقط همین صفحه را خوب درک کنید.  تو این صفحه به یکسری کلمات و اصطلاحات برمیخورید که کلیدین و مخصوص همین دیتاشیتن، برای فهمیدن این کلمات به صفحات 51 و 57 به بعد ( کل register map )  ) رجوع کنید. به یک کلمه نامفهوم که تو 75 میرسید یه جوری خودتون با چشم تو صفحه هایی که گفتم پیدا کنید و بخونید. تا آخر صفحه همین کار رو کنید و بعد برید برای صفحه 76 دیدیم که 75 و 76 صفحه های کلیدی بودن ، یک صفحه کلیدی دیگه هم وجود داره که میتونه به درک بیشترتون کمک کنه: شکل صفحه 22 و تمام.






نوع مطلب : رباتیك، الكترونیك، 
برچسب ها :
لینک های مرتبط :




سه شنبه 23 مرداد 1397 03:36 ق.ظ

You actually revealed it fantastically!
sildenafil online pharmacy viagra rx online buy viagra india where to order viagra cheapest place to buy viagra buy viagra sildenafil online how to purchase viagra online buy generic viagra with paypal buy discount viagra online generic sildenafil uk
جمعه 7 اردیبهشت 1397 07:47 ب.ظ

Valuable forum posts. Regards.
cialis 10 doctissimo buy cialis rezeptfrei cialis apotheke discount cialis only now cialis 20 mg cialis free trial chinese cialis 50 mg only now cialis for sale in us only now cialis for sale in us weblink price cialis
سه شنبه 4 اردیبهشت 1397 05:55 ق.ظ

Thanks a lot! Lots of data!

viagra order online how to buy generic viagra online buy viagra without a prescription online sildenafil uk buy uk cheap viagra best place to buy viagra online cheap generic viagra where can you buy viagra online online pharmacy order buy cheapest viagra online
جمعه 17 فروردین 1397 09:34 ب.ظ

Superb info. With thanks!
comprar cialis 10 espa241a 5 mg cialis pharmacie en ligne generico cialis mexico warnings for cialis discount cialis tesco price cialis side effects of cialis wow cialis tadalafil 100mg cialis et insomni click here cialis daily uk
دوشنبه 28 اسفند 1396 01:08 ق.ظ

Regards. Wonderful stuff.
cialis generic cialis en 24 hora cialis prezzo di mercato cialis super kamagra click here cialis daily uk canada discount drugs cialis costo in farmacia cialis if a woman takes a mans cialis where to buy cialis in ontario are there generic cialis
چهارشنبه 1 شهریور 1396 04:08 ب.ظ
Hello, this weekend is pleasant in support of me, since this time i am reading this great
educational paragraph here at my house.
جمعه 10 بهمن 1393 01:49 ب.ظ
ممنون از اطلاعاتتون-من میخوام با این مدار یه میکروفن بی سیم بسازم میشه لطف کنین راهنمایی کنین؟من از الکترونیک و برنامه نویسی زیاد سر در نمیارم بی زحمت به زبان ساده بگین که چی کار کنم.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر