کنترل سرعت وجهت حرکت موتور dc با کمک آردوینو
به نام خدا
کنترل سرعت و جهت حرکت موتور dc با کمک آردوینو

در این پروژه ما می خواهیم سرعت و جهت یک موتور جریان بالای 24v را با استفاده از ardunio و دو رله کنترل کنیم. در این مدار هیچ سویچ قدرتی به کار نرفته و لازم نیست، فقط دو میکروسوئیچ و پتانسیومتر استفاده شده است. از میکروسوئیچ ها برای تغییر جهت موتور استفاده می کنیم. یک ترانزیستور MOSFET مدل n-channel برای این پروژه لازم داریم ، رله ها نیز برای جابه جایی جهت موتور استفاده میشوند.
وسایل مورد نیاز
1. برد آردوینو
2. دو عدد رله 12v (معمولا از رله 5v می توان استفاده کرد)
3. دو عدد ترانزیستور(BC547)
4. دوعدد میکروسوئیچ
5. ترانزیستور IRF540N
6. مقامت 10k اهم
7. منبع تغذیه 24v
8. پتانسیومتر 10kاهم
9. سه عدد دیود 1N4007
10. سیم برای اتصال
مدار پروژه و توضیحات لازم
مدار این پروژه را در تصویر زیر میبینید، اتصالات را مانند آن انجام دهید.

- پایه های NC دو رله را به پایه ی مثبت منبع تغذیه وصل می کنیم
- پایه های NO دورله به پایه D ترانزیستو وصل می کنیم
- پایه ی سورس ( S ) ترانزیستور mosfet را به پایه ی منفی منبع تغذیه و زمین آردوینو وصل می کنیم
- پایه ی گیت ( G ) ترانزیستور mosfet را به پین PWM آردوینو وصل میکنیم
- مقاومت 10k را بین پایه G و S ترانزیستور و دیود را از پایه ی S به D وصل می کنیم
- موتور را بین تیغه های وسط دو رله وصل می شود
- پایه های باقی ماده از رله نیز به پایه ی VIN برد آردوینو و پایه ی کلکتور (Collector) ترانزیستور وصل می شود
- پایه های امیتر هر دو ترانزیستور را به پایه زمین آردوینو وصل می کنیم
- پین های 2 و3 آردوینو را به یکی از پایه های کلید ها و پایه دیگر آن را به پایه ی بیس ( B ) ترانزیستور وصل می کنیم
- دیود ها به رله همانند تصویر وصل می شود
- پایه های A و B پتانسیومتر را به پین 5v و زمین آردوینو و پایه ی وسط آن را به پین A0 وصل می شود
- *اگر شما دو باتری 12v جدا از هم دارید می توانید سر منفی یکی از آن ها را به سر مثبت دیگری وصل کنید و از دو سر باقی مانده باتری به عنوان سر های منفی و مثبت استفاده کنید


هدف استفاده از ترانزیستور در این پروژه
پین های دیجیتال آردوینو نمی توانند مقدار جریان مورد نیاز برای روشن کردن یک رله 5v را تامین کنند، و حال ما در این پروژه از رله 12v استفاده می کنیم پین VIN آردوینو به راحتی می تواند جریان لازم برای هر دو رله را تامین کند. از این رو از ترانزیستور ها برای هدایت جریان از پین Vin آردوینو به رله استفاده می شود که با استفاده از یک دکمه که بین آردوینو و ترانزیستور هست این جریان کنترل می شود .
هدف استفاده از آردوینو در این پروژه
- برای تامین جریان مورد نیاز برای روشن کردن رله ها
- برای روشن کردن ترانزیستور ها
- برنامه ریزی برای کنترل سرعت موتور با استفاده از پتانسیومتر
هدف استفاده از ترانزیستور MOSFET
برای کنترل سرعت موتور لازم است . ترانزیستور mosfet در فرکانس های بالا روشن و خاموش می شود و چون موتور به صورت سری به پایه درین ( D ) از ترانزیستور MOSFET وصل شده است مقدار PWM ولتاژ، سرعت موتور را تعیین می کند.
محاسبات جریان
مقاومت سیم پیچ رله با استفاده از یک مولتی متر 400 اهم اندازه گیری شده است
ولتازی که پین Vin آردوینو به ما می دهد برابر 12v است
بنابراین در حال حاضر برای روشن کردن رله به 30 میلی آمپر احتیاج داریم
اگر هر دو رله وصل باشد ما به 60 میلی آمپر جریان احتیاج داریم
پین Vin آردوینو میتواند حداکثر 200 میلی آمپر جریان خروجی داشته باشد پس هیچ مشکلی برای تامین جریان در آردوینو به و جود نمی آید.
نحوه ی کار این پروژه
نحوه کار این مدار کنترل موتو ساده است.

- وقتی هیچ دکمه ای فشار داده نشود
در این حالت هیچ جریانی به ترانزیستور نمیرسد و ترانزیستور خاموش است از این رو هیچ جریانی از پین Vin آردوینو به سیم پیچ رله نمی رود.
- وقتی یکی از دکمه ها فشار داده شود
در این حالت جریان از طریق فشردن دکمه به ترانزیستور میرسد و وقتی ترانزیستور روشن شود جریان به رله1 (رله2) رسیده و آن را به موقعیت NO میبرد در این حال رله2 (رله1) دیگر که جریانی به آن نرسیده است هنوز در حالت NC است. بنابراین جریان از سر مثبت منبع تغذیه به سر منفی آن از طریق موتور بر قرار می شود، جهت جریان از رله 1 (2) به رله 2 (1) خواهد بود از این رو جهت چرخش موتور ساعت گرد (پاد ساعت گرد)خواهد بود .
- وقتی هر دو دکمه فشار داده شود
در این حالت جریان به هر دو ترانزیستور میرسد و هر دو آن ها را فعال می کند (مثل یک سوئیچ بسته عمل میکند) بنابراین هر دو رله در حالت NO می مانند و جریانی از موتور عبور نمیکند پس موتور خاموش خواهد بود و چرخشی صورت نمیگیرد
نحوه ی کنترل سرعت موتور DC
پایه گیت ترانزیستور MOSFET به PWM پین 6 وصل شده است ترانزیستور MOSFET در ولتاژ فرکانس های بالای PWM روشن و خاموش میشود و از آنجا که موتور به صورت سری به گیت ترانزیستور MOSFET وصل شده است مقدار PWM ولتاژ، سرعت چرخش موتور را تعیین می کند. در این پروژه ولتاژ بین پایه ی وسط پتانسیومتر و زمین مقدار PWM را در پین 6 آردوینو تعیین می کنند و وقتی پتانسیومتر چرخانده می شود ولتاژ در پین آنالوگ A0 باعث تغییر سرعت می شود.
کد آردوینو لازم برای این پروژه در زیر آمده است
دانلود کد پروژه :
[maxbutton id=”184″ url=”http://avatrobo.ir/wp-content/uploads/2018/02/کنترل-سرعت-وجهت-حرکت-موتور-dc-با-کمک-آردوینو.txt” ]
int x;
int y;
void setup()
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(6,OUTPUT);
pinMode(A0,INPUT);
}
void loop()
{
x=analogRead(A0);
y=map(x,0,1023,0,255);
analogWrite(6,y);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
}
پست های مرتبط
اردیبهشت 9, 1398
اسفند 5, 1397
بهمن 2, 1397
دیدگاهتان را بنویسید