- السائر المحركات:
- حساب الخطوات لكل ثورة لمحرك متدرج:
- لماذا نحتاج إلى وحدات Driver لمحركات Stepper؟
- مخطط دائرة التحكم في موضع محرك السائر في Arduino وشرح:
- كود لوحة اردوينو:
- عمل محرك متدرج مع اردوينو:
تتخذ المحركات السائر مكانتها بشكل متزايد في عالم الإلكترونيات. بدءًا من كاميرا المراقبة العادية إلى آلات CNC المعقدة / الروبوت ، تُستخدم هذه المحركات السائر في كل مكان كمشغلات لأنها توفر تحكمًا دقيقًا. محرك متدرج هو محرك متزامن بدون فرش يكمل الدوران الكامل في عدد من الخطوات. في هذا البرنامج التعليمي لمحركات Arduino ، سوف نتعرف على محرك السائر الأكثر شيوعًا 28-BYJ48 وكيفية توصيله بـ Arduino باستخدام وحدة محرك السائر ULN2003.
السائر المحركات:
دعونا نلقي نظرة على محرك السائر 28-BYJ48.
حسنًا ، على عكس محرك التيار المستمر العادي ، يحتوي هذا المحرك على خمسة أسلاك من جميع الألوان الرائعة تخرج منه ولماذا يكون الأمر كذلك؟ لفهم هذا ، يجب أن نعرف أولاً كيف يعمل السائر وما هو تخصصه. بادئ ذي بدء ، لا تدور محركات السائر ، فهي تتقدم وهكذا تُعرف أيضًا باسم المحركات الخطوة. بمعنى أنهم سيتحركون خطوة واحدة فقط في كل مرة. تحتوي هذه المحركات على سلسلة من الملفات الموجودة فيها ويجب تنشيط هذه الملفات بطريقة معينة لجعل المحرك يدور. عندما يتم تنشيط كل ملف ، يتخذ المحرك خطوة وسيؤدي تسلسل التنشيط إلى جعل المحرك يتخذ خطوات مستمرة ، مما يجعله يدور. دعونا نلقي نظرة على الملفات الموجودة داخل المحرك لنعرف بالضبط من أين تأتي هذه الأسلاك.
كما ترون ، يحتوي المحرك على ترتيب لفائف أحادية القطب 5. هناك أربعة ملفات يجب تنشيطها في تسلسل معين. سيتم تزويد الأسلاك الحمراء بـ + 5 فولت وسيتم سحب الأسلاك الأربعة المتبقية إلى الأرض لتشغيل الملف المعني. نحن نستخدم متحكمًا دقيقًا مثل Arduino لتنشيط هذه الملفات في تسلسل معين وجعل المحرك يؤدي العدد المطلوب من الخطوات.
الآن ، لماذا يسمى هذا المحرك 28-BYJ48 ؟ بجدية!!! لا أدري، لا أعرف. لا يوجد سبب تقني لهذا المحرك لتسميته بذلك ؛ ربما يجب أن نتعمق أكثر في ذلك. دعونا نلقي نظرة على بعض البيانات الفنية الهامة التي تم الحصول عليها من ورقة البيانات لهذا المحرك في الصورة أدناه.
هذا رأس مليء بالمعلومات ، لكننا نحتاج إلى إلقاء نظرة على القليل منها لمعرفة نوع السائر الذي نستخدمه حتى نتمكن من برمجته بكفاءة. نعلم أولاً أنه محرك متدرج بجهد 5 فولت لأننا نقوم بتنشيط السلك الأحمر بجهد 5 فولت. بعد ذلك ، نعلم أيضًا أنه محرك متدرج رباعي الطور لأنه يحتوي على أربعة ملفات. الآن ، نسبة التروس هي 1:64. هذا يعني أن العمود الذي تراه بالخارج سوف يقوم بدوران كامل فقط إذا كان المحرك بداخله يدور 64 مرة. هذا بسبب التروس المتصلة بين المحرك وعمود الخرج ، تساعد هذه التروس في زيادة عزم الدوران.
من البيانات المهمة الأخرى التي يجب ملاحظتها هي زاوية Stride: 5.625 ° / 64. هذا يعني أن المحرك عندما يعمل في تسلسل من 8 خطوات سيتحرك 5.625 درجة لكل خطوة وسيستغرق 64 خطوة (5.625 * 64 = 360) لإكمال دورة كاملة واحدة. يمكنك معرفة المزيد حول عمل المحركات السائر باستخدام ARM LPC2148 و ATMega16 Microcontroller و MSP430.
حساب الخطوات لكل ثورة لمحرك متدرج:
من المهم معرفة كيفية حساب الخطوات لكل ثورة لمحرك السائر الخاص بك لأنه عندها فقط يمكنك برمجتها بشكل فعال.
في Arduino ، سنقوم بتشغيل المحرك في تسلسل من 4 خطوات ، لذا ستكون زاوية الخطوة 11.25 درجة نظرًا لأنها 5.625 درجة (معطاة في ورقة البيانات) لتسلسل 8 خطوات سيكون 11.25 درجة (5.625 * 2 = 11.25)
خطوات لكل ثورة = 360 / زاوية الخطوة
هنا 360 / 11.25 = 32 خطوة لكل دورة.
لماذا نحتاج إلى وحدات Driver لمحركات Stepper؟
ستعمل معظم محركات السائر فقط بمساعدة وحدة السائق. هذا لأن وحدة التحكم (في حالتنا Arduino) لن تكون قادرة على توفير تيار كافٍ من دبابيس الإدخال / الإخراج الخاصة بها لتشغيل المحرك. لذلك سوف نستخدم وحدة خارجية مثل وحدة ULN2003 كسائق محرك متدرج. هناك العديد من أنواع وحدات التشغيل وسيتغير تصنيفها بناءً على نوع المحرك المستخدم. سيكون المبدأ الأساسي لجميع وحدات المحرك هو مصدر / غرق تيار كافٍ لتشغيل المحرك.
مخطط دائرة التحكم في موضع محرك السائر في Arduino وشرح:
يظهر الرسم التخطيطي لمشروع التحكم في محرك اردوينو أعلاه. لقد استخدمنا المحرك السائر 28BYJ-48 ووحدة التشغيل ULN2003. لتنشيط الملفات الأربعة للمحرك السائر ، فإننا نستخدم المسامير الرقمية 8،9،10 و 11. يتم تشغيل وحدة المحرك بواسطة دبوس 5V الخاص بلوحة Arduino.
ولكن ، قم بتشغيل برنامج التشغيل بمصدر طاقة خارجي عند توصيل بعض الأحمال بمحرك السهوب. نظرًا لأنني أستخدم المحرك فقط لغرض العرض التوضيحي ، فقد استخدمت سكة + 5V في لوحة Arduino. تذكر أيضًا توصيل أرضية Arduino بأرض وحدة الغواص.
كود لوحة اردوينو:
قبل أن نبدأ البرمجة باستخدام Arduino ، دعنا نفهم ما يجب أن يحدث بالفعل داخل البرنامج. كما ذكرنا سابقًا ، سنستخدم طريقة التسلسل المكون من 4 خطوات ، لذا سيكون لدينا أربع خطوات للقيام بدوران كامل واحد.
خطوة |
تنشيط دبوس |
تنشيط الملفات |
الخطوة 1 |
8 و 9 |
أ و ب |
الخطوة 2 |
9 و 10 |
ب و ج |
الخطوه 3 |
10 و 11 |
C و D |
الخطوة 4 |
11 و 8 |
د و أ |
ستحتوي وحدة برنامج التشغيل على أربعة مصابيح LED يمكننا من خلالها التحقق من الملف الذي يتم تنشيطه في أي وقت. يمكن العثور على الفيديو الذي يعرض تسلسل التنشيط في نهاية هذا البرنامج التعليمي.
في هذا البرنامج التعليمي ، سنقوم بكتابة كود محرك اردوينو السائر ومن أجل ذلك سنقوم ببرمجة Arduino بطريقة يمكننا من خلالها إدخال عدد الخطوات التي يجب أن يتخذها المحرك السائر من خلال الشاشة التسلسلية لـ Arduino. يمكن العثور على البرنامج الكامل في نهاية البرنامج التعليمي بعض الأسطر المهمة الموضحة أدناه.
تم حساب عدد الخطوات لكل ثورة لمحرك السائر الخاص بنا ليكون 32 ؛ ومن ثم نقوم بإدخال ذلك كما هو موضح في السطر أدناه
#define STEPS 32
بعد ذلك ، عليك إنشاء حالات نحدد فيها المسامير التي قمنا بتوصيل محرك السائر بها.
السائر (STEPS ، 8 ، 10 ، 9 ، 11) ؛
ملحوظة: رقم المسامير غير منظم مثل 8،10،9،11 عن قصد. يجب عليك اتباع نفس النمط حتى إذا قمت بتغيير المسامير التي يتصل بها محركك.
نظرًا لأننا نستخدم مكتبة Arduino stepper ، يمكننا ضبط سرعة المحرك باستخدام السطر أدناه. يمكن أن تتراوح السرعة بين 0 إلى 200 لمحركات السائر 28-BYJ48.
stepper.setSpeed (200) ؛
الآن ، لجعل المحرك يتحرك خطوة واحدة ، يمكننا استخدام السطر التالي.
stepper.step (فال) ؛
سيتم توفير عدد الخطوات التي سيتم نقلها بواسطة المتغير "val". نظرًا لأن لدينا 32 خطوة و 64 كنسبة تروس ، نحتاج إلى التحرك 2048 (32 * 64 = 2048) ، للقيام بدوران كامل.
يمكن إدخال قيمة المتغير "val" بواسطة المستخدم باستخدام جهاز العرض التسلسلي.
عمل محرك متدرج مع اردوينو:
بمجرد إجراء الاتصال ، يجب أن يبدو الجهاز مثل هذا في الصورة أدناه.
الآن ، قم بتحميل البرنامج أدناه في Arduino UNO وافتح الشاشة التسلسلية. كما ناقشنا سابقًا ، سيتعين علينا إجراء 2048 خطوة لإجراء دورة كاملة واحدة ، لذلك عندما ندخل 2048 ، سيقوم المحرك بإجراء دوران كامل في اتجاه عقارب الساعة عن طريق إجراء 2048 خطوة. للدوران في عكس اتجاه عقارب الساعة فقط أدخل الرقم بعلامة "-" سلبية. لذا ، فإن الدخول إلى -1024 سيجعل المحرك يدور نصف الطريق في الاتجاه الحكيم ضد عقارب الساعة. يمكنك إدخال أي قيم مرغوبة ، مثل إدخال 1 سيجعل المحرك يأخذ خطوة واحدة فقط.
أتمنى أن تكون قد فهمت المشروع واستمتعت ببنائه. يظهر العمل الكامل للمشروع في الفيديو أدناه. إذا كانت لديك أي شكوك ، فقم بنشرها في قسم التعليقات أدناه في منتدياتنا.