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

اردوينو: Precision Lib for Stepper Motor: 19 خطوة
اردوينو: Precision Lib for Stepper Motor: 19 خطوة

فيديو: اردوينو: Precision Lib for Stepper Motor: 19 خطوة

فيديو: اردوينو: Precision Lib for Stepper Motor: 19 خطوة
فيديو: Arduino Stepper Motor - 28byj-48 #steppermotor #arduino 2024, يوليو
Anonim
Image
Image
المتغيرات العالمية
المتغيرات العالمية

اليوم ، سأعرض لك مكتبة لسائق محرك كامل الخطوة مع مفاتيح حد ، وحركة محرك مع تسارع وخطوة صغيرة. يسمح لك هذا Lib ، الذي يعمل على كل من Arduino Uno و Arduino Mega ، بتحريك المحركات ليس فقط بناءً على عدد الخطوات ، ولكن أيضًا على المليمترات. وهي دقيقة جدًا أيضًا.

ميزة مهمة لهذه المكتبة هي أنها تسمح لك ببناء آلة CNC الخاصة بك ، والتي ليست بالضرورة فقط X ، Y ، ولكن أيضًا مفتاح تبديل ، على سبيل المثال ، لأنها ليست GRBL جاهزة ، ولكنها البرمجة التي يتيح لك صنع الماكينة المثالية لك.

ومع ذلك ، فإن البيان التالي هو تفصيل مهم! هذا الفيديو مخصص فقط لأولئك الذين اعتادوا بالفعل على البرمجة. إذا لم تكن معتادًا على برمجة Arduino ، فيجب عليك أولاً مشاهدة المزيد من مقاطع الفيديو التمهيدية على قناتي. هذا لأنني أناقش موضوعًا متقدمًا في هذا الفيديو المحدد ، وأشرح بمزيد من التفصيل الليب المستخدم في الفيديو: Step Motor with Acceleration and End of Stroke.

الخطوة 1: مكتبة StepDriver

تغطي هذه المكتبة ثلاثة أنواع من برامج التشغيل الأكثر شيوعًا في السوق: A4988 و DRV8825 و TB6600. يقوم بتكوين دبابيس برامج التشغيل ، مما يسمح لهم بإجراء إعادة الضبط والتنسيب في وضع السكون ، بالإضافة إلى تنشيط وإلغاء تنشيط مخرجات المحرك التي تعمل على دبوس التمكين. كما أنه يضبط مدخلات دبابيس الخطوات الصغيرة للسائق ، ويحد من المفاتيح ومستوى تنشيطها (مرتفع أو منخفض). كما أن لديها رمز حركة المحرك مع تسارع مستمر بوحدات مم / ث² ، وسرعة قصوى بوحدة مم / ث ، وسرعة دنيا بوحدة مم / ث.

بالنسبة لأولئك الذين شاهدوا الجزأين 1 و 2 من فيديو Step Motor مع Acceleration و End of Stroke ، قم بتنزيل هذه المكتبة الجديدة المتاحة اليوم ، لأنني أجريت بعض التغييرات في هذا الملف الأول لتسهيل استخدامه.

الخطوة 2: المتغيرات العالمية

أعرض بالضبط ما هو كل من المتغيرات العالمية.

الخطوة 3: الوظائف - ضبط دبابيس برنامج التشغيل

الوظائف - ضبط دبابيس برنامج التشغيل
الوظائف - ضبط دبابيس برنامج التشغيل

هنا ، أصف بعض الأساليب.

لقد قمت بتعيين إعداد Pinout ودبابيس Arduino كإخراج.

الخطوة 4: الوظائف - الوظائف الأساسية للسائق

الوظائف - الوظائف الأساسية للسائق
الوظائف - الوظائف الأساسية للسائق

في هذا الجزء ، نعمل على تكوين برنامج التشغيل ووظائفه الأساسية.

الخطوة 5: الوظائف - إعداد خطوة المحرك

الوظائف - إعداد خطوة المحرك
الوظائف - إعداد خطوة المحرك
الوظائف - إعداد خطوة المحرك
الوظائف - إعداد خطوة المحرك

في هذه الخطوة من الكود ، نقوم بتكوين مقدار الخطوات لكل ملليمتر التي يجب على المحرك تنفيذها.

الخطوة 6: الوظائف - ضبط وضع خطوة المحرك

الوظائف - ضبط وضع خطوة المحرك
الوظائف - ضبط وضع خطوة المحرك
الوظائف - ضبط وضع خطوة المحرك
الوظائف - ضبط وضع خطوة المحرك
الوظائف - ضبط وضع خطوة المحرك
الوظائف - ضبط وضع خطوة المحرك

يوضح هذا الجدول إعدادات وضع خطوة المحرك. وهنا بعض الأمثلة.

الخطوة 7: الوظائف - ضبط مفاتيح الحد

الوظائف - ضبط مفاتيح الحد
الوظائف - ضبط مفاتيح الحد

هنا ، لا بد لي من قراءة القيم الكاملة والمنطقية. من الضروري تعيين ما إذا كان المفتاح النشط لأعلى أو لأسفل ، أثناء تعيين الحد الأقصى والأدنى لدبوس النهاية.

الخطوة 8: الوظائف - قراءة مفاتيح الحد

الوظائف - قراءة مفاتيح الحد
الوظائف - قراءة مفاتيح الحد
الوظائف - قراءة مفاتيح الحد
الوظائف - قراءة مفاتيح الحد
الوظائف - قراءة مفاتيح الحد
الوظائف - قراءة مفاتيح الحد

هذا الجزء مختلف عن الجزء الموجود في Lib الذي أتاحته الأسبوع الماضي. لماذا قمت بتغييره؟ حسنًا ، لقد أنشأت eRead لاستبدال البعض الآخر. هنا ، سيقرأ eRead LVL ، والقراءة الرقمية (pin) ، وسيعيد TRUE. كل هذا يحتاج إلى أداء مرتفع. سيكون العمل التالي بالمفتاح النشط على المستوى المنخفض. سأستخدمه هنا لأظهر لك جدول "الحقيقة".

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

الآن ، في هذه الصورة رمز نظام التشغيل DRV8825 ، أظهر أن المحرك لا يزال يتحرك في الاتجاه المتنامي. ومع ذلك ، تم تنشيط مفتاح الحد الأقصى. الآلية إذن يجب أن توقف الحركة.

أخيرًا ، أظهر نفس الحركة ، لكن في الاتجاه المعاكس.

هنا ، تم تنشيط مفتاح نهاية الدورة التدريبية بالفعل.

الخطوة 9: الوظائف - إعداد الحركة

الوظائف - إعداد الحركة
الوظائف - إعداد الحركة

تتمثل الفائدة الرئيسية لطريقة MotionConfig في تحويل المليمتر في الثانية (وهو القياس المستخدم في آلات CNC) إلى خطوات ، من أجل تلبية وحدة التحكم في محرك السائر. لذلك ، في هذا الجزء ، أقوم بإنشاء مثيل للمتغيرات لفهم الخطوات وليس المليمترات.

الخطوة 10: الوظائف - وظيفة الحركة

الوظائف - وظيفة الحركة
الوظائف - وظيفة الحركة

في هذه الخطوة ، نتعامل مع الأمر الذي يحرك خطوة في الاتجاه المطلوب في فترة بالميكروثانية. قمنا أيضًا بتعيين دبوس اتجاه السائق ووقت التأخير واتجاه مفاتيح الحد.

الخطوة 11: الوظائف - وظيفة الحركة - المتغيرات

الوظائف - وظيفة الحركة - المتغيرات
الوظائف - وظيفة الحركة - المتغيرات

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

الخطوة 12: الوظائف - وظيفة الحركة - التسارع

الوظائف - وظيفة الحركة - التسارع
الوظائف - وظيفة الحركة - التسارع
الوظائف - وظيفة الحركة - التسارع
الوظائف - وظيفة الحركة - التسارع

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

حددنا أرجوحة في الصورة أعلاه ، لأن RPMs الأولية سيئة لمعظم محركات السائر. نفس الشيء يحدث مع التباطؤ. لهذا السبب ، فإننا نتخيل شبه منحرف في الفترة بين التسارع والتباطؤ.

الخطوة 13: الوظائف - وظيفة الحركة - السرعة المستمرة

الوظائف - وظيفة الحركة - السرعة المستمرة
الوظائف - وظيفة الحركة - السرعة المستمرة
الوظائف - وظيفة الحركة - السرعة المستمرة
الوظائف - وظيفة الحركة - السرعة المستمرة

هنا نحافظ على عدد الخطوات المستخدمة في التسارع ، نستمر في السرعة المستمرة ، ونحافظ على السرعة القصوى التي يمكن رؤيتها في الصورة أدناه.

الخطوة 14: الوظائف - وظيفة الحركة - التباطؤ

الوظائف - وظيفة الحركة - التباطؤ
الوظائف - وظيفة الحركة - التباطؤ
الوظائف - وظيفة الحركة - التباطؤ
الوظائف - وظيفة الحركة - التباطؤ

لدينا هنا معادلة أخرى ، هذه المرة بقيمة تسارع سالبة. يتم عرضه أيضًا في سطر من التعليمات البرمجية ، والذي يمثل ، في الصورة أدناه ، المستطيل المسمى التباطؤ.

الخطوة 15: الوظائف - وظيفة الحركة - السرعة المستمرة

الوظائف - وظيفة الحركة - السرعة المستمرة
الوظائف - وظيفة الحركة - السرعة المستمرة
الوظائف - وظيفة الحركة - السرعة المستمرة
الوظائف - وظيفة الحركة - السرعة المستمرة

نعود إلى السرعة المستمرة للعمل في النصف الثاني من المسار ، كما هو موضح أدناه.

الخطوة 16: الوظائف - وظيفة النقل - نقل المنعطفات

الوظائف - وظيفة النقل - نقل المنعطفات
الوظائف - وظيفة النقل - نقل المنعطفات

في هذا الجزء ، نقوم بتحريك المحرك في عدد معين من المنعطفات في الاتجاه المطلوب ، وتحويل عدد الدورات بالمليمترات. أخيرًا ، نقوم بتحريك المحرك في الاتجاه المطلوب.

الخطوة 17: مخطط الحركة - سرعة الموضع

مخطط الحركة - سرعة الموضع
مخطط الحركة - سرعة الموضع

في هذا الرسم البياني ، لدي بيانات تم استخلاصها من المعادلة التي استخدمناها في جزء التسريع. أخذت القيم وقمت بتشغيل مسلسل Arduino ، وانتقلت من هذا إلى Excel ، مما أدى إلى هذا الجدول. يوضح هذا الجدول تقدم الخطوة.

الخطوة 18: مخطط الحركة - المركز مقابل الموضع. موقع

مخطط الحركة - الموضع مقابل. موقع
مخطط الحركة - الموضع مقابل. موقع

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

الخطوة 19: مخطط الحركة - السرعة مقابل. الوقت الحاضر

مخطط الحركة - السرعة مقابل. الوقت الحاضر
مخطط الحركة - السرعة مقابل. الوقت الحاضر

أخيرًا ، لدينا السرعة كدالة في اللحظة ، وبسبب هذا ، لدينا خط مستقيم ، حيث إنها السرعة كدالة زمنية.

موصى به: