آموزش راه اندازی ماژول درایور موتور دو کاناله DRV8833 با آردوینو

ویژگی های ماژول درایور موتور دو کاناله DRV8833

امروزه کنترل سرعت و جهت موتورهای DC به علت کاربردهای فراوان، از اهمیت زیادی برخوردار است. عمومی‌ترین روش کنترل موتورهای DC پل H یا همان H-Bridge است. ماژول دو کاناله DRV8833 نیز از همین روش برای کنترل دو موتور بهره می‌گیرد.
این ماژول دارای دو درایور H-bridge است و می‌تواند دو موتور DC، یک استپر موتور و یا بارهای سلفی دیگر را کنترل کند.
ولتاژ تغذیه موتور 2.7 تا 10.8 ولت و جریان مجاز پیوسته عبوری 1.5 آمپر و جریان مجاز حداکثر آن 2 آمپر می‌باشد.
از موارد کاربرد این ماژول می‌توان به موارد زیر اشاره کرد:

  • پرینترهای POS
  • اسباب‌بازی های تغذیه شده توسط باتری
  • رباتیک
  • ماشین های اتوماسیون اداری
نکته

این ماژول پین PWM مجزا ندارد، در نتیجه از یکی از پایه های دیجیتال به انتخاب خود برای PWM باید استفاده نمایید تا سرعت موتور را تنظیم بنمایید.

دیتاشیت آی سی DRV8833 را می توانید از اینجا دانلود کنید.

معرفی پایه های (Pinout) ماژول درایور موتور دو کاناله DRV8833

ماژول درایور موتور دو کاناله DRV8833 دارای 16 پایه به شرح زیر است:

  • VM: ولتاژ موتور
  • GND: زمین-در این ماژول سه زمین داریم که به یکدیگر متصل اند.
  • AO1: سر مثبت موتور A
  • AO2: سر منفی موتور A
  • BO1: سر مثبت موتور B
  • BO2: سر منفی موتور B
  • AIN1: سیگنال کنترلی موتور A
  • AIN2: سیگنال کنترلی موتور A
  • BIN1: سیگنال کنترلی موتور B
  • BIN2: سیگنال کنترلی موتور B
  • STBY: برای فعال شدن وضعیت Standby بایستی این پین HIGH شود.
  • NC: پایه‌های بدون استفاده

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید.

توجه شود که با حالت‌های مختلف سیگنال‌های کنترلی، عملکرد موتورهای DC متفاوت می‌شود. جدول زیر حالت‌های مختلف کاری را نشان می‌دهد.

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

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

آردوینو UNO R3 × 1
ماژول درایور موتور دو کاناله DRV8833 × 1
موتور DC ساده 6 ولت × 2
سیم جامپر نری-مادگی × 1

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

آردوینو IDE

راه اندازی ماژول درایور موتور دو کاناله DRV8833 با آردوینو

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

مطابق مدار زیر ماژول را به آردوینو وصل کنید.

توجه

پایه STBY را به VCC متصل کنید.

هشدار

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

گام دوم: کد

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

   /*
  DRV8833-Dual-Motor-Driver-Module
  made on 23 Nov 2020
  by Amir Mohammad Shojaee @ Electropeak
  Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="&#8220;Home&#8221; &#8212; Electropeak" src="https://electropeak.com/learn/embed/#?secret=HzKoaeQ1Z8" data-secret="HzKoaeQ1Z8" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

*/

#define AIN1 4
#define AIN2 5
#define BIN1 7
#define BIN2 8

void setup() {
  Serial.begin(9600);
  
  pinMode(AIN1,OUTPUT);
  pinMode(AIN2,OUTPUT);
  pinMode(BIN1,OUTPUT);
  pinMode(BIN2,OUTPUT);
  
}
 
void loop() {
  
  digitalWrite(AIN1,HIGH); 
  digitalWrite(AIN2,LOW);
  digitalWrite(BIN1,HIGH); 
  digitalWrite(BIN2,LOW);

  delay(1000);
  
  digitalWrite(AIN1,LOW); 
  digitalWrite(AIN2,LOW);
  digitalWrite(BIN1,LOW); 
  digitalWrite(BIN2,LOW);
  
  delay(1000);
  
  digitalWrite(AIN1,LOW); 
  digitalWrite(AIN2,HIGH);
  digitalWrite(BIN1,LOW); 
  digitalWrite(BIN2,HIGH);

  delay(1000);
  
  digitalWrite(AIN1,LOW); 
  digitalWrite(AIN2,LOW);
  digitalWrite(BIN1,LOW); 
  digitalWrite(BIN2,LOW);
  
  delay(1000);
   
}
Arduino

برنامه بالا برای کنترل همزمان دو موتور DC می‌باشد. موتورها ابتدا ساعتگرد می‌چرخند. سپس 1 ثانیه می‌ایستند و بعد از آن در جهت معکوس به چرخش درمی‌آیند. دوباره 1 ثانیه متوقف می‌شوند و این مراحل دوباره تکرار می‌شود.

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

Comments (2)

  • عرفان محرم‌خانی Reply

    سلام در مقاله اشاره شده که این ماژول PWM نداره در حالی که از PWM پشتیبانی میشه. البته با این کد نه.

    سپتامبر 19, 2024 at 5:04 ب.ظ
    • محمد دمیرچی Reply

      با سلام،
      ممنون از نظر خوبتون توضیحات اصلاح شد.

      نوامبر 18, 2024 at 4:35 ب.ظ

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

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