التحكم بمحرك DC باستخدام الترانزستور

مبتدئ

image_pdf

يهدف هذا المشروع إلى تعلم كيفية تشغيل وإيقاف محرك التيار المستمر عن طريق الأردوينو. فسوف نقوم بتعلم كيفية التحكم بمحرك التيار المستمر عن طريق الترانزستور.

التحكم-فى-تشغيل-محرك-تيار-مستمر-باستخد

المكونات المطلوبة

arduino uno r3

Arduino Uno

1k Ω Resistor

1K Resistor

NPN Transistor 2N2222

2n2222 NPN Transistor

9V DC Motor

DC Motor

9VDC 1000mA regulated switching power adapter

DC Power Supply

Full size breadboard 830

Breadboard

Breadboard Jumper Wire 65 pcs

Wires

الترانستور Transistor

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

فكرة عملة 

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

التحكم-فى-تشغيل-محرك-تيار-مستمر-باستخد

محرك التيار المستمر (DC Motor)

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

التحكم-فى-تشغيل-محرك-تيار-مستمر-باستخد

توصيل الدارة :

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

قم بتوصيل الدائرة كما هو موضح بالصورة التالية :

التحكم-فى-تشغيل-محرك-تيار-مستمر-باستخد

 

التحكم-فى-تشغيل-محرك-تيار-مستمر-باستخد

عند توصيل التيار إلى قاعدة الترانزستور بواسطة الأردوينو، يقوم المحرك بالدوران وعند فصل التيار عن القاعدة يتوقف.

التحكم-فى-تشغيل-محرك-تيار-مستمر-باستخد

الكود البرمجي :

قم بكتابة الكود التالي للتحكم بالمحرك عبر الترانزستور :

#define MOTOR 13

void setup() {

  pinMode(MOTOR, OUTPUT);    // set the motor pin as output

}

void loop() {

  digitalWrite(MOTOR, HIGH); // Turn the motor ON

  delay(7000);               // keep the motor ON for 7 Seconds

  digitalWrite(MOTOR, LOW);  // Turn the motor OFF

  delay(7000);               // keep the motor OFF for 7 Seconds

}

شرح الكود

يقوم هذا الكود بتشغيل المحرك و اطفاءة. فيعمل المحرك مدة 7 ثوان ثم يتوقف 7 ثوان اخرى ليعود للعمل بعدهم و هكذا حتى يتم فصل التيار الكهربائى عن الدارة.

في البداية، نقوم بتسمية الطرف 13 فى الاردوينو “MOTOR” بعد ذلك في الدالة  ()setup نقوم بتعريف هذا الطرف كمخرج

#define MOTOR 13

void setup() {

  pinMode(MOTOR, OUTPUT);    // set the motor pin as output

}

في الجزء التالي، نقوم بتشغيل أو وضع قيمة HIGH على الطرف MOTOR، فيعمل المحرك. ثم بإستخدام الدالة (delay(7000 نقوم بعمل تأخير زمني مدته 7 ثوان، فيضل المحرك سيعمل خلالها.

يتم إطفاء المحرك عن طريق وضع قيمة LOW على الطرف MOTOR ، فيتوقف المحرك عن الدوران لمدة 7 ثوان.

void loop() {

  digitalWrite(MOTOR, HIGH); // Turn the motor ON

  delay(7000);               // keep the motor ON for 7 Seconds

  digitalWrite(MOTOR, LOW);  // Turn the motor OFF

  delay(7000);               // keep the motor OFF for 7 Seconds

}

X
تم إضافة المنتج إلى السلة بنجاح