کنترل جهت گردش موتور DC — راهنمای کاربردی

۱۱۲۶ بازدید
آخرین به‌روزرسانی: ۲۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۲ دقیقه
کنترل جهت گردش موتور DC — راهنمای کاربردی

برای کنترل جهت گردش موتورهای جریان‌مستقیم کافی است که جهت جریان عبوری از سیم‌پیچ‌های آنها را تغییر دهیم. در این آموزک مدار کنترل سرعت و جهت گردش موتور DC توسط آی‌سی L293D توضیح داده خواهد شد.

فهرست مطالب این نوشته

فیلم آموزشی کنترل جهت گردش موتور DC

دانلود ویدیو

عموما برای کنترل جهت چرخش موتورهای جریان مستقیم از مدار زیر استفاده می‌شود که به آن پل H می‌گوییم. این کار توسط کنترل ولتاژ بیس ترانزیستورها انجام خواهد شد. اگر ولتاژ بیس A یک منطقی و بیس B صفر منطقی شود، آنگاه ترانزیستورهای 1 و 4 روشن و بقیه خاموش خواهند شد. در نتیجه جهت جریان الکتریکی در موتور به سمت راست خواهد بود.

اما اگر ولتاژ بیس B یک منطقی و بیس A صفر منطقی شود آنگاه، ترانزیستورهای 2 و 3 روشن و بقیه آنها خاموش خواهند شد. در چنین وضعیتی جهت جریان عبوری از موتور به سمت چپ خواهد بود که معکوس حالت قبل است. بنابراین با کنترل ولتاژ بیس‌های A و B می‌توان جهت گردش را کنترل کرد. برای تغییر سرعت موتور نیز به جای اعمال یک منطقی از سیگنال PWM استفاده می‌شود و با تغییر چرخه کاری آن می‌توان سرعت موتور را تغییر داد.

مدار پل H برای کنترل جهت گردش موتور DC
شکل 1: مدار پل H برای کنترل جهت گردش موتور DC

در عمل مدار بالا در داخل آی‌سی L293D پیاده‌سازی شده است. البته با استفاده از این آی‌سی بصورت همزمان می‌توان سرعت دو موتور جریان مستقیم و یا یک موتور پله‌ای را کنترل کرد. شکل 2 مدار کنترل جهت گردش و سرعت موتور جریان مستقیم با استفاده از آی‌سی L293D را نشان می‌دهد.

موتور اول به پایه‌های 3 و 6 و موتور دوم به پایه‌های 11 و 14 آی‌سی متصل می‌شود. پایه‌های 2 و 3 همان بیس‌های A و B در شکل 1 برای موتور اول هستند و جهت گردش آن را کنترل می‌کنند. بصورت مشابه پایه‌های 2 و 3 همان بیس‌های A و B برای موتور دوم هستند و جهت گردش آن را کنترل می‌کنند.

پایه‌های 1 و 9 فعال‌ساز آی‌سی هستند و تا زمانی‌که ولتاژ این پایه‌ها یک منطقی نشود، موتورها نیز روشن نخواهند شد. البته برای کنترل سرعت موتورها نیز می‌توان از این پایه استفاده کرد و سیگنال PWM را به این پایه‌ها اعمال کرد. همچنین دقت کنید که سیگنال فرمان برای سرعت و گردش موتور توسط برد Arduino Uno صادر خواهد شد.

مدار کنترل سرعت و جهت گردش موتور DC
شکل 2: مدار کنترل سرعت و جهت گردش موتور DC

جدول زیر مدهای کاری مدار بالا را نشان می‌دهد. برای مثال، برای موتور اول اگر 1A و 2A به ترتیب صفر منطقی و یک منطقی شوند، موتور به صورت ساعتگرد و اگر 1A یک منطقی و 2A صفر منطقی شود، موتور به صورت پادساعتگرد خواهد چرخید. اگر هر دو سیگنال صفر منطقی باشند، موتور خاموش و اگر یک منطقی شوند، موتور در مد توقف سریع قرار می‌گیرد.

مدهای کاری مدار شکل 2
شکل 3: مدهای کاری مدار شکل 2

برنامه زیر کنترل سرعت و جهت موتورها را نشان می‌دهد. موتور اول باید با سرعت نامی به صورت ساعتگرد و موتور دوم باید به صورت پادساعتگرد و با نصف سرعت نامی گردش کند. دقت کنید که در Arduino برای تولید سیگنال PWM از دستور AnalogWrite استفاده می‌کنیم.

1const int motor1SpeedPin = 5;
2const int motor2SpeedPin = 6;
3const int motor1DirAPin = 2;
4const int motor1DirBPin = 3;
5const int motor2DirAPin = 4;
6const int motor2DirBPin = 7;
7void setup()
8{
9pinMode(motor1SpeedPin, OUTPUT);
10pinMode(motor2SpeedPin, OUTPUT);
11pinMode(motor1DirAPin, OUTPUT);
12230 | Chapter 13: MotorspinMode(motor1DirBPin, OUTPUT);
13pinMode(motor2DirAPin, OUTPUT);
14pinMode(motor2DirBPin, OUTPUT);
15Serial.begin(9600);
16// M1 full speed clockwise
17analogWrite(motor1SpeedPin, 255);
18digitalWrite(motor1DirAPin, LOW);
19digitalWrite(motor1DirBPin, HIGH);
20// M2 half speed counter-clockwise
21analogWrite(motor2SpeedPin, 127);
22digitalWrite(motor2DirAPin, HIGH);
23digitalWrite(motor2DirBPin, LOW);
24}
25void loop()
26{ }

در صورتی که مطلب بالا برای‌ شما مفید بوده است، آموزش‌ها و مطالبی که در ادامه آمده‌اند نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۹ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
مجله فرادرس
۱ دیدگاه برای «کنترل جهت گردش موتور DC — راهنمای کاربردی»

سلام مهندس وقت بخیر ضمن سپاسگزاری فراوان از آموزشهای فوق العاده شماعزیزان در سایت وزین فرادرس ،یک خواهش داشتم من به طرح ویانقشه مداری ساده جهت کنترل جهت حرکت موتور الکتریکی DC وACبصورت جداازهم دارم ،ولی چون مبتدی هستم تاحدودی متاسفانه از اموزش فوق نتونستم استفاده کنم که البته قابل ذکراست نقص در عدم معلومات کافی اینجانب هست نه نحوه آموزش ،لذا خواهشمندم اگه محبت بفرمایید و این حقیرراراهنمایی بفرماییدمتشکرو سپاسگزارم

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *