يعد برنامج تشغيل Motor L298N وحدة شعبية للتحكم في محركات DC ومحركات السائر. يتيح لك التحكم في سرعة المحرك والاتجاه باستخدام إشارات PWM من Arduino ، مما يجعلها مثالية لمشاريع الروبوتات والأتمتة. سوف يرشدك هذا البرنامج التعليمي من خلال الاتصال واستخدام L298n مع Arduino.
ماذا ستحتاج
- وحدة تشغيل محرك L298N
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- Motors DC أو Stepper Motors
- مصدر الطاقة الخارجي (على سبيل المثال ، بطارية 9V أو 12V)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم سائق المحرك L298N
وحدة L298N هي برنامج تشغيل مزدوج H-Bridge Motor ، مما يعني أنه يمكنه التحكم في سرعة واتجاه محركين DC بشكل مستقل أو محرك السائر واحد.
L298n pinout
دبوس | وظيفة |
---|---|
in1 ، in2 | محرك مدخلات التحكم في الاتجاه |
in3 ، in4 | مدخلات التحكم في اتجاه المحرك ب |
ena | محرك التحكم في السرعة (إدخال PWM) |
enb | التحكم في سرعة المحرك B (إدخال PWM) |
Out1 ، Out2 | المحرك أ مخرجات |
Out3 ، Out4 | مخرجات المحرك B |
12V (VCC) | إمدادات الطاقة الخارجية للمحركات |
5V (اختياري) | مزود الطاقة المنطقي (إذا تمت إزالة الطائر) |
GND | أرضي |
ملحوظات:
- تتضمن الوحدة منظمًا على متن الطائرة 5V يقوم بتشغيل الدوائر المنطقية إذا كان الطائر في مكانه و VCC هو 7-12 فولت.
- تتطلب إزالة الطائر توفير إمدادات منطق 5V بشكل منفصل.
الخطوة 2: توصيل L298N إلى Arduino
إليك كيفية توصيل L298N بمحركات Arduino UNO واثنين من محركات DC:
L298n دبوس | دبوس أردوينو |
---|---|
ena | دبوس 10 (PWM) |
in1 | دبوس 8 |
in2 | دبوس 9 |
enb | PIN 11 (PWM) |
in3 | دبوس 6 |
in4 | دبوس 7 |
GND | Arduino GND |
12V (VCC) | الطاقة الخارجية (9V/12V) |
Out1 ، Out2 | المحرك أطراف المحطات |
Out3 ، Out4 | محطات المحرك ب |
الخطوة 3: تحميل الرمز
فيما يلي مثال على الرسم للتحكم في محركين DC:
رمز مثال
// Motor A connections
#define ENA 10
#define IN1 8
#define IN2 9
// Motor B connections
#define ENB 11
#define IN3 6
#define IN4 7
void setup() {
// Set all pins as outputs
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
// Move Motor A forward
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 150); // Set speed (0-255)
// Move Motor B backward
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, 150); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop both motors
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
delay(1000); // Pause for 1 second
// Move both motors in reverse
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 200);
analogWrite(ENB, 200);
delay(2000); // Run for 2 seconds
// Stop both motors
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
delay(1000); // Pause for 1 second
}
الخطوة 4: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- راقب المحركات التي تدور للأمام ، وتتوقف ، والعكس بناءً على التسلسل المبرمج.
اختياري: التحكم في السرعة ديناميكيًا
يمكنك ضبط سرعة المحرك ديناميكيًا عن طريق تغيير قيم PWM المرسلة إلى ENA
و ENB
دبابيس باستخدام analogwrite (). على سبيل المثال:
analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed
Applications of the L298N
- Building motorized robots
- Controlling conveyor belts
- قيادة السائر محركات
- Automating systems with DC motors
استكشاف الأخطاء وإصلاحها
- المحركات لا تدور: تأكد من توصيل مصدر الطاقة الخارجي ويوفر تيارًا كافيًا.
- اتجاه محرك غير صحيح: تحقق من أسلاك في المسامير والاتصالات العكسية إذا لزم الأمر.
- سلوك محرك غير مستقر: استخدم مصدر طاقة مستقر وتجنب الاتصالات السائبة.
خاتمة
لقد نجحت في ربط برنامج تشغيل المحرك L298N مع Arduino للتحكم في محركات DC. تمكنك هذه الوحدة متعددة الاستخدامات من إدارة سرعة المحرك والاتجاه بسهولة. قم بتجربة مزيد من الاستشعار عن طريق دمج أجهزة الاستشعار أو عناصر التحكم عن بُعد أو وحدات أخرى في مشاريعك الآلية!