جدول المحتويات:
- الخطوة 1: تعرف على Steppers
- الخطوة الثانية: إيجاد أرضية مشتركة
- الخطوة 3: اكتشف الترتيب المتدرج
- الخطوة 4: أخذ المحرك لاختبار القيادة
- الخطوة 5: تأرجحها للخلف والرابع
- الخطوة 6: لا أبطل نصف خطوة ، لأنني لست نصف خطوة …
- الخطوة 7: إضافة سائق محرك
- الخطوة 8: النهاية
فيديو: قم بقيادة محرك متدرج باستخدام معالج دقيق AVR: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
هل حصلت على بعض محركات السائر التي تم مسحها من الطابعات / محركات الأقراص / وما إلى ذلك؟
بعض الفحص باستخدام مقياس الأومتر ، متبوعًا ببعض رمز التشغيل البسيط على المعالج الدقيق الخاص بك وستتقدم بأناقة.
الخطوة 1: تعرف على Steppers
في الأساس ، ستحتاج إلى معرفة أين تذهب كل الأسلاك الصغيرة.
الخطوة الأولى هي معرفة ما إذا كان محركًا أحادي القطب أو ثنائي القطب. ألقِ نظرة على Jones على Steppers للحصول على خلفية أعمق ، ثم في موقع Ian Harries للحصول على طريقة بسيطة لاكتشاف محرك غير معروف. اقرأ قليلاً ، ثم انضم إلي في جولة حول هذا المحرك الذي حصلت عليه بسعر رخيص. (إنها معروضة للبيع بسعر 0.99 دولارًا أمريكيًا في الوقت الحالي. إنها صغيرة وخفيفة نسبيًا ، ولكن ليس لديها الكثير من عزم الدوران. لا أعرف ما الذي ستكون جيدة له حتى الآن.)
الخطوة الثانية: إيجاد أرضية مشتركة
إذن لديك خمسة (أو أربعة أو ستة) أسلاك. سيحتوي محرك سيارتك على نصفين ، وربما يمكنك معرفة ذلك بمجرد النظر إلى الجانب الذي ينتمي إليه كل سلك.
إذا كنت تنظر فقط إلى أربعة أسلاك ، فأنت محظوظ - إنه محرك ثنائي القطب. كل ما عليك فعله هو معرفة أي زوجين من الأسلاك يلتقيان معًا. إذا كان لديك محرك أحادي القطب ، أو أكثر من 4 أسلاك ، فسيتعين عليك فصل الأومتر. ما تبحث عنه هو السلك (الأرضي) المشترك لكل نصف. يمكنك معرفة أيهما هو الأرض في محرك ثنائي القطب لأنه يحتوي على نصف مقاومة أي من القطبين مقارنة بالقطبين عبر أنفسهم. في الصورة ملاحظاتي من ربط الأسلاك إلى الأسلاك والإشارة إلى المقاومة (أو إذا كانت متصلة على الإطلاق). يمكنك أن ترى أن الأبيض هو الأساس لثلاثي القاع ب / ج ، فهو يحتوي على نصف مقاومة الأحمر أو الأزرق التي يمتلكها كل منهما للآخر. (هذا المحرك غريب ولا يحتوي على نقرة مركزية على ملف المغناطيس العلوي. يبدو الأمر كما لو أنه نصف ثنائي القطب ونصف أحادي القطب. ربما يمكنك استخدام هذا لاستشعار الدوران في الملف الأحمر والأبيض والأزرق عند الأسود والأصفر يتم دفع الملف.)
الخطوة 3: اكتشف الترتيب المتدرج
كنت سأقود هذا المحرك باعتباره محركًا ثنائي القطب ، لذا فأنا أتجاهل السلك الأرضي الأبيض. لدي أربعة أسلاك فقط لأقلق بشأنها.
قد ترغب في تشغيل محرك أحادي القطب على شكل ثنائي القطب على أي حال ، لأنه يستخدم الملف بأكمله في كلا المرحلتين بدلاً من التبديل بين نصفي كل ملف. المزيد من الملف = المزيد من عزم الدوران. قم بتشغيل التيار من خلال زوج (مع الإشارة إلى القطبية التي اخترتها) ثم قم بتشغيل التيار من خلال الزوج الآخر في نفس الوقت. عندما تربط الزوج الثاني ، راقب في أي اتجاه يدور المحرك. اكتب هذا. الآن قم بعكس قطبية الزوج الأول الذي اخترته. ثم اربط الزوج الثاني مرة أخرى مع عكس قطبيتهما أيضًا. لاحظ الاتجاه. من هذا يجب أن تكون قادرًا على معرفة تسلسل تدوير المحرك في أي من الاتجاهين. في المثال الخاص بي ، انتهى كلاهما بالتحول عكس اتجاه عقارب الساعة ، لذا فإن التنقل عبر التسلسل بالطريقة نفسها التي اخترتها سيؤدي إلى تحريك المحرك CCW.
الخطوة 4: أخذ المحرك لاختبار القيادة
إذا لم تكن مُجهزًا بالفعل لبرمجة المعالجات الدقيقة ، فيمكنك أن تفعل ما هو أسوأ من Ghetto Development Kit أو أي من مبرمجي PIC المختلفين. قم بتوصيل الأسلاك مباشرة إلى جهاز microproc الخاص بك وقم بحرقه باستخدام الكود التالي:
/ * اللعب مع دفع محركات السائر الصغيرة. * /
/ * تضمين وظيفة التأخير * / #define F_CPU 1000000UL #include / * Pin defs for ATTiny2313 * / / * ترتيب في اتجاه عقارب الساعة * / #define BLUE _BV (PB0) #define BLACK _BV (PB1) #define RED _BV (PB2) #define YELLOW _BV (PB3) #define DELAY 200 / * مللي ثانية بين الخطوات * / int main (void) {DDRB = 0xff؛ / * تمكين الإخراج على جميع دبابيس B * / PORTB = 0x00 ؛ / * اضبطهم جميعًا على 0v * / while (1) {/ * الحلقة الرئيسية هنا * / PORTB = BLUE ؛ _delay_ms (تأخير) ؛ PORTB = أسود ؛ _delay_ms (تأخير) ؛ PORTB = أحمر ؛ _delay_ms (تأخير) ؛ PORTB = أصفر ؛ _delay_ms (تأخير) ؛ }} ما مدى بساطة هذا الرمز؟ حقا بسيط. كل ما يفعله هو عمل بعض التعريفات اللطيفة حتى أتمكن من الإشارة إلى الأسلاك حسب اللون بدلاً من أسماء الدبوس الخاصة بها ، ثم تبديلها بالتسلسل مع تأخير قابل للتعديل بينهما. بالنسبة للمبتدئين ، اخترت تأخيرًا مدته نصف ثانية بين الخطوات. شاهد الفيديو القصير للنتائج. إذا كنت حقًا في لعبتك ، فاحسب عدد الخطوات في كل دورة لمعرفة الدقة الزاوية أحادية الخطوة للمحرك. (أوه نعم. PS. محركات الأقراص بدون تحميل بسرعة 3.6 فولت بسهولة. شاهد البطارية في الفيديو.)
الخطوة 5: تأرجحها للخلف والرابع
لذلك عليك تشغيلها في اتجاه عقارب الساعة. أي شيء أكثر إثارة للاهتمام؟ القليل من تنظيف الكود ، ويمكننا تشغيله ذهابًا وإيابًا. أضع التسلسل في اتجاه عقارب الساعة في مصفوفة بحيث يمكنك التنقل خلال المراحل باستخدام حلقة for بسيطة. يمكنك الآن تشغيل الحلقة لأعلى أو لأسفل للذهاب في اتجاه عقارب الساعة أو عكس اتجاه عقارب الساعة.
int main (void) {const uint8_t delay = 50 ؛ const uint8_t باتجاه عقارب الساعة = {أزرق ، أسود ، أحمر ، أصفر} ؛ uint8_t أنا ؛ DDRB = 0xff ؛ / * تمكين الإخراج على جميع دبابيس B * / PORTB = 0x00 ؛ / * اضبطهم جميعًا على 0v * / while (1) {/ * حلقة رئيسية هنا * / لـ (i = 0؛ i <= 3؛ i ++) {/ * خطوة خلال الألوان باتجاه عقارب الساعة * / PORTB = اتجاه عقارب الساعة ؛ _delay_ms (تأخير) ؛ } لـ (i = 3؛ i> = 0؛ i -) {/ * خطوة خلال الألوان ccw * / PORTB = اتجاه عقارب الساعة ؛ _delay_ms (تأخير) ؛ }}} شاهد الفيديو المفعم بالحيوية لمعرفة ما إذا كان هناك شيء رائع.
الخطوة 6: لا أبطل نصف خطوة ، لأنني لست نصف خطوة …
استغني عن كلمات الأغاني جانباً ، فإن نصف خطوة محرك سيارتك هي المكان الذي يوجد فيه. تحصل على تيار ذروة أكبر ، وعزم دوران أكثر لحظية ، وضعف الدقة الزاوية. نصف خطوة باختصار: بدلاً من الأزرق ، الأسود ، الأحمر ، الأصفر ، أنت تقود المحرك باللون الأزرق ، الأزرق + الأسود ، الأسود ، الأسود + الأحمر ، الأحمر ، الأحمر + الأصفر ، الأصفر ، الأصفر + الأزرق. المحصلة هي أنه لنصف الوقت الذي تشرك فيه كلا المغناطيسين في وقت واحد. وخلال الأوقات التي يتم فيها تعشيق كلتا المجموعتين ، يشير المحرك في منتصف المسافة بين الاثنين ، مما يؤدي إلى تقليص الزاوية بين "الخطوات" وجعل المحرك يدور بشكل أكثر سلاسة. هل يمكنك ان تعرف من الفيديو؟ لست متأكدًا … الآن الجزء من الكود الذي يقوم بعمل نصف الخطوة يبدو كما يلي:
halfStepping باطل (uint16_t delay، uint8_t direction ) {uint8_t i؛ لـ (i = 0 ؛ i <= 3 ؛ i ++) {PORTB = direction ؛ / * جزء ملف واحد * / _delay_ms (تأخير) ؛ PORTB | = الاتجاه [i + 1] ؛ / * أضف نصف خطوة * / _delay_ms (تأخير) ؛ }} يعين أمر PORTB الأول قطبًا واحدًا موجبًا وكل البقية إلى سالب. ثم ينتظر. ثم يقوم أمر PORTB الثاني بتعيين قطب ثان (على الملف الآخر) إلى موجب ، مع إشراك كلا الملفين بمقدار 1.4x من عزم الدوران (و 2x التيار). قائمة البرامج الكاملة مرفقة أدناه. يتم الآن تحديد صفيفين (في اتجاه عقارب الساعة ، عكس اتجاه عقارب الساعة) ويحتوي كل منهما على 5 عناصر للسماح بإدخال i + 1 في دالة halfStepping.
الخطوة 7: إضافة سائق محرك
حتى الان جيدة جدا.
المشكلة الوحيدة هي أن المحرك لا يبدو أن لديه كل هذا القدر من عزم الدوران ، والذي يمكن أن يكون بسبب حقيقة أن المعالج الدقيق سوف يطفئ فقط 50 مللي أمبير لكل دبوس. ستكون الخطوة التالية الواضحة هي توصيله بسائق محرك لتزويده بمزيد من العصير. ولكن بعد ذلك قليل التفكير: أنا أقودها فقط بجهد 5 فولت ، ومقاومة لف اللفائف ~ 125 أوم. مما يعني أن المحرك يسحب فقط 40 مللي أمبير لكل دبوس ، ويجب أن يتم دفعه جيدًا بواسطة شريحة AVR (سمين!). للحصول على مزيد من الجهد الذي يدفع المحرك ، قمت بتوصيله بشريحة SN754410 H-bridge. الدائرة بسيطة جدا. يذهب كل دبوس من AVR إلى الإدخال ، وتنتقل دبابيس الإخراج المقابلة إلى المحرك. تحتاج الشريحة إلى 5 فولت لقسم المنطق ، ويمكن أن تستغرق جهدًا أكبر بكثير في قسم المحرك. ساعد تشغيله على 11.25 فولت (ثلاث بطاريات 3.6 فولت) قليلاً. المزيد من عزم الدوران بشكل ملحوظ في إصبعي ، لكنه لا يزال ليس قوة. ليس سيئًا بالنسبة لمحرك أصغر من النيكل. والآن أصبحت الدائرة محرك سائر ثنائي القطب للأغراض العامة. تمت الإضافة في 29 تشرين الثاني (نوفمبر): شغّل المحرك الليلة الماضية عند 12 فولت لفترة من الوقت وبدأ يسخن. لست متأكدًا مما إذا كانت مشكلة تردد طنين أم أنها مجرد تيار كبير للغاية بالنسبة لللفات. في كلتا الحالتين ، كن حذرًا إذا كنت تقود هذا المحرك الصغير بجهد أكبر.
الخطوة 8: النهاية
إذن ماذا تعلمت؟ إن قيادة محرك متدرج باستخدام AVR (وشريحة H-bridge) أمر سهل للغاية ، حتى في وضع نصف خطوة "خيالي".
لست متأكدًا مما سأفعله بمحركات السائر الصغيرة حتى الآن ، على الرغم من ذلك. أي اقتراحات؟
موصى به:
محرك متدرج يتم التحكم فيه بواسطة محرك متدرج بدون متحكم!: 6 خطوات
محرك متدرج يتم التحكم فيه بواسطة محرك متدرج بدون متحكم!: في هذه التعليمات السريعة ، سنصنع وحدة تحكم بسيطة في محرك متدرج باستخدام محرك متدرج. لا يتطلب هذا المشروع دوائر معقدة أو متحكم دقيق. لذلك دون مزيد من اللغط ، فلنبدأ
محرك متدرج يتم التحكم فيه بواسطة محرك متدرج بدون متحكم (V2): 9 خطوات (مع صور)
محرك متدرج يتم التحكم فيه بواسطة محرك متدرج بدون متحكم (V2): في أحد مواد التعليمات السابقة الخاصة بي ، أوضحت لك كيفية التحكم في محرك متدرج باستخدام محرك متدرج بدون متحكم دقيق. لقد كان مشروعًا سريعًا وممتعًا ولكنه جاء بمشكلتين سيتم حلهما في Instructable. لذا ، مع
قاطرة نموذجية يتم التحكم فيها بمحرك متدرج - محرك متدرج كجهاز تشفير دوار: 11 خطوة (بالصور)
قاطرة نموذجية يتم التحكم فيها بمحرك متدرج | محرك متدرج كجهاز تشفير دوار: في أحد التعليمات السابقة ، تعلمنا كيفية استخدام محرك متدرج كجهاز تشفير دوار. في هذا المشروع ، سنستخدم الآن محرك السائر الذي تحول إلى مشفر دوار للتحكم في قاطرة نموذجية باستخدام متحكم Arduino. لذا ، بدون فو
محرك متدرج ذو تحكم بمحرك متدرج - محرك متدرج كجهاز تشفير دوار: 11 خطوة (بالصور)
محرك متدرج ذو تحكم بمحرك متدرج | محرك متدرج كجهاز تشفير دوار: هل لديك محركان متدرجان في الجوار وتريد القيام بشيء ما؟ في هذا Instructable ، دعنا نستخدم محرك متدرج كجهاز تشفير دوار للتحكم في موضع محرك متدرج آخر باستخدام متحكم Arduino. لذلك بدون مزيد من اللغط ، دعنا
جهاز تسلسل ألوان RGB LED - بدون معالج دقيق: 3 خطوات
مُسلسِل ألوان RGB LED - بدون معالج دقيق: "اعرض مجموعات الألوان لمصابيح LED الملونة بدون استخدام معالج دقيق. باستخدام شريحة منطقية واحدة تكلف أقل من 50 سنتًا ، يمكنك عمل عرض دورة ألوان بسيط لمصابيح RGB LED. تُستخدم الصنابير المتعددة على طول الجزء العلوي "لبرمجة" القرص