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

فهرست مطالب

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

امروزه ماژول‌های درایور موتور بسیار پرکاربرد هستند و برای کنترل سرعت و جهت موتورها استفاده می‌شوند. ماژول دو کاناله L9110S نیز یکی از آن‌ها می‌باشد. از این ماژول می‌توان برای کنترل دو موتور DC و یک استپر موتور استفاده کرد. این ماژول بر مبنای آی‌سی L9110 است. ویژگی های این آی‌سی عبارت‌اند از:

  • جریان مجاز پیوسته برای هر کانال حدود 800 میلی‌آمپر است.
  • حداکثر جریان مجاز 1.5 آمپر است.
  • ولتاژ تغذیه آن 2.5 تا 12 ولت می‌باشد.
توجه

دو پین اتصالی به هر موتور DC، می‌توانند PWM و یا دیجیتال باشند. در صورتی که به صورت دیجیتال تعریف شوند، فقط می‌توانند جهت حرکت موتورها را کنترل کنند.

دو ماژول تقریبا یکسان بر مبنای آی‌سی L9110 را در تصاویر زیر مشاهده می‌کنید.

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

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

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

  • VCC: ولتاژ تغذیه ماژول
  • GND: زمین
  • M-A: پایه موتور A
  • M-B: پایه موتور B
  • A-1: سیگنال کنترلی موتور A
  • A-2: سیگنال کنترلی موتور A
  • B-1: سیگنال کنترلی موتور B
  • B-2: سیگنال کنترلی موتور B

پین اوت (Pinout) دو ماژول زیر که هر دو بر مبنای آی‌سی L9110S هستند، در تصاویر زیر مشخص شده‌اند.

توجه شود که با حالت‌های مختلف سیگنال‌های کنترلی، عملکرد موتورها متفاوت می‌شود. برای مثال حالت‌های مختلف پایه‌های کنترلی موتور A (A-1 , A-2) با ورودی دیجیتال در تصویر زیر بیان شده‌اند.

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

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

تذکر

برای ادامه آموزش راه‌اندازی، تهیه یکی از دو ماژول درایور موتور زیر کافی می‌باشد.

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

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

آردوینو IDE

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

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

در تصاویر زیر نحوه اتصال دو ماژول درایور موتور، جهت راه‌‌اندازی با آردوینو را مشاهده می کنید.

توجه

GND برد آردوینو را به GND منبع تغذیه متصل کنید.

هشدار

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

گام دوم : کد

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

   /*
   L9110S-Stepper-DC-motor-Driver-Module
  made on 28 oct 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، موتور می‌ایستد.

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

Comments (3)

  • حسن Reply

    سلام خیلی ممنون از مطالبتون فقط یه سوال دارم
    من وقتی باتری رو به درایور وصل میکنم کامل روشن میشه میخواستم بدونم اگه بخام اردوینو را با باتری روشن کنم باید چیکار کنم؟

    دسامبر 14, 2021 at 7:25 ب.ظ
    • مهران ملکی Reply

      سلام.
      منظورتون رو کامل متوجه نشدم. میخواید با یک باتری علاوه بر درایور، آردوینو رو هم روشن کنید؟ برای این کار کافیه که سر مثبت باتری رو به پایه vin و سر منفی باتری رو به GND آردوینو متصل کنید.

      دسامبر 18, 2021 at 9:20 ق.ظ
  • salar Reply

    سلام خسته نباشید

    بنده دو تا مشکل دارم

    ۱. وقتی به باتری وصل میکنم نمیتونم کنترلی روی ماژول داشته باشم یعنی نمیتونم با استفاده از برد nodemcu esp8266 موتور رو روشن کنم اما وقتی به خروجی 3 ولت mcu8266 متصل میکنم موتور روشن میشه

    ۲. نویز الکتریکی ایجاد میشه صدایی مثل بازر از تو آرمیچر میاد

    لطفا کمکم کنید ۳ روزه سفارش دادم تو این ۳ روز هر چی میگردم نمیتونم مشکل رو حل کنم

    آگوست 28, 2022 at 6:51 ق.ظ

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

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