تخطى إلى المحتوى

التحكم في سرعة محرك التيار المستمر باستخدام الأردوينو – عبر استخدام الترانزستور

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

  1. أهداف المشروع:
  • تصميم وتنفيذ دائرة باستخدام الأردوينو والترانزستور للتحكم في سرعة محرك التيار المستمر.
  • استخدام ترانزستور، دايود، ومفهوم PWM للتحكم في الجهد والتيار العاليين من مصدر طاقة خارجي.
  • ضمان زيادة وانخفاض تدريجي سلس في سرعة المحرك باستخدام إشارات PWM لتحقيق تحكم أفضل.

   2. متطلبات المشروع:

3. مقدمة:

عند استخدام الأردوينو، التحكم المباشر في محرك DC محدود بناتج القدرة الضعيف للأردوينو مقارنةً بمتطلبات المحرك (مثلاً، 12 فولت، 50 مللي أمبير لمحرك مروحة الكمبيوتر). عادةً ما تُستخدم جسور H مثل L293B لمعالجة احتياجات الطاقة العالية للمحرك، ولكن يمكن أيضًا استخدام ترانزستور من نوع NPN مع مصدر طاقة خارجي مثل بطارية 9 فولت. يتيح هذا الإعداد للأردوينو تشغيل المحرك وضبط سرعته باستخدام إشارات PWM بشكل فعال.

ملاحظات:

  • ترانزستور TIP120 هو قطعة إلكترونية تستخدم كمفتاح للتحكم في تيارات عالية، وهو مايميز هذا النوع من الترانزستورات مما يجعله مثاليًا لتشغيل أحمال مثل المحركات الكهربائية باستخدام الأردوينو.
  • دايود 1N4001 هو دايود معياري يُستخدم لحماية الدوائر الإلكترونية من الجهود والتيارات العالية التي يمكن أن تتسبب في إتلاف المكونات الإلكترونية. يتميز بقدرته على تحمل تيارات عالية وتقديم حماية فعالة للدوائر ضد التيارات العابرة.

4. الدائرة الكهربائية:

يوضح الشكل 1، الدائرة الكهربائية المستخدمة لتصميم النظام. ويوضح الشكل 2 الدائرة في برنامج للمحاكاة.

الشكل 1
الشكل 1
الشكل 2
   الشكل 2

5. خطوات التوصيل:

6. الكود المستخدم بالأردوينو:

//Assign a name to digital pin 2, which has a pushbutton connected.

int Button = 2;

//The transistor controlling the motor is connected to digital pin 9.

int motorControl = 9;

//The setup routine runs once when you press reset.

void setup() {

  //Assign the button’s pin as an input.

  pinMode(Button, INPUT);

  //Assign the transistor’s pin as an output.

  pinMode(motorControl, OUTPUT); 

}

//The loop routine runs over and over again.

void loop() {

  //Read the state of the button and check if it is pressed.

  if(digitalRead(Button) == HIGH){

    //Ramp up the motor speed.

    for(int x = 0; x <= 255; x++){

      analogWrite(motorControl, x);

      delay(50);

    }

    //Ramp down the motor speed.

    for(int x = 255; x >= 0; x–){

      analogWrite(motorControl, x);

      delay(50);

    }   

  }

  delay(1);        //Delay in between reads for motor stability.

}

//End of program.

7. الملاحظات والنتائج:

بعد الانتهاء من هذا المشروع، تتضمن النتائج العملية قدرة الزر على بدء وإيقاف المحرك، مما يبرز التحكم به. يتم التحكم بسرعة المحرك عن طريق زيادته تدريجيًا من 0 إلى أقصى سرعة عند الضغط على الزر، وكذلك التقليل بنفس الطريقة إلى 0. يقوم الترانزستور، الذي يتحكم فيه مدخل الأردوينو رقم 9، بتعديل تدفق تيار المحرك استنادًا إلى إدخال الزر، مما يعدل السرعة. تقييمات التوقيت تؤكد على انتقالات سرعة المحرك الدقيقة والفاصل الزمني الثابت بين التغييرات بمقدار 50 مللي ثانية، وهو أمر حاسم لتوقيت التشغيل وتقييم الأداء واستقرار المحرك. يبين الشكل 3 محاكاة للنظام عند أقصى سرعة للمحرك.

الشكل 3
             الشكل 3

 


المراجع:

  • Mohan, Ned, Tore M. Undeland, and William P. Robbins. “Power Electronics: Converters, Applications, and Design.” Wiley, (2003)
  • .Alexander, Charles K., and Matthew N.O. Sadiku. “Fundamentals of Electric Circuits.” McGraw-Hill Education, (2016)
  • Evans, Brian. “Arduino Programming Notebook.” Maker Media, Inc., (2011)
  • Monk, Simon. “Programming Arduino: Getting Started with Sketches.” McGraw-Hill Education, (2016)
  • Cathey, Jimmie J. “Electric Machines and Drives.” Pearson, (2001)
  • Wildi, Theodore. “Electrical Machines, Drives, and Power Systems.” Pearson, (2013)
  • Blum, Richard. “Arduino Programming in 24 Hours, Sams Teach Yourself.” Sams Publishing, (2013)

كاتب

  • باسل العمري

    متخصص في الهندسة الكهربائية وعضو فعّال في الأندية الهندسية، شغوف بالتطوير ومحب للمعرفة والقراءة والاطلاع.

    View all posts