เป็นไปได้หรือไม่ที่จะขับมอเตอร์ไร้แปรงโดยตรงกับ Arduino? หรือฉันควรเปลี่ยนกลับในการควบคุม ESC มอเตอร์แบบไร้แปรงด้วยพัลส์ PWM หรือไม่?
เป็นไปได้หรือไม่ที่จะขับมอเตอร์ไร้แปรงโดยตรงกับ Arduino? หรือฉันควรเปลี่ยนกลับในการควบคุม ESC มอเตอร์แบบไร้แปรงด้วยพัลส์ PWM หรือไม่?
คำตอบ:
คุณควรใช้ ESC อย่างแน่นอน มอเตอร์แบบไร้แปรงนั้นทำงานได้ดีที่สุดเมื่อขับเคลื่อนด้วยคลื่นไซน์ (หรือใกล้เคียงที่สุดกับคลื่นไซน์) พวกเขายังต้องการชุดสัญญาณที่ค่อนข้างแม่นยำและซับซ้อน การสร้างรูปแบบคลื่นและจังหวะเวลาที่เหมาะสมจาก arduino อาจเป็นเรื่องยากและถ้าคุณไม่ต้องการมันจริงๆก็อาจไม่คุ้มค่า คุณสามารถจัดเรียงเพื่อควบคุม ESC จาก arduino ของคุณซึ่งจะให้การควบคุมแบบเป็นโปรแกรมบวกกับประสิทธิภาพและพลังของ ESC
ที่จริงบางครั้งคุณเพียงแค่ต้องสร้าง ESC ของคุณเอง ESCs ที่ขายในตลาดเป็น "commercilized" และมีรหัสควบคุมของตัวเองสำหรับสิ่ง RC เช่นเครื่องบิน helis รถยนต์ ...
ตัวอย่างเช่นบางครั้งคุณต้องมีเบรกที่สามารถปรับได้สองด้าน จากหลังสู่หยุดและจากไปข้างหน้าหยุด ไม่มี RC ESC ที่มีคุณสมบัตินั้น พวกเขามีเบรคแบบปฏิรูปเพียงหนึ่งเดียวจากข้างหน้าถึงหยุดหรือไม่มีเลย หรือคุณอาจต้องการเซ็นเซอร์ควบคุม BLDC แต่มีเพียงไม่กี่ ESC ที่สัมผัสได้ในตลาดและพวกเขามี (เช่นเดียวกับ ESC ที่ไม่มีเซ็นเซอร์ทั่วไป) ในตัวคุณสมบัติที่คุณไม่ต้องการและไม่มีบางอย่างที่คุณต้องการอย่างแน่นอน !
การออกแบบ ESC ของคุณเองนั้นเป็นตัวเลือกที่สมบูรณ์แบบและราคาถูกกว่ามากแม้แต่ $ 10 ที่ถูกที่สุดด้วยขุมพลังอันยิ่งใหญ่
มันเป็นความจริงที่รหัสควบคุมและฮาร์ดแวร์อาจเป็นความเจ็บปวด แต่หลังจากที่อ่านบางอย่างมันก็แค่ของเล่น
มีบทช่วยสอนที่ดีเกี่ยวกับวิธีสร้างตัวควบคุม BLDC กับ aarduino โดยใช้ 6 mosfets และสิ่งอื่น ๆ ที่คุณสามารถหาได้จากเว็บไซต์ของ Jameco (ดีมาก) นี่คือที่ฉันซื้อของราคาถูก แต่ spurkfun อาจเป็นทางเลือกที่ดีถ้า คุณไม่พบเซ็นเซอร์บางอย่างเช่นไจโร ฯลฯ
http://www.instructables.com/id/BLDC-Motor-Control-with-Arduino-salvaged-HD-motor/
คู่มือที่ดีมากและง่ายต่อการปฏิบัติตาม คุณสามารถสร้างพลังงานใด ๆ จาก ESC ต่ำถึงสูงเป็นพิเศษโดยใช้คู่มือนี้และเกือบทุกอย่างรวมกันของเบรก regen ใด ๆ โดยใช้ความต้านทานขดลวดมอเตอร์หรือเครื่องชาร์จแบตเตอรี่ ...
การใช้ mosfets เป็นเพียงของเล่นคุณสามารถทำอะไรได้เกือบทุกอย่าง
ปัญหาก็คือคุณไม่สามารถควบคุม mosfet นี้ได้อย่างมีประสิทธิภาพด้วย MCU เช่นบอร์ด Arduino ซึ่งส่งออก 5V เท่านั้นที่ฉันคิดและแรงดันเกตของ mosfet สำหรับแรงดันไฟฟ้าขนาดกลางนั้นจะสูงขึ้นมากในช่วง 16-30V ได้อย่างง่ายดาย ดังนั้นคุณต้องใช้ตัวแทนเนอร์อื่นเพื่อเพิ่มแรงดันของอาร์ดิโน
โชคดี.
ฉันได้กลับไปกลับมาในเรื่องนี้เป็นเวลา 30 นาที ฉันคิดว่าคุณอาจต้องการใช้ ESC หากคุณไม่ได้เป็นเพียงประสบการณ์การเรียนรู้ ในการควบคุมมอเตอร์อย่างถูกต้องนั้นจะต้องใช้ทรัพยากรจากอาร์ดิโนของคุณมากกว่าที่ฉันคิดได้ นอกจากนี้คุณจะ จำกัด การตอบสนองของมอเตอร์ไปที่หน่วยเลือกตั้ง ฉันไม่คิดว่าการใช้ ESC เป็นการคืนค่าซึ่งเป็นวิธีที่ควรทำ
เนื่องจากไม่มีใครพูดถึงมัน - คุณจะไม่สามารถขับมอเตอร์โดยตรงจากอาร์ดิโนเพียงเพราะชิพ AVR จะไม่จ่ายกระแสไฟฟ้าออกมามากพอที่จะจ่ายพลังงานที่มีประโยชน์
อย่างน้อยที่สุดคุณจะต้องมองหาการจัดเรียง H-bridge สามเฟส (อ่าน: สามครึ่ง H-bridges) เพื่อขับกระแสที่จำเป็นต้องใช้ดิจิตอลหกเส้นเพื่อใช้ทรานซิสเตอร์ไดรฟ์
สมมติว่าคุณได้แก้ไขปัญหาความสามารถของไดรฟ์แล้วและนั่นก็ไม่ใช่เรื่องเล็กน้อยดังนั้นคุณต้องเข้าไปในรหัสควบคุม มอเตอร์เหล่านี้มีใบพัดแม่เหล็กถาวรดังนั้นคุณไม่สามารถหมุนสนามสเตเตอร์และสุ่มรับแรงบิดที่มีประโยชน์ คุณต้องทราบทิศทางของโรเตอร์เพื่อปรับมุมเฟสไฟฟ้าเพื่อให้ได้แรงบิดสม่ำเสมอ
เช่นเดียวกับคนอื่น ๆ ได้กล่าวไว้เว้นแต่คุณจะต้องการประสบการณ์การเรียนรู้ที่เฉพาะเจาะจงไม่มีความไม่ซื่อสัตย์เพียงแค่ซื้อ ESC
ฉันคิดว่ามันเป็นแบบฝึกหัดการเรียนรู้ที่ยอดเยี่ยม แต่ ESC ใช้ back EMF เพื่อตรวจจับการหมุนแม้ว่าคุณจะสามารถใช้เซ็นเซอร์ออปติคัลหรือเซนเซอร์แม่เหล็กสำหรับสิ่งนี้ โดยทั่วไปคุณจะต้องสร้าง 3 ขั้นตอน AC และเปิด / ปิดใช้งานในช่วงเวลาที่เหมาะสม
ความเร็วของการหมุนของสนามแม่เหล็กจะต้องมีการปรับให้เข้ากับมอเตอร์เช่นถ้าคุณต้องการเร่งความเร็วสนามจะต้องวิ่งเร็วขึ้นและเร็วขึ้น คุณยังสามารถทำสิ่งที่ตรงกันข้ามได้
สำหรับคำอธิบายอย่างละเอียด: http://www.embedded.com/columns/technicalinsights/196701832?_requestid=137540
สำหรับงานจริงให้รับ ESC
คุณสามารถขับโดยตรงด้วย Arduino หากการขับรถคุณไม่ได้หมายความว่าจ่ายกระแสไฟให้กับขดลวดอย่างแท้จริง - MCU ใด ๆ จะอ่อนแอเกินไปสำหรับสิ่งนั้น นอกจากนี้ Arduino ยังสามารถจม แต่ไม่ได้แหล่งกระแส แต่คุณต้องการทั้งมอเตอร์ brushless
อย่างไรก็ตามถ้าคุณใช้ H-bridge driver IC ที่ง่ายมากนอกเหนือจาก Arduino คุณสามารถใช้ฟังก์ชั่น ESC ทุกอย่างได้ ในความเป็นจริงแล้วขึ้นอยู่กับแอพพลิเคชั่นที่คุณอาจไม่จำเป็นต้องใช้ E * SC * ซึ่งหมายความว่าคุณอาจไม่ต้องการการควบคุมความเร็วแบบลูปปิด - หากโหลดไม่มากเกินไป เพื่อตอบสนองการซิงค์กับพลังของขดลวดและอัตราการเปลี่ยนแปลงของขดลวดในปัจจุบันจะมาจาก Arduino ลองดูวงจรควบคุมมอเตอร์ brushless (BLDC) ที่เรียบง่ายและแบบร่าง Arduino ที่คุณอาจจะสามารถปรับให้เข้ากับการขับเคลื่อนมอเตอร์ของคุณ อันนั้นมีพื้นฐานมาจาก SN754410NE quad H-bridge IC ซึ่งจะมีค่าสูงสุดที่ 750mA หากหน่วยความจำทำหน้าที่
รหัสนี้ไม่สำคัญเกินไปและใช้ประโยชน์จาก PWM เพื่อการหมุนที่ราบรื่น แต่ก็ไม่ยากที่จะแยกวิเคราะห์เพื่อปรับให้เข้ากับแอปพลิเคชันของคุณ ที่เกิดขึ้นจริงร่าง Arduino สำหรับมอเตอร์ BLDC อยู่ที่นี่