آموزش راه اندازی موتور گیربکس دار تک محوره 1:120 با آردوینو

فهرست مطالب

ویژگی های موتور گیربکس دار تک محوره 1:120

اگر در حوزه الکترونیک و رباتیک فعالیت می‌کنید، حداقل یک بار با موتورهای DC برخورد داشته‌اید. این موتورها یکی از پرکاربردترین المان‌ها در الکترونیک و رباتیک می‌باشند. این موتورها انرژی الکتریکی جریان مستقیم را به انرژی مکانیکی تبدیل می‌کنند.
استاتور این موتورها توسط یک منبع خارجی تامین می‌شود. در نتیجه آن، جریان جاری شده در استاتور، میدان یکنواختی را در زیر قطب ها به وجود می‌آورد. البته می‌توان میدان استاتور را از یک آهنربای دائم نیز تامین کرد. حال اگر آرمیچر هم توسط منبع خارجی و یا خود استاتور تغذیه شود، یک میدان نیز در آرمیچر پدید می‌آید. از بر هم‌کنش میدان های استاتور و آرمیچر، موتور شروع به چرخش می‌کند.
این موتورها در ولتاژ و سرعت های گوناگون ساخته می‌شوند. با اضافه کردن گیربکس به این موتورها می‌توان با کاهش سرعت آن، گشتاور اعمالی به آن را افزایش داد. کنترل سرعت موتورهای DC به سه روش زیر انجام می‌شود:

  • کنترل ولتاژ
  • کنترل جریان
  • مقاومت آرمیچر

معرفی پایه های (Pinout) موتور گیربکس دار تک محوره 1:120

این موتورها دارای دو پایه جهت اتصال به منبع تغذیه می‌باشد.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

تذکر

برای ادامه آموزش راه‌اندازی می‌توانید از انواع موتورهای DC و درایورهای آنها استفاده کنید.

آردوینو UNO R3 × 1
ماژول درایور دو کاناله L9110S × 1
3موتور گیربکس دار تک محوره 1:120 3-6 ولتی × 2
سیم جامپر نری-مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی موتور گیربکس دار تک محوره 1:120 با آردوینو

گام اول: سیم بندی

عکس زیر نحوه اتصال دو موتور جهت راه‌‌اندازی را نشان میدهد.

هشدار

دقت کنید به دلیل اینکه موتورهای شما حداکثر 6 ولت می‌باشد از منبع تغذیه با ولتاژ بالاتر از 6 ولت استفاده نکنید.

گام دوم: کد

کد زیر را روی آردوینو خود آپلود کنید.

   /*
    DC-Motor
  made on 29 Dec 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
*/ #define A1 5 // Motor A pins #define A2 6 #define B1 10 // Motor B pins #define B2 11 int incomingByte = 0; // for incoming serial data void setup() { pinMode(A1, OUTPUT); pinMode(A2, OUTPUT); pinMode(B1, OUTPUT); pinMode(B2, OUTPUT); digitalWrite(A1, LOW); digitalWrite(A2, LOW); digitalWrite(B1, LOW); digitalWrite(B2, LOW); Serial.begin(9600); // opens serial port, sets data rate to 9600 bps Serial.println("select direction of movement"); Serial.println("1.forward"); Serial.println("2.backward"); Serial.println("3.stop"); } int input = 0; void loop() { // send data only when you receive data: if (Serial.available() > 0) { // read the incoming byte: incomingByte = Serial.read(); input = incomingByte - 48; //convert ASCII code of numbers to 1,2,3 switch (input) { case 1: // if input=1 ....... motors turn forward forward(); break; case 2: // if input=2 ....... motors turn backward backward(); break; case 3: // if input=1 ....... motors turn stop Stop(); break; } delay(200); input=0; } } void forward() { //function of forward analogWrite(A1, 255); analogWrite(A2, 0); analogWrite(B1, 255); analogWrite(B2, 0); } void backward() { //function of backward analogWrite(A1, 0); analogWrite(A2, 210); analogWrite(B1, 0); analogWrite(B2, 210); } void Stop() { //function of stop digitalWrite(A1, LOW); digitalWrite(A2, LOW); digitalWrite(B1, LOW); digitalWrite(B2, LOW); }

توسط این برنامه می‌توان از طریق سریال مانیتور، جهت حرکت موتورها را کنترل کرد. به نحوی که اگر کلید شماره 1 وارد شود، موتور با حداکثر سرعت در جهت مستقیم حرکت می‌کند. اگر کلید شماره 2 وارد شود، موتور با سرعتی کمتر از حداکثر در جهت معکوس حرکت می‌کند. در آخر نیز با فشردن کلید شماره 3، موتور می‌ایستد.

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.