Knowledge — ESC

ใช้ Arduino เพื่อสร้างสัญญาณ PWM และควบคุม ESC เพื่อรับรู้การเดินหน้าและถอยหลังของมอเตอร์

โพสต์โดย Fengyukun เมื่อ

ใช้ Arduino เพื่อสร้างสัญญาณ PWM และควบคุม ESC เพื่อรับรู้การเดินหน้าและถอยหลังของมอเตอร์

การควบคุมตัวควบคุมความเร็วอิเล็กทรอนิกส์ (ESC) แบบสองทิศทางโดยใช้สัญญาณ PWM โดยทั่วไปเกี่ยวข้องกับการส่งค่า PWM เฉพาะเพื่อควบคุมความเร็วและทิศทางของมอเตอร์ ด้านล่างนี้คือตัวอย่างโค้ดควบคุมง่ายๆ โดยใช้ Arduino เพื่อสร้างสัญญาณ PWM และควบคุม ESC แบบสองทิศทาง โปรดตรวจสอบให้แน่ใจว่า ESC แบบสองทิศทางของคุณเชื่อมต่อกับพิน PWM ของ Arduino และขับเคลื่อนอย่างถูกต้อง#รวม <Servo.h>เซอร์โว esc; // สร้างวัตถุเซอร์โวการตั้งค่าเป็นโมฆะ () {esc.attach(9); // ต่อ ESC เพื่อปักหมุด 9 บน Arduinoesc.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 ของคุณ นอกจากนี้ นี่เป็นตัวอย่างง่ายๆ...

อ่านเพิ่มเติม →

ฉันจะใช้ Raspberry Pi 4B เพื่อส่งสัญญาณ PWM ไปยัง ESC เพื่อควบคุมเครื่องขับดันใต้น้ำได้อย่างไร

โพสต์โดย Fengyukun เมื่อ

ฉันจะใช้ Raspberry Pi 4B เพื่อส่งสัญญาณ PWM ไปยัง ESC เพื่อควบคุมเครื่องขับดันใต้น้ำได้อย่างไร
สัญญาณหยุดที่เป็นกลางคือสัญญาณปลดล็อค
เมื่อใช้สัญญาณ 50Hz ระยะเวลาสัญญาณคือ 20ms
เปอร์เซ็นต์ในคำสั่งหมายถึงเปอร์เซ็นต์ของความกว้างพัลส์ควบคุม PWM ไม่ใช่รอบการทำงานที่แท้จริงของสัญญาณ PWM (ที่นี่จะเข้าใจผิดได้ง่าย)

อ่านเพิ่มเติม →

[การควบคุม Thruster ใต้น้ำ] จะใช้ STM32 ควบคุม ESC ผ่าน PWM ได้อย่างไร?

โพสต์โดย Fengyukun เมื่อ

[การควบคุม Thruster ใต้น้ำ] จะใช้ STM32 ควบคุม ESC ผ่าน PWM ได้อย่างไร?

นักวิจัยจำนวนมากที่ต้องการใช้ไมโครคอนโทรลเลอร์เพื่อควบคุมการทำงานของตัวขับดันได้พบข้อมูลมากมายบนอินเทอร์เน็ตแต่พบว่าข้อมูลจำนวนมากไม่ได้เขียนไว้อย่างชัดเจน APISQUEEN บันทึกวิธีแก้ปัญหาคร่าวๆ ฉันหวังว่าทุกคนจะสามารถแบ่งปันประสบการณ์ของตนในพื้นที่แสดงความคิดเห็นและช่วยเหลือผู้คนได้มากขึ้น ESC ที่เราซื้ออาจแตกต่างกัน แต่แนวคิดการควบคุมโดยรวมเหมือนกัน ดังนั้นฉันเชื่อว่าคุณจะสามารถบรรลุเป้าหมายได้หลังจากอ่านบทความนี้ สัญญาณพีเอ็มดับเบิลยู: (1) การควบคุมคลื่น PWM (โดยทั่วไป esc ใช้การควบคุมคลื่น PWM 50Hz หรือ 20ms); (2) การหยุดชั่วคราวระดับกลาง (โดยทั่วไปในที่นี้หมายถึงรอบการทำงานระดับสูง) 1.5 มิลลิวินาที อันที่จริงเป็นการหยุดชั่วคราวระหว่าง 1.475 มิลลิวินาทีถึง 1.525 มิลลิวินาที (3) ช่วงการควบคุมคือ 1ms ~ 2ms; (4) ไปข้างหน้า 1.5ms ถึง 2ms และย้อนกลับ 1.5ms ถึง 1ms นี่เป็นข้อมูลอ้างอิงง่ายๆ ตาม Arduino: หมายเหตุ: จำเป็นต้องปลดล็อค ESC เพื่อใช้งาน เมื่อคุณเชื่อมต่อ ESC เข้ากับแหล่งจ่ายไฟ มันจะส่งเสียงบี๊บ 3 ครั้ง จากนั้นเมื่อปลดล็อคสำเร็จจะส่งเสียงบี๊บ 2 ครั้ง รวมเป็น 5 ครั้ง หากคุณปลดล็อค ESC ไม่สำเร็จ คุณจะไม่สามารถใช้มันเพื่อควบคุมได้ ดังนั้นจากโค้ดข้างต้น เราสามารถสรุปได้ว่าวิธีการปลดล็อค ESC คือการตั้งค่าให้เป็นสัญญาณที่เป็นกลางหลังจากการกำหนดค่าเริ่มต้น และรอให้ได้รับสัญญาณ (เสียงบี๊บสองครั้ง) ก่อนเริ่มการควบคุมความเร็ว วิธีการควบคุมและแก้ไขจุดบกพร่อง เรากำลังใช้บอร์ดพัฒนา STM32F7 และใช้ไลบรารี HAL สำหรับการเขียนโปรแกรมและการดีบัก อันที่จริง ตัวจับเวลาจะส่งสัญญาณคลื่น PWM แต่มีหลายสิ่งที่ต้องใส่ใจและรายละเอียดที่ไม่ชัดเจนทำให้เสียเวลาและพลังงานจริง ๆ ต่อไปนี้เป็นคำสองสามคำเกี่ยวกับประสบการณ์การดีบัก ก่อนอื่น เมื่อกำหนดค่าคลื่น PWM ในตัวจับเวลา โปรดระวังอย่ากำหนดค่าเริ่มต้นให้เป็นสัญญาณปลดล็อค ให้ค่าสุ่ม หรืออย่ากำหนดค่า เนื่องจาก ESC ถูกปลดล็อคหลังจากตัวจับเวลาและเริ่มต้น PWM เท่านั้น ตามตัวอย่างของฉัน สัญญาณหยุดเฉลี่ยที่ 1.5ms...

อ่านเพิ่มเติม →

เหตุใดจึงไม่สามารถเชื่อมต่อมอเตอร์แบบไร้แปรงถ่าน/ตัวขับแบบไร้แปรงถ่านเข้ากับแหล่งจ่ายไฟโดยตรงได้

โพสต์โดย Fengyukun เมื่อ

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

อ่านเพิ่มเติม →

ESC ทำงานอย่างไร

โพสต์โดย Fengyukun เมื่อ

ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่ใช้ในการควบคุมความเร็วและแรงบิดของมอเตอร์แบบไร้แปรงถ่าน หลักการหลักใช้เทคโนโลยี PWM (Pulse width Modulation) และอัลกอริธึมควบคุมวงปิด ในตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ เทคโนโลยี PWM ใช้เพื่อควบคุมกระแสและความเร็วของมอเตอร์ โดยจะควบคุมแหล่งจ่ายไฟ DC ค่าคงที่ผ่านท่อสวิตชิ่ง (โดยปกติจะเป็น MOSFET) เพื่อสร้างคลื่นสี่เหลี่ยมที่มีความถี่เฉพาะ และควบคุมกระแสและความเร็วของมอเตอร์โดยการปรับรอบการทำงานของคลื่นสี่เหลี่ยม ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์มักจะใช้วงจรฟูลบริดจ์สามเฟสในการขับเคลื่อนมอเตอร์แบบไม่มีแปรง แขนของบริดจ์แต่ละอันประกอบด้วย MOSFET หลายตัว ด้วยการใช้สวิตช์ MOSFET ที่แตกต่างกัน ทำให้สามารถควบคุมการเดินหน้า ถอยหลัง และความเร็วของมอเตอร์ได้ นอกจากนี้ เพื่อให้บรรลุการควบคุมที่แม่นยำ ตัวควบคุมความเร็วอิเล็กทรอนิกส์ใช้อัลกอริธึมการควบคุมแบบวงปิด โดยปกติจะใช้อัลกอริธึมควบคุม PID (ตามสัดส่วน อินทิกรัล อนุพันธ์) อัลกอริธึมนี้ทำให้สามารถควบคุมความเร็วมอเตอร์ได้อย่างแม่นยำโดยการเปรียบเทียบความเร็วจริงของมอเตอร์กับความเร็วที่คาดหวังและทำการปรับเปลี่ยนที่สอดคล้องกัน ในตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ การตรวจจับตำแหน่งมอเตอร์และการระบุพารามิเตอร์ของมอเตอร์ยังจำเป็นเพื่อให้บรรลุการควบคุมวงปิดและฟังก์ชันการป้องกันที่แม่นยำ ในเวลาเดียวกัน ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ยังจำเป็นต้องดำเนินการป้องกันข้อผิดพลาด เช่น กระแสเกิน แรงดันไฟฟ้าเกิน และอุณหภูมิเกิน เพื่อให้มั่นใจว่ามอเตอร์ทำงานอย่างปลอดภัย นอกเหนือจากเทคโนโลยี PWM และอัลกอริธึมการควบคุมแบบวงปิดแล้ว ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ยังเกี่ยวข้องกับการดำเนินการดังต่อไปนี้: การตรวจจับตำแหน่งมอเตอร์: ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์จำเป็นต้องตรวจจับตำแหน่งโรเตอร์ของมอเตอร์สำหรับการควบคุมวงปิด การตรวจจับตำแหน่งโดยปกติจะดำเนินการโดยใช้เซ็นเซอร์ เช่น องค์ประกอบฮอลล์หรือตัวเข้ารหัส หรือการใช้เทคโนโลยีการเปลี่ยนเฟสแบบอิเล็กทรอนิกส์เพื่อให้บรรลุการตรวจจับตำแหน่ง การระบุพารามิเตอร์ของมอเตอร์: เพื่อให้บรรลุการควบคุมที่แม่นยำ ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์จำเป็นต้องระบุพารามิเตอร์ของมอเตอร์ เช่น ความต้านทาน ตัวเหนี่ยวนำ ศักย์ไฟฟ้า และพารามิเตอร์อื่นๆ อัลกอริทึม เช่น กำลังสองน้อยที่สุด มักใช้เพื่อระบุพารามิเตอร์ การป้องกันข้อผิดพลาด: ในระหว่างการทำงานของมอเตอร์ กระแสไฟเกิน แรงดันไฟฟ้าเกิน อุณหภูมิเกิน และสภาวะความผิดปกติอื่น ๆ อาจเกิดขึ้นได้ และจำเป็นต้องใช้มาตรการป้องกันที่เกี่ยวข้อง เช่น การป้องกันกระแสเกิน การป้องกันแรงดันไฟฟ้าเกิน การป้องกันอุณหภูมิเกิน ฯลฯ การเปลี่ยนเฟสแบบอิเล็กทรอนิกส์: ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ใช้มอเตอร์ไร้แปรงถ่านในการควบคุม และต้องใช้เทคโนโลยีการเปลี่ยนเฟสแบบอิเล็กทรอนิกส์เพื่อให้ทราบถึงการเปลี่ยนเฟสของมอเตอร์ การเปลี่ยนเฟสแบบอิเล็กทรอนิกส์จะควบคุมการเปิดและปิดมอสเฟตต่างๆ โดยการตรวจจับตำแหน่งโรเตอร์ของมอเตอร์ ดังนั้นจึงบรรลุการหมุนไปข้างหน้าและย้อนกลับและการควบคุมความเร็วของมอเตอร์ นอกจากนี้ จำเป็นต้องสังเกตประเด็นต่อไปนี้สำหรับตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์: ความถี่ PWM: จำเป็นต้องปรับการเลือกความถี่ PWM ในตัวควบคุมความเร็วอิเล็กทรอนิกส์ตามพารามิเตอร์มอเตอร์ไร้แปรงถ่านเฉพาะ โดยทั่วไปอยู่ระหว่าง 1kHz ถึง 20kHz เพื่อให้มั่นใจว่ามอเตอร์ทำงานได้อย่างเสถียร...

อ่านเพิ่มเติม →