جدول المحتويات:

الاتصالات اللاسلكية باستخدام وحدات RF رخيصة الثمن 433MHz وأجهزة التحكم الدقيقة Pic. الجزء 2: 4 خطوات (بالصور)
الاتصالات اللاسلكية باستخدام وحدات RF رخيصة الثمن 433MHz وأجهزة التحكم الدقيقة Pic. الجزء 2: 4 خطوات (بالصور)

فيديو: الاتصالات اللاسلكية باستخدام وحدات RF رخيصة الثمن 433MHz وأجهزة التحكم الدقيقة Pic. الجزء 2: 4 خطوات (بالصور)

فيديو: الاتصالات اللاسلكية باستخدام وحدات RF رخيصة الثمن 433MHz وأجهزة التحكم الدقيقة Pic. الجزء 2: 4 خطوات (بالصور)
فيديو: العطاء الرقمي | إنترنت الأشياء IoT وبرمجة Arduino 2024, شهر نوفمبر
Anonim
الاتصالات اللاسلكية باستخدام وحدات RF رخيصة الثمن 433MHz وأجهزة التحكم الدقيقة Pic. الجزء 2
الاتصالات اللاسلكية باستخدام وحدات RF رخيصة الثمن 433MHz وأجهزة التحكم الدقيقة Pic. الجزء 2

في الجزء الأول من هذه التعليمات ، أوضحت كيفية برمجة PIC12F1822 باستخدام برنامج التحويل البرمجي MPLAB IDE و XC8 ، لإرسال سلسلة بسيطة لاسلكيًا باستخدام وحدات TX / RX 433 ميجا هرتز رخيصة.

تم توصيل وحدة الاستقبال عبر محول كابل USB إلى UART TTL بجهاز كمبيوتر ، وتم عرض البيانات المستلمة على RealTerm. تم إجراء الاتصال على 1200 باود وكان أقصى مدى تم تحقيقه حوالي 20 مترًا عبر الجدران. أظهرت اختباراتي أنه بالنسبة للتطبيقات التي لا توجد فيها حاجة لمعدل بيانات مرتفع ومدى طويل ، وللإرسال المستمر ، فإن هذه الوحدات تعمل بشكل جيد للغاية.

يوضح الجزء الثاني من هذا المشروع كيفية إضافة متحكم PIC16F887 ووحدة LCD 16 × 2 حرفًا على جهاز الاستقبال. علاوة على ذلك ، على جهاز الإرسال ، يتبع بروتوكول بسيط مع إضافة بضع بايتات تمهيدية. هذه البايتات ضرورية لوحدة RX لتعديل كسبها قبل الحصول على الحمولة الفعلية. في جانب المستقبل ، تكون الموافقة المسبقة عن علم مسؤولة عن الحصول على البيانات التي يتم عرضها على شاشة LCD والتحقق من صحتها.

الخطوة 1: تعديلات جهاز الإرسال

تعديلات المرسل
تعديلات المرسل
تعديلات المرسل
تعديلات المرسل
تعديلات المرسل
تعديلات المرسل

في الجزء الأول ، كان جهاز الإرسال يرسل سلسلة بسيطة كل عدة مللي ثانية باستخدام ثماني بتات بيانات وبداية وتوقف عند 1200 بت في الثانية. نظرًا لأن الإرسال كان مستمرًا تقريبًا ، لم يواجه جهاز الاستقبال مشكلة في ضبط مكاسبه على البيانات المستلمة. في الجزء الثاني ، يتم تعديل البرنامج الثابت بحيث يتم إجراء الإرسال كل 2.3 ثانية. يتم تحقيق ذلك باستخدام مقاطعة مؤقت المراقبة (مضبوطة على 2.3 ثانية) لتنبيه وحدة التحكم الدقيقة ، والتي يتم وضعها في وضع السكون بين كل إرسال.

من أجل حصول جهاز الاستقبال على وقت لضبط ربحه ، يتم إرسال بضع بايتات تمهيدية مع أوقات LO قصيرة "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" قبل البيانات الفعلية. ثم تتم الإشارة إلى الحمولة ببايت البداية "&" والإيقاف "*".

ومن ثم ، يوصف البروتوكول البسيط على النحو التالي:

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) ومرحبًا InstWorld! *

علاوة على ذلك ، تمت إضافة مكثف التنتالوم بفصل 10 فائق التوهج بين V + و GND لوحدة التردد اللاسلكي للتخلص من التموج الناجم عن وحدة تصعيد التيار المستمر.

ظل معدل الباود كما هو ، ومع ذلك أظهرت اختباراتي أنه عند 2400 باود أيضًا ، كان الإرسال فعالاً.

الخطوة 2: تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD

تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD
تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD
تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD
تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD
تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD
تعديلات جهاز الاستقبال: إضافة PIC16F887 و HD44780 LCD

اعتمد تصميم جهاز الاستقبال على PIC16F887 ، ولكن يمكنك استخدام PIC مختلفة مع بعض التعديلات البسيطة. في مشروعي ، استخدمت 40 دبوس μC ، حيث سأحتاج إلى دبابيس إضافية للمشاريع المستقبلية بناءً على هذا التصميم. يتم توصيل خرج وحدة RF بدبوس UART rx ، بينما يتم توصيل شاشة LCD مقاس 16 × 2 حرف (HD44780) من خلال دبابيس PORTB b2-b7 لعرض البيانات المستلمة.

كما هو الحال مع الجزء 1 ، يتم أيضًا عرض البيانات المستلمة على RealTerm. يتم تحقيق ذلك باستخدام UART tx pin المتصل عبر محول كبل USB إلى UART TTL بجهاز كمبيوتر.

بالنظر إلى البرنامج الثابت ، عند حدوث مقاطعة UART ، يتحقق البرنامج مما إذا كان البايت المستلم هو بايت بداية ("&"). إذا كانت الإجابة بنعم ، فسيبدأ في تسجيل البايتات اللاحقة ، حتى يتم اكتشاف بايت التوقف ("*"). بمجرد الحصول على الجملة بأكملها ، وإذا كانت تتوافق مع البروتوكول البسيط الموصوف سابقًا ، يتم إرسالها بعد ذلك إلى شاشة LCD ، وكذلك إلى منفذ UART tx.

قبل استلام بايت البداية ، قام جهاز الاستقبال بالفعل بضبط كسبه باستخدام بايتات التمهيد السابقة. هذه ضرورية للتشغيل السلس لجهاز الاستقبال. يتم إجراء فحص بسيط للتجاوز والتأطير ، ولكن هذا ليس سوى تطبيق معالجة خطأ UART أساسي.

من حيث الأجهزة ، هناك حاجة إلى بعض الأجزاء لجهاز الاستقبال:

1 × PIC16F887

1 × HD44780

1 × وحدة RF Rx 433 ميجا هرتز

1 × 10 μF مكثف التنتالوم (فصل)

1 × 10 K الانتهازي (سطوع خط LCD)

1 × 220 Ω 1/4 واط المقاوم (إضاءة خلفية LCD)

1 × 1 كيلو أوم 1/4 واط

1 × هوائي 433 ميجا هرتز ، 3dbi

من الناحية العملية ، عمل المستلم بشكل جيد للغاية في نطاقات تصل إلى 20 مترًا من خلال الجدران.

الخطوة 3: بعض المراجع …

هناك العديد من المدونات على الويب تقدم نصائح حول برمجة الموافقة المسبقة عن علم واستكشاف الأخطاء وإصلاحها إلى جانب موقع Microschip الرسمي. لقد وجدت ما يلي مفيدًا جدًا:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

الخطوة الرابعة: الاستنتاجات والعمل المستقبلي

آمل أن تساعدك هذه التعليمات في فهم كيفية استخدام وحدات التردد اللاسلكي ووحدات التحكم الدقيقة Pic. يمكنك ضبط البرامج الثابتة وفقًا لاحتياجاتك الخاصة وتضمين CRC والتشفير. إذا كنت ترغب في جعل التصميم الخاص بك أكثر تعقيدًا ، فيمكنك استخدام تقنية Keeloq من Microschip. إذا كان التطبيق الخاص بك يحتاج إلى بيانات ثنائية الاتجاه ، فستحتاج إلى زوج من TX / RX في كلا المتحكمات الدقيقة ، أو يمكنك استخدام جهاز إرسال واستقبال أكثر تعقيدًا الوحدات. ومع ذلك ، باستخدام هذا النوع من الوحدات النمطية الرخيصة 433 ميجا هرتز ، يمكن تحقيق نصف اتصال مزدوج فقط. علاوة على ذلك ، من أجل جعل الاتصال أكثر موثوقية ، ستحتاج إلى شكل من أشكال المصافحة بين TX و RX.

في التعليمات التالية ، سأعرض لك تطبيقًا عمليًا حيث تمت إضافة مستشعر بيئي بدرجة الحرارة والضغط الجوي والرطوبة إلى جهاز الإرسال. هنا ، ستتضمن البيانات المرسلة crc وسيكون لها تشفير أساسي.

سيستخدم المستشعر منفذ i2c في PIC12F1822 ، في حين أن تنفيذ كل من المرسل والمستقبل سيتم كشفه من خلال ملفات المخططات وملفات ثنائي الفينيل متعدد الكلور. شكرًا لقراءتي!

موصى به: