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

وحدة محلل اردوينو: 4 خطوات
وحدة محلل اردوينو: 4 خطوات

فيديو: وحدة محلل اردوينو: 4 خطوات

فيديو: وحدة محلل اردوينو: 4 خطوات
فيديو: How to use the Arduino UNO R4 WIFI board step by step | Arduino UNO R4 WIFI with web server 2024, يوليو
Anonim
وحدة محلل اردوينو
وحدة محلل اردوينو

عاد Tinee9 مع وحدة جديدة. هذه الوحدة تسمى وحدة محلل.

في عالم التحكم في المحركات ، توجد أنواع أو طرق مختلفة لاكتشاف الموضع. تتضمن هذه الطريقة مستشعرات القاعة ، وأجهزة الاستشعار XY ، والمحلل ، و RVDT ، و LVDT ، والمديرين الميدانيين ، ومقياس الجهد ، وما إلى ذلك ، اعتمادًا على كيفية إعداد كل من هذه المستشعرات ، يمكنك حتى تحديد موقعك المطلق دون الحاجة إلى حفظ آخر موضع في الذاكرة.

يمكن استخدام الوحدة النمطية التي أستخدمها لإزالة تشكيل RVDT و LVDT و Resolver ولكن لغرض اليوم سيتم إزالة تشكيل وحدة الحل.

الفهم التقني: مستوى الخبراء

التوصيل والتشغيل التعليمي: المستوى المتوسط

اللوازم

1: اردوينو نانو

2: وحدة محلل

3: لوح الخبز

4: 9.0 فولت بطارية أو NScope

5: محلل

6: 10x أسلاك توصيل لوح الخبز

الخطوة 1: وحدة محلل

وحدة محلل
وحدة محلل

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

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

تميل إلى أن تكون أغلى قليلاً من وعاء أو مستشعر القاعة ولكنها تمنحك دقة لا تصدق.

الخطوة 2: الإعداد

اقامة
اقامة
اقامة
اقامة
اقامة
اقامة
اقامة
اقامة

1: ستحتاج أولاً إلى وضع اردوينو نانو على لوح الخبز

2: تحتاج إلى توصيل دبوس 5 فولت الموجود في Arduino إلى دبوس + 3V3 ودبوس 5 فولت في وحدة المحلل (يمكن أن تحتوي الوحدة على إمداد يبلغ 3.3 فولت مع إعطاء إثارة 5 فولت على المحلل)

3: قم بتوصيل RTN على Arduino بـ RTN على وحدة Resolver

4: قم بتوصيل D9 على Arduino بـ PWM على وحدة محلل

5: قم بتوصيل A0 على Arduino بـ MCU_COS + على وحدة محلل

6: قم بتوصيل A1 على Arduino بـ MCU_SIN + على وحدة محلل

7: قم بتوصيل سلك محلل EX + بـ EX + على وحدة محلل

8: قم بتوصيل سلك محلل EX- EX- على وحدة محلل

9: قم بتوصيل سلك محلل COS + بـ COS + على وحدة محلل

10: قم بتوصيل أسلاك محلل RCOM 2 بـ RCOM على وحدة محلل

11: قم بتوصيل سلك محلل SIN + بـ SIN + على وحدة محلل

12: ربط بطارية 9V بـ RTN (-) و VIN (+)

13: أو قم بتوصيل Nscope + 5V to 5V Pin على Arduino و RTN على Nscope إلى RTN على Arduino

14: ربط النطاق بـ USB على جهاز الكمبيوتر

15: قم بتوصيل Arduino بـ USB على جهاز الكمبيوتر

الخطوة 3: قم بتحميل الكود

قم بتحميل الكود
قم بتحميل الكود
قم بتحميل الكود
قم بتحميل الكود

انسخ والصق كود Arduino أدناه إلى Sketch في Arduino IDE

ما سيفعله هذا الكود هو الذهاب إلى وحدة الحل PWM. ستثير هذه الوحدة المحلل وتنتج موجة مربعة على الملفات الثانوية للمحلل. يتم تغذية الإشارات التي تخرج من Sin + و Cos + بعد ذلك إلى OPAMP التي ستعمل على توسيط الموجة وتقليل الإخراج بحيث ينتقل بين 0-5 فولت.

Sin + و Cos + كما يقصدان. الخطين هو 90 درجة خارج الطور مع موجة كوس.

نظرًا لأنها بزاوية 90 درجة خارج الطور ، نحتاج إلى استخدام دالة Atan2 (Cos ، Sin) للحصول على الإحداثيات الصحيحة لموضع المحلل.

بعد ذلك ، سيبصق Arduino ، بعد حصوله على 4 عينات ، قيمة تتراوح بين -3.14 و 3.14 والتي تمثل -180 درجة و +180 درجة على التوالي. هذا هو السبب في أنك إذا كنت تريد استخدام المحلل للحصول على الموضع المطلق ، فيجب عليك فقط استخدام ما بين -180 و 180 دون التدوير الزائد وإلا فسوف تتدحرج وتعتقد أنك عادت إلى بداية أو نهاية ضربة المشغل. قد تكون هذه مشكلة إذا قررت استخدام محلل للمحور x أو y للطابعة ثلاثية الأبعاد وتدحرجت مما تسبب في تعطل الطابعة ثلاثية الأبعاد.

كان بإمكاني جعل الكود أفضل قليلاً مع المقاطعات للحصول على PWMing أكثر استمرارية ولكن هذا سيكون كافياً لهذا التطبيق.int A = A0؛

int B = A1 ؛ int pwm = 9 ؛ int c1 = 0 ؛ كثافة العمليات c2 = 0 ؛ كثافة العمليات c3 = 0 ؛ int c4 = 0 ؛ كثافة العمليات c5 = 0 ؛ كثافة العمليات c6 = 0 ؛ int s1 = 0 ؛ كثافة العمليات s2 = 0 ؛ كثافة العمليات s3 = 0 ؛ كثافة العمليات s4 = 0 ؛ كثافة العمليات s5 = 0 ؛ كثافة العمليات s6 = 0 ؛ خرج تعويم = 0.00 ؛ int sin1 = 0 ؛ int cos1 = 0 ؛ int position_state = 1 ؛ int get_position = 0 ؛ إعداد باطل () {// ضع رمز الإعداد هنا ، للتشغيل مرة واحدة: pinMode (pwm ، الإخراج) ؛ Serial.begin (115200) ؛ }

حلقة فارغة() {

إذا (get_position = 5) {cos1 = (c1 + c2) - (c3 + c4) ؛ sin1 = (s1 + s2) - (s3 + s4) ؛ الإخراج = atan2 (cos1، sin1) ؛ c1 = 0 ؛ c2 = 0 ؛ c3 = 0 ؛ c4 = 0 ؛ s1 = 0 ؛ s2 = 0 ؛ s3 = 0 ؛ s4 = 0 ؛ Serial.print ("Position:") ؛ Serial.println (الإخراج) ؛ get_position = 1 ؛ }

// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر:

}

الخطوة 4: الخطوة 3: استمتع

الخطوة 3: استمتع
الخطوة 3: استمتع
الخطوة 3: استمتع
الخطوة 3: استمتع

استمتع بتدوير وحدة الحل وتعلم كيفية عمل المحلل والتطبيقات التي يمكنك استخدام وحدة المحلل هذه.

موصى به: