درایور موتور و باز هم درایور موتور، هر درایوری ویژگیهای منحصر به فرد خود را دارد. پیش از این راه اندازی موتورهای مختلف با درایورهای متنوع را در دیجی اسپارک منتشر کردهایم. اما یکی از درایور موتورهای ساده و ارزان قیمت، که مورد توجه دانش آموزان و دانشجوها میباشد. درایور موتور L298N میباشد. تراشه این درایور خیلی قدرت و پتانسیل مناسبی ندارد. صرفا یک درایور جهت راه اندازی موتورهای ارزان قیمت و ساده است. از اینرو انتظار خیلی زیادی از این درایور نداشته باشید. در ادامه این مجموعه آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
درایور موتور L298N با هیت سینک
درایور موتور L298N از تراشه دوبل L298 یک رگولاتور داخلی ۵ ولت ۷۸M05 تشکلیل شده است. در ساختار این درایور موتور از مدار H Bridge یا همان پل H استفاده شده است. این مدار توانایی درایور و کنترل جریان را دارد که توسط پایه PWM کنترل میشود. پایه PWM یا همان مدولاسیون پهنای باند کنترل مدت زمان یک پالس را انجام میدهد و در نتیجه ولتاژ خروجی را کنترل خواهد کرد. ولتاژ کاری درایور موتور L298 بین ۵ تا ۳۵ ولت DC است. جریان کاری این درایور بین ۰ تا ۳۶ میلی آمپر متغیر است و هر درایور حداکثر تا ۲ آمپر جریان میکشد. بر روی این درایور موتور ۴ پین هدر برای ورودی و اتصال به دو موتور DC قرار گرفته شده است. دو پین هدر دوبل برای فعال سازی پایه سیگنال PWM هر دو موتور قرار دارد. این بورد دارای ۳ ترمینال Terminal برای تغذیه است. تغذیه ۱۲ ولت برای اتصال ولتاژ خروجی مانند باتری، آداپتور و ولتاژ ۵ ولت ورودی برای اتصال به میکروکنترلر و در نهایت تغذیه GND است. بر روی برود ۴ خروجی با نام های OUT1، OUT2، OUT3 و OUT4 برای اتصال موتور DC قرار گرفته شده است.
در کد های زیر صرفا کنترل جهت صورت می گیرد…سرعت حداکثر می باشد و کنترلی روی سرعت انجام نمی گیرد.
ضمن اینکه برای کنترل ۴ عدد موتور از دو عدد ماژول L298 استفاده شده است.
int motor1Forward = A0;//IN4 int motor1Backward = A1;//IN3 int motor1pwmPin = 5; //ENB int motor2Forward = A3;//IN1 int motor2Backward = A2;//IN2 int motor2pwmPin = 3; //ENA int motor3Forward = 0;//IN4 int motor3Backward = 1;//IN3 int motor3pwmPin = 6; //ENB int motor4Forward = 2;//IN1 int motor4Backward = 4;//IN2 int motor4pwmPin = 9; //ENA void setup() { pinMode(motor1Forward, OUTPUT); pinMode(motor1Backward, OUTPUT); pinMode(motor1pwmPin, OUTPUT); pinMode(motor2Forward, OUTPUT); pinMode(motor2Backward, OUTPUT); pinMode(motor2pwmPin, OUTPUT); pinMode(motor3Forward, OUTPUT); pinMode(motor3Backward, OUTPUT); pinMode(motor3pwmPin, OUTPUT); pinMode(motor4Forward, OUTPUT); pinMode(motor4Backward, OUTPUT); pinMode(motor4pwmPin, OUTPUT); } void loop() { // حرکت ۴ موتور به جلو digitalWrite(motor1Forward, HIGH); digitalWrite(motor1Backward, LOW); digitalWrite(motor2Forward, HIGH); digitalWrite(motor2Backward, LOW); digitalWrite(motor3Forward, HIGH); digitalWrite(motor3Backward, LOW); digitalWrite(motor4Forward, HIGH); digitalWrite(motor4Backward, LOW); delay(8000); // حرکت ۴ موتور به عقب digitalWrite(motor1Forward, LOW); digitalWrite(motor1Backward, HIGH); digitalWrite(motor2Forward, LOW); digitalWrite(motor2Backward, HIGH); digitalWrite(motor3Forward, LOW); digitalWrite(motor3Backward, HIGH); digitalWrite(motor4Forward, LOW); digitalWrite(motor4Backward, HIGH); delay(8000); }
دانلود درایور l298 برای فریتزینگ
نقشه فریتزینگ برای راه اندازی ۴ موتور با استفاده از ماژول l298 را در شکل زیر میبینید.
برای اتصال پایه های درایور و اردینو مطابق با شماره گذاری که ابتدای کدها انجام دادم استفاده کنید.

اولین باشید که نظر می دهید