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

قياس سرعة المحرك باستخدام اردوينو: 6 خطوات
قياس سرعة المحرك باستخدام اردوينو: 6 خطوات

فيديو: قياس سرعة المحرك باستخدام اردوينو: 6 خطوات

فيديو: قياس سرعة المحرك باستخدام اردوينو: 6 خطوات
فيديو: Lec2: DC Motor (ON/OFF & PWM & Measuring its Speed)| Arduino | Kyrillos Refaat 2024, يوليو
Anonim
قياس سرعة المحرك باستخدام اردوينو
قياس سرعة المحرك باستخدام اردوينو
قياس سرعة المحرك باستخدام اردوينو
قياس سرعة المحرك باستخدام اردوينو
قياس سرعة المحرك باستخدام اردوينو
قياس سرعة المحرك باستخدام اردوينو

هل من الصعب قياس rpm للمحرك ؟؟؟ لا أعتقد ذلك. هنا حل واحد بسيط.

يمكن لمستشعر IR واحد فقط و Arduino في مجموعتك القيام بذلك.

في هذا المنشور ، سأقدم تعليميًا بسيطًا يشرح كيفية قياس عدد الدورات في الدقيقة لأي محرك باستخدام مستشعر الأشعة تحت الحمراء و Arduino UNO / nano

اللوازم:

1. Arduion uno (Amazon) / Arduion nano (Amazon)

2. مستشعر الأشعة تحت الحمراء (أمازون)

3. محرك DC أي (أمازون)

4. LCD 16 * 2 (أمازون)

الأدوات المستخدمة

1. لحام الحديد (أمازون)

2. أداة تعرية الأسلاك (أمازون)

الخطوة 1: الخطوة: 1 التأكد من حالة عمل المستشعرات والأجهزة

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

ما هو محرك التيار المستمر (DC Motor)؟ محرك التيار المباشر (DC) هو نوع من الآلات الكهربائية التي تحول الطاقة الكهربائية إلى طاقة ميكانيكية. تأخذ محركات التيار المستمر الطاقة الكهربائية من خلال التيار المباشر ، وتحول هذه الطاقة إلى دوران ميكانيكي.

تستخدم محركات التيار المستمر المجالات المغناطيسية التي تحدث من التيارات الكهربائية المتولدة ، والتي تعمل على تعزيز حركة العضو الدوار المثبت داخل عمود الخرج. يعتمد عزم وسرعة الإخراج على كل من المدخلات الكهربائية وتصميم المحرك.

ما هو اردوينو؟

Arduino عبارة عن منصة إلكترونية مفتوحة المصدر تعتمد على أجهزة وبرامج سهلة الاستخدام. لوحات Arduino قادرة على قراءة المدخلات - ضوء على جهاز استشعار ، أو إصبع على زر ، أو رسالة Twitter - وتحويلها إلى إخراج - تنشيط المحرك ، وتشغيل مؤشر LED ، ونشر شيء ما عبر الإنترنت. يمكنك إخبار اللوح الخاص بك بما يجب القيام به عن طريق إرسال مجموعة من التعليمات إلى وحدة التحكم الدقيقة الموجودة على اللوحة. للقيام بذلك ، تستخدم لغة برمجة Arduino (بناءً على Wiring) ، وبرنامج Arduino (IDE) ، بناءً على المعالجة.

تنزيل ARDUINO IDE

الخطوة 2: كيف تعمل؟

فما المنطق وراء ذلك ؟؟

إنه يشبه إلى حد كبير برنامج التشفير. التشفير صعب الفهم للمبتدئين. كل ما تحتاج إلى معرفته هو أن مستشعر الأشعة تحت الحمراء يولد نبضًا ونكتشف الفاصل الزمني بين كل نبضة.

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

لنفترض أن لدينا مروحة ذات نصلتين. لكل محرك ثورة ، سوف تعترض الشفرة الأشعة تحت الحمراء مرتين. وبالتالي سينتج مستشعر الأشعة تحت الحمراء نبضات عندما يتم اعتراضها.

الآن علينا كتابة برنامج يمكنه قياس عدد النبضات التي ينتجها مستشعر الأشعة تحت الحمراء في فترة زمنية معينة.

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

يمكنك استخدام هذه الصيغة لقياس RPMRPM = ((1 / المدة) * 1000 * 1000 * 60) / الشفرات

أين ، المدة - الفاصل الزمني بين النبضات.

60 - ثواني إلى دقائق

1000 - مطحنة بالثانية

1000 - مايكرو إلى مطحنة

ريش - عدد الأجنحة في المروحة.

شاشة LCD - يقوم Arduino بتحديث سجلات الأوامر والبيانات لشاشة LCD. الذي يعرض أحرف ASCII على شاشة LCD.

الخطوة 3: برمجة Arduino الخاص بك باستخدام Arduino IDE

#يشمل

LiquidCrystal LCD (9 ، 8 ، 7 ، 6 ، 5 ، 4) ؛ const int IR_IN = 2 ؛ // IR sensor INPUT غير موقعة طويلة prevmicros ؛ // لتخزين الوقت لمدة طويلة بدون توقيع ؛ // لتخزين فارق التوقيت LCDrefresh طويل بدون توقيع ؛ // لتخزين الوقت لشاشات الكريستال السائل لتحديث int rpm ؛ // قيمة دورة في الدقيقة Boolean currentstate ؛ // الحالة الحالية لمدخلات الأشعة تحت الحمراء السابقة المنطقية ؛ // حالة مستشعر الأشعة تحت الحمراء في إعداد الفراغ السابق للمسح () {pinMode (IR_IN ، INPUT) ؛ lcd.begin (16 ، 2) ؛ prevmicros = 0 ؛ prevstate = منخفض ؛ } حلقة فارغة() { //////////////////////////////////////////// /////////////////////////////////////// RPM Measurement currentstate = digitalRead (IR_IN) ؛ // قراءة حالة مستشعر الأشعة تحت الحمراء إذا (prevstate! = currentstate) // إذا كان هناك تغيير في الإدخال {if (currentstate == LOW) // إذا تغير الإدخال فقط من HIGH إلى LOW {duration = (micros () - prevmicros) ؛ // فرق التوقيت بين الثورة بالميكرو ثانية rpm = ((60000000 / المدة) / 3) ؛ // rpm = (1 / time millis) * 1000 * 1000 * 60 ؛ prevmicros = ميكرو () ؛ // وقت التخزين لحساب ثورة nect}} prevstate = currentstate ؛ // تخزين بيانات هذا المسح (المسح السابق) للمسح التالي ///////////////////////////////////////// /////////////////////////////////////////////////// شاشة LCD إذا ((millis () - lcdrefresh)> = 100) {lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("سرعة المحرك") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("RPM =") ؛ lcd.print (دورة في الدقيقة) ؛ lcdrefresh = ميلي () ؛ }}

الخطوة 4: المحاكاة باستخدام Proteus

محاكاة باستخدام Proteus
محاكاة باستخدام Proteus

عمل هذا المشروع بشكل جيد عندما حاولت محاكاة هذا بمساعدة البروتيوس.

بدلاً من استخدام مستشعر الأشعة تحت الحمراء ، استخدمت مولد نبضات DC والذي سيحاكي نبضة الأشعة تحت الحمراء المشابهة لتلك التي تم إنشاؤها عندما تضرب الأشعة تحت الحمراء شفرات المراوح.

يجب عليك إجراء تغييرات على برنامجك اعتمادًا على المستشعر الذي تستخدمه

يجب أن يستخدم مستشعر الأشعة تحت الحمراء مع LM358 هذا الأمر.

if (currentstate == HIGH) // إذا تغير الإدخال فقط من LOW إلى HIGH

يجب أن يستخدم مستشعر الأشعة تحت الحمراء مع LM359 هذا الأمر.

if (currentstate == LOW) // إذا تغير الإدخال فقط من HIGH إلى LOW

الخطوة 5: تنفيذ الأجهزة

تنفيذ الأجهزة
تنفيذ الأجهزة
تنفيذ الأجهزة
تنفيذ الأجهزة
تنفيذ الأجهزة
تنفيذ الأجهزة

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

موصى به: