آموزش راه اندازی شیلد درایور موتور مونستر موتو VNH2SP30 با آردوینو

فهرست مطالب

ویژگی های شیلد موتور درایور مونستر موتو VNH2SP30

امروزه کنترل سرعت و جهت موتورهای DC بسیار پرکاربرد است. همچنین این موتورها در ساخت بسیاری از وسایل و تجهیزات مورد استفاده قرار می‌گیرند. یکی از روش‌های کنترل موتورهای DC استفاده از مدارهای تمام‌پل full-bridge است. این روش به شما اجازه می‌دهد هم سرعت و هم جهت موتور را کنترل کنید. در این شیلد یک جفت درایور تمام‌پل VNH2SP30 قرار دارد. قابلیت جدید این درایور نسبت به موارد مشابه آن، جریان بالای آن است. این شیلد می‌تواند عبور جریان  14 آمپر را در حالت پیوسته تحمل کند. تغذیه آن نیز بایستی بین 5.5 تا 16 ولت باشد.

یکی از پین های کنترلی این ماژول PWM می‌باشد. این پین به پایه فرمان ماسفت یا ترانزیستور وصل می‌شود و هرچه زمان روشن ماندن (Duty Cycle)آن بیشتر باشد، ولتاژ بیشتری در دو سر موتور قرار می‌گیرد و در نتیجه سرعت چرخش نیز بیشتر می‌شود.

توجه

در صورتی که از مدار شما جریانی بیشتر از 6 آمپر می‌گذرد، بایستی از هیت‌سینک جهت خنک‌سازی استفاده کنید.

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

معرفی پایه های (Pinout) شیلد موتور درایور مونستر موتو VNH2SP30

شیلد موتور درایور مونستر موتو VNH2SP30  دارای پایه‌هایی به شرح زیر است:

  • VM: ولتاژ موتور
  • VCC: ولتاژ تغذیه ماژول
  • GND: زمین
  • A1: سر مثبت موتور A
  • A2: سر منفی موتور A
  • B1: سر مثبت موتور B
  • B2: سر منفی موتور B
  • PWMA: سیگنال کنترل سرعت موتور A
  • PWMB: سیگنال کنترل سرعت موتور B
  • AIN1: سیگنال کنترلی موتور A
  • AIN2: سیگنال کنترلی موتور A
  • BIN1: سیگنال کنترلی موتور B
  • BIN2: سیگنال کنترلی موتور B
  • EN1: سیگنال فعالسازی موتور A
  • EN2: سیگنال فعالسازی موتور B
  • C1: سیگنال اندازه‌گیری جریان موتور A
  • C2: سیگنال اندازه‌گیری جریان موتور B

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

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

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

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

آردوینو UNO R3 × 1
شیلد موتور درایور مونستر موتو VNH2SP30 × 1
موتور DC ساده 6 ولت × 2
پتانسومتر 10 کیلواهم × 1
باتری 9 ولت کتابی × 1
گیره باتری 9 ولتی بدون فیش × 1
سیم جامپر نری-نری × 1
برد بورد 400 حفره ای × 1

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

آردوینو IDE

راه اندازی شیلد موتور درایور مونستر موتو VNH2SP30 با آردوینو

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

بعد از اینکه پین هدرهای مربوط به شیلد را روی آن لحیم کنیم، می‌توانیم بدون سیم‌کشی آن را به طور مستقیم برروی آردوینو قرار دهیم. اتصال دیگر قطعات به شیلد مانند شکل زیر است.

گام دوم : کد

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

 /*
  VNH2SP30-Monster-Shield
  made on 01 Nov 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
*/ int pot; int out; #define PWM1 5 #define AIN1 7 #define AIN2 8 #define PWM2 6 #define BIN1 4 #define BIN2 9 #define EN1 A0 #define EN2 A1 void setup(){ pinMode(BIN1,OUTPUT); pinMode(AIN1,OUTPUT); pinMode(AIN2,OUTPUT); pinMode(BIN2,OUTPUT); pinMode(PWM1,OUTPUT); pinMode(PWM2,OUTPUT); pinMode(A0,OUTPUT); pinMode(A1,OUTPUT); pinMode(A5,INPUT); } void loop(){ digitalWrite(A0,HIGH); digitalWrite(A1,HIGH); digitalWrite(BIN1,HIGH); digitalWrite(BIN2,LOW); digitalWrite(AIN1,HIGH); digitalWrite(AIN2,LOW); pot=analogRead(A5); out=map(pot,0,1023,0,255); analogWrite(PWM1,out); //Speed control of Motor A analogWrite(PWM2,out); //Speed control of Motor B }

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

هشدار
دقت کنید به دلیل اینکه موتورهای شما 6 ولت می‌باشد، پتانسیومتر را تا انتهای آن نچرخانید. زیرا مقدار ولتاژ ورودی 9 ولت است و امکان دارد به موتور آسیب برسد. البته می‌توانید از تغذیه‌ای با ولتاژ پایین تر یا از موتوری با ولتاژ بالاتر استفاده کنید.

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

Comments (9)

  • سیدمحمدحسن Reply

    سلام با تشکر از مطلب مفیدی که قرار دادید. بنده با سیم جامپر طبق همون نقشه اول صفحه پینهای ۴تا۹ و تمام GNDها رو به هم و vcc رو به vcc و آنالوگ های ۰تا۴ رو به آنالوگ صفر تا ۴ برد وصل کردم ولی موقعی که باتری رو به شیلد متصل میکنم فقط چراغ PWM شیلد روشن میشه و چراغ های برد روشن نمیشه(ظاهرا برق به برد نرسیده) مشکل از کجاست بنظرتون؟ اگر میشد فایل fritzing اتصالی رو هم میزاشتید خوب بود چون توی عکس شیلد رو گذاشتید روی برد و خیلی اتصال ها مشخص نیست

    آوریل 14, 2021 at 7:29 ب.ظ
  • سیدمحمدحسن Reply

    با سلام و احترام و تشکر بابت آموزش خوبتون,بنده پین های ۴تا۹ رو به دیحیتال ۴تا۹ برد و GND ها رو هم همگی به برد و آنالوگ های ۰تا۴ رو به آنالوگ برد و vin رو به vin برد وصل کردم ولی بعد از اتصال باتری به شیلد ,برد تامین تغذیه نمیشه,مگه موقعی که vin. ها رو به هم وصل میکنیم از شیلد تامین برق برای برد صورت نمیگیره یا اینکه باید تامین تغذیه برد جدا باشه؟

    آوریل 15, 2021 at 8:39 ق.ظ
    • مهران ملکی Reply

      سلام.
      فایل fritzing همون عکسیه که تو قسمت سیم‌بندی ها گذاشته شده. نحوه اتصال شیلد به برد آردوینو هم همینه که روی برد قرار بگیره. ولی اگر میخواید روی برد نذارید و با سیم جامپر متصل کنید هم میشه. کافیه یکبار شیلد رو روی برد بگیرید و متوجه میشید که هر پایه شیلد رو با سیم جامپر باید به کدوم پایه آردوینو متصل کنید. اتصال‌هایی هم که گفتید درست هستند همینطوری باید متصل میکردید.
      و در مورد vin و تغذیه مدار هم، بله تغذیه برد باید جداگونه تامین بشه. اون باتری صرفا تغذیه موتورهاست (همون چراغ pwm). تغذیه برد آردوینو و تغذیه آی سی های شیلد یکی‌اند و باید جداگونه تامین بشن.

      آوریل 17, 2021 at 10:47 ق.ظ
  • سیدمحمدحسن Reply

    سلام مجدد. تمام پین ها رو مثل شکل به هم وصل کردم و کد رو کپی کردم فقط قسمت analogwrite رو اینجوری تغییر دادم :
    int f=100;
    int t=0;

    analogWrite(PWM1,f); //Speed control of Motor A
    delay(2000);
    analogWrite(PWM1,t); //Speed control of Motor A
    delay(2000);
    analogWrite(PWM2,f); //Speed control of Motor B
    delay(2000);
    analogWrite(PWM2,t); //Speed control of Motor B
    مشکل اینه که موتور ۱ کامل درست کار میکنه و حرکت میکنه ولی موتور ۲ کار نمیکنه.
    بنظرتون مشکل از چی میتونه باشه؟

    آوریل 18, 2021 at 5:29 ب.ظ
    • مهران ملکی Reply

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

      آوریل 19, 2021 at 9:05 ق.ظ
  • سیدمحمدحسن Reply

    ببینید یه جراغ چشمک زن بغل هر موتور هست که دو حالت روشن و فول روشن داره این چراغ اصلا روشن نمیشه یعنی اصلا ربطی به سیم کشی به موتور نداره,

    آوریل 19, 2021 at 12:11 ب.ظ
  • سیدمحمدحسن Reply

    منظورم از روشن نشدن برای موتور ۲ هست یعنی. A2و b2

    آوریل 19, 2021 at 12:12 ب.ظ
    • مهران ملکی Reply

      خب پس امکانش هست که مشکل از خود برد درایور باشه.

      آوریل 20, 2021 at 9:26 ق.ظ
  • سیدمحمدحسن Reply

    ببینید با کدی که توی این لینک هست میزنم هر دو موتور کار میکنه ولی با این کد reverse نمیکنه دیگه گیج شدم,احساس میکنم سیم کشی ها نباید عین به عین uno باشه یعنی مثلا نباید ۴ رو به ۴ uno وصل کنم
    https://www.14core.com/wiring-the-vnh2sp30-30a-monster-moto-with-mcu/?unapproved=5522&moderation-hash=b80a45f4eaa3b28ded402e670a44152e#comment-5522

    آوریل 21, 2021 at 10:50 ق.ظ

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

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