ควบคุมมอเตอร์ไร้แปรงโดยใช้ Arduino
มุมมอง: 0 ผู้แต่ง: ไซต์บรรณาธิการเผยแพร่เวลา: 2020-09-02 Origin: เว็บไซต์
สอบถาม
ฉันคิดถึงการควบคุม ESC ก.
ตัวควบคุมความเร็วอิเล็กทรอนิกส์ของมอเตอร์ไร้แปรงโดยไม่มีเครื่องส่งสัญญาณและตัวรับสัญญาณหรือมีโครงการที่คุณต้องการใช้วงจรง่าย ๆ หรือ Arduino เพื่อควบคุมความเร็วของมอเตอร์ไร้แปรงและจากนั้นเราสามารถทำสิ่งนี้กับ Arduino Micro Controller
ซึ่งรวมถึงการใช้สัญญาณ PWM ของ Arduino S เพื่อควบคุมความเร็วของมอเตอร์ DC ผ่าน ESC
สิ่งนี้จะช่วยให้คุณประหยัดค่าใช้จ่ายในการซื้อเครื่องทดสอบเซอร์โวหรือเครื่องส่งสัญญาณ RC และตัวรับสัญญาณ
ให้เริ่มต้นกันเถอะ! -
สิ่งที่คุณต้องการ: ก่อนอื่นเชื่อมต่อเทอร์มินัลทั้งสามของมอเตอร์ไร้แปรงกับเทอร์มินัลทั้งสามของ ESC
สกรูมอเตอร์เข้ากับบอร์ดที่ใช้งานหนักเพื่อรักษาเสถียรภาพที่รอบต่อนาทีสูง
ดาวน์โหลดและแฟลชรหัสที่มีอยู่ที่ด้านล่างของหน้าไปยัง Arduino โดยใช้สายเคเบิล USB (
มีการอธิบายรหัสในหน้านี้ในหน้านี้)
เชื่อมต่อสายสัญญาณสีขาวหรือสีเหลืองหลักของ ESC กับ PWM PIN ใด ๆ Arduino ฉันเชื่อมต่อกับ Pin D8 และระบุ PIN 8 สำหรับมันในภาพร่าง Arduino
คุณสามารถควบคุมมอเตอร์จำนวนมากโดยใช้พินหลายตัว
เชื่อมต่อโพเทนชิออมิเตอร์เข้ากับพิน VCC หรือ 5 V ของ Arduino และพื้นดิน
เชื่อมต่อเทอร์มินัลที่สามของพินตัวแปรเข้ากับพินอะนาล็อก 0 และคุณสามารถจ่ายไฟ Arduino โดยใช้ BEC (
วงจรตัวยกเลิกแบตเตอรี่)
ปรากฏใน ESC ของคุณ
หากต้องการใช้ BEC เพียงเชื่อมต่อลวดหนาสีแดงเข้ากับพิน VIN ของ Arduino
มันสามารถให้ 5 V.
ไม่ได้มี ESC ทั้งหมดซึ่งในกรณีนี้คุณสามารถใช้แหล่งจ่ายไฟ 5 V ภายนอก
หลังจากเปิดเครื่อง Arduino ให้เชื่อมต่อแบตเตอรี่ Lipo กับ ESC ทันที เสร็จแล้ว! -
ตอนนี้ค่อยๆหมุนปุ่มโพเทนชิออมิเตอร์เพื่อเริ่มต้นและเพิ่มความเร็วของมอเตอร์
ในรหัสนี้เราเพียงแค่แมปหรืออ้างอิงค่าสูงสุด (1023) และขั้นต่ำ (0)
ค่าการจำลองที่ PIN 0 ถึงค่าสูงสุดที่ต้องการ (2000) และขั้นต่ำ (1,000)
ทำงานและควบคุมค่าความเร็ว ESC
คุณอาจต้องเปลี่ยนค่าสูงสุดและต่ำสุดของ ESC I.
ค่าที่แตกต่างกันสำหรับ E 1000 และ 2000 กล่าวอีกนัยหนึ่งคุณอาจต้องปรับเทียบเพราะ ESC ที่แตกต่างกันอาจมีจุดเริ่มต้นและจุดสิ้นสุดที่แตกต่างกัน
เยี่ยมชมสำหรับบทช่วยสอนเพิ่มเติม
รหัสเพื่อควบคุม ESSCServo ESC โดยใช้ไลบรารีเซอร์โวรวมถึง //;
/สร้างการตั้งค่าที่มีชื่อ ESC void () {esc แนบ (9);
/ระบุพินสัญญาณ ESC, ESC ที่นี่
วินาที (1,000);
/เริ่มต้นสัญญาณเป็น 1,000 อนุกรม เริ่มต้น (9600); } void loop () {int val;
/สร้างตัวแปร val = analograd (a0);
/อ่านอินพุตจากอนาล็อกพิน 0 และเก็บไว้ใน val = map (
val, 0,1023, 1,000,2000);
/แผนที่ val เป็น min และ max (
เปลี่ยนถ้าจำเป็น) ESC
วินาที (วาล);
/ใช้ Val เป็นสัญญาณไปยัง ESC