كما تمت مناقشته سابقًا ، فإن Arduino Due عبارة عن لوحة تعتمد على وحدة تحكم ARM مصممة لمهندسي وهواة الإلكترونيات. يمكن استخدام لوحة DUE هذه لصنع آلات CNC ، وطابعات ثلاثية الأبعاد ، وأذرع آلية وما إلى ذلك. كل هذه المشاريع لها ميزة مشتركة وهي التحكم في الموضع. يحتاج أي من هذه المشاريع دقة في موقفهم يمكن تحقيق المواضع الدقيقة في هذه الآلات بواسطة Servo Motors. في هذه الجلسة سوف نتحكم في موضع محرك سيرفو باستخدام Arduino Due. لقد قمنا بالفعل بتغطية واجهة محرك سيرفو مع واجهة Arduino Uno و Servo Motor مع متحكم 8051.
أجهزة المحركات:
تشتهر محركات المؤازرة بحركتها أو موضعها الدقيق. هذه ليست مقترحة للتطبيقات عالية السرعة. هذه مقترحة للسرعة المنخفضة وعزم الدوران المتوسط وتطبيق الموضع الدقيق. تُستخدم هذه المحركات في آلات الذراع الروبوتية وأنظمة التحكم في الطيران وأنظمة التحكم. تُستخدم المحركات المؤازرة أيضًا في بعض الطابعات وأجهزة الفاكس.
المحركات المؤازرة متوفرة بأشكال وأحجام مختلفة. سنكون باستخدام SG90 محرك سيرفو في هذا البرنامج التعليمي. SG90 محرك سيرفو 180 درجة. لذلك باستخدام هذه المؤازرة ، يمكننا وضع المحور من 0 إلى 180 درجة.
يحتوي المحرك المؤازر بشكل أساسي على ثلاثة أسلاك ، أحدها للجهد الإيجابي ، والآخر للأرض والأخير لإعداد الموضع. السلك الأحمر متصل بالطاقة ، السلك البني متصل بالأرض والسلك الأصفر (أو الأبيض) متصل بالإشارة.
محرك سيرفو عبارة عن مزيج من محرك DC ونظام التحكم في الوضع والتروس. في المؤازرة ، لدينا نظام تحكم يأخذ إشارة PWM من دبوس الإشارة. يقوم بفك تشفير الإشارة ويحصل على نسبة الواجب منها. بعد ذلك ، يقارن النسبة بقيم المواقف المحددة مسبقًا. إذا كان هناك اختلاف في القيم ، فإنه يضبط موضع المؤازرة وفقًا لذلك. لذا فإن موضع المحور للمحرك المؤازر يعتمد على نسبة العمل لإشارة PWM إلى الدبوس SIGNAL.
يمكن أن يختلف تردد إشارة PWM (معدل عرض النبض) بناءً على نوع محرك سيرفو. الشيء المهم هنا هو النسبة المطلوبة لإشارة PWM. تحقق من وجود PWM مع Arduino Due. ولكن في هذه الحالة ، لا داعي للقلق بشأن اختيار نسبة الخدمة. في Arduino لدينا وظيفة خاصة ؛ عند الاتصال به ، يمكننا ضبط موضع المؤازرة ، فقط عن طريق تحديد الزاوية. سنتحدث عن ذلك في قسم العمل أدناه.
قبل ربط محرك سيرفو مع Arduino Due ، يمكنك اختبار المؤازرة الخاصة بك بمساعدة دائرة اختبار محرك سيرفو. تحقق أيضًا من هذه المشاريع للتحكم في المؤازرة بواسطة Flex Sensor أو Force Sensor.
المكونات:
الأجهزة: Arduino Due ، مزود طاقة (5 فولت) ، محرك سيرفو.
البرنامج: Arduino ليلاً ، قم بتنزيله من الرابط أدناه (https://www.arduino.cc/en/Main/Software)
للحصول على تفاصيل حول كيفية تنزيل هذا البرنامج وتثبيته ، تفضل بزيارة البرنامج التعليمي الأول Getting Started with Arduino Due.
مخطط الدائرة وشرح العمل:
كما ذكرنا سابقًا في ARDUINO ، لدينا مكتبات محددة مسبقًا ، والتي ستحدد الترددات ونسب العمل وفقًا لذلك ، بمجرد استدعاء ملف الرأس أو تضمينه. في ARDUINO ، يتعين علينا ببساطة تحديد موضع المؤازرة المطلوب ويولد DUE إشارة PWM المناسبة للمؤازرة. الأشياء التي نحتاج إلى القيام بها للحصول على موضع دقيق للمؤازرة هي ،
#تضمن
مؤازرة myservo.
myservo.attach (servo_signal_pin_attached_to) ؛
myservo.write (need_position_ angle) ؛
ملف الرأس “#include
ثانيًا ، يتم اختيار اسم للمؤازرة باستخدام "Servo myservo" ، وهنا يكون اسم myservo المختار ، لذلك أثناء الكتابة للوظيفة سنستخدم هذا الاسم ، تكون هذه الميزة مفيدة عندما يكون لدينا العديد من الماكينات للتحكم ، يمكننا التحكم في ما يصل إلى 12 خدمة من خلال هذا.
مع Arduino due الذي يحتوي على 12 قناة PWM ، نحتاج إلى إخبار DUE بمكان توصيل دبوس إشارة المؤازرة أو المكان الذي يحتاج إليه لتوليد إشارة PWM. للقيام بذلك لدينا "myservo.attach (2)؛" ، نحن هنا نقول لـ DUE أننا قمنا بتوصيل دبوس إشارة المؤازرة في PIN2.
كل ما تبقى هو تعيين الموضع ، سنقوم بتعيين موضع المؤازرة باستخدام " myservo.write (45) ؛" ، بهذا الأمر يتحرك يد المؤازرة 45 درجة. إذا قمنا بتغيير "45" إلى "175" ، فإن محور المؤازرة بزوايا 175 درجة ويبقى هناك. بعد ذلك ، عندما نحتاج إلى تغيير موضع المؤازرة ، نحتاج فقط إلى استدعاء الأمر " myservo.write (needed_position_angle) ؛" .
في البرنامج ، سنقوم بزيادة الزوايا وإنقاصها باستخدام الحلقات. لذا فإن المؤازرة تكتسح من 0 إلى 180 ، ثم من 180 إلى 0 وهكذا. و التحكم في المحركات مضاعفات التي كتبها اردوينو نظرا هو أفضل وأوضح في خطوة خطوة كود C في الأسفل.