ใช้ Arduino เพื่อสร้างสัญญาณ PWM และควบคุม ESC เพื่อรับรู้การเดินหน้าและถอยหลังของมอเตอร์
การควบคุมตัวควบคุมความเร็วอิเล็กทรอนิกส์ (ESC) แบบสองทิศทางโดยใช้สัญญาณ PWM โดยทั่วไปเกี่ยวข้องกับการส่งค่า PWM เฉพาะเพื่อควบคุมความเร็วและทิศทางของมอเตอร์ ด้านล่างนี้คือตัวอย่างโค้ดควบคุมง่ายๆ โดยใช้ Arduino เพื่อสร้างสัญญาณ PWM และควบคุม ESC แบบสองทิศทาง โปรดตรวจสอบให้แน่ใจว่า ESC แบบสองทิศทางของคุณเชื่อมต่อกับพิน PWM ของ Arduino และขับเคลื่อนอย่างถูกต้อง

#รวม <Servo.h>
เซอร์โว esc; // สร้างวัตถุเซอร์โว
การตั้งค่าเป็นโมฆะ () {
esc.attach(9); // ต่อ ESC เพื่อปักหมุด 9 บน Arduino
esc.writeMicroseconds(1500); // เตรียมใช้งานมอเตอร์ให้อยู่ในตำแหน่งที่เป็นกลาง
ล่าช้า (2000); // รอ 2 วินาที
}
เป็นโมฆะวน() {
int throttle = 1500; // ตำแหน่งว่าง มอเตอร์ไม่หมุน
esc.writeMicroseconds(throttle); // ส่งสัญญาณ PWM เพื่อควบคุมมอเตอร์
//ดีเลย์ไปช่วงระยะเวลาหนึ่ง
ล่าช้า (1,000);
// เร่งความเร็วมอเตอร์โดยการเพิ่มสัญญาณ PWM
เค้น = 1600;
esc.writeMicroseconds(คันเร่ง);
//ดีเลย์ไปช่วงระยะเวลาหนึ่ง
ล่าช้า (1,000);
// ชะลอความเร็วมอเตอร์โดยการลดสัญญาณ PWM
เค้น = 1400;
esc.writeMicroseconds(คันเร่ง);
//ดีเลย์ไปช่วงระยะเวลาหนึ่ง
ล่าช้า (1,000);
}
ในตัวอย่างนี้ เราใช้ไลบรารีเซอร์โวของ Arduino เพื่อสร้างสัญญาณ PWM และส่งไปยัง ESC ขั้นแรก เราแนบ ESC เพื่อพิน 9 ของ Arduino และตั้งค่า PWM เริ่มต้นเป็น 1500 ไมโครวินาที ซึ่งโดยทั่วไปจะเป็นตำแหน่งที่เป็นกลางสำหรับ มอเตอร์
จากนั้น เราเข้าสู่ฟังก์ชัน loop() ซึ่งเราสามารถควบคุมการทำงานของมอเตอร์ได้ เราควบคุมความกว้างพัลส์ของสัญญาณ PWM โดยการเปลี่ยนตัวแปรปีกผีเสื้อเพื่อปรับความเร็วของมอเตอร์ ในตัวอย่างนี้ เราสาธิตการเร่งความเร็วและลดความเร็วของมอเตอร์
โปรดทราบว่าช่วงสัญญาณ PWM จริงและตำแหน่งที่เป็นกลางอาจแตกต่างกันไปขึ้นอยู่กับรุ่น ESC ดังนั้นคุณอาจต้องปรับแต่งตามข้อกำหนด ESC ของคุณ นอกจากนี้ นี่เป็นตัวอย่างง่ายๆ และคุณสามารถเขียนโค้ดควบคุมที่ซับซ้อนมากขึ้นได้ เพื่อให้เป็นไปตามข้อกำหนดการใช้งานเฉพาะของคุณ ตรวจสอบให้แน่ใจว่าได้ใช้งานตามข้อกำหนดของ ESC และมอเตอร์ของคุณ

#รวม <Servo.h>
เซอร์โว esc; // สร้างวัตถุเซอร์โว
การตั้งค่าเป็นโมฆะ () {
esc.attach(9); // ต่อ ESC เพื่อปักหมุด 9 บน Arduino
esc.writeMicroseconds(1500); // เตรียมใช้งานมอเตอร์ให้อยู่ในตำแหน่งที่เป็นกลาง
ล่าช้า (2000); // รอ 2 วินาที
}
เป็นโมฆะวน() {
int throttle = 1500; // ตำแหน่งว่าง มอเตอร์ไม่หมุน
esc.writeMicroseconds(throttle); // ส่งสัญญาณ PWM เพื่อควบคุมมอเตอร์
//ดีเลย์ไปช่วงระยะเวลาหนึ่ง
ล่าช้า (1,000);
// เร่งความเร็วมอเตอร์โดยการเพิ่มสัญญาณ PWM
เค้น = 1600;
esc.writeMicroseconds(คันเร่ง);
//ดีเลย์ไปช่วงระยะเวลาหนึ่ง
ล่าช้า (1,000);
// ชะลอความเร็วมอเตอร์โดยการลดสัญญาณ PWM
เค้น = 1400;
esc.writeMicroseconds(คันเร่ง);
//ดีเลย์ไปช่วงระยะเวลาหนึ่ง
ล่าช้า (1,000);
}
ในตัวอย่างนี้ เราใช้ไลบรารีเซอร์โวของ Arduino เพื่อสร้างสัญญาณ PWM และส่งไปยัง ESC ขั้นแรก เราแนบ ESC เพื่อพิน 9 ของ Arduino และตั้งค่า PWM เริ่มต้นเป็น 1500 ไมโครวินาที ซึ่งโดยทั่วไปจะเป็นตำแหน่งที่เป็นกลางสำหรับ มอเตอร์
จากนั้น เราเข้าสู่ฟังก์ชัน loop() ซึ่งเราสามารถควบคุมการทำงานของมอเตอร์ได้ เราควบคุมความกว้างพัลส์ของสัญญาณ PWM โดยการเปลี่ยนตัวแปรปีกผีเสื้อเพื่อปรับความเร็วของมอเตอร์ ในตัวอย่างนี้ เราสาธิตการเร่งความเร็วและลดความเร็วของมอเตอร์
โปรดทราบว่าช่วงสัญญาณ PWM จริงและตำแหน่งที่เป็นกลางอาจแตกต่างกันไปขึ้นอยู่กับรุ่น ESC ดังนั้นคุณอาจต้องปรับแต่งตามข้อกำหนด ESC ของคุณ นอกจากนี้ นี่เป็นตัวอย่างง่ายๆ และคุณสามารถเขียนโค้ดควบคุมที่ซับซ้อนมากขึ้นได้ เพื่อให้เป็นไปตามข้อกำหนดการใช้งานเฉพาะของคุณ ตรวจสอบให้แน่ใจว่าได้ใช้งานตามข้อกำหนดของ ESC และมอเตอร์ของคุณ