DRV8835 Dual Motor Driver Shield for Arduino

DRV8835 Dual Motor Driver Shield for Arduino

DRV8835 Dual Motor Driver Shield for Arduino

            บอร์ดขับมอเตอร์ DRV8835 เป็นบอร์ดขับมอเตอร์ขนาดเล็ก ที่ขับมอเตอร์กระแสไฟตรงได้ 2 ตัว ใช้สำหรับบอร์ด Arduino

            DRV8835 ให้สามารถขับมอเตอร์ได้ตั้งแต่ 1.5 โวลต์ถึง 11 V ทำให้มันเป็นตัวเลือกที่ดีสำหรับการควบคุมมอเตอร์แรงดันต่ำ แล้วยังสามารถส่งมอบแรงดันได้อย่างต่อเนื่อง 1.2 A (1.5 A สูงสุด) ต่อมอเตอร์หรืออย่างต่อเนื่อง 2.4 A (สูงสุด 3 A) เมื่อต่อมเตอร์เข้าด้วยกัน 2 ตัว

                                       

 

 

      DRV8835 ใช้ขาดิจิตอล 7, 8, 9, 10 สำหรับการควบคุมมอเตอร์ และใช้สัญญาณขา PWM ขา 9 และ 10 ในการควบคุมความเร็วของมอเตอร์ และยังสามารถใช้ได้กับอีกหลาย ๆ บอร์ด

  • A-Star 32U4 Prime
  • Arduino Uno
  • Arduino Leonardo
  • Arduino Due
  • Arduino Mega 2560
  • Arduino R3B

คุณสมบัติทั่วไป

  • ควบคุมมอเตอร์ 2 ตัว แบบ H-Bridge และยังสามารถควบคุมมอเตอร์ 2 ตัว แบบสเต็ปเปอร์มอเตอร์ได้
  • ควบคุมมอเตอร์ได้ตั้งแต่ 5V-11V
  • แรงดันของขาสัญญาณ 2V-7V
  • จ่ายกระแสไฟได้สูงสุด 1.2A (สูงสุด 1.5A) ต่อมอเตอร์ 1 ตัว
  • เมื่อต่อมอเตอร์ 2 ตัวแบบขนานสามารถจ่ายกระแสไฟได้สูงสุด 2.4A (สูงสุด 3A) ต่อมอเตอร์ 1 ตัว
  • ความถี่ของขาสัญญาณ PWM สูงสุดได้ถึง 250 kHz
  • DRV8835 Shield สามารถใช้ไฟเลี้ยงกับบอร์ด Arduino ได้เลย
  • มี Library ให้เพื่อง่ายต่อการใช้งาน
  • มีวงจรป้องกันกระแสไฟไหลย้อนกลับ
  • ป้องกันแรงดันไฟฟ้าเกิน และ ป้องกันเมื่อมีอุณหภูมิของ IC ร้อนเกิน

การประกอบ

ในชุดจะมีขา IDC และ เทอร์มินอลบล็อคมาให้เชื่อมต่อในบอร์ด โดยจะต้องนำมาบัดกรี และนำเสียบไว้บนบอร์ด Arduino

 

การใช้งานบอร์ด

            เมื่อบัดกรีกับของที่ให้มาในชุดแล้ว ก็นำไปปลั๊กเข้าไปใน Arduino กับพอร์ตดิจิตอล 6, 7, 8, 9, 10 ในอีกด้านหนึ่งของ Arduino จะเสียบเข้ากับ VIN, GND, GND และ 5V / VCC สำหรับในตัวอย่างจะนำมาใช้กับบอร์ด Arduino R3B ซึ่งผลิตโดย inex  ในการใช้งานก็สามารถเสียบ DRV8835 เข้ากับบอร์ดได้เลย ตามรูปภาพ

การทดสอบบอร์ดขับมอเตอร์และการเขียนโปรแกรม

               สำหรับการการเขียนโปรแกรม จะมี Library ให้มาใช้งาน เพื่อให้งานต่อการสั่งการควบคุมมอเตอร์ ซึ่งขาต่าง ๆ ก็ได้ถูกกำหนดไว้ให้แล้ว หรืออาจจะเขียนโปรแกรมขึ้นมาเอง โดยขาที่ใช้ได้แก่ PWM 9,10 และ ขา 8,9 เป็นขาดิจิตอล

               การต่อวงจรในการใช้งานสามารถนำมอเตอร์และแบตเตอรี่มาต่อกับเทอร์มิเนอร์คอนเน็กเตอร์ได้เลยสามารถต่อได้ตามรูปภาพ

 

 

               มอเตอร์ที่สามารถใช้ได้ 1.5V – 11V และกระแสไฟของแบตเตอรี่ต้องไม่เกิน 1.2A แต่ถ้าต่อมอเตอร์แบบขนานวงจรขับมอเตอร์สามารถรับกระแสไฟได้ถึง 2.4A

               ในการเขียนโปรแกรมจำต้องดาวน์โหลด Library มาใช้งาน (ลิงค์ดาวน์โหลด Library อยู่ด้านล่าง ) หรือสามารถเขียนคำสั่งขึ้นมาเองก็ได้เช่นกัน

ลิงค์ดาวน์โหลด Library

วิธีการติดตั้ง Library 

  1. เมื่อโหลด Library เสร็จเเล้วให้ทำการเเตกไฟล์ .zip ออก
  2. นำโฟลเดอร์ drv8835-motor-shield-master ไปวางไว้ใน C:\Arduino17\libraries
  3. เปิดโปรแกรมเเละลองเอาโค้ดตัวอย่างข้างล่างไปทดสอบ

ตัวอย่างการเขียนโปรแกรม

#include <DRV8835MotorShield.h>

#define LED_PIN 13

DRV8835MotorShield motors;

void setup()
{
  pinMode(LED_PIN, OUTPUT);
}

void loop()
{
  digitalWrite(LED_PIN, HIGH);
  
  for (int speed = 0; speed <= 400; speed++)
  {
    motors.setSpeeds(speed,speed);
    delay(2);
  }
  delay(3000);
  
  digitalWrite(LED_PIN, LOW);
  
  for (int speed = 0; speed >= -400; speed--)
  {
    motors.setSpeeds(speed,speed);;
    delay(2);
  }
 delay(3000);
}

            โปรแกรมจะทำงานโดยการหมุนความเร็วของมอเตอร์จากความเร็วน้อยไปมาก ทำการหมุนมอเตอร์พร้อมกันทั้ง 2 ตัว ความเร็วในการสั่งมอเตอร์ได้สูงสุด 400 เมื่อความเร็วถึง 400 จะทำการหมุนที่ความเร็วสูงสุดเป็นเวลา 3 วินาที หลังจากนั้นก็จะหมุนกลับอีกด้าน จากความเร็วน้อยไปมาก และหมุนที่ความเร็วสูงสุด 3 วินาที

Facebook Comments Box