فهرست مطالب:

ارتباطات بی سیم با استفاده از ماژول های ارزان 433 مگاهرتز RF و میکروکنترلرهای Pic. قسمت 2: 4 مرحله (همراه با تصاویر)
ارتباطات بی سیم با استفاده از ماژول های ارزان 433 مگاهرتز RF و میکروکنترلرهای Pic. قسمت 2: 4 مرحله (همراه با تصاویر)

تصویری: ارتباطات بی سیم با استفاده از ماژول های ارزان 433 مگاهرتز RF و میکروکنترلرهای Pic. قسمت 2: 4 مرحله (همراه با تصاویر)

تصویری: ارتباطات بی سیم با استفاده از ماژول های ارزان 433 مگاهرتز RF و میکروکنترلرهای Pic. قسمت 2: 4 مرحله (همراه با تصاویر)
تصویری: فرستنده و گیرنده بی‌سیم آردوینو - قسمت اول 2024, جولای
Anonim
ارتباطات بی سیم با استفاده از ماژول های ارزان 433 مگاهرتز RF و میکروکنترلرهای Pic. قسمت 2
ارتباطات بی سیم با استفاده از ماژول های ارزان 433 مگاهرتز RF و میکروکنترلرهای Pic. قسمت 2

در قسمت اول این دستورالعمل ، من نحوه برنامه نویسی PIC12F1822 را با استفاده از کامپایلر MPLAB IDE و XC8 ، برای ارسال یک رشته ساده بدون سیم با استفاده از ماژول های ارزان TX/RX 433 مگاهرتز نشان دادم.

ماژول گیرنده از طریق آداپتور کابل USB به UART TTL به رایانه متصل شد و داده های دریافتی در RealTerm نمایش داده شد. ارتباط در 1200 باود انجام شد و حداکثر برد به دست آمده حدود 20 متر از طریق دیوارها بود. آزمایشات من نشان داد که برای برنامه هایی که نیازی به سرعت بالای داده و برد زیاد ندارند و برای انتقال مداوم ، این ماژول ها عملکرد فوق العاده ای دارند.

قسمت دوم این پروژه نحوه افزودن یک میکروکنترلر PIC16F887 و یک ماژول LCD 16 × 2 کاراکتری را روی گیرنده نشان می دهد. علاوه بر این ، در فرستنده ، یک پروتکل ساده با افزودن چند بایت پیش نمونه دنبال می شود. این بایت ها برای ماژول RX ضروری است تا قبل از دریافت بار واقعی ، سود خود را تنظیم کند. در سمت گیرنده ، PIC مسئول دریافت و تأیید داده هایی است که روی صفحه LCD نمایش داده می شود.

مرحله 1: تغییرات فرستنده

تغییرات فرستنده
تغییرات فرستنده
تغییرات فرستنده
تغییرات فرستنده
تغییرات فرستنده
تغییرات فرستنده

در قسمت اول ، فرستنده یک رشته ساده را در هر چند ms با استفاده از هشت بیت داده ، یک شروع و یک بیت توقف با سرعت 1200 بیت در ثانیه ارسال می کرد. از آنجا که انتقال تقریباً پیوسته بود ، گیرنده در تنظیم میزان دستیابی به داده های دریافتی مشکلی نداشت. در قسمت دوم ، سیستم عامل اصلاح شده است به طوری که انتقال هر 2.3 ثانیه انجام می شود. این امر با استفاده از وقفه زمان سنج نگهبان (تنظیم شده روی 2.3 ثانیه) برای بیدار کردن میکروکنترلر ، که بین هر انتقال در حالت خواب قرار می گیرد ، حاصل می شود.

برای اینکه گیرنده زمان کافی برای تنظیم دقیق سود خود داشته باشد ، چند بایت مقدمه با زمانهای کوتاه LO "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" قبل از داده های واقعی ارسال می شود. Payload سپس با یک بایت start & و یک stop**نشان داده می شود.

بنابراین ، پروتکل ساده به شرح زیر توصیف می شود:

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) و سلام InstWorld!*

علاوه بر این ، یک خازن تانتالوم جدا کننده 10uF بین V+ و GND ماژول RF اضافه می شود تا از شر موج ناشی از ماژول افزایش DC-DC خلاص شوید.

نرخ Baud ثابت ماند ، اما آزمایشات من نشان داد که در 2400 baud نیز ، گیربکس کارآمد بود.

مرحله 2: تغییرات گیرنده: افزودن LCD PIC16F887 و HD44780

تغییرات گیرنده: افزودن LCD PIC16F887 و HD44780
تغییرات گیرنده: افزودن LCD PIC16F887 و HD44780
تغییرات گیرنده: افزودن LCD PIC16F887 و HD44780
تغییرات گیرنده: افزودن LCD PIC16F887 و HD44780
تغییرات گیرنده: اضافه کردن LCD PIC16F887 و HD44780
تغییرات گیرنده: اضافه کردن LCD PIC16F887 و HD44780

طراحی گیرنده بر اساس PIC16F887 بود ، اما می توانید از PIC متفاوتی با کمی تغییرات استفاده کنید. در پروژه من از این 40 پین μC استفاده کردم ، زیرا برای پروژه های آینده بر اساس این طرح به پین های اضافی نیاز دارم. خروجی ماژول RF به پین UART rx متصل است ، در حالی که یک LCD 16x2 کاراکتری (HD44780) از طریق پین های PORTB b2-b7 برای نمایش داده های دریافتی متصل می شود.

مانند قسمت 1 ، داده های دریافتی نیز در RealTerm نمایش داده می شوند. این امر با استفاده از پین UART tx که از طریق آداپتور کابل USB به UART TTL به رایانه متصل می شود حاصل می شود.

با نگاهی به سیستم عامل ، وقتی وقفه UART رخ می دهد ، برنامه بررسی می کند که آیا بایت دریافت شده یک بایت شروع ('&') است یا خیر. اگر بله ، شروع به ضبط بایت های بعدی می کند ، تا زمانی که یک توقف بایت گرفته نشود ('*'). به محض اینکه کل جمله به دست آمد ، و اگر مطابق پروتکل ساده قبلی باشد ، سپس به صفحه LCD و همچنین به پورت UART tx ارسال می شود.

قبل از دریافت بایت اولیه ، گیرنده قبلاً سود خود را با استفاده از بایت های مقدمه قبلی تنظیم کرده است. اینها برای عملکرد روان گیرنده بسیار مهم هستند. یک بررسی خطای غلبه بر چارچوب و چارچوب بندی ساده انجام می شود ، با این حال این تنها یک اجرای اساسی در مدیریت خطا UART است.

از نظر سخت افزار ، چند قسمت برای گیرنده مورد نیاز است:

1 x PIC16F887

1 x HD44780

1 عدد ماژول RF Rx 433 مگاهرتز

1 x 10 μF خازن تانتالوم (جداسازی)

برش 1 x 10 K (روشنایی فونت LCD)

1 x 220 Ω 1/4 W مقاومت (نور پس زمینه LCD)

1 x 1 KΩ 1/4 W

1 x آنتن 433 مگاهرتز ، 3dbi

در عمل ، دستگاه های دریافت شده در محدوده حداکثر 20 متر از دیوارها فوق العاده خوب کار می کردند.

مرحله 3: چند مرجع…

وبلاگ های زیادی در وب وجود دارد که در مورد برنامه نویسی PIC و عیب یابی علاوه بر وب سایت رسمی Microschip نکاتی را ارائه می دهند. موارد زیر بسیار مفید بود:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

مرحله 4: نتیجه گیری و کار آینده

امیدوارم این دستورالعمل به شما در درک نحوه استفاده از ماژول های RF و میکروکنترلرهای Pic کمک کرده باشد. می توانید سیستم عامل خود را با نیازهای خود تنظیم کنید و شامل CRC و رمزگذاری شوید. اگر می خواهید طراحی خود را پیچیده تر کنید ، می توانید از فناوری Keeloq از Microschip استفاده کنید. در صورتی که برنامه شما به داده های دو جهته نیاز داشته باشد ، باید در هر دو میکروکنترلر یک جفت TX/RX داشته باشید ، یا می توانید از فرستنده گیرنده پیچیده تری استفاده کنید ماژول ها با این حال ، با استفاده از این نوع ماژول های ارزان 433 مگاهرتز ، تنها می توان ارتباط نیمه دو طرفه را انجام داد. علاوه بر این ، برای اطمینان بیشتر از ارتباطات ، باید نوعی دست دادن بین TX و RX داشته باشید.

در دستورالعمل بعدی ، من یک برنامه کاربردی را به شما نشان خواهم داد که در آن یک سنسور محیطی با دما ، فشار فشار و رطوبت روی فرستنده اضافه می شود. در اینجا ، داده های منتقل شده شامل CRC بوده و دارای رمزگذاری اولیه خواهند بود.

این سنسور از پورت i2c PIC12F1822 استفاده می کند ، در حالی که اجرای فرستنده و گیرنده از طریق شماتیک و فایل های pcb نشان داده می شود. ممنون از خواندن من!

توصیه شده: