آموزش 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):

آموزش PWM و راه اندازی ماژول L298 با آردوینو (2)

 

در تصویر بالا با ماژولL298 آشنا شدیم که اما در تصویر پایین با نحوه متصل کردن پایه ها به آردوینو آشنا خواهیم شد.

آموزش PWM و راه اندازی ماژول L298 با آردوینو

آموزش PWM و راه اندازی ماژول L298 با آردوینو

 

در تصویر بالا با نحوه متصل کردن پایه ها به آردوینو آشنا شده ایم حالا نوبت به توضیح تک به تک اتصالات در جدول زیر میرسیم.

جدول مربوط به اتصالات ماژول L298 به آردوینو:

[su_table responsive=”yes”]

نام پین های مربوط به ماژولL298 شماره پایه های متصل شده به آردوینو
INTA پایه 6 برای کنترل MOTOR1
INTB پایه 5 برای کنترل MOTOR1
INTC پایه 4 برای کنترل MOTOR2
INTD پایه 3 برای کنترل MOTOR2
VCC پایه 12v
GND پایه GROUND
+5V

پایه 5V

[/su_table]

 

 حالا میریم سراغ آشنایی با دستورات راه اندازی ماژول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);

 

سورس کامل برنامه:

[vc_row][vc_column][vc_message message_box_color=”pink” icon_fontawesome=”fa fa-cloud-download”]برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.[/vc_message][/vc_column][/vc_row]

//دستورات زیر مربوط به تعریف پایه های آردوینو به برنامه می باشد
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);
سورس کامل برنامه:

[vc_row][vc_column][vc_message message_box_color=”pink” icon_fontawesome=”fa fa-cloud-download”]برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.[/vc_message][/vc_column][/vc_row]

//برای تعریف پایه های آردوئینو می باشد
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 و آردوینو (موزیک پلی کنیم)

ساخت ماشین های رباتیک نیز می باشد

موفق پیروز باشید

امیدوارم از مطلب لذت برده باشید حتما سر به اینستاگرام ما بزنید

اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل و شماره موبایل خود را در کادر زیر وارد کنید:
تعداد علاقه مندانی که تاکنون عضو خبرنامه ما شده اند: 0 نفر
دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *