سلام به همه دوستان و همراهان اسمارت کامپ! امیدواریم حال همه شما خوب باشه. در این مقاله قصد داریم در مورد تراشه درایور موتورهای DC و موتور پله ای به شماره L298 توضیحات مفصلی را ارائه دهیم. L-298 یک مدار مجتمع (IC) است که هم اکنون در دو نوع بسته موجود است که بعداً در قسمت های بعدی ارائه خواهد شد. L 298 یک درایور دو پل کامل است که توانایی تحمل ولتاژ بالا و همچنین جریان بالا را دارد. سطوح منطقی TTL (منطق ترانزیستور ترانزیستور) را دریافت می کند و قادر به کار با بارهای مختلف مانند موتورهای DC، موتورهای پله ای، رله ها و غیره است. همچنین باید نگاهی به مقدمه L293D داشته باشید. L-298 دارای دو ورودی فعال ساز برای کنترل هر دستگاه است. آی سی L 298 بیشتر برای ساخت درایورهای موتور یا کنترل کننده موتور استفاده می شود. این کنترل‌کننده‌های موتور را می‌توان با هر میکروکنترلری مانند Arduino، PIC، Raspberry Pi و غیره کنترل کرد. آنها ورودی را از میکرو کنترل‌کننده‌ها دریافت می‌کنند و بار متصل به پایانه‌های خروجی خود را به طور متناظر درایو می‌کنند. درایور موتور L-298 (H-Bridge) قادر است دو موتور DC مختلف را به طور همزمان کنترل کند. در حالی که می تواند تک موتور پله ای را نیز کنترل کند. L 298 دارای دو پایه مدولاسیون عرض پالس (PWM) است. برای کنترل سرعت موتور از پین های PWM استفاده می شود. با تغییر قطبیت ولتاژ سیگنال در ورودی آن، می توانیم موتور را در جهت عقربه های ساعت یا خلاف جهت عقربه های ساعت بچرخانیم. این تراشه کاربردهای واقعی زیادی دارد، مانند رباتیک، سیستم قفل درها، ماشین‌های CNC و غیره.

مقدمه ای بر L298

L298 یک آی سی جریان بالا و ولتاژ بالا است. سیگنال‌های منطقی TTL را دریافت می‌کند و بارهای مختلفی مانند موتورها، شیر برقی، رله‌ها و غیره را درایو می‌کند. بیشتر در طراحی درایور موتور استفاده می‌شود. دارای دو پایه خاص برای فعال یا غیرفعال کردن دستگاه خاص متصل به خروجی آن است. از ویژگی های آن می توان به ولتاژ اشباع پایین، حفاظت از بیش از حد دما و غیره اشاره کرد. کاربردهای زیادی از جمله روباتیک، سیستم های قفل خودکار درب، ماشین های CNC و غیره دارد. جزئیات بیشتر در مورد L-298 بعداً در این آموزش ارائه خواهد شد. با کلیک بر روی دکمه زیر می توانید دیتاشیت L298 را دانلود کنید.

1. پایه های L298

آی سی L 298 در مجموع دارای 15 پین است که هر کدام دارای عملکردهای متفاوتی هستند.

تصویر تراشه L-298 در شکل زیر نشان داده شده است.

2. ویژگی های L298

L-298 دارای بسیاری از ویژگی های شگفت انگیز از جمله ولتاژ اشباع پایین، حفاظت بیش از جریان و غیره است.

برخی از ویژگی های اصلی در جدول زیر آورده شده است.

3. رتبه بندی L298

درجه بندی یک قطعه الکترونیکی اساساً توان مورد نیاز آن را برای عملکرد عادی آن دستگاه در شرایط عادی نشان می دهد.

جریان، ولتاژ و توان تراشه L 298 در جدول زیر نشان داده شده است.

4. کنترلر/درایور موتور L298

تراشه L-298 بیشتر برای طراحی درایور/کنترل کننده موتور استفاده می شود.

بنابراین، اکنون می خواهیم در مورد کنترلر/درایور موتور L298 بحث کنیم.

تصویر درایور موتور یا کنترل کننده موتور L-298 در شکل زیر نشان داده شده است.

5. پایه بندی کنترلر موتور L298

نمودار پایه بندی معمولاً شامل پیکربندی کامل پایه های یک دستگاه است.

نمودار پایه بندی کنترلر موتور L-298 در شکل زیر نشان داده شده است.

6. پایه های کنترل کننده موتور L298

کنترل کننده موتور L 298 در مجموع دارای چهارده (14) پایه است که هر کدام عملکرد جداگانه ای دارند.

تمام 14 پایه به همراه شماره پایه ها در جدول زیر آورده شده است.

7. عملکرد پایه های کنترل کننده موتور L298

هر پایه کنترل کننده موتور L 298 عملکردهای متفاوتی دارد.

تابع مربوط به هر یک از پین ها در جدول زیر آورده شده است.

8. نمودار شماتیک کنترل کننده موتور L298

نمودار شماتیک یک قطعه یا دستگاه در واقع ساختار داخلی و جریان کاری آن را نشان می دهد.

نمودار شماتیک کنترل کننده موتور L-298 در شکل زیر نشان داده شده است.

9. رابط کنترل کننده موتور L298 با آردوینو و موتور DC

برای کنترل موتور DC با استفاده از Arduino UNO و H-Bridge (کنترل کننده موتور L 298) ابتدا باید یک نمودار مدار درست بسازیم.

نمودار مدار کامل در شکل زیر نشان داده شده است.

10. کاربردهای کنترل موتور L298

کنترلر/درایور موتور L-298 چندین کاربرد واقعی دارد که تعدادی از آنها در زیر آورده شده است.

رباتیک.

بالابرها

دستگاه های CNC.

سیستم های کنترل اتوماتیک درب.


نمونه برنامه کنترل موتور dc با آردوینو و L298

int dir1PinA = 6

int dir2PinA = 7

}()void setup

Serial.begin(9600); // baud rate

lcd.begin(20, 4)

pinMode(dir1PinA,OUTPUT)

pinMode(dir2PinA,OUTPUT) 

{

}()void loop

}if (Serial.available() > 0) 

;()int inByte = Serial.read

}switch (inByte) 

case 'C': // Clockwise rotation

digitalWrite(dir1PinA, LOW)

digitalWrite(dir2PinA, HIGH)

Serial.println("Clockwise rotation")

;("   ")Serial.println

;break

case 'S': // No rotation

digitalWrite(dir1PinA, LOW)

digitalWrite(dir2PinA, LOW)

Serial.println("No rotation")

;("   ")Serial.println

;break

case 'A': // Clockwise rotation

digitalWrite(dir1PinA, HIGH)

digitalWrite(dir2PinA, LOW)

Serial.println("Anti Clockwise rotation") 

;("   ")Serial.println

;break

{

{

{