محرك الخطوة stepper motor
ماهو محرك الخطوة:
محرك الخطوة هو أحد أنواع المحركات الكهربائية الميكانيكية . ولعلها الأدق من ناحية التحكم بالسرعة و زاوية الوقوف. محركات الخطوة لها تركيب و نظرية عمل تختلف عن المحركات السابقة و يكون معها عادة دائرة تحكم لتكبير التيار اللازم للتشغيل. يمكن تقسيم محركات الخطوة إلى قسمين بشكل عام
Bipolar | Unipolar |
---|---|
وجود طرفین لكل ملف یمكن التحكم بھما وعكس القطبیة | وجود طرف واحد للتحكم بكل ملف. |
یحتاج لـ bridge-H مثل L2093D و یعطیك عزم أقوى (torque) | یحتاج دائرة تكبیر بسیطة مثل U |

صندوق التروس box Gear وعدد الخطوات steps/rev
كما نرى في الرسم التالي فإن الدورة الواحدة تتكون من 4 أقطاب وتحتاج 4 خطوات. ولكن في معظم المحركات نحن نستخدم صندوق التروس box gear لزيادة القوة مع إنقاص السرعة. هذا يجعل الدورة الواحدة التي تراها تحتاج إلى 100 أو 200 خطوة ! ستجد عدد الخطوات اللازمة لإكمال دورة في مواصفات كل محرك. واذا لم تعرف خطوات المحرك الذي معك ولكن وجدت زاوية الخطوة (مثلا:2.7) فاقسم 360 على الزاوية لتعرف عدد الخطوات. المحرك الذي سنستخدمه في التجربة (48-28BYJ) من نوع Unipolar وتنقسم الدورة الواحدة فيه إلى 64 خطوة وسوف نشغله بسرعة 60 خطوة في الثانية وبطريقة (4 (أسلاك تحكم.

التوصيل
بعد توصيل المحرك بدائرة التحكم نوصل الطاقة للدائرة و نقوم بتوصيل منافذ دائرة التحكم (IN1,IN2,IN3,IN4) بمنافذ الأرديونو (8,9,10,11).

تشغيل المحرك في الاتجاهين
بعد تضمين المكتبة يتم تحديد عدد الخطوات للدورة الواحدة في المحرك
revolution per steps وإنشاء كائن instance -object مع تعريف الخصائص (الخطوات ، و المنافذ المستخدمة). لاحظ أن ترتيب الأرقام للمنافذ مهم _ إذا لم يدر المحرك بالشكل المطلوب غير ترتيب المنافذ. داخل setup نحدد سرعة الدوران (كم دورة في الدقيقة rpm ( لكل محرك حد أقصى للسرعة). أخيرا إذا أحببت متابعة كل طرف و التأكد من خطوات التشغيل ؛ أنقص السرعة إلى (1). الأمر step.object يحدد عدد الخطوات ، ففي المثال سـيدور المحرك ثلاث دورات . ثم يتوقف لنصف ثانية ، ثم يدور في الاتجاه المعاكس لـ 500 خطوة.
#include "Stepper.h"
int spr = 64; // step per revolution
Stepper moto(spr, 11, 9, 10, 8);
void setup() {
moto.setSpeed(60);} // speed
void loop() {
moto.step(3*spr);
delay(500);
moto.step(-500);
delay(500); }