آموزش نحوه راه اندازی درایور MD5 با آردوینو Arduino
آموزش نحوه راه اندازی درایور MD5 با آردوینو Arduino
توسط محمود حسن پور دهنوی · تیر ۱۰, ۱۳۹۵
مقدمه
در این مقاله قصد داریم نحوه راه اندازی درایور MD5 را با برد آموزشی Arduino توضیح دهیم. آردوینو یک بورد آموزشی پلتفرم می باشد که به صورت Open-Source و بر مبنای سادگی استفاده از سخت افزار و نرم افزار طراحی شده است. بورد آردوینو می تواند ورودی های مختلف از قبیل انواع سنسور و پیام های صوتی و متنی را دریافت کرده و متناسب با آن خروجی های مطلوبی را به منظور کنترل یک موتور، روشن کردن یک LED، انتشار پیام به صورت آنلاین و… تولید نماید.
درایور MD5
درایور MD5 قادر است سرعت یک موتور DC را از طریق دریافت پالس PWM کنترل نماید. رنج ولتاژ کاری درایور از ۵٫۵ تا ۳۶ ولت و قابلیت جریان دهی آن تا ۱۰ آمپر می باشد. در شکل زیر نمایی از درایور و شماتیک آن را مشاهده می کنید.
md5
شکل۱: درایور موتور MD5
شماتیک مدار کنترلی
برای تولید پالس PWM راه حل های مختلفی وجود دارد که یکی از آنها استفاده از بورد آردوینو می باشد. در شکل زیر می توانید نحوه اتصال بورد آردوینو به درایور MD5 را مشاهده نمایید.
Ciruit
شکل۲: شماتیک مدار کنترلی
همان طور که در شکل بالا مشاهده می کنید درایور MD5 شامل سه قسمت می باشد. بخش یک وروردی توان درایور می باشد که بایستی به منبع توان جریان مستقیم در رنج ولتاژ ۵٫۵ تا ۳۶ ولت متصل شود. بخش سه خروجی درایور بوده که باید به موتور DC متصل شود. در بخش دو ورودی های فعال ساز، کنترلی و تعیین جهت قرار دارند.
مطابق شکل بالا ابتدا بایستی ولتاژ +۵V و GND را از بورد آردوینو به برد بورد منتقل کنیم. سپس پایه +۵V در درایور را به خط ولتاژ مثبت پنج ولت در برد بورد متصل می کنیم، با اتصال پایه +۵V درایور به ولتاژ مثبت پنج ولت، درایور فعال خواهد شد. در گام بعد پایه PWM درایور را به پین سه آردوینو و پایه های تعیین جهت INB و INA را به ترتیب به پایه های ۸ و ۹ آردوینو متصل می کنیم.
نوشتن کد آردوینو
در زیر می توانید کدهای برنامه را مشاهده کنید.
int motorPin = 3;
int DirPin8 = 8;
int DirPin9 = 9;
void setup()
{
pinMode(motorPin,OUTPUT);
pinMode(DirPin8,OUTPUT);
pinMode(DirPin9,OUTPUT);
digitalWrite(DirPin8, LOW);
digitalWrite(DirPin9, LOW);
Serial.begin(9600);
while(! Serial);
Serial.println("Speed 0 to 255");
}
void loop()
{
if(Serial.available())
{
int speed = Serial.parseInt();
if(speed >= 0 && speed<= 127)
{
speed = speed*2;
digitalWrite(DirPin8, LOW);
digitalWrite(DirPin9, HIGH);
analogWrite(motorPin,speed);
}
else
{
speed = (255-speed)*2;
digitalWrite(DirPin8, HIGH);
digitalWrite(DirPin9, LOW);
analogWrite(motorPin,speed);
}
}
}
int motorPin = 3;
int DirPin8 = 8;
int DirPin9 = 9;
void setup()
{
pinMode(motorPin,OUTPUT);
pinMode(DirPin8,OUTPUT);
pinMode(DirPin9,OUTPUT);
digitalWrite(DirPin8, LOW);
digitalWrite(DirPin9, LOW);
Serial.begin(9600);
while(! Serial);
Serial.println("Speed 0 to 255");
}
void loop()
{
if(Serial.available())
{
int speed = Serial.parseInt();
if(speed >= 0 && speed<= 127)
{
speed = speed*2;
digitalWrite(DirPin8, LOW);
digitalWrite(DirPin9, HIGH);
analogWrite(motorPin,speed);
}
else
{
speed = (255-speed)*2;
digitalWrite(DirPin8, HIGH);
digitalWrite(DirPin9, LOW);
analogWrite(motorPin,speed);
}
کد فوق می تواند سرعت موتور DC را در دو جهت کنترل کند. بدین منظور بایستی از قمست Tools در نرم افزار آردوینو وارد Serial Monitor شوید، سپس با وارد کردن یک عدد بین ۰ تا ۲۵۵ می تواند سرعت موتور را کنترل کنید بدین صورت که از عدد ۰ تا ۱۲۷ سرعت موتور در جهت مستقیم و از عدد ۱۲۸ تا ۲۵۵ سرعت موتور در جهت برعکس کنترل خواهد شد. توضیح کد برنامه و نحوه عملکرد آن را می توانید در فیلم آموزشی زیر مشاهده کنید.
انجمن پرسش و پاسخ ربات سازان
- ۹۶/۱۲/۰۱