ویژگی های ماژول درایور موتور دو کاناله DRV8833
امروزه کنترل سرعت و جهت موتورهای DC به علت کاربردهای فراوان، از اهمیت زیادی برخوردار است. عمومیترین روش کنترل موتورهای DC پل H یا همان H-Bridge است. ماژول دو کاناله DRV8833 نیز از همین روش برای کنترل دو موتور بهره میگیرد.
این ماژول دارای دو درایور H-bridge است و میتواند دو موتور DC، یک استپر موتور و یا بارهای سلفی دیگر را کنترل کند.
ولتاژ تغذیه موتور 2.7 تا 10.8 ولت و جریان مجاز پیوسته عبوری 1.5 آمپر و جریان مجاز حداکثر آن 2 آمپر میباشد.
از موارد کاربرد این ماژول میتوان به موارد زیر اشاره کرد:
- پرینترهای POS
- اسباببازی های تغذیه شده توسط باتری
- رباتیک
- ماشین های اتوماسیون اداری
نکته
این ماژول پین PWM ندارد در نتیجه نمیتوان سرعت موتورهای DC را به طور دقیق کنترل کرد و فقط جهت چرخش موتورهای DC قابل کنترل است. از طریق دو پین کنترلی میتوان موتورهای DC را در دو جهت مستقیم و معکوس کنترل کرد.
دیتاشیت آی سی DRV8833 را می توانید از اینجا دانلود کنید.
DRV8833 Dual Motor Driver Datasheet
معرفی پایه های (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 متفاوت میشود. جدول زیر حالتهای مختلف کاری را نشان میدهد.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول درایور موتور دو کاناله DRV8833 با آردوینو
گام اول: سیم بندی
مطابق مدار زیر ماژول را به آردوینو وصل کنید.
توجه
پایه STBY را به VCC متصل کنید.
هشدار
دقت کنید به دلیل اینکه موتورهای شما 6 ولت میباشد از منبع تغذیه با ولتاژ بالاتر از 6 ولت استفاده نکنید.
گام دوم: کد
کد زیر را روی برد آردوینوی خود آپلود کنید.
/*
DRV8833-Dual-Motor-Driver-Module
made on 23 Nov 2020
by Amir Mohammad Shojaee @ Electropeak
Home
*/
#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);
}
برنامه بالا برای کنترل همزمان دو موتور DC میباشد. موتورها ابتدا ساعتگرد میچرخند. سپس 1 ثانیه میایستند و بعد از آن در جهت معکوس به چرخش درمیآیند. دوباره 1 ثانیه متوقف میشوند و این مراحل دوباره تکرار میشود.