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

صفيف الرادار الثابت (LIDAR) مع Arduino: 10 خطوات (بالصور)
صفيف الرادار الثابت (LIDAR) مع Arduino: 10 خطوات (بالصور)

فيديو: صفيف الرادار الثابت (LIDAR) مع Arduino: 10 خطوات (بالصور)

فيديو: صفيف الرادار الثابت (LIDAR) مع Arduino: 10 خطوات (بالصور)
فيديو: Comparison of 2D Localization Using Radar and LiDAR in Long Corridors 2024, يوليو
Anonim
مصفوفة الرادار الثابتة (LIDAR) مع Arduino
مصفوفة الرادار الثابتة (LIDAR) مع Arduino
مصفوفة الرادار الثابتة (LIDAR) مع Arduino
مصفوفة الرادار الثابتة (LIDAR) مع Arduino
مصفوفة الرادار الثابتة (LIDAR) مع Arduino
مصفوفة الرادار الثابتة (LIDAR) مع Arduino

عندما أقوم ببناء روبوت ذي قدمين ، كنت أفكر دائمًا في امتلاك نوع من الأدوات الرائعة التي يمكنها تتبع خصمي والقيام بحركات هجومية باستخدامه. توجد هنا بالفعل مجموعات من مشاريع الرادار / الليدار. ومع ذلك ، هناك بعض القيود لغرضي:

  • وحدات استشعار الموجات فوق الصوتية كبيرة جدًا. سيبدو كل روبوت مثل WALL-E.
  • تشتمل جميع مشاريع الرادار الحالية على مستشعر (إما موجات فوق صوتية ، الأشعة تحت الحمراء ، ليزر ، …) ومحرك مؤازر في المنتصف. يتطلب فحص البيئة أن تتحرك المؤازرة جنبًا إلى جنب. يؤدي تحريك الأشياء ذهابًا وإيابًا إلى حدوث تغييرات في الزخم ، وهو أمر سيئ لتحقيق التوازن والمشي على قدمين.
  • تردد المسح محدود بواسطة سرعة المؤازرة. فقط عدة هرتز يمكن أن تحقق ، على الأرجح. حتى إذا كان من الممكن زيادة تردد المسح بواسطة بعض المؤازرات الفائقة ، فقد يؤدي ذلك إلى اهتزاز شديد.
  • ترتيب [محرك سيرفو مركزي - مستشعر] يحد أيضًا من موضع التركيب والتصميم. من الصعب تركيب مثل هذا الشيء بخلاف الرأس. مما يجعل قدمي تبدو وكأنها WALL-E تهتز الرأس في كل مرة. ليس رائع!
  • يمكن أيضًا بناء ترتيب [أجهزة الاستشعار] كنمط [مستشعر المحرك]. يدور المستشعر (أو المستشعرات) على طول محور المحرك بشكل مستمر. قد يؤدي هذا إلى التخلص من اهتزازات الزخم ومشكلات التردد المنخفض للمسح ، ولكن ليس قيود تصميم الجذع. كما ستزداد صعوبة الأسلاك بشكل كبير.

بعد البحث ، تناثر هذا المستشعر الصغير VL53L0X من ST في عيني. من خلال المطالبة بمستشعر نطاق زمن الرحلة "الأصغر في العالم" ، يكون البعد 4.4 × 2.4 × 1.0 ملم فقط. تتميز

  • على رقاقة باعث ليزر وكاشف الأشعة تحت الحمراء
  • نطاق يصل إلى 2 متر (1.2 متر في الوضع السريع)
  • عنوان I2C قابل للبرمجة
  • دبوس خرج يقطع GPIO
  • العين آمنة

كل هذه الميزات الخاصة مجتمعة مكنتني من التغلب على المشاكل المذكورة أعلاه ، إذا كان من الممكن أن تعمل مجموعة من أجهزة الاستشعار VL53L0X. في الأصل ، اعتقدت أن هذا الرادار سيطلق عليه رادار الحالة الصلبة ، لكن اكتشفت أن هذا المصطلح يستخدم لشيء آخر. لذلك فإن الكلمة "الثابتة" في العنوان تعني عدم وجود أجزاء متحركة في أداة الرادار هذه. أيضًا ، في حين أن LIDAR (اكتشاف الضوء وتحديد المدى) هو المصطلح الصحيح تقنيًا لهذه الشريحة ، يشار إلى RADAR هنا كمصطلح أكثر عمومية.

سيتم شرح سبب أهمية عنوان I2C القابل للبرمجة ودبوس إخراج GPIO لهذا المشروع لاحقًا.

الخطوة 1: الأدوات والأجزاء

الأدوات والأجزاء
الأدوات والأجزاء
الأدوات والأجزاء
الأدوات والأجزاء

أدوات

الأدوات التالية مطلوبة في هذا المشروع:

  • لحام حديد
  • يد المساعدة لحام
  • أداة تجعيد دوبونت
  • 1.5 مللي متر محرك عرافة
  • أداة إزالة طلاء الأسلاك
  • قاطع الاسلاك
  • مسدس الغراء الساخن
  • ملاقيط
  • المكبر (مادي أو تطبيقات في هاتفك)
  • كماشة الأنف المسطحة

القطع

يتم استخدام الأجزاء التالية في هذا المشروع:

  • 10x VL53L0X GY-530 ألواح الفصل
  • Arduino (Uno ، Nano ، Mega ، Zero ، Mini ، … إلخ)
  • لوح توصيل وبعض أسلاك اللوح
  • أسلاك AWG # 26 بألوان مختلفة
  • AWG # 30 سلك أحادي النواة
  • 5x موصلات دوبونت ذكر
  • 5x العلب دوبونت دبوس واحد
  • 10x حاملات ألواح طباعة ثلاثية الأبعاد
  • 1x 3D إطار دائري مطبوع
  • 10x M2x10 مسامير برأس مسطحة
  • 10x 0804 LED (أزرق موصى به)
  • 10x SOT-23 AO3400 N-Channel MOSFET
  • مكثف صغير (10 ~ 100 فائق التوهج)

مجلس الاختراق

لوحة الاختراق VL53L0X التي استخدمتها هي GY-530. هناك أيضًا إصدار Adafruit وإصدار Pololu متاحان. إذا كان ذلك ممكنًا ، فإنني أوصي باستخدام منتج Adafruit أو Pololu لأنهما يصنعان منتجات رائعة وبرامج تعليمية رائعة ومكتبات برامج رائعة. لقد اختبرت مكتبة VL53L0X في Adafruit واستخدمت نسخة معدلة من مكتبة Pololu's VL53L0X.

موصلات دوبونت

يتم استخدام موصلات دوبونت للوح. يمكنك استخدام أي أنواع أخرى من الاتصال لديك.

مسامير وأجزاء مطبوعة ثلاثية الأبعاد

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

الخطوة 2: قرصنة لوحة Breadout

قرصنة لوحة الخبز
قرصنة لوحة الخبز
قرصنة لوحة الخبز
قرصنة لوحة الخبز
قرصنة لوحة الخبز
قرصنة لوحة الخبز
قرصنة لوحة الخبز
قرصنة لوحة الخبز

مخروط الكشف

لقد استخدمت وحدة واحدة لرسم مخروط الكشف. باستخدام روبوت مطبوع ثلاثي الأبعاد في الغالب كهدف. يتم عرض المسافة على شاشة LED ويتم قياسها تقريبًا. يتم تسجيل البيانات المقاسة في ملف Microsoft Excel ، وتستخدم وظيفة ملائمة المنحنى. أفضل ملاءمة هو منحنى اللوغاريتم الطبيعي ، بمسافة فعالة من 3 سم إلى 100 سم تقريبًا.

عند 60 سم ، يبلغ منحنى الكشف لمستشعر واحد حوالي 22 سم. مع هدف بعرض 20 سم ، يجب أن ينتج عن فصل دائري من 10 ~ 15 درجة لصفيف الرادار دقة مسح مقبولة.

عنوان I2C

في حين أن عنوان الجهاز VL53L0X I2C قابل للبرمجة ، فإن التحكم الكامل في دبوس XSHUT بواسطة وحدة التحكم الدقيقة مطلوب. التسلسل للقيام بذلك هو:

  1. يتم تطبيق الطاقة على AVDD.
  2. يتم إحضار جميع شرائح VL53L0X إلى حالة الاستعداد (إعادة الضبط) Hw عن طريق دفع جميع دبابيس XSHUT إلى LOW.
  3. يتم إخراج كل شريحة من حالة إعادة التعيين واحدة تلو الأخرى. عنوان I2C الافتراضي بعد التمهيد هو 0x52.
  4. يتم تغيير عنوان الشريحة إلى عنوان جديد من خلال أمر I2C. على سبيل المثال ، تم تغيير 0x52 إلى 0x53.
  5. كرر الخطوتين 3 و 4 لجميع الرقائق.

من الناحية النظرية ، يمكن قيادة 126 وحدة كحد أقصى في نفس الحافلة لنطاق عنوان 7 بت. ومع ذلك ، من الناحية العملية ، قد / يجب أن تحد سعة الناقل وحدود التيار الغاطس لوحدة التحكم الدقيقة من الحد الأقصى لرقم الجهاز.

لا يتم تخزين عنوان I2C الجديد في شريحة VL53L0X مقابل إيقاف التشغيل أو إعادة التعيين. وبالتالي يجب أن تتم هذه العملية مرة واحدة عند كل قوة. هذا يعني أن هناك حاجة إلى دبوس واحد ثمين لكل وحدة في مجموعة الرادار. هذه طريقة غير ملائمة للأسلاك واستهلاك الدبوس ، بالنسبة لحزام الرادار مع 10+ أو 20+ وحدة.

كما هو مذكور في STEP1 ، من حسن الحظ أن هناك دبوس GPIO1 على شريحة VL53L0X ، والذي تم استخدامه في الأصل للمقاطعة ، يمكنه القيام بالمهمة.

سلسلة أقحوان GPIO-XSHUTN

يكون خرج GPIO في حالة مقاومة عالية عند التشغيل وفتح التصريف إلى مستوى منخفض أثناء النشاط. يتم سحب دبابيس GPIO و XSHUT عالياً إلى AVDD على لوحة الاختراق GY-530 ، على النحو الموصى به في ورقة البيانات. لوضع جميع شرائح VL53L0X بشكل موثوق في حالة الاستعداد Hw (قيادة XSHUT منخفضة) ، نحتاج إلى بوابة منطقية NOT (عاكس) لكل دبوس XSHUT. ثم نقوم بتوصيل خرج GPIO لشريحة واحدة (الشريحة Nth) ، بشريحة XSHUTN (XSHUT-NOT) الخاصة بشريحة المصب (شريحة N + 1).

عند التشغيل ، يتم سحب جميع دبابيس GPIO (غير النشطة) ، ويتم دفع جميع دبابيس XSHUT اللاحقة منخفضة بواسطة بوابة NOT (باستثناء شريحة القبضة ذاتها حيث يكون دبوس XSHUTN متصلاً بوحدة التحكم الدقيقة). يتم تغيير عنوان I2C وإصدار XSHUT من شريحة المصب في البرنامج ، واحدًا تلو الآخر.

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

مضيفا ليد

في الخطوة التالية ، ستتم إضافة 0805 SMD LED صغير إلى لوحة القطع ، متصلاً من وسادة XSHUT بطرف GND لمكثف مجاور. على الرغم من أن LED نفسه لا يؤثر على تشغيل الوحدة ، إلا أنه يعطينا إشارة مرئية جيدة على مستوى منطق XSHUT.

سيؤدي ربط LED في سلسلة بمقاوم السحب (10 كيلو في حالتي) على دبوس XSHUT إلى حدوث انخفاض في الجهد. بدلاً من المستوى المنطقي العالي البالغ 3.3 فولت ، يتم قياس انخفاض الجهد الأمامي لمصباح LED أحمر 0805 بمقدار 1.6 فولت. على الرغم من أن هذا الجهد أعلى من المستوى المنطقي العالي (1.12 فولت) في ورقة البيانات ، إلا أن LED الأزرق أفضل لهذا الاختراق. يقاس انخفاض الجهد الأمامي للـ LED الأزرق بنحو 2.4 فولت ، وهو أعلى بأمان من مستوى منطق الشريحة.

إضافة N-MOS Inverter (Logic NOT Gate)

يتم تكديس SOT-23 N-channel MOSFET صغير على مؤشر LED الذي أضفناه. يجب لحام طرفين (D ، S) على لوحة الفصل ، ويتم توصيل الطرف المتبقي (G) بدبوس GPIO للوحة المنبع باستخدام سلك # 26.

ملاحظات حول إضافة مكونات SMD

لا يعد لحام مكونات SMD على لوحة الاختراق غير المصممة من أجل مهمة سهلة. إذا لم تكن قد سمعت عن 0805 و SMD و SOT-23 حتى الآن ، فمن المحتمل أنك لم تقم بلحام هذه المكونات الصغيرة من قبل. أثناء التعامل مع هذه المكونات الصغيرة يدويًا ، من الشائع جدًا ما يلي:

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

إذا كنت لا تزال تريد إنشاء هذا الرادار ، فيمكنك:

  • قم بتغيير المكونات إلى حزمة أكبر ، مثل نمط DIP.
  • احصل على مكونات أكثر من الحد الأدنى المطلوب ، للممارسة والاستهلاك.

الخطوة 3: لحام 0805 LED

لحام 0805 LED
لحام 0805 LED
لحام 0805 LED
لحام 0805 LED
لحام 0805 LED
لحام 0805 LED
لحام 0805 LED
لحام 0805 LED

لحام 0805 SMD LED

إن لحام 0805 LED يدويًا ، على لوحة اندلاع غير مصممة لـ SMD ، ليس بالمهمة السهلة على الإطلاق. الخطوات التالية هي توصيتي بلحام الصمام.

  1. استخدم اليد المساعدة لعقد لوحة الاختراق.
  2. ضع بعض معجون اللحام على حافة مكثف SMD ولوحة "XSHUT".
  3. استخدم مكواة اللحام لوضع بعض اللحام الإضافي على حافة المكثف.
  4. ضع بعض معجون اللحام على طرفي مصباح 0805 LED.
  5. استخدم مكواة اللحام لوضع بعض القصدير على طرفي مصباح 0805 LED.
  6. استخدم الملقط لوضع مؤشر LED كما هو موضح في الصورة ، وعادة ما يكون لنهاية الكاثود خط محدد. في المثال الخاص بي ، يوجد خط أخضر على نهاية الكاثود. ضع نهاية الكاثود على نهاية المكثف.
  7. استخدم الملقط لإضافة ضغط خفيف على LED باتجاه المكثف ، وقم بتوصيل مؤشر LED بنهاية المكثف ، عن طريق إضافة الحرارة إلى نهاية المكثف في نفس الوقت. لا تضغط بشدة على مؤشر LED. قد ينكسر غطاءها تحت الحرارة والضغط المفرط. بعد اللحام ، أضف ضغطًا لطيفًا على جانبي LED ، لاختبار ما إذا كان LED ملحومًا في مكانه.
  8. الآن قم بلحام LED في وسادة تراجع XSHUT. يجب أن تكون هذه الخطوة أسهل.

ملحوظة: نهاية المكثف الموضحة في الصورة هي الطرف الأرضي على لوحة الاختراق هذه. ويتم سحب وسادة الغمس XSHUT بواسطة المقاوم.

اختبار الصمام

يجب أن يضيء مؤشر LED عند تطبيق الطاقة (مثل 5 فولت) والأرضي على لوحة الاختراق.

الخطوة 4: لحام N-Channel MOSFET

لحام N- قناة MOSFET
لحام N- قناة MOSFET
لحام N- قناة MOSFET
لحام N- قناة MOSFET
لحام N- قناة MOSFET
لحام N- قناة MOSFET
لحام N- قناة MOSFET
لحام N- قناة MOSFET

لحام AO3400 N-Channel MOSFET

هذا MOSFET موجود في حزمة SOT-23. نحتاج إلى "تكديسه" على مؤشر LED وإضافة سلك أيضًا:

  1. ضع بعض معجون اللحام وقصدير جميع المحطات الثلاثة.
  2. استخدم الملقط لوضع MOSFET أعلى 0805 LED. يجب أن تلمس المحطة S الجزء العلوي من المكثف
  3. جندى طرف S بنهاية المكثف ، كما هو موضح في الصورة.
  4. قم بقص مقطع صغير AWG # 30 سلك أحادي النواة ، وقم بإزالة الطلاء بحوالي 1 سم.
  5. استخدم مكواة اللحام لإذابة اللحام في فتحة XSHUT من الأسفل ، وأدخل السلك رقم 30 من الأعلى ، كما هو موضح في الصورة.
  6. لحام الطرف العلوي من السلك بطرف MOSFET D.
  7. قطع الأسلاك الإضافية.

ملاحظة: يتم توصيل طرف MOSFET S بطرف المكثف كما هو موضح في الصورة. هذه النهاية هي المحطة الأرضية. يتم توصيل طرف MOSFET D بدبوس XSHUT الأصلي.

المحطة G غير متصلة في هذه اللحظة. موقعه أعلى بقليل من بعض مقاومات السحب. تأكد من وجود فجوة بينهما (N-MOS والمقاوم) ولا تتلامس مع بعضها البعض.

الخطوة 5: توصيل مجموعة أجهزة الاستشعار

توصيل مجموعة أجهزة الاستشعار
توصيل مجموعة أجهزة الاستشعار
توصيل مجموعة أجهزة الاستشعار
توصيل مجموعة أجهزة الاستشعار
توصيل مجموعة أجهزة الاستشعار
توصيل مجموعة أجهزة الاستشعار

أسلاك الحافلات المشتركة

تشمل الحافلة المشتركة:

  • قوة Vcc. أحمر في الصورة. أنا أستخدم اردوينو نانو مع منطق 5 فولت. تحتوي لوحة الاختراق على LDO ومبدل المستوى. لذلك من الآمن استخدام 5 فولت كـ Vin.
  • أرضي. أسود في الصورة.
  • SDA. أخضر في الصورة.
  • SCL. أصفر في الصورة.

هذه الخطوط الأربعة هي خطوط مشتركة. قطع الأسلاك بطول مناسب ولحامها بالتوازي ، لجميع وحدات الاستشعار. لقد استخدمت 20 سم من اردوينو إلى المستشعر الأول ، و 5 سم بعد ذلك.

أسلاك XSHUTN و GPIO

السلك الأبيض 20 سم من دبوس التحكم اردوينو ، إلى دبوس XSHUTN من المستشعر الأول. هذا هو خط التحكم المطلوب لإخراج أول شريحة VL53L0X من إعادة التعيين وتغيير عنوان I2C.

السلك الأبيض بطول 5 سم بين كل وحدة هو خط التحكم في سلسلة الأقحوان. شريحة المنبع (على سبيل المثال ، الشريحة رقم 3) لوحة GPIO ، متصلة بالمصب (على سبيل المثال ، الشريحة رقم 4) ساق XSHUTN (طرف N-Channel MOSFET G).

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

استخدم مسدس الحرارة لتثبيت سلك التحكم.

الغراء الساخن

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

اختبار الصمام

عند تطبيق الطاقة (مثل 3.3v-5v) والأرضي على صفيف المستشعر ، يجب أن يستجيب مؤشر LED في الوحدة الأولى بمستوى منطق سلك XSHUTN. إذا قمت بتوصيل XSHUTN بالمنطق العالي (مثل 3.3v-5v) ، يجب أن يكون مؤشر LED مطفأ. إذا قمت بتوصيل سلك XSHUTN بالسلك المنخفض (الأرضي) ، فيجب أن يكون مؤشر LED في الوحدة الأولى قيد التشغيل.

لجميع الوحدات اللاحقة ، يجب أن يكون مؤشر LED مطفأ.

يتم إجراء هذا الاختبار قبل الاتصال بـ arduino.

الخطوة السادسة: إكمال صفيف المستشعر

Image
Image
إكمال صفيف المستشعر
إكمال صفيف المستشعر
إكمال صفيف المستشعر
إكمال صفيف المستشعر
إكمال صفيف المستشعر
إكمال صفيف المستشعر

اختبار سلسلة ديزي

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

  1. قم بإعداد لوح الخبز. 5V والسكك الحديدية الأرضية متصلان مباشرة من adriano 5V والأرض. تم تصنيف الاستهلاك الحالي لكل جهاز استشعار 19ma في ورقة البيانات.
  2. أضف مكثفًا على سكة الطاقة للمساعدة في تثبيت Vin.
  3. قم بتوصيل Vin والأرضي من مجموعة المستشعرات بسكة الطاقة.
  4. قم بتوصيل SDA بـ arduino Nano pin A4 (قد يكون مختلفًا لوحدات التحكم الدقيقة الأخرى).
  5. قم بتوصيل SCL بـ arduino Nano pin A5 (قد يكون مختلفًا لوحدات التحكم الدقيقة الأخرى).
  6. قم بتوصيل سلك XSHUTN بـ arduino Nano pin D2. (يمكن تغيير هذا في الرسم التخطيطي).
  7. انتقل إلى github https://github.com/FuzzyNoodle/Fuzzy-Radar وقم بتنزيل المكتبة.
  8. افتح المثال "Daisy_Chain_Testing" وقم بتحميل الرسم التخطيطي.

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

يمكنك أيضًا فتح نافذة المسلسل ومشاهدة تقدم التهيئة. سيظهر الإخراج على النحو التالي:

فتح portPort افتح رسم البداية. اضبط الشريحة 0 في وضع إعادة الضبط. يجب إيقاف تشغيل جميع مصابيح LED الخاصة بالحالة. الآن تكوين أجهزة الاستشعار. يجب أن يضيء مؤشر LED واحدًا تلو الآخر. تكوين الشريحة 0 - إعادة تعيين عنوان I2C إلى 83 - تهيئة المستشعر. تكوين الشريحة 1 - إعادة تعيين عنوان I2C إلى 84 - تهيئة المستشعر. تكوين الشريحة 2 - إعادة تعيين عنوان I2C إلى 85 - تهيئة المستشعر. اكتمل تكوين صفيف الرادار.

قم بتجميع الحامل والإطار

  1. ضع بعناية كل وحدة GY-530 على الحامل باستخدام المسمار M2x10. لا تضغط على MOSFET أو تسحب أسلاك XSHUTN.
  2. ضع كل حامل في الإطار الدائري. استخدم بعض الغراء الساخن لربط الأجزاء.

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

يتم توفير الملفات المطبوعة ثلاثية الأبعاد التي استخدمتها أدناه. يحتوي الإطار الدائري على 9 وحدات ، ويفصل بينها 10 درجات. إذا كانت لديك عين حادة ، فهناك 10 وحدات في الصور السابقة. السبب؟ موضح أدناه…

قم بإزالة البطانة الواقية

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

حول البطانة الواقية ، تنص ورقة البيانات على ما يلي: "يجب إزالتها بواسطة العميل قبل تركيب زجاج الغطاء مباشرة". الفتحتان الصغيرتان (الباعث والمستقبل) الموجودان في شريحة VL53L0X عرضة للتلوث ، مثل الغبار والشحوم والصمغ الساخن ، إلخ …

بمجرد التلوث ، قد يتم تقليل النطاق ، وقد تتعطل القراءات بمقدار واضح. تلوثت إحدى وحدات الاختبار الخاصة بي عن طريق الخطأ بطين الغراء ، وتم تقليل النطاق إلى 40 سم ، وتم تكبير قراءة المسافة عن طريق الخطأ بنسبة 50٪. لذا كن حذرا!

الخطوة السابعة: الحصول على البيانات

Image
Image
جهاز تتبع الليزر (عرض توضيحي)
جهاز تتبع الليزر (عرض توضيحي)

استخدام مثال Raw_Data_Serial_Output

الآن نود حقًا رؤية البيانات من مجموعة أجهزة الاستشعار الخاصة بنا. في مكتبة اردوينو على GitHub:

https://github.com/FuzzyNoodle/Fuzzy-Radar

يوجد مثال يسمى Raw_Data_Serial_Output. يوضح هذا المثال إخراج البيانات الأولية من صفيف المستشعر. قيم الإخراج بالمليمترات.

بعد تهيئة المستشعرات ، من المفترض أن ترى شيئًا كهذا في النافذة التسلسلية عندما تلوح بيدك عبر المستشعرات:

الرجوع إلى مقطع الفيديو لعرض حي.

استخدام مثال Fuzzy_Radar_Serial_Output

الخطوة التالية هي الحصول على بيانات مفيدة من هذه القراءات عن بعد. ما أردناه من RADAR هو مسافة الجسم المستهدف وزاويته.

  • المسافة بالمليمترات ، مرتبطة بسطح المستشعر. إرجاع 0 يعني أن الهدف خارج النطاق.
  • الزاوية بالدرجات على المستوى الأفقي. يتوقع الكود حاليًا أن تكون المستشعرات متباعدة بشكل متساوٍ. إرجاع 0 درجة يعني أن الهدف موجود في المركز المركزي للصفيف.

يتم تطبيق بعض خوارزمية التصفية في المكتبة:

  • إزالة الضوضاء:

    • تعتبر القراءات القصيرة (من حيث عدد العينات) ضوضاء وتتم إزالتها.
    • تتم إزالة القراءات البعيدة عن القيمة المتوسطة.
  • حساب زاوية الوزن (انظر الشكل أعلاه)

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

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

    • إذا كان هناك أكثر من مجموعة تم اكتشافها بنفس العرض ، فستبقى المجموعة في أقرب مسافة.
    • على سبيل المثال ، إذا وضعت يديك أمام مجموعة المستشعرات ، وكانت مجموعتان تم اكتشافهما لهما نفس عدد المستشعرات ، فستبقى المجموعة الأقرب إلى المستشعر.

يتم تسوية مسافة الإخراج وزاوية من خلال مرشح تمرير منخفض

في Raw_Data_Serial_Output ، يتم تحويل قراءات المسافة الأولية إلى قيمة المسافة والزاوية. بمجرد تحميل الرسم ، يمكنك فتح النافذة التسلسلية لرؤية النتيجة مشابهة لما يلي:

لم يتم اكتشاف أي كائن. لم يتم اكتشاف أي كائن.لم يتم الكشف عن أي كائن. المسافة = 0056 الزاوية = 017 المسافة = 0066 الزاوية = 014 المسافة = 0077 الزاوية = 011 المسافة = 0083 الزاوية = 010 المسافة = 0081 الزاوية = 004 المسافة = 0082 الزاوية = 000 المسافة = 0092 الزاوية = 002 المسافة = 0097 الزاوية = 001 المسافة = 0096 الزاوية = 001 المسافة = 0099 الزاوية = 000 المسافة = 0101 الزاوية = -002 المسافة = 0092 الزاوية = -004 المسافة = 0095 الزاوية = -007 المسافة = 0101 الزاوية = -008 المسافة = 0112 الزاوية = -014 المسافة = 0118 الزاوية = -017 المسافة = 0122 الزاوية = -019 المسافة = 0125 الزاوية = -019 المسافة = 0126 الزاوية = -020 المسافة = 0125 الزاوية = -022 المسافة = 0124 الزاوية = -024 المسافة = 0133 الزاوية = -027 المسافة = 0138 الزاوية = - 031 المسافة = 0140 الزاوية = -033 المسافة = 0136 الزاوية = -033 المسافة = 0125 الزاوية = -037 المسافة = 0120 الزاوية = -038 المسافة = 0141 الزاوية = -039 لم يتم اكتشاف أي كائن. لم يتم الكشف عن أي كائن. لم يتم الكشف عن أي كائن.

الآن ، لديك رادار (ليدار):

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

في الخطوات التالية ، سوف نعرض لك بعض العروض الرائعة!

الخطوة 8: جهاز تتبع الليزر (عرض توضيحي)

Image
Image
جهاز تتبع الليزر (عرض توضيحي)
جهاز تتبع الليزر (عرض توضيحي)

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

  • اثنان الماكينات
  • رأس ينبعث منه قلم ليزر
  • ترانزستور MOSFET أو NPN للتحكم في إخراج رأس الليزر
  • مصدر طاقة لأجهزة الماكينة. يجب فصله عن وحدة التحكم الدقيقة.

يمكن تنزيل الكود هنا.

يرجى الاطلاع على الفيديو المقدم.

الخطوة 9: التحديق في Poopeyes (عرض توضيحي)

Image
Image

عرض لاستخدام الرادار بعيدًا لتتبع موقع الجسم والمسافة.

موصى به: