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

وحدة تحكم قطار طراز Arduino 2 في 1: 4 خطوات
وحدة تحكم قطار طراز Arduino 2 في 1: 4 خطوات

فيديو: وحدة تحكم قطار طراز Arduino 2 في 1: 4 خطوات

فيديو: وحدة تحكم قطار طراز Arduino 2 في 1: 4 خطوات
فيديو: شيخ يحطم طائرة حربية 2024, يوليو
Anonim
جهاز تحكم قطار طراز Arduino 2 في 1
جهاز تحكم قطار طراز Arduino 2 في 1

منذ أربعين عامًا ، صممت نموذجًا لخانق القطار يعتمد على جهاز op-amp لزوج من الأصدقاء ، ثم قبل حوالي أربع سنوات قمت بإعادة إنشائه باستخدام متحكم PIC. يقوم مشروع Arduino بإعادة إنشاء إصدار PIC ولكنه يضيف أيضًا القدرة على استخدام اتصال Bluetooth بدلاً من المفاتيح اليدوية للتحكم في دواسة الوقود والفرامل والاتجاه. بينما يستهدف التصميم الذي أقدمه هنا محرك سكة حديد من طراز 12 فولت ، يمكن تعديله بسهولة لمجموعة متنوعة من تطبيقات التحكم في محرك التيار المستمر.

الخطوة 1: تعديل عرض النبض (PWM)

تعديل عرض النبض (PWM)
تعديل عرض النبض (PWM)

بالنسبة لأولئك الذين ليسوا على دراية بـ PWM ، فهو ليس مخيفًا كما يبدو. كل ما يعنيه حقًا لتطبيقنا البسيط للتحكم في المحرك هو أننا نولد موجة مربعة من بعض التردد ، ثم نغير دورة العمل. تعرف دورة العمل بأنها نسبة الوقت التي يكون فيها الناتج مرتفعًا منطقيًا مقارنة بفترة شكل الموجة. يمكنك أن ترى ذلك بوضوح في الرسم البياني أعلاه مع الشكل الموجي العلوي عند دورة عمل 10٪ ، وشكل الموجة الأوسط عند 50٪ من دورة العمل ، والشكل الموجي السفلي عند 90٪ من دورة العمل. يمثل الخط المتقطع المتراكب على كل شكل موجة جهد التيار المستمر المكافئ الذي يراه المحرك. بالنظر إلى أن Arduino يحتوي على قدرة PWM مضمنة ، فمن السهل جدًا إنشاء هذا النوع من التحكم في محرك التيار المستمر. إحدى المزايا الأخرى لاستخدام PWM هي أنه يساعد على منع المحرك من بدء التشغيل المتذبذب الذي يمكن أن يحدث عند استخدام التيار المستمر المباشر. أحد عيوب PWM هو أنه يوجد أحيانًا ضوضاء مسموعة من المحرك عند تردد PWM.

الخطوة 2: الأجهزة

المعدات
المعدات
المعدات
المعدات
المعدات
المعدات

تُظهر الصورة الأولى اتصالات Arduino للمفاتيح ووحدة تشغيل المحرك LM298. توجد مقاومات سحب ضعيفة داخلية في Arduino لذا لا توجد حاجة إلى مقاومات سحب للمفاتيح. مفتاح الاتجاه هو مفتاح SPST بسيط (رمية واحدة أحادية القطب). تظهر مفاتيح الخانق والفرامل كأزرار دفع تلامس لحظية ومفتوحة عادة.

تُظهر الصورة الثانية اتصالات Arduino لوحدة Bluetooth ووحدة محرك LM298. يتصل مخرج Bluetooth TXD مباشرة بمدخل Arduino RX التسلسلي.

الصورة الثالثة هي وحدة L298N مزدوجة الجسر H. تحتوي الوحدة LM298 على منظم 5 فولت يمكن تمكينه بواسطة وصلة مرور. نحتاج إلى +5 فولت للأردوينو والبلوتوث لكننا نريد +12 فولت لتشغيل المحرك. في هذه الحالة ، نطبق +12 فولت على إدخال "+ 12V power" في L298N وسنترك وصلة العبور "5V enable" في مكانها. هذا يسمح للمنظم بجهد 5 فولت للإخراج إلى اتصال "+5 power" على الوحدة. قم بتوصيل ذلك بـ Arduino والبلوتوث. لا تنس توصيل الأسلاك الأرضية لمدخل +12 والمخرج +5 بوحدة "power GND".

نريد أن يتغير جهد الخرج للمحرك بناءً على PWM الناتج عن Arduino بدلاً من أن يكون ممتلئًا أو ممتلئًا. للقيام بذلك ، نقوم بإزالة وصلات العبور من "ENA" و "ENB" وربط إخراج Arduino PWM الخاص بنا بـ "ENA" في الوحدة النمطية. ضع في اعتبارك أن دبوس التمكين الفعلي هو الأقرب إلى حافة اللوحة (بجوار دبابيس "الإدخال"). الدبوس الخلفي لكل تمكين هو +5 فولت لذلك نريد التأكد من أننا لا نتصل بذلك.

يتم توصيل دبابيس "IN1" و "IN2" على الوحدة بدبابيس Arduino ذات الصلة. تتحكم هذه المسامير في اتجاه المحرك ، ونعم ، هناك سبب وجيه للسماح لـ Arduino بالتحكم فيها بدلاً من مجرد توصيل مفتاح بالوحدة. سنرى لماذا في مناقشة البرنامج.

الخطوة 3: وحدة بلوتوث

وحدة بلوتوث
وحدة بلوتوث

الصورة المعروضة هنا هي نموذجية لوحدات البلوتوث المتاحة. عند البحث عن واحدة لشرائها ، يمكنك البحث عن المصطلحين "HC-05" و HC-06 ". الاختلافات بين الاثنين في البرامج الثابتة وعادة في عدد المسامير على اللوحة. الصورة أعلاه لوحدة HC-06 وتأتي مع برنامج ثابت مبسط يسمح فقط بالتكوين الأساسي للغاية. يتم تعيينه أيضًا كجهاز Bluetooth "تابع" فقط. بعبارات بسيطة ، هذا يعني أنه لا يمكنه الاستجابة إلا للأوامر الصادرة من جهاز "رئيسي" ولا يمكنه إصدار أوامر من تلقاء نفسه. تتميز الوحدة النمطية HC-05 بإمكانيات تكوين أكثر ويمكن تعيينها إما كجهاز "رئيسي" أو "تابع". عادةً ما يحتوي HC-05 على ستة دبابيس بدلاً من الأربعة الموضحة أعلاه فقط لـ HC-06. رقم التعريف الشخصي للدولة ليس مهمًا حقًا ولكن دبوس المفتاح (أحيانًا يكون بأسماء أخرى مثل "EN") مطلوب إذا كنت تريد القيام بأي تكوين. بشكل عام ، لا تحتاج الوحدات النمطية إلى أي تكوين إذا كنت موافقًا على معدل البث بالباود الافتراضي 9600 ولا تهتم بإعطاء اسم محدد للوحدة. لدي العديد من المشاريع حيث أستخدمها لذا أود تسميتها وفقًا لذلك.

يتطلب تكوين وحدات Bluetooth إما شراء أو إنشاء واجهة إلى منفذ تسلسلي RS-232 أو إلى منفذ USB. لن أتناول كيفية إنشاء واحدة في هذه المشاركة ولكن يجب أن تكون قادرًا على العثور على معلومات على الويب. أو مجرد شراء واجهة. تستخدم أوامر التكوين أوامر AT نوعًا ما مثل ما تم استخدامه في الأيام الخوالي مع أجهزة مودم الهاتف. لقد أرفقت دليل مستخدم هنا يتضمن أوامر AT لكل نوع وحدة. شيء واحد يجب ملاحظته هو أن HC-06 يتطلب أوامر UPPERCASE ويجب أن تكتمل سلسلة الأوامر في غضون ثانية واحدة. هذا يعني أن بعض السلاسل الأطول لأشياء مثل تغيير معدلات البث بالباود ستحتاج إلى قصها ولصقها في برنامجك الطرفي أو ستحتاج إلى إعداد ملفات نصية لإرسالها. شرط الأحرف الكبيرة هو فقط إذا كنت تحاول إرسال أوامر التكوين. يمكن أن يقبل وضع الاتصال العادي أي 8 بت من البيانات.

الخطوة 4: البرمجيات

البرنامج بسيط جدًا لكل من الإصدار اليدوي وإصدار Bluetooth. لتحديد إصدار Bluetooth ، قم ببساطة بإلغاء التعليق على عبارة "#define BT_Ctrl".

عندما كتبت رمز الموافقة المسبقة عن علم ، جربت تردد PWM واستقرت أخيرًا على 500 هرتز. اكتشفت أنه إذا كان التردد مرتفعًا جدًا ، فلن تكون وحدة LM298N قادرة على الاستجابة بسرعة كافية للنبضات. هذا يعني أن خرج الجهد لم يكن خطيًا ويمكن أن يأخذ قفزات كبيرة. يحتوي Arduino على أوامر PWM مضمنة ولكنها تسمح لك فقط بتغيير دورة العمل وليس التردد. لحسن الحظ ، يبلغ التردد حوالي 490 هرتز ، وهذا قريب بدرجة كافية من 500 هرتز التي استخدمتها في الموافقة المسبقة عن علم.

تتمثل إحدى "ميزات" خنق القطار في الشعور بزخم التسارع والكبح لمحاكاة كيفية عمل قطار حقيقي. ولتحقيق ذلك ، يتم إدخال تأخير زمني بسيط في الحلقة الخاصة بالإصدار اليدوي للبرنامج. مع القيمة الموضحة ، يستغرق الأمر حوالي 13 ثانية للانتقال من 0 إلى 12 فولت أو من 12 فولت إلى الصفر. يمكن تعديل التأخير بسهولة لفترات أطول أو أقصر. الحالة الوحيدة التي لا يكون فيها الزخم ساريًا هي عندما يتم تغيير مفتاح الاتجاه. لأغراض الحماية ، يتم ضبط دورة عمل PWM فورًا على 0٪ كلما تم تغيير هذا المفتاح. هذا ، في الواقع ، يجعل مفتاح التوجيه يتضاعف أيضًا كفرامل الطوارئ.

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

يستخدم إصدار Bluetooth من البرنامج أوامر أحادية الحرف لبدء وظائف Forward و Reverse و Brake و Throttle. في الواقع ، تحل الأوامر المستلمة محل المفاتيح اليدوية ولكنها تسبب نفس الاستجابات. يُطلق على التطبيق الذي أستخدمه للتحكم في Bluetooth اسم "Bluetooth Serial Controller" بواسطة Next Prototypes. يتيح لك تكوين لوحة مفاتيح افتراضية وتعيين سلاسل الأوامر والأسماء الخاصة بك لكل مفتاح. كما أنه يسمح لك بضبط معدل التكرار ، لذا قمت بضبط أزرار الفرامل والخنق على 50 مللي ثانية لإعطاء حوالي 14 ثانية من الزخم. لقد قمت بتعطيل وظيفة التكرار لأزرار الأمام والخلف.

هذا كل شيء لهذا المنصب. تحقق من Instructables الأخرى الخاصة بي. إذا كنت مهتمًا بمشاريع وحدة التحكم الدقيقة PIC ، فراجع موقع الويب الخاص بي على www.boomerrules.wordpress.com

موصى به: