محرك متدرج هو محرك مصمم خصيصًا يدور بخطوات. تعتمد سرعة محرك السائر على معدل الإشارة الكهربائية المطبقة عليه. يمكن للأنماط المختلفة التحكم في اتجاه محرك السائر ونوع الدوران. هي أساسا نوعين من المحركات السائر المتاحة، أحادي القطب و ثنائي القطب. أحادي القطب أسهل في التشغيل والتحكم وكذلك أسهل في الحصول عليه. هنا في هذا البرنامج التعليمي ، نقوم بتوصيل Stepper Motor بـ PIC Microcontroller PIC16F877A.
نحن نستخدم 28BYJ 48 السائر المحركات لهذا المشروع وهي رخيصة ومتوفرة بسهولة. إنه محرك متدرج أحادي القطب 5V DC. نحن نستخدم أيضًا وحدة متاحة مع هذا المحرك والتي تتكون من ULN2003 Stepper Motor Driver IC. ULN2003 عبارة عن مجموعة أزواج دارلينجتون ، وهي مفيدة لقيادة هذا المحرك ، نظرًا لأن متحكم PIC لا يمكنه توفير تيار كافٍ للقيادة. ULN2003A قادر على دفع 500mA من الحمولة مع 600mA من ذروة التيار.
السائر المحركات:
دعونا نرى مواصفات 28BYJ-48 Stepper Motor من ورقة البيانات.
كيفية تدوير محرك متدرج:
إذا رأينا ورقة البيانات ، فسنرى التثبيت.
يوجد داخل المحرك ملفان مركزيان متاحان. السلك الأحمر هو الشائع لكليهما والذي سيتم توصيله في VCC أو 5V.
ستتحكم 4 أسلاك أخرى باللون الوردي والأحمر والأصفر والأزرق في الدوران اعتمادًا على الإشارة الكهربائية. أيضًا ، اعتمادًا على الحركة ، يمكن التحكم في هذا المحرك باستخدام 3 خطوات. وضع ملء محرك ، محرك وضع نصف و وضع محرك الأقراص الموج.
ثلاثة أوضاع قيادة لمحرك متدرج:
محرك كامل: إذا تم تنشيط مغناطيسين كهربائيين للجزء الثابت في وقت واحد ، فسيعمل المحرك بعزم دوران كامل يُشار إليه بوضع تسلسل القيادة الكاملة.
خطوة |
أزرق |
زهري |
الأصفر |
البرتقالي |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
نصف محرك: عندما يتم تنشيط مرحلة واحدة أو مرحلتين ، سيعمل المحرك في وضع نصف القيادة. يتم استخدامه لزيادة الدقة الزاوية. العيب هو انخفاض عزم الدوران الناتج في هذه الحركة.
خطوة |
أزرق |
زهري |
الأصفر |
البرتقالي |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
محرك الموجة: في هذا الوضع ، يتم تشغيل مغناطيس كهربائي واحد للجزء الثابت. يتبع 4 خطوات مثل وضع القيادة الكاملة. يستهلك طاقة منخفضة مع عزم دوران منخفض.
خطوة |
أزرق |
زهري |
الأصفر |
البرتقالي |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
لقد ربطنا سابقًا Stepper Motor مع وحدات التحكم الدقيقة الأخرى:
يمكن أيضًا التحكم في محرك السائر بدون أي متحكم ، انظر دائرة سائق محرك متدرج.
ULN2003 محرك متدرج سائق:
دعونا نفهم لوحة الخروج التي تتكون من ULN2003 IC. من المهم فهم الدبوس.
يستخدم الجزء الأصفر لتوصيل المحرك ، والجزء الأحمر يظهر وصلة عبور ، ومن المهم وضع العبور لأنه سيمكن حماية الصمام الثنائي الحر للمحرك . و المدخلات وردي هو لل اتصال متحكم.
سنقوم بتدوير المحرك في وضع القيادة الكامل في اتجاه عقارب الساعة ثم نقوم بتدويره مرة أخرى مع وضع القيادة الموجية في اتجاه عكس عقارب الساعة. تحقق من الفيديو التوضيحي في النهاية.
المكونات المطلوبة
- Pic16F877A
- عدة البرمجة
- اللوح
- 20 ميجا هرتز كريستال
- مكثف قرص 33pF - 2 قطعة
- 4.7 كيلو المقاوم
- أسلاك ودبابيس بيرغ
- لوحة الاختراق ULN2003A جنبًا إلى جنب مع محرك السائر 28BYJ-48.
- أسلاك إضافية للتوصيل
- وحدة إمداد طاقة 5 فولت أو محول حائط بتصنيف 500 مللي أمبير
مخطط الدائرة وشرحها
في مخطط الدائرة ، على الجانب الأيسر يظهر PIC16F877A وعلى الجانب الأيمن يظهر اتصال ULN2003A. يوجد ULN2003 وجزء المحرك السائر داخل لوحة الاختراق.
سيكون الاتصال من لوحة Breakout إلى وحدة التحكم الدقيق -
أ. IN1 => Pin33
ب. IN2 => Pin34
C. IN3 => Pin35
D. IN4 => Pin36
لقد قمت بتوصيل جميع المكونات والأجهزة الخاصة بك لتدوير محرك السائر باستخدام متحكم PIC جاهز.
إذا كنت جديدًا على PIC Microcontroller ، فاتبع دروس PIC Microcontroller التعليمية التي تنص على بدء استخدام PIC Microcontroller.
شرح الكود
يتم تقديم الكود الكامل لبرنامج Stepper Motor المستند إلى الموافقة المسبقة عن علم في نهاية هذا البرنامج التعليمي مع فيديو توضيحي. كما هو الحال دائمًا أولاً ، نحتاج إلى ضبط بتات التكوين في متحكم الموافقة المسبقة عن علم ثم البدء بوظيفة رئيسية باطلة .
هذه هي وحدات الماكرو الخاصة بتكوين وحدات التحكم الدقيقة وملفات رأس المكتبة.
#define _XTAL_FREQ 200000000 // Crystal Frequency ، يُستخدم في تأخير # تعريف السرعة 1 // نطاق السرعة 10 إلى 1 10 = الأدنى ، 1 = أعلى # تحديد الخطوات 250 // مقدار الخطوة التي سيستغرقها # تحديد اتجاه عقارب الساعة 0 // اتجاه عقارب الساعة الماكرو # تحديد عكس اتجاه عقارب الساعة 1 // الماكرو عكس اتجاه عقارب الساعة
في السطر الأول حددنا التردد البلوري اللازم لروتين التأخير. يتم استخدام وحدات الماكرو الأخرى لتحديد الخيارات المتعلقة بالمستخدم.
إذا رأيت الرمز ، فهناك ثلاث وظائف محددة لقيادة المحرك في ثلاثة أوضاع مع اتجاه عقارب الساعة وعكس اتجاه عقارب الساعة. فيما يلي الوظائف الثلاث:
1. full_drive باطل (اتجاه شار)
2. half_drive باطل (اتجاه شار)
3. wave_drive باطل (اتجاه شار)
تحقق من تعريفات هذه الوظائف في الكود الكامل الوارد أدناه:
الآن في الوظيفة الرئيسية الفارغة ، نحن نقود المحرك في اتجاه عقارب الساعة باستخدام وضع القيادة الكاملة اعتمادًا على الخطوات وبعد تأخير بضع ثوانٍ نقوم مرة أخرى بتدوير المحرك عكس اتجاه عقارب الساعة باستخدام وضع محرك الموجة.
باطل رئيسي (باطل) { system_init () ؛ while (1) { / * قم بقيادة المحرك في وضع القيادة الكاملة باتجاه عقارب الساعة * / لـ (int i = 0 ؛ i
هذه هي الطريقة التي يمكننا بها تدوير محرك السائر باستخدام متحكم PIC. تعتبر Stepper Motors مفيدة جدًا في آلات CNC والروبوتات والتطبيقات المضمنة الأخرى.