ใช้ Arduino เพื่อสร้างสัญญาณ PWM และควบคุม ESC เพื่อรับรู้การเดินหน้าและถอยหลังของมอเตอร์
โพสต์โดย Fengyukun เมื่อ
การควบคุมตัวควบคุมความเร็วอิเล็กทรอนิกส์ (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 และมอเตอร์ของคุณ
แชร์โพสต์นี้
- 0 ความคิดเห็น
- แท็ก: ESC
← โพสต์ที่เก่ากว่า โพสต์ที่ใหม่กว่า →