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

WiBot: 10 خطوات (بالصور)
WiBot: 10 خطوات (بالصور)

فيديو: WiBot: 10 خطوات (بالصور)

فيديو: WiBot: 10 خطوات (بالصور)
فيديو: FAST Walking in 30 minutes | Fitness Videos 2024, سبتمبر
Anonim
WiBot
WiBot

يوضح هذا التوجيه تفاصيل عملية إنشاء روبوت Wi-Fi على منصة ZYBO. يستخدم هذا المشروع نظام تشغيل في الوقت الفعلي لاكتشاف الأشياء وقياس المسافة والتحكم سريع الاستجابة. سيغطي هذا الدليل توصيل ZYBO بالأجهزة الطرفية وتشغيل البرامج الثابتة المخصصة والتواصل عبر تطبيق Java. فيما يلي قائمة بجميع المكونات الأساسية المطلوبة لهذا المشروع:

  • 1 مجلس التنمية ZYBO
  • 1 راوتر TL-WR802N لاسلكي
  • 1 هيكل الظل
  • 2 عجلات 65 ملم
  • 2140 دورة في الدقيقة Gearmotors
  • 2 عجلة التشفير
  • 1 جهاز استشعار بالموجات فوق الصوتية HC-SR04
  • 1 BSS138 محول المستوى المنطقي
  • 1 L293 H-Bridge Motor Driver
  • 1 12V إلى 5V DC / DC محول
  • 1 بطارية ليبو 2200 مللي أمبير
  • 1 كابل إيثرنت
  • 1 كابل USB Micro-B
  • 1 موصل XT60 أنثى
  • عدد 2 سلك توصيل من ذكر لأنثى
  • 30 سلك توصيل من الذكور إلى الذكور
  • 2 10kΩ المقاومات
  • 1 اللوح

بالإضافة إلى ذلك ، يجب تثبيت البرنامج التالي على الكمبيوتر الهدف:

  • Xilinx Vivado Design Suite 2018.2.0 تحديث
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE Development Kit 8.191.0 تحديث

الخطوة 1: تجميع هيكل الروبوت

تجميع هيكل الروبوت
تجميع هيكل الروبوت
تجميع هيكل الروبوت
تجميع هيكل الروبوت
تجميع هيكل الروبوت
تجميع هيكل الروبوت

قم بتجميع هيكل الظل وإرفاق محركات التروس وأجهزة التشفير بالإطار السفلي. يمكن تركيب جهاز الاستشعار ZYBO واللوح والحساس بالموجات فوق الصوتية مع الأجزاء المتوفرة التي يمكن طباعتها ثلاثية الأبعاد وتثبيتها على الهيكل باستخدام حواجز وشريط على الوجهين. الإطارات السفلية. قم بتركيب جهاز التوجيه بالقرب من ZYBO ومحول DC / DC بالقرب من لوحة التجارب. قم بتوصيل العجلات بمحركات التروس في النهاية.

الخطوة الثانية: سلك إلكترونيات

إلكترونيات الأسلاك
إلكترونيات الأسلاك
إلكترونيات الأسلاك
إلكترونيات الأسلاك
إلكترونيات الأسلاك
إلكترونيات الأسلاك

قم بتوصيل مدخلات ومخرجات محول DC / DC بقضبان الطاقة على اللوح على التوالي. ستكون هذه بمثابة إمدادات 12V و 5V للنظام. قم بتوصيل ZYBO بسكة 5V كما هو موضح في الصورة. استخدم كبل تزويد USB Micro-B لتوصيل الموجه بسكة 5V أيضًا. يجب توصيل كبل XT60 بسكة 12 فولت. لا تقم بتوصيل البطارية حتى يتم توصيل باقي الأجهزة الإلكترونية بشكل صحيح. يجب توصيل مستشعر الموجات فوق الصوتية بسكة 5 فولت. قم بإنشاء سكة 3.3 فولت على اللوح باستخدام دبوس 6 من منفذ Pmod JC على ZYBO. يجب توصيل مدخلات الجهد العالي للمحول المنطقي بسكة 5 فولت بينما يجب توصيل مدخل الجهد المنخفض للمحول المنطقي بالسكة 3.3 فولت. قم بتوصيل مشفرات المحرك بالقضيب 3.3 فولت. قم بتوصيل VCC1 لمحرك المحرك بسكة 5V وقم بتوصيل VCC2 بسكة 12 فولت. اربط جميع دبابيس EN بجهد 5 فولت وقم بتأريض جميع دبابيس GND.

قم بتوصيل دبابيس TRIG و ECHO لمستشعر الموجات فوق الصوتية بـ HV1 و HV2 للمحول المنطقي على التوالي. يجب توصيل سلك LV1 بـ JC4 ويجب توصيل LV2 بسلك JC3. الرجوع إلى الرسم البياني ل Pmod pinouts. قم بتوصيل المحركات بسائق المحرك. يجب توصيل Y1 بالطرف الموجب للمحرك الأيمن ويجب توصيل Y2 بالطرف السالب للمحرك الأيمن. وبالمثل ، يجب توصيل Y3 بالطرف الموجب للمحرك الأيسر ويجب توصيل Y4 بالطرف السالب للمحرك الأيسر. يجب تعيين A1 و A2 و A3 و A4 إلى JB2 و JB1 و JB4 و JB3 على التوالي. الرجوع إلى التخطيطي لأرقام الدبوس. سلك JC2 إلى المشفر الأيمن و JC1 إلى المشفر الأيسر. تأكد من استخدام مقاومات سحب لربط هذه الإشارات بالقضيب 3.3 فولت. أخيرًا ، استخدم كابل إيثرنت لتوصيل ZYBO بجهاز التوجيه.

الخطوة 3: إنشاء مخطط كتلة في Vivado

قم بإنشاء رسم تخطيطي للكتل في Vivado
قم بإنشاء رسم تخطيطي للكتل في Vivado

قم بإنشاء مشروع RTL جديد في Vivado. تأكد من عدم تحديد أي مصادر في هذا الوقت. ابحث عن "xc7z010clg400-1" واضغط على "إنهاء". قم بتنزيل encoder_driver.sv و ultrasonic_driver.sv. ضعهم في مجلداتهم الخاصة. افتح IP Packager ضمن "Tools" واختر حزمة دليل محدد. الصق المسار إلى المجلد الذي يحتوي على برنامج تشغيل برنامج التشفير واضغط على "التالي". انقر فوق "حزمة IP" وكرر العمليات لبرنامج تشغيل جهاز الاستشعار بالموجات فوق الصوتية. بعد ذلك ، انتقل إلى مدير المستودع ضمن قسم IP الفرعي في قائمة الإعدادات. أضف المسارات إلى مجلدات برنامج التشغيل واضغط على تطبيق لتضمينها في مكتبة IP.

قم بإنشاء رسم تخطيطي جديد وقم بإضافة "ZYNQ7 Processing System". انقر نقرًا مزدوجًا فوق الكتلة واستورد ملف ZYBO_zynq_def.xml المتوفر. ضمن "تكوين MIO" ، قم بتمكين Timer 0 و GPIO MIO. اضغط على "موافق" لحفظ التكوين. أضف 3 كتل "AXI GPIO" و 4 كتل "AXI Timer". قم بتشغيل أتمتة الكتلة متبوعة بأتمتة الاتصال لـ S_AXI. انقر نقرًا مزدوجًا فوق كتل GPIO لتكوينها. يجب أن تكون الكتلة الواحدة ثنائية القناة بإدخال 4 بت وإخراج 4 بت. اجعل هذه الاتصالات خارجية وقم بتسميتها SW للإدخال و LED للإخراج. يجب أن تكون الكتلة الثانية أيضًا ثنائية القناة مع مدخلين 32 بت. ستكون آخر كتلة GPIO عبارة عن إدخال فردي 32 بت. اجعل إخراج pwm0 من كل كتلة مؤقت خارجي. قم بتسمية PWM0 و PWM1 و PWM2 و PWM3.

أضف برنامج تشغيل المشفر إلى مخطط الكتلة وقم بتوصيل CLK بـ FCLK_CLK0. قم بتوصيل OD0 و OD1 بقنوات الإدخال لكتلة GPIO الثانية. اجعل ENC خارجيًا وأعد تسمية ENC_0 إلى ENC. أضف كتلة مستشعر الموجات فوق الصوتية وقم بتوصيل CLK بـ FCLK_CLK0. اجعل TRIG و ECHO خارجيين وأعد تسمية TRIG_0 إلى TRIG و ECHO_0 إلى ECHO. قم بتوصيل التردد اللاسلكي بمجموعة GPIO الثالثة. الرجوع إلى مخطط الكتلة المتوفرة كمرجع.

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

الخطوة 4: إعداد بيئة تطوير البرامج

انتقل ضمن "ملف" لتصدير الأجهزة إلى Vivado SDK. تأكد من تضمين تدفق البتات. قم باستيراد مشروع RTOSDemo داخل "CORTEX_A9_Zynq_ZC702". سيكون موجودًا داخل دليل تثبيت FreeRTOS. قم بإنشاء حزمة دعم لوحة جديدة حدد مكتبة lwip202. قم بتغيير BSP المشار إليه في مشروع RTOSDemo إلى BSP الذي أنشأته للتو *.

* في وقت كتابة هذا Instructable ، يبدو أن FreeRTOS لديه خطأ في الرجوع إلى BSP الصحيح. لتصحيح هذا الأمر ، قم بإنشاء BSP جديد بنفس الإعدادات كالأول. قم بتغيير BSP المشار إليه إلى الجديد ثم قم بتغييره مرة أخرى إلى القديم بعد فشل الإنشاء. يجب الآن ترجمة FreeRTOS بدون أخطاء. لا تتردد في حذف BSP غير المستخدمة.

الخطوة 5: تعديل البرنامج التجريبي

قم بإنشاء مجلد جديد يسمى "drivers" ضمن دليل "src" في RTOSDemo. انسخ ملف gpio.h المقدم. gpio.c و pwm.h و pwm.c و odometer.h و odometer.c و rangefinder.c و rangefinder.h و motor.h و motor.c في دليل "السائقين".

افتح main.c واضبط mainSELECTED_APPLICATION على 2. استبدل main_lwIP.c تحت "lwIP_Demo" بالإصدار المحدث. يجب أيضًا تحديث BasicSocketCommandServer.c ضمن "lwIP_Demo / apps / BasicSocketCommandServer" بإصدار جديد. أخيرًا ، انتقل إلى "FreeRTOSv10.1.1 / FreeRTOS-Plus / Demo / Common / FreeRTOS_Plus_CLI_Demos" واستبدل Sample-CLI-commands.c بالإصدار المقدم. قم ببناء المشروع وتأكد من تجميع كل شيء بنجاح.

الخطوة 6: فلاش البرامج الثابتة لـ QSPI

فلاش البرامج الثابتة إلى QSPI
فلاش البرامج الثابتة إلى QSPI
فلاش البرامج الثابتة إلى QSPI
فلاش البرامج الثابتة إلى QSPI
فلاش البرامج الثابتة إلى QSPI
فلاش البرامج الثابتة إلى QSPI

قم بإنشاء مشروع تطبيق جديد يسمى "FSBL" باستخدام قالب "Zynq FSBL". بعد تجميع مشروع FSBL ، قم بإنشاء صورة تمهيد لمشروع RTOSDemo. تأكد من تحديد "FSBL / Debug / FSBL.elf" كمحمل الإقلاع ضمن "Boot image partitions". أضف المسار يدويًا إلى هذا الملف إذا لم يكن مدرجًا.

انقل وصلة العبور JP5 على ZYBO إلى "JTAG". استخدم كبل USB Micro-B لتوصيل جهاز الكمبيوتر الخاص بك بـ ZYBO. قم بتوصيل البطارية وتشغيل ZYBO. قم بتشغيل Adept للتأكد من تحديد ZYBO بشكل صحيح بواسطة الكمبيوتر. انقر فوق "برنامج Flash" في Vivado SDK وقم بتوفير المسارات إلى ملف BOOT.bin في RTOSDemo وملف FSBL.elf في FSBL. تأكد من تحديد "التحقق بعد الفلاش" قبل الضغط على "البرنامج". شاهد وحدة التحكم للتأكد من اكتمال عملية الوميض بنجاح. بعد ذلك ، قم بإيقاف تشغيل ZYBO وافصل كابل USB. انقل وصلة مرور JP5 إلى "QSPI".

الخطوة 7: تكوين نقطة الوصول اللاسلكية

مع استمرار توصيل البطارية ، قم بالاتصال بشبكة Wi-Fi الخاصة بالموجه. يجب أن يكون SSID وكلمة المرور الافتراضيان في الجزء السفلي من جهاز التوجيه. بعد ذلك ، انتقل إلى https://tplinkwifi.net وقم بتسجيل الدخول باستخدام "admin" لاسم المستخدم وكلمة المرور. قم بتشغيل معالج الإعداد السريع لتكوين جهاز التوجيه في وضع نقطة الوصول مع تمكين DHCP. تأكد من تحديث اسم المستخدم وكلمة المرور الافتراضيين للجهاز أيضًا. يجب إعادة تشغيل جهاز التوجيه تلقائيًا في وضع نقطة الوصول بعد الانتهاء.

قم بتشغيل ZYBO والاتصال بالموجه باستخدام SSID الذي قمت بتعيينه. من المرجح أن يظهر جهاز التوجيه على عنوان IP 192.168.0.100 أو 192.160.0.101. سيتم تعيين ZYBO أيًا كان العنوان الذي لا يحتوي عليه جهاز التوجيه. لتحديد عنوان IP لجهاز التوجيه بسرعة ، يمكنك تشغيل "ipconfig" من موجه الأوامر في windows أو "ifconfig" من المحطة الطرفية في Linux أو MacOS. إذا كنت لا تزال متصلاً بالموجه ، فسترى عنوان IP الخاص به معروضًا بجوار واجهتك اللاسلكية. استخدم هذه المعلومات لتحديد عنوان IP الخاص بـ ZYBO. لتأكيد عنوان IP الخاص بـ ZYBO ، يمكنك إما تنفيذ الأمر ping من سطر الأوامر أو الاتصال به عبر telnet.

الخطوة 8: قم بتشغيل برنامج Java

قم بتشغيل برنامج Java
قم بتشغيل برنامج Java

قم بتنزيل RobotClient.java وقم بترجمة الملف باستخدام الأمر "javac RobotClient.java" من سطر الأوامر. قم بتشغيل الأمر "java RobotClient" حيث يكون "ip_address" هو عنوان IP الخاص بـ ZYBO. ستظهر واجهة المستخدم الرسومية للتحكم في حالة إنشاء اتصال ناجح بين الكمبيوتر و ZYBO. بعد تركيز النافذة ، يجب أن يكون الروبوت قابلاً للتحكم باستخدام مفاتيح الأسهم على لوحة المفاتيح. اضغط على زر escape لإنهاء الجلسة وفصل الروبوت.

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

الخطوة 9: معايرة Rangefinder

يمكن استخدام المفاتيح الموجودة على متن ZYBO لتكوين محدد المدى على متن الطائرة. يتم إعطاء مسافة الكشف الدنيا d كدالة لمدخل المفتاح i:

د = 50 ط + 250

يمكن أن يختلف الإدخال بين 0 إلى 15 في خطوات عدد صحيح. هذا يترجم إلى مدى مسافة من 0.25 متر إلى متر واحد. عند أدنى مسافة ، سيبدأ مؤشر LED الأول في الوميض. يتناسب عدد المصابيح النشطة مع قرب الكائن.

الخطوة 10: إمكانية الوصول

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

موصى به: