سلام
بالاخره مبحث LED رو تموم میکنم و میرسیم به راه اندازی موتور ....
میخوام یکم توضیحات رو کم کنم اگه مشکلی بود پیام بدین حل کنیم ...
بنا به اطلاعاتی که من دارم ما نمیتونیم موتور رو به طور مستقیم به آردوینو وصل کنیم چرا ؟
چون هر پایه آردوینو حداکثر 5 ولت و 40 میلی آمپر میکشه ینی چند وات ؟
P=V.I ینی حدود 200 میلی وات !!!
اگه حالا شما بخواید یه موتور 10 واتی رو راه اندازی کنین اگه مستقیم وصل کنین برد کلا میترکه !!
برا حل این مشکل از واسط (ای سی یا ماژول) به عنوان درایور موتورمون باید استفاده کنیم
من از ماژول L298 به عنوان درایورم استفاده کردم که طبق دیتاشیتش شما میتونین تا حدود 200 وات موتور راه اندازی کنین از لینک زیر هم اطلاعات کاملشو ببینین : مهمان عزیز شما حق دیدن لینک ها را ندارید
عضویت
دیتاشیت این ماژول :
با استفاده از این ماژول ما میتونیم دو موتور تا 2 آمپر رو راه اندازی کنیم ...ولتاژ ورودی این ماژول 5 تا 12 ولت هستش که روی ورودی ماژول مشخص شده نحوه اتصالش ...
خوب مدارمون رو طبق عکس زیر میبندیم :
به این نقطه توجه کنین که باید GND ماژول و برد آردوینومون مشترک باشه !!!
کد های برنامه : int motorpin1 = 4 ;
int motorpin2 = 5 ;
void setup() {
pinMode(motorpin1,OUTPUT);
pinMode(motorpin2,OUTPUT);
}
void loop() {
analogWrite(motorpin1,0);
analogWrite(motorpin2,255);
}
راستشو بخواین الان من این برنامه رو نوشتم ولی تو عمل کار نمیکنه اصلا و جالبه LED روی اردوینو روشن میشه !!!؟؟؟
یک استعداد به خرج دادم توی برنامه LED آردوینو که همون پایه 13 هستش رو تعریف کردم و خاموش کردمش و موتور به راه افتاد دوستان کسی میتونه دلیل این اتفاق رو بگه ؟؟؟
کد برنامه ای که کار کرد :
int motorpin1 = 4 ;
int motorpin2 = 5 ;
int LED = 13;
void setup() {
pinMode(motorpin1,OUTPUT);
pinMode(motorpin2,OUTPUT);
pinMode(LED,OUTPUT);
}
void loop() {
analogWrite(motorpin1,0);
analogWrite(motorpin2,255);
digitalWrite(13,LOW);
} حالا بگذریم یکم توضیح در مورد برنامه :
در حالت کلی برای اینکه یه موتور رو راه اندازی کنیم باید بین ورودی های موتوری اختلاف ولتاژ به وجود بیاریم البته باید توجه به ولتاژ ورودی موتور بکنین چون اگه ولتاژ بیشتری بدین بهش صددرصد سوخته پس توجه داشته باشین!
جهت ولتاژ دادن به موتور از دو پین دیجیتال استفاده میکنیم که اینجا من از پایه های 4 و 5 بهره بردم دستور لازم برای راه اندازی موتور دستور analogWrite هستش ینی ما باید به کمک این دستور اختلاف ولتاژ بین پایه های مورد نظرمون ایجاد کنیم ینی باید دو تا دستور پست سر هم داشته باشیم : analogWrite(motorpin1,0);
analogWrite(motorpin2,255);
مبحث pwm اگه یادتون باشه موتور هم از این قانون استفاده میکنه بدین صورت که ما میتونیم بین 0 و 5 ولت ولتاژ بدیم به پایه های مورد نظرمون
دستور analogWrite دارای دو پارامتر هستش که پارامتر اول شماره پین پایه مورد و پارامتر دوم مقدار ولتاژ اعمالی به پایه رو نشون میده
که عددی بین 0 تا 255 خواهد بود ...
در اینجا ما به پایه اول 0 و به پایه دوم 255 (5ولت ) رو دادیم و اختلاف ولتاژ بین پایه ها ایجاد شد و موتورمون به راه افتاد ... فیلم نتیجه کارمون: مهمان عزیز شما حق دیدن لینک ها را ندارید
عضویت