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

هذا المقال هو تطور لأفكار مقالي السابق:
habr.com/ru/post/451408هيكل النظام
يحتوي نظام تحديد الإحداثيات على المخطط الهيكلي التالي:

التين. 1 - رسم تخطيطي لنظام الموجات فوق الصوتية لتحديد الإحداثيات.
لننظر في كل عنصر عن قرب.
استقبال الموجات فوق الصوتية



التين. 2 - تطوير جهاز الموجات فوق الصوتية (أعلى إلى أسفل).
في البداية ، كانت أجهزة الاستقبال تتكون من وحدة نمطية واحدة وكانت مساحة تغطية صغيرة جدًا في الغرفة ، في تلك الأيام لم أقمم من رقمنة الإشارة ، لكنني استلمت ببساطة من المستشعر الطول الذي أعطته وحدة التحكم العادية.
بعد ذلك ، لزيادة التغطية ، قررت إنشاء وحدة من ثلاثة أجهزة استشعار ، تم تحويل البيانات منها إلى رقم واحد ونقلها إلى جهاز كمبيوتر ، حيث تم حساب المسافة والإحداثيات. بعد اختبار جهاز استقبال مكون من ثلاثة مكونات ، رأيت أن جهاز استقبال واحد يكفي إذا قمت بمعالجة الإشارة بنفسك.
ونتيجة لذلك ، أصبح جهاز الاستقبال مرة أخرى مكونًا واحدًا ، ولكن نظرًا لأنني أعالج الإشارة حاليًا ، أصبحت منطقة التغطية كبيرة جدًا. تتم معالجة الإشارة الآن في STM32 بعد الرقمنة ، فإنه يخرج فقط المسافة إلى الإخراج.
المقادير:
- STM32 - يستخدم لرقمنة الإشارة بالموجات فوق الصوتية وحساب المسافة إلى باعث ؛
- HC-SR04 - قمت بتعديلها قليلاً والآن يمكنني تلقي الإشارة من مدخلاتها ، كما هو موضح في الشكل 3 ؛
- RS485 - لنقل المسافة إلى باعث إلى جهاز كمبيوتر.

التين. 3 - إشارة الموجات فوق الصوتية الرقمية.

التين. 4 - إشارة الموجات فوق الصوتية في المنطقة 4700 - 5200 من الشكل أعلاه.
باعث بالموجات فوق الصوتية



التين. 5 - تطوير باعث (أعلى إلى أسفل).
كما ترون من الشكل 5 ، في البداية قمت بسحب قدم Trig على جهاز استشعار HC-SR04 ، لم يكن أفضل نظام ، فقط لأنني لم أتمكن من تحديد عدد الموجات فوق الصوتية التي يمكنني إنشاؤها ، لم أستطع تغيير قوتها ، وهذا باعث كان ضخمة بما فيه الكفاية.
بعد ذلك ، قمت بإنشاء إصدار ثانٍ ، كان أكثر تعقيدًا ، لكنني استطعت بالفعل تنظيم كل شيء باستخدام STM32 و L293D ، اللذين كانا متصلين مباشرة بسماعات الموجات فوق الصوتية. الآن ، بدلاً من 5 فولت قياسي ، تقدمت بطلب للحصول على 17 ، مما أدى إلى زيادة كبيرة في مساحة العمل. أضفت أيضًا وحدة راديو وواجهة RS485 ، مما جعل هذه الوحدة قائمة بذاتها.
بعد سلسلة من الاختبارات ، قررت تقليل حجم الباعث إلى حجم لائق ووضعه معًا بشكل أكثر إحكاما ، كنتيجة لما تراه في الصورة الأخيرة.
المقادير:- STM32 - يستقبل الأمر Trig (بدء قياس المسافات) عبر قناة الراديو وينبعث إشارة بالموجات فوق الصوتية ، كما ينقل الأوامر المستلمة من وحدة الراديو إلى RS485 (أنا استخدامها للتحكم عن بعد في منصة متنقلة) ؛
- RS485 - واجهة معلومات الجهاز للمستخدم.
- دفعة DC-DC - يحول مصدر الطاقة 5 فولت إلى 17 فولت للبعث ؛
- L293D - أستخدمه لإنشاء إشارة قوية بالموجات فوق الصوتية بجهد 17 فولت ؛
- nRF24 - قناة راديو ؛
- البواعث - 6 بواعث يتم سحبها من وحدة HC-SR04.
وحدة قاعدة

التين. 6 - الوحدة الأساسية.
المقادير:- STM32 - يرسل علم حساب المثلثات إلى باعث والمستقبلات ، ويستقبل أوامر USB من جهاز الكمبيوتر لنقلها عبر قناة الراديو إلى باعث (ويعرف أيضا باسم وحدة المحمول) ؛
- nRF24 - إرسال علم حساب المثلثات إلى باعث وأوامر الإرسال إلى باعث.
وحدة الكمبيوتر
يتم توصيل جهاز الكمبيوتر من خلال محول RS485 بجميع أجهزة الاستقبال بالموجات فوق الصوتية ، على هذه الواجهة يستقبل جميع أطوالها ويحسب إحداثيات وحدة المحمول. عبر USB ، يتم توصيله بالوحدة الأساسية ومن خلاله ينقل أوامر التحكم إلى وحدة المحمول.
موقع الوحدات في منطقة العمل
تبدو خريطة غرفة بها مستقبلات الموجات فوق الصوتية في الزوايا كما يلي:

التين. 7 - الفكرة العامة لموقع أجهزة الاستشعار.

التين. 8 - عرض أعلى على مقياس (الدوائر ، مع أرقام الداخل ، تتم الإشارة إلى أجهزة الاستشعار).
خوارزمية عمل نظام تحديد إحداثيات الموجات فوق الصوتية
- ترسل الوحدة النمطية الأساسية أمر حساب المثلثات إلى باعث (عبر الأثير) وأجهزة الاستقبال (عبر السلك).
- يبدأ الباعث في الانبعاث ، وتبدأ أجهزة الاستقبال في الاستماع إلى البث.
- يقوم كل جهاز استقبال ، بعد سماع إشارة الموجات فوق الصوتية ، بتسجيل الوقت بين أمر علم حساب المثلثات ووقت استلام هذه الإشارة وترجمتها إلى مسافة.
- ترسل مستقبلات RS485 مسافات من باعث لأنفسهم على جهاز كمبيوتر.
- يقوم الكمبيوتر بحساب إحداثيات الباعث.
تشغيل النظام
تشغيل كل هذا ، نحصل على إحداثيات الكائن ، تعتمد الدقة على المكان في الغرفة. في أفضل الأماكن ، لا يتجاوز الخطأ بضعة سنتيمترات ، وفي أسوأ الأحوال ... حسنًا ، يمكنك أن ترى كل شيء في الشكل 9.

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

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

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

التين. 12 - مسار حركة منصة المحمول.
المشاكل الفعلية
لديّ حاليًا عدد من المشكلات العاجلة ، وإذا كان بإمكان شخص ما اقتراح شيء ما ، فيرجى كتابة ذلك في التعليقات أو على VK:
vk.com/b__s__v1.
ما هي أفضل طريقة لتلقي إشارة الموجات فوق الصوتية؟ إن مجسات HC-SR04 التي أستخدمها الآن لتلقي إشارة الموجات فوق الصوتية وتضخيمها ليست الخيار الأفضل. أولاً ، نظرًا لأنهم يتلقون دائمًا إشارة ذات تردد واحد فقط ولا يمكنك إجراء فصل تردد لمصادر الإشارة عنها (وهو أمر مثير للاهتمام بالنسبة لي للمحاولة) ، فهي أيضًا ضخمة جدًا ، وأنا أعتمد عليها كثيرًا.
2.
كيفية إزالة تشوهات التنسيق في زوايا مختلفة من الغرفة؟ على الشبكة التي رسمتها على الأرض ، يمكن ملاحظة أن الخطوط المستقيمة تبدأ في بعض الأحيان بالانحراف ، على الرغم من أنني كنت دائماً أحرك الوحدة المتنقلة بسلاسة ، وعلى نحو ما أحتاج إلى التخلص منها.
3.
بالنسبة إلى nRF24 ، تختفي الإشارة. عندما تكون الوحدات متقاربة ، فلا توجد مشاكل ، لكن من المفيد نشرها على بعد أمتار قليلة والوقوف بينها بنفسك ، حيث تصل الرسائل عبر واحد. لست مضطرًا إلى إعادة إرسال الرسائل هناك ، لأنني أرسل إشارات عقارب الساعة على هذه القناة ، ويجب أن تأتي دائمًا في نفس الثانية. لديّ وحدات بها هوائي خارجي ، وتعمل الوحدة الموجودة على الوحدة الأساسية بشكل أفضل بدون هوائي أكثر من الهوائي. لا أفهم شيئًا ، فالسلطة في الحد الأقصى.
4.
أماكن الترويج للمشروع. إذا كان شخص ما يعرف مواقع دولية مثل Habr باللغة الإنجليزية ، فالرجاء تجاهل الروابط ، وإلا فإنني لم أجد أي شيء لائق ، لكن stackoverflow ، فهذه مجرد أسئلة وإجابات ، وليس فقط لنشر مثل هذه المقالات.
5.
التعليقات والاقتراحات. إذا أراد شخص ما التحدث ، سأكون سعيدًا بالنقد والاقتراحات.
هذا بعيد عن نهاية مشروعي ، على الرغم من أن الوقت قد انتهى ، ولكن إذا كان هناك اهتمام ، فسوف أكتب مقالًا حول كيفية انتقال روبوت متنقل بناءً على هذا النظام عند الإحداثيات المحددة في غرفتي.