ใช้ L9110s กับ Arduino

Using the L9110S With the Arduino

ไดรเวอร์มอเตอร์ L9110S เป็นโซลูชันขนาดกะทัดรัดและมีประสิทธิภาพสำหรับการควบคุมมอเตอร์ DC และมอเตอร์สเต็ปเปอร์ในโครงการ Arduino ของคุณ ไม่ว่าคุณจะสร้างหุ่นยนต์ง่าย ๆ หรือระบบอัตโนมัติที่ซับซ้อนมากขึ้น L9110s เสนอวิธีที่เชื่อถือได้ในการจัดการการทำงานของมอเตอร์ด้วยการเดินสายไฟน้อยที่สุดและความซับซ้อนของการเขียนโปรแกรม ในโพสต์บล็อกนี้เราจะสำรวจคุณสมบัติของไดรเวอร์มอเตอร์ L9110S วิธีเชื่อมต่อกับ Arduino และให้รหัสตัวอย่างเพื่อให้คุณเริ่มต้น

L9110S คืออะไร?

L9110S เป็นตัวขับมอเตอร์แบบคู่ที่ออกแบบมาเพื่อควบคุมความเร็วและทิศทางของมอเตอร์ DC สองตัวหรือมอเตอร์สเต็ปเปอร์หนึ่งตัว มันทำงานในช่วงแรงดันไฟฟ้า 2.5V ถึง 12V ทำให้สามารถใช้งานได้หลากหลายสำหรับแอปพลิเคชันต่างๆ L9110s เป็นที่รู้จักกันดีในเรื่องขนาดกะทัดรัดการใช้พลังงานต่ำและความสะดวกในการรวมเข้ากับไมโครคอนโทรลเลอร์เช่น Arduino

ทำไมต้องเลือก L9110S?

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

การเชื่อมต่อ L9110s กับ Arduino

การตั้งค่า L9110s ด้วย Arduino นั้นตรงไปตรงมา ด้านล่างเป็นคู่มือทีละขั้นตอนในการสร้างการเชื่อมต่อ:

  1. การเชื่อมต่อพลังงาน:
    • เชื่อมต่อ VCC พินของ L9110S ไปยังพิน 5V บน Arduino
    • เชื่อมต่อ GND พินของ L9110S ไปยังพิน GND บน Arduino
  2. การเชื่อมต่อมอเตอร์:
    • เชื่อมต่อมอเตอร์แรกกับไฟล์ OUT1 และ OUT2 พิน
    • หากใช้มอเตอร์ตัวที่สองให้เชื่อมต่อกับไฟล์ OUT3 และ OUT4 พิน
  3. หมุดควบคุม:
    • เชื่อมต่อ AIN1 และ AIN2 พินถึงสองหมุดดิจิตอลบน Arduino (เช่นหมุด 2 และ 3)
    • หากใช้มอเตอร์ตัวที่สองให้เชื่อมต่อ BIN1 และ BIN2 ไปยังหมุดดิจิตอลอื่น ๆ อีกสองอัน (เช่นพิน 4 และ 5)

อ้างถึงแผนภาพด้านล่างสำหรับการแสดงภาพการเชื่อมต่อ:

L9110S ARDUINO DIAGRAM

การเขียนโปรแกรม Arduino

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


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Loop function
void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

คำอธิบาย:

  • AIN1 และ AIN2 ใช้เพื่อควบคุมทิศทางของมอเตอร์
  • การตั้งค่า AIN1 สูงและ AIN2 ต่ำหมุนมอเตอร์ไปข้างหน้า
  • การตั้งค่า AIN1 ต่ำและ AIN2 สูงหมุนมอเตอร์ไปข้างหลัง
  • ตั้งค่าทั้งสอง AIN1 และ AIN2 หยุดมอเตอร์ต่ำ

การควบคุมความเร็วด้วย PWM

L9110S รองรับ PWM (การปรับความกว้างพัลส์) สำหรับการควบคุมความเร็ว ด้วยการเปลี่ยนแปลงรอบการทำงานของสัญญาณ PWM คุณสามารถปรับความเร็วของมอเตอร์ได้ นี่คือวิธีแก้ไขรหัสก่อนหน้าเพื่อรวมการควบคุมความเร็ว:


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Loop function
void loop() {
  // Set speed to 150 out of 255
  analogWrite(PWM_PIN, 150);

  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

คำอธิบาย: ที่ analogWrite() ฟังก์ชั่นส่งสัญญาณ PWM ไปยังมอเตอร์ช่วยให้คุณสามารถควบคุมความเร็วได้ ค่ามีตั้งแต่ 0 (หยุด) ถึง 255 (ความเร็วเต็ม)

แอปพลิเคชันของ L9110s กับ Arduino

การรวมกันของไดรเวอร์มอเตอร์ L9110S และ Arduino เปิดโอกาสให้โครงการได้หลากหลาย:

  • หุ่นยนต์: ควบคุมการเคลื่อนไหวของแขนหุ่นยนต์หรือหุ่นยนต์มือถือด้วยการควบคุมมอเตอร์ที่แม่นยำ
  • ระบบอัตโนมัติ: ทำงานอัตโนมัติเช่นประตูเปิด/ปิดการปรับวาล์วหรือส่วนประกอบที่เคลื่อนย้ายในสายการประกอบ
  • โครงการ DIY: สร้างโครงการอิเล็กทรอนิกส์ที่กำหนดเองเช่นแถบเลื่อนกล้องแบบมอเตอร์ระบบการรดน้ำโรงงานอัตโนมัติหรือยานพาหนะที่ควบคุมระยะไกล
  • เครื่องมือการศึกษา: สอนนักเรียนเกี่ยวกับการควบคุมมอเตอร์อิเล็กทรอนิกส์และการเขียนโปรแกรมผ่านโครงการจริง

บทสรุป

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

ทดลองด้วยความเร็วมอเตอร์ทิศทางและแอปพลิเคชันที่แตกต่างกันเพื่อควบคุมศักยภาพของไดรเวอร์มอเตอร์ L9110S อย่างเต็มที่ มีความสุขในการซ่อมแซม!

แสดงความคิดเห็น

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.