آموزش PWM و راه اندازی ماژول L298 با آردوینو
مقدمه
سلام امید وارم حالتون خوب باشه و تا امروز مطالب آموزشی ما براتون مفید واقع شده باشه 😉
در این جلسه آموزشی قصد داریم راه اندازی موتور با آردوینو و ماژول (L298) توسط pwm بپردازیم:
وسایل مورد نیاز آموزش PWM و راه اندازی ماژول L298 با آردوینو:
[icon name=”check-circle” class=”” unprefixed_class=””] یک عدد ماژول (L298) یا آی سی (L298)
[icon name=”check-circle” class=”” unprefixed_class=””] یک عدد کابل USB پرینتر
[icon name=”check-circle” class=”” unprefixed_class=””] یک عدد برد آردوینو UNO
[icon name=”check-circle” class=”” unprefixed_class=””] تعدادی سیم برد برد برای اتصالات
[icon name=”check-circle” class=”” unprefixed_class=””] دو عدد موتور DC 12V
[icon name=”check-circle” class=”” unprefixed_class=””] یک عدد پتانسیومتر و یا مولتی ترن 10 کیلواهم در صورت استفاده از آی سی (L298)
خب ما امروز قصد داریم که با ماژول(L298) یک برنامه برای کنترل موتور DC با آردوینو بنویسیم دقت کنید که شما هم میتوانید از L298 یا L293 استفاده کنید این دو هیچ تفاوتی با یکدیگر ندارند
و کد نویسی هردو مشابه هم می باشند تنها تفاوتی که وجود دارد این می باشد که در L298 می توانیم تا جریان 2 آمپر در اختیار موتور قرار دهیم ولی در L293 حداکثر تا 500 میلی آمپر می توانیم در اختیار موتور قرار دهیم.
نمای مدار ماژول (L298):
در تصویر بالا با ماژولL298 آشنا شدیم که اما در تصویر پایین با نحوه متصل کردن پایه ها به آردوینو آشنا خواهیم شد.
در تصویر بالا با نحوه متصل کردن پایه ها به آردوینو آشنا شده ایم حالا نوبت به توضیح تک به تک اتصالات در جدول زیر میرسیم.
جدول مربوط به اتصالات ماژول L298 به آردوینو:
نام پین های مربوط به ماژولL298 | شماره پایه های متصل شده به آردوینو |
INTA | پایه 6 برای کنترل MOTOR1 |
INTB | پایه 5 برای کنترل MOTOR1 |
INTC | پایه 4 برای کنترل MOTOR2 |
INTD | پایه 3 برای کنترل MOTOR2 |
VCC | پایه 12v |
GND | پایه GROUND |
+5V |
پایه 5V |
حالا میریم سراغ آشنایی با دستورات راه اندازی ماژولL298 :
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;int input1 = 3
این دستور در اول صفحه بالای void setup نوشته می شود در این کد ورودی خودمان را انتخاب
کردیم که به عنوان مثال در این کد ورودی شماره یک ما پایه ی شماره 3 آردوینو می باشد.
مانند کد زیر:
int input1 = 3;
که دستورات زیرین این کدهم به همین صورت می باشد.
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(pinMode(input1,OUTPUT
این دستور در اول صفحه زیر void setup نوشته می شود که مربوط به عملکرد ورودی یک به عنوان خروجی می باشد.
مانند کد زیر:
pinMode(input1,OUTPUT);
که دستورات زیرین این کد هم به همین صورت می باشد.
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(digitalWrite(input1,HIGH
این دستور در زیر قسمت void loop نوشته می شود که مربوط به پایه ورودی 1 می باشد برای روشن کردن
مانند کد زیر:
digitalWrite(input1,HIGH);
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(digitalWrite(input2,LOW
این دستور در زیر قسمت void loop نوشته می شود که مربوط پایه ورودی 2 می باشد برای خاموش کردن
مانند کد زیر:
digitalWrite(input2,LOW);
طبق این دو دو دستور بعدی هم به این صورت می باشد.
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(delay(1000
این دستور در قسمت void loop نوشته می شود که مربوط به زمان تاخیر می باشد
مانند کد زیر:
delay(1000);
سورس کامل برنامه:
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
//دستورات زیر مربوط به تعریف پایه های آردوینو به برنامه می باشد int input1 = 3; int input2 = 4; int input3 = 5; int input4 = 6; void setup() { //دستورات زیر مربوط به عمکرد ورودی ها به عنوان خروجی می باشد pinMode(input1,OUTPUT); pinMode(input2,OUTPUT); pinMode(input3,OUTPUT); pinMode(input4,OUTPUT); } void loop() { //دستورات زیر مربوط به روشن(high) و خاموش کردن(low) پایه ها می باشد digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); //دستور زیر مربوط به زمان تاخیرانتشار می باشد delay(1000); //دستورات زیر مربوط به خاموش کردن پایه ها می باشد digitalWrite(input1,LOW); digitalWrite(input2,LOW); digitalWrite(input3,LOW); digitalWrite(input4,LOW); //دستور زیر مربوط به زمان تاخیر انتشار می باشد delay(500); //دستورات زیر مربوط به روشن(high) و خاموش کردن(low) پایه ها می باشد digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,LOW); digitalWrite(input4,HIGH); //دستور زیر مربوط به زمان تاخیر انتشار می باشد delay(1000); }
پروژه راه اندازی ماژول (L298) توسط (pwm) با آردوینو:
در این پروژه برای آنکه بتوانیم سرعت چرخش موتور را(pwm) تنظیم کنیم از دستورات زیر استفاده می کنیم
حالا میریم سراغ آشنایی با دستورات راه اندازی ماژولL298 با (pwm):
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;int apin = 8
این دستور برای تعریف پایه های آردوینو می باشد
مانند کد زیر:
int Apin = 8;
که دستورات زیرین این کد هم به همین صورت می باشد.
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(pinMode(Apin,OUTPUT
این دستور برای تعریف پایه های خروجی می باشد
مانند کد زیر:
pinMode(Apin, OUTPUT);
که دستورات زیرین این کد هم به همین صورت می باشد.
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(ABCD(100,0,100,0
این دستور برای تعریف مقدار سرعت موتور ها می باشد
مانند کد زیر:
ABCD(100,0,100,0);
که دستورات بعدی هم به همین صورت می باشد (که سرعت چرخش موتور ها دلخواه می باشد)
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(delay(1000
این دستور برای تاخیر زمان برای انتشار می باشد.
مانند کد زیر:
delay(1000);
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
(,viod ABCD(int A,int B,int C,int D
در این دستور ما تابع تعریف کردیم
مانند کد زیر:
void ABCD(int A,int B,int C,int D)
[icon name=”circle-o” class=”” unprefixed_class=””] دستور:
;(analogwrite(Apin,A
برای آنکه برنامهPWM بشود از دستورanalogwrite استفاده می کنیم که Apin مربوط به شماره پایه می باشد که میخواهیم مقدار سرعت روی آن انجام بشود
مانند کد زیر:
analogWrite(Apin,A);
سورس کامل برنامه:
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
//برای تعریف پایه های آردوئینو می باشد int Apin = 8; int Bpin = 9; int Cpin = 10; int Dpin = 11; void setup() { //این دستور برای تعریف پایه های خروجی می باشد pinMode(Apin,OUTPUT); pinMode(Bpin,OUTPUT); pinMode(Cpin,OUTPUT); pinMode(Dpin,OUTPUT); } void loop() { //این خظ برای تعریف چه مقدار سرعت موتور است ABCD(150,150,150,150); // این خظ برای زمان تاخیر کارکردن و قطع چرخ است delay(1000); ABCD(150,0,150,0); delay(1000); ABCD(0,150,0,150); delay(1000); ABCD(0,0,0,150); delay(1000); ABCD(150,0,0,0); delay(1000); ABCD(0,150,0,0); delay(1000); ABCD(0,0,150,0); delay(1000); ABCD(0,0,0,0); delay(1000); } // در این دستور ما تابع تعریف کرده ایم void ABCD(int A,int B,int C,int D){ //در این خط ما برای آنکه بتوانیم کنترل سرعت داشته باشیم از این خط استفاده می کنیم analogWrite(Apin,A); analogWrite(Bpin,B); analogWrite(Cpin,C); analogWrite(Dpin,D); }
جمع بندی :
در این آموزش چگونه راه اندازی ماژولL298 با آردوینو را یاد گرفتیم.
و همچنین ساخت پروژه ماژولL298 با pwm را فرا گرفتیم.
کاربرد های آن می توان برای کنترل سرعت موتور های dc
برای کنترل شدت نور led و از همه جالب تر با pwm و آردوینو (موزیک پلی کنیم)
ساخت ماشین های رباتیک نیز می باشد
موفق پیروز باشید
امیدوارم از مطلب لذت برده باشید حتما سر به اینستاگرام ما بزنید
_________ _________
- در صورت مشکل در لینک دانلود یا خود فایل حتما در بخش خرابی لینک برامون بنویسید تا در سریع ترین زمان رسیدگی کنیم
- توجه فرمایید که اعلام گزارش خربی باعث بهتر شدن خدمات ما به شما خواهد بود
- برای دریافت لینک دانلود یک بار ثبت نام کنید و به صورت مستقیم دانلود کنید
پسورد فایل : robotafzar.com گزارش خرابی لینک
Oops! We could not locate your form.
درباره امیرحسین تاراج بر
دانشجوی الکترونیک دانشگاه سراسری تهران و در زمینه ی آردوینو - رزبری پای در حال فعالیت هستم به ساخت رباتیک و کار های فنی علاقه مندم و در ربات افزار مشغول به کار هستم
نوشته های بیشتر از امیرحسین تاراج بر
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.