در این پروژه نحوه کنترل موتور DC با استفاده از آردوینو و درایور موتور L298N را خواهیم دید. راه های مختلفی برای کنترل موتور DC وجود دارد، اما آردوینو کنترل موتور DC با استفاده از درایور موتور L298N به دلایل زیادی بسیار محبوب شده است.
بررسی اجمالی
موتور DC ساده ترین موتورهایی است که مبتدیان و علاقه مندان با آن مواجه می شوند. کار با آن بسیار ساده است: دو سیم موتور را به دو پایانه یک باتری و voila وصل کنید! موتور شما شروع به چرخش می کند.
اگر سیم ها را تغییر دهید یعنی قطبیت را معکوس کنید، موتور در جهت معکوس می چرخد. این به همان سادگی است.
اگر می خواهید سرعت چرخش یک موتور DC ساده را کنترل کنید، تکنیکی به نام کنترل موتور DC PWM وجود دارد. مدولاسیون عرض پالس یا سیگنال PWM تولید شده توسط این تکنیک به ما امکان می دهد تا ولتاژ متوسطی را که به موتور DC تحویل می شود کنترل کنیم.
کنترل سرعت موتور DC با استفاده از PWM
با استفاده از تکنیک PWM، مقدار متوسط ولتاژ اعمال شده به موتور DC با روشن و خاموش کردن برق با نرخ بسیار بالا کنترل می شود. فرکانس این سوئیچینگ به ترتیب چند ده کیلو هرتز خواهد بود.
در حال حاضر، متوسط ولتاژ اعمال شده به موتور DC به آنچه به عنوان چرخه وظیفه سیگنال PWM نامیده می شود، بستگی دارد. چرخه وظیفه سیگنال PWM چیزی نیست جز نسبت زمانی که سیگنال در آن روشن یا بالا است به کل دوره زمانی سیگنال یعنی مجموع زمان روشن و خاموش.
چرخه وظیفه معمولاً بر حسب درصد بیان می شود و شکل زیر نشان دهنده سیگنال های مختلف PWM یک منبع 12 ولتی با چرخه های کاری مختلف به ترتیب 0، 25، 50، 75 و 100 درصد است.
![](https://duino4projects.com/wp-content/uploads/2022/02/Speed-Control-of-DC-Motor-using-PWM.jpg)
حالا که میانگین ولتاژی که قرار است به یک موتور DC داده شود را کنترل کردیم، چگونه این ولتاژ را به موتور اعمال کنیم؟ در اینجا از ترانزیستور استفاده می شود.
سیگنال PWM از هر منبعی مانند آردوینو در این مثال، می تواند به گیت ماسفت داده شود و بسته به چرخه کاری سیگنال PWM، سرعت موتور DC متفاوت خواهد بود.
تصویر زیر یک نمودار مدار ساده را نشان می دهد که در آن یک خروجی PWM از آردوینو به ماسفت داده می شود و موتور 12 ولت DC از طریق ماسفت متصل می شود.
![](https://duino4projects.com/wp-content/uploads/2022/02/The-following-image-shows-a-simple-circuit-diagram.jpg)
کد این مدار در زیر آمده است. با استفاده از این کد، آردوینو سرعت یک موتور DC را به شکلی محو تغییر میدهد، یعنی به تدریج سرعت را تا اوج افزایش میدهد و سپس به تدریج سرعت را کاهش میدهد تا متوقف شود.