ไดรเวอร์มอเตอร์ L9110S เป็นโซลูชันขนาดกะทัดรัดและมีประสิทธิภาพสำหรับการควบคุมมอเตอร์ DC และมอเตอร์สเต็ปเปอร์ในโครงการ Arduino ของคุณ ไม่ว่าคุณจะสร้างหุ่นยนต์ง่าย ๆ หรือระบบอัตโนมัติที่ซับซ้อนมากขึ้น L9110s เสนอวิธีที่เชื่อถือได้ในการจัดการการทำงานของมอเตอร์ด้วยการเดินสายไฟน้อยที่สุดและความซับซ้อนของการเขียนโปรแกรม ในโพสต์บล็อกนี้เราจะสำรวจคุณสมบัติของไดรเวอร์มอเตอร์ L9110S วิธีเชื่อมต่อกับ Arduino และให้รหัสตัวอย่างเพื่อให้คุณเริ่มต้น
L9110S คืออะไร?
L9110S เป็นตัวขับมอเตอร์แบบคู่ที่ออกแบบมาเพื่อควบคุมความเร็วและทิศทางของมอเตอร์ DC สองตัวหรือมอเตอร์สเต็ปเปอร์หนึ่งตัว มันทำงานในช่วงแรงดันไฟฟ้า 2.5V ถึง 12V ทำให้สามารถใช้งานได้หลากหลายสำหรับแอปพลิเคชันต่างๆ L9110s เป็นที่รู้จักกันดีในเรื่องขนาดกะทัดรัดการใช้พลังงานต่ำและความสะดวกในการรวมเข้ากับไมโครคอนโทรลเลอร์เช่น Arduino
ทำไมต้องเลือก L9110S?
- การออกแบบขนาดกะทัดรัด: รอยเท้าขนาดเล็กทำให้เหมาะสำหรับโครงการที่มีพื้นที่ จำกัด
- ช่องสองช่อง: ควบคุมมอเตอร์สองตัวอย่างอิสระช่วยให้มีการเคลื่อนไหวที่ซับซ้อน
- ใช้งานง่าย: อินเทอร์เฟซอย่างง่ายพร้อมการติดฉลากที่ชัดเจนเพื่อการเชื่อมต่อที่ง่าย
- คุ้มค่า: ราคาที่ไม่แพงโดยไม่ลดทอนการใช้งาน
การเชื่อมต่อ L9110s กับ Arduino
การตั้งค่า L9110s ด้วย Arduino นั้นตรงไปตรงมา ด้านล่างเป็นคู่มือทีละขั้นตอนในการสร้างการเชื่อมต่อ:
-
การเชื่อมต่อพลังงาน:
- เชื่อมต่อ
VCC
พินของ L9110S ไปยังพิน 5V บน Arduino - เชื่อมต่อ
GND
พินของ L9110S ไปยังพิน GND บน Arduino
- เชื่อมต่อ
-
การเชื่อมต่อมอเตอร์:
- เชื่อมต่อมอเตอร์แรกกับไฟล์
OUT1
และOUT2
พิน - หากใช้มอเตอร์ตัวที่สองให้เชื่อมต่อกับไฟล์
OUT3
และOUT4
พิน
- เชื่อมต่อมอเตอร์แรกกับไฟล์
-
หมุดควบคุม:
- เชื่อมต่อ
AIN1
และAIN2
พินถึงสองหมุดดิจิตอลบน Arduino (เช่นหมุด 2 และ 3) - หากใช้มอเตอร์ตัวที่สองให้เชื่อมต่อ
BIN1
และBIN2
ไปยังหมุดดิจิตอลอื่น ๆ อีกสองอัน (เช่นพิน 4 และ 5)
- เชื่อมต่อ
อ้างถึงแผนภาพด้านล่างสำหรับการแสดงภาพการเชื่อมต่อ:
การเขียนโปรแกรม 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 อย่างเต็มที่ มีความสุขในการซ่อมแซม!