وحدة التحكم في المحرك L298N وهو خيار شائع جدًا في مشاريع الروبوتات والإلكترونيات بشكل عام، وذلك بفضل تكلفته المنخفضة وسهولة استخدامه. باستخدام هذه الوحدة، يمكننا التحكم في كل من محركات التيار المباشر والمحركات السائر، وتنظيم سرعتها واتجاه دورانها. خلال هذه المقالة، سنقوم بتفصيل كل ما تحتاج لمعرفته حول L298N، بدءًا من التوصيلات الأساسية وحتى كيفية استخدامه مع Arduino للتحكم في المحرك. تابع القراءة لتحقيق أقصى استفادة من وحدة التحكم متعددة الاستخدامات هذه.
إذا كنت قد عملت من قبل مع مشاريع الروبوتات أو المركبات التي يتم التحكم فيها بواسطة وحدة تحكم دقيقة مثل Arduino، فمن المحتمل أنك وجدت نفسك في موقف تحتاج فيه إلى المزيد من الطاقة لتحريك محركات ذات حجم معين. هذا هو المكان وحدة L298N، وحدة تحكم تسمح لك بإدارة هذه الطاقة الإضافية للمحركات الكهربائية بطريقة بسيطة. دعونا نتعمق في كل تفاصيله.
ما هو L298N وكيف يعمل؟
L298N هو أ تحكم المحرك والذي يستخدم نظام H-Bridge لعكس قطبية التيار وبالتالي التحكم في اتجاه دوران المحرك. هذه الوحدة قادرة على التحكم اثنين من محركات التيار المستمر أو محرك السائر. الحد الأقصى للتيار الذي يمكن أن يوفره هو 2 أمبير لكل مخرج، بحد أقصى 3 أمبير، ويدعم نطاق طاقة بين 3 فولت و35 فولت. من المهم ملاحظة أن هذه الوحدة تتمتع بكفاءة منخفضة نسبيًا، مما يعني أن المحركات ستتلقى جهدًا أقل بحوالي 3 فولت من الجهد المطبق على الوحدة. وتتبدد هذه الخسائر كحرارة.
يتضمن الهيكل الداخلي للوحدة جسرين Hوهي تقنية تستخدم على نطاق واسع في مجال الإلكترونيات للتحكم في اتجاه التيار. يتكون كل جسر من أربعة ترانزستورات مرتبة في تكوين يسمح بالتحكم في قطبية المحرك وفصله. بالإضافة إلى ذلك، يشتمل الطراز L298N على الثنائيات الحماية وغيرها من التدابير لتجنب الأضرار المحتملة عند تشغيل هذه المحركات.
المكونات الأساسية والاتصالات
El وحدة L298N ويتميز ببساطته في الاستخدام ومرونته في التكيف مع مختلف أنواع المشاريع. وفيما يلي نوضح أهم توصيلات وحدة التحكم:
- فين و جي إن دي: تُستخدم هذه المسامير لتوصيل مصدر الطاقة الخاص بالوحدة. يمكنه دعم جهد الإدخال من 3 فولت إلى 35 فولت.
- المنطقي الخامس: يحتوي هذا الدبوس على وظيفتين، اعتمادًا على ما إذا كان منظم الجهد قد تم تنشيطه عبر وصلة العبور. إذا تم توصيل وصلة العبور، فإن هذا المنفذ سيوفر خرج 5 فولت والذي يمكننا استخدامه لتشغيل أجهزة مثل Arduino. إذا تمت إزالة وصلة العبور، فيجب علينا تشغيل المكون المنطقي بمصدر 5 فولت.
- IN1، IN2، IN3، IN4: تتحكم هذه المسامير في اتجاه المحركات. على سبيل المثال، بالنسبة للمحرك A، إذا كان IN1 عند HIGH و IN2 عند LOW، فسوف يدور المحرك في اتجاه واحد. إذا كان IN1 عند LOW وIN2 عند HIGH، فسوف يدور في الاتجاه المعاكس.
- إينا و إنب: إنهم يتحكمون في سرعة المحركات باستخدام إشارات PWM (تعديل عرض النبض). إذا كانت وصلات العبور في مكانها، فستعمل المحركات بسرعة ثابتة؛ إذا لم يكن الأمر كذلك، فيمكننا ضبط السرعة بقيم من 0 إلى 255.
تشغيل وإمدادات الطاقة للL298N
هناك طريقتان رئيسيتان لتغذية أ L298N:
- مع مصدر طاقة واحد: في هذه الحالة، نستخدم مصدرًا يصل إلى 12 فولت، ونقوم بتوصيل وصلة العبور لتمكين منظم 5 فولت ولا نقوم بتوصيل أي شيء بمنفذ 5 فولت، لأن هذا سيكون بمثابة مخرج.
- مع مصدرين للطاقة: البديل الآخر هو تزويد الوحدة بالطاقة بمصدرين مختلفين، أحدهما سيوفر 5 فولت اللازم للجزء المنطقي من الوحدة والآخر 12 فولت أو أكثر للمحرك، وفي هذه الحالة يتم فصل وصلة المنظم لتجنب التسبب في تلف وحدة.
سواء كنت تستخدم واحدًا أو اثنين من مصادر الطاقة، تذكر دائمًا الانتباه إلى دبابيس الإدخال والإخراج لتجنب الدوائر القصيرة أو الضرر المحتمل.
البرمجة مع اردوينو
واحدة من المزايا العظيمة لـ L298N هو تكامله السهل مع المشاريع القائمة على Arduino. وذلك لأنه بمجرد توصيل عدد قليل من المسامير يمكننا التحكم في سرعة واتجاه محرك واحد أو أكثر. نوضح لك هنا كيفية برمجة L298N مع الاردوينو:
أولا نقوم بتعيين المنافذ التي سنستخدمها للتحكم في المحركات:
int ENA = 10; // Habilita motor A
int IN1 = 9; // Dirección Motor A
int IN2 = 8; // Dirección Motor A
int ENB = 5; // Habilita motor B
int IN3 = 7; // Dirección Motor B
int IN4 = 6; // Dirección Motor B
نبدأ بتكوين المسامير كمخرجات على setup()
وإعلان الوظائف اللازمة لتحريك المحركات في الاتجاهين:
void Adelante() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 255);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENB, 255);
}
void Atras() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 128);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, 128);
}
يمكننا ضبط سرعة المحركات عن طريق تغيير القيم في الوظيفة analogWrite()
والتي تقبل القيم بين 0 و 255 حيث 255 هي السرعة القصوى.
الحماية L298N
ومن السمات البارزة ل L298N هو أنه يتضمن العديد من وسائل الحماية لمنع تلف كل من وحدة التحكم والمحركات. تشمل هذه الحماية ما يلي:
- حماية التيار الزائد: إذا اكتشفت الوحدة تيارًا أكبر مما يمكنها تحمله، فسوف تقوم بتنشيط الحماية لمنع الضرر.
- الحماية من الحرارة الزائدة: تم تصميم L298N لتبديد الحرارة المتولدة أثناء التشغيل، ولكن إذا تجاوزت درجة الحرارة حدودًا معينة، فسوف تقوم الوحدة بتنشيط الحماية الحرارية الخاصة بها.
- الثنائيات الحماية: تمنع هذه الثنائيات ارتفاع الجهد الناتج عن القصور الذاتي للمحركات من إتلاف الوحدة.
مثال عملي: التحكم في سيارة روبوتية
استخدام وحدة التحكم L298N وهو شائع جدًا في مشاريع الروبوتات، مثل السيارات الآلية التي يتم التحكم فيها باستخدام الأردوينو. في هذا الإعداد، من خلال تركيب L298N على الهيكل وتوصيله بالاردوينو، يمكننا التحكم في كل من اتجاه وسرعة عجلات السيارة.
مخطط الاتصال المعتاد هو كما يلي: تقوم بتشغيل وحدة L298N ببطارية خارجية للمحركات (عادةً 6 فولت أو 12 فولت) وتوصيل طرف الإخراج 5 فولت إلى Arduino. من الاردوينو يمكنك التحكم في منافذ IN1 و IN2 و IN3 و IN4 لتشغيل المحركات. يسمح لك هذا الإعداد بتحريك السيارة للأمام والخلف والدوران في اتجاهات مختلفة.
إذا كنت ترغب في تبسيط البرمجة والتحكم، يمكنك استخدام المكتبات مثل LEANTEC_ControlMotor.h. تتيح لك هذه المكتبة برمجة المحركات بأوامر أبسط مثل: control.Motor(velocidad, direccion)
.
يعد L298N حلاً ممتازًا للتحكم في المحركات في المشاريع الصغيرة والمتوسطة الحجم، وينتشر استخدامه على نطاق واسع في مجتمع المصنعين. على الرغم من وجود وحدات تحكم أخرى أكثر تقدمًا وكفاءة، إلا أن الجمع بين تعدد الاستخدامات والسعر والبساطة في L298N يجعلها واحدة من أفضل الخيارات لمشاريع DIY.