สารบัญ:
- ขั้นตอนที่ 1: ค้นหา H-bridge Driver IC
- ขั้นตอนที่ 2: การออกแบบวงจร
- ขั้นตอนที่ 3: การเลือกส่วนประกอบ
- ขั้นตอนที่ 4: การออกแบบ PCB
- ขั้นตอนที่ 5: ประกอบและทดสอบบอร์ด!
วีดีโอ: DIY High Current Motor Driver (h-bridge): 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
โปรเจ็กต์นี้คือการอัพเกรดมอเตอร์และระบบอิเล็กทรอนิกส์ในจักรยานสี่ล้อสำหรับเด็ก Power Wheels ที่เปี่ยมไปด้วยประสิทธิภาพของมินิควอด 12V นี้ เราวางแผนที่จะอัพเกรดเป็นระบบ 24v ด้วยมอเตอร์แบบมีแปรง traxxis 775 ใหม่ 2 ตัว หลังจากค้นคว้าหาบอร์ดไดรเวอร์มอเตอร์ที่มีจำหน่ายทั่วไป และพบว่าส่วนใหญ่ค่อนข้างไม่ธรรมดา (ดูรูปเปรียบเทียบที่รวมอยู่) หรือค่อนข้างแพง ฉันตัดสินใจออกแบบโซลูชันที่ใช้ Arduino อย่างง่าย
ขั้นต่ำ 24v
การควบคุมมอเตอร์แบบสองทิศทาง
การควบคุม PWM
กระแสไฟสูงที่ปรับขนาดได้ (100AMP)
ส่วนประกอบขั้นต่ำ
5v stepdown สำหรับตรรกะ
ความรู้สึกแรงดันแบตเตอรี่
ตัวควบคุม adruino nano
การเข้าถึงอินพุตสำหรับการใช้งานเฉพาะ (เค้น [รวมถึงการตัดแต่งด้านบนและด้านล่าง], ทิศทาง, เปิดใช้งาน, 1 พิเศษ)
เข้าถึงพินที่ไม่ได้ใช้สำหรับเอาต์พุต (นำออก)
ทางออกที่ชัดเจนคือการใช้วงจร H-bridge ที่ใช้มอสเฟต
ฉันจะแสดงให้คุณเห็นว่าฉันออกแบบและสร้างไดรเวอร์ H-bridge กระแสสูงอย่างไร
ขั้นตอนที่ 1: ค้นหา H-bridge Driver IC
IC ไดรเวอร์ H-bridge เป็นชิประหว่างเอาต์พุต Arduino และ MOSFET IC นี้ใช้สัญญาณสูง/ต่ำจาก Arduino และส่งสัญญาณบูสต์แบบเดียวกันเพื่อขับเคลื่อนเกต MOSFET โดยเฉพาะหน้าที่ที่สำคัญที่สุดคือการเพิ่มแรงดันไฟฟ้าไปยังเฟตด้านสูงเหนือ VCC (แบตเตอรี่ + อินพุต) ซึ่งช่วยให้ใช้งานได้ทั้งหมด N-MOSFETs ไดรเวอร์บางตัวยังมีวงจรพิเศษเพื่อป้องกันการยิงทะลุ (เมื่อ 2 fet สร้างการลัดวงจรโดยตรงไปยังพื้นดินเพื่อทำลาย fet) ในที่สุดฉันก็ตัดสินใจเลือก NXP MC33883 Full H-bridge driver ICchosen เพราะ - ประกอบด้วย 2 half bridges (ดังนั้นฉันต้องการเพียง 1 IC) - ปั๊มชาร์จด้านสูงในตัว - ต้องการส่วนประกอบเพิ่มเติมเพียง 7 ชิ้น (รวมถึงวงจรป้องกัน) - ทำงานด้วยอินพุต 5.5-60V (พร้อมตัวล็อคแรงดันไฟต่ำและสูง) กระแสไฟสูงสุดของไดรฟ์ 1 แอมป์
negativesunfortunately ไม่ได้ยิงทะลุการป้องกัน (ดังนั้นต้องทำในซอฟต์แวร์และทดสอบกับแหล่งจ่ายไฟที่จำกัดในปัจจุบัน) ต้องใช้สัญญาณอินพุต 5 ตัว ค่อนข้างแพงอยู่ที่ $8.44 ต่อตัวบน mouserhttps://nz.mouser.com/ProductDetail/NXP-Freescale/…เอกสารข้อมูล https://nz.mouser.com/ProductDetail/NXP-Freescale/…datasheet https://nz.mouser.com/datasheet/2/302/MC33883-1126…
โดยคำนึงถึงชิปตัวนี้ ตอนนี้เราสามารถออกแบบวงจรของเรารอบๆ ได้
ขั้นตอนที่ 2: การออกแบบวงจร
เราจะใช้เครื่องมือออนไลน์ EASYEDA (easyeda.com) เพื่อออกแบบวงจร (ไม่มีส่วนเกี่ยวข้อง แต่เครื่องมือทำงานได้ดีและง่ายต่อการสั่งซื้อ PCB ผ่าน JLCPCB.com) จากแผ่นข้อมูลสำหรับไดรเวอร์ MC33883 เราจะพบแผนผังแอปพลิเคชัน (พร้อมภายนอก) วงจรป้องกัน) เราจะคัดลอกวงจรนี้เนื่องจากเราไม่จำเป็นต้องสร้างวงล้อใหม่ที่นี่ เพียงแค่ใช้เลย์เอาต์ที่แนะนำและค่าตัวเก็บประจุที่แนะนำ เราจะเพิ่มซีเนอร์ไดโอดและตัวเก็บประจุ 18v เพื่อปิดแรงดันเกทซอร์สต่ำกว่า MOSFET 20v ทั่วไป สูงสุด Vgs
ความแตกต่างอย่างหนึ่งที่เราจะเพิ่มลงในวงจรคือ MOSFET แบบขนานที่เป็นตัวเลือกเพื่อเพิ่มความสามารถในปัจจุบัน ในการทำเช่นนี้เราเพียงแค่ต้องแน่ใจว่าเรามีตัวต้านทานที่เกตของ FET แต่ละตัว ด้วย FET แบบขนาน ตัวต้านทานนี้จะช่วยปรับสมดุลโหลดและลักษณะการสลับของคู่ขนาน (ค้นคว้าเพิ่มเติมสำหรับการโหลดสูงเพื่อหลีกเลี่ยงปัญหา)
กำลังตัดสินใจ..แรงดันไฟสูงสุด? ฉันใช้ 24v ดังนั้นฉันจึงสามารถผูก VCC และ VCC2 ของชิป mc33883 ของฉันเข้าด้วยกัน (ขีด จำกัด บน vcc2 คือ 28v แต่ฉันสามารถมีแหล่งจ่ายแยกต่างหากและมีแรงดัน VCC สูงสุด 60v) จะจ่ายไฟให้กับ Arduino ได้อย่างไร ฉันใช้ตัวควบคุมสวิตช์ขนาดเล็ก 5v 500mA ซึ่งสร้างไว้ล่วงหน้าบน pcb ที่มี 3 พินซึ่งทำงานระหว่าง 6.5-36v ที่สมบูรณ์แบบ!.https://nz.mouser.com/ProductDetail/490-VXO7805-50…ทั้งหมดที่ฉันต้องทำคือ เพิ่มไดโอดป้องกันขั้ว ตัวเก็บประจุอินพุตและเอาต์พุต เสร็จแล้ว.
ฉันต้องการรับแรงดันไฟฟ้าของแบตเตอรี่และปิดเครื่องเมื่อแบตเตอรี่เหลือน้อย ดังนั้นตัวแบ่งแรงดันไฟฟ้าเพื่อจำกัดแรงดันไฟฟ้าไว้ที่หมุด Arduino ของฉัน 8 แผ่นต้านทาน 2 ขนานและ 4 ซีรีย์ loos เช่นนี้ +==|==- นี่หมายความว่าฉันสามารถกำหนดค่าให้แตกต่างกันได้อย่างง่ายดายโดยไม่ต้องมีค่าเฉพาะค้นหาว่าเราต้องการเอาต์พุตใดจาก Arduino ไปยังไดรเวอร์ที่เราต้องการ 2 PWM สำหรับ FET ด้านสูง และ 2 ดิจิตอล (หรือ pwm) สำหรับ FET ด้านต่ำ และเรายังต้องการ 1 สายที่เปิดใช้งานสำหรับไดรเวอร์ที่คุณอาจลองนึกภาพด้วยลอจิกเกท NAND บางประเภท (และอาจจะล่าช้า) สำหรับการยิงฮาร์ดแวร์ผ่านการป้องกัน หากคุณต้องการ
อินพุตที่ฉันเลือกใช้อินพุตแบบอะนาล็อกทั้งหมดสำหรับเค้น เปิดใช้งาน ทิศทาง และการตัดแต่งเป็นหลักเพื่อให้แน่ใจว่ามีและแยกออกทั้งหมดมีแผ่นรองสำหรับตัวต้านทานแบบดึงลงและมีพิน 5v และอินพุตทำงานเมื่อมีการใช้งานสูง (หากเปิดใช้งาน สายมีการใช้งานต่ำและเค้นติดอยู่หากสาย 5v ขาดมอเตอร์จะทำงานอย่างต่อเนื่อง)
เอาต์พุตฉันรวมส่วนหัวเอาต์พุต 5 พิน + กราวด์สำหรับไฟแสดงสถานะแบตเตอรี่ LED / การเข้าถึงพิน (พินดิจิตอลที่เหลืออยู่) รวมถึงส่วนหัวสำหรับพิน PWM ที่เหลือล่าสุด (หมายเหตุบน PWM ฉันเลือกที่จะใส่ fet ด้านสูง fet ด้านต่ำและ เอาต์พุต PWM แต่ละตัวในช่องตัวจับเวลาแยกกันของ Arduino สิ่งนี้จะช่วยให้ฉันสามารถเล่นกับตัวจับเวลาต่างกัน ฯลฯ)
ขั้นตอนที่ 3: การเลือกส่วนประกอบ
สำหรับบอร์ดนี้ ฉันตัดสินใจที่จะใช้ส่วนประกอบยึดพื้นผิวเป็นหลัก การบัดกรี smd นั้นไม่ยากเกินไปหากคุณเลือกอุปกรณ์ของคุณอย่างชาญฉลาด ส่วนประกอบขนาด 0805 สำหรับตัวต้านทานและตัวเก็บประจุนั้นค่อนข้างง่ายในการบัดกรีโดยไม่ต้องใช้กล้องจุลทรรศน์และต้องใช้แหนบเท่านั้นในการจัดการ.
บางคนบอกว่า 0603 ไม่ได้แย่ขนาดนั้น แต่มันเริ่มที่จะก้าวข้ามขีดจำกัดแล้ว
zeners แก้ว ฉันพบว่าค่อนข้างยุ่งยากในการซ้อมรบ
รายการส่วนประกอบจากพลังสู่ไดรเวอร์สู่ดิจิตอล (สิ่งที่ฉันใช้)
8x TO220 N-ch mosfets 60V 80A IPP057N06N3 G4x 1N5401-G เพาเวอร์ไดโอดเอนกประสงค์ 100v 3A (สูงสุด 200A) (สิ่งเหล่านี้ผิด ฉันควรใช้ Schottky diodes ดูว่าเป็นอย่างไร) ตัวต้านทาน 8x 0805 50ohm 2x 0805 ตัวต้านทาน 10ohm 2x 0805 10nF 50V ตัวเก็บประจุเซรามิก (วงจรป้องกัน)
2x 18v zener diode 0.5W ZMM5248B (วงจรป้องกัน) 1x nxp MC33883 H-bridge gate driver1x 0805 33nF 50V ตัวเก็บประจุเซรามิก (สำหรับไดรเวอร์)
2x 0805 470nF 50V ตัวเก็บประจุเซรามิก (สำหรับไดรเวอร์)
1x ไดโอดป้องกันขั้วผ่านรูทั่วไป (มีอยู่แล้ว) 1x ตัวแปลง dc/dc 3pin สูงสุด 36vin 5v ออก VXO7805-500
3x smd 10uF 50V 5x5.3mm ตัวเก็บประจุแบบอิเล็กโทรไลต์3x 0805 1uF 50V ตัวเก็บประจุเซรามิก (วงจรลอจิก 5v)
ตัวต้านทาน 9x 0805 10k (พูลดาวน์และตัวแบ่งแรงดันไฟฟ้าที่กำหนดค่าให้เป็น 15k) ตัวต้านทาน 4x 0803 3k (ซีรีย์ที่กำหนดค่าขนานกันเพื่อให้เหลือ 3k.. ที่เสียที่ฉันรู้)โพเทนชิโอมิเตอร์ทริมเมอร์รูทะลุ 2x 10k1x ส่วนหัวของ Arduino nanovarious, ฮีทซิงค์, รายการอื่น ๆ เช่นสวิตช์ โพเทนชิออมิเตอร์ ฯลฯ
ฉันสั่งซื้อชิ้นส่วนจาก mouser.com และสั่งซื้อชิ้นส่วนส่วนใหญ่ในจำนวน 10 ชิ้น และเพิ่มชิ้นส่วนอื่นๆ อีกหลายชิ้นรวมเป็นเงิน 60 ดอลลาร์สหรัฐฯ เพื่อรับค่าจัดส่งฟรีไปยังนิวซีแลนด์ (ประหยัดได้ประมาณ NZ$30)
ต้นทุนส่วนประกอบทั้งหมดของการสร้างประมาณ 23 เหรียญสหรัฐ +(สิ่งที่คุณซื้อเพิ่มเติมเพื่อให้ได้ข้อเสนอที่ดีกว่า ซื้อจำนวนมาก)+pcb
ขั้นตอนที่ 4: การออกแบบ PCB
ตอนนี้เราได้เลือกส่วนประกอบแล้วและหวังว่าจะมีวิธีที่เราสามารถยืนยันแพ็คเกจส่วนประกอบในแผนผังและเริ่มจัดวางเลย์เอาต์ boardPCB ของเราเป็นรูปแบบศิลปะที่ฉันไม่ได้พยายามจะสอน ลอง youtube เพื่อสิ่งนั้น สิ่งที่ฉันทำได้คือชี้ข้อผิดพลาดของฉันในกระดานนี้
ฉันวางมอสเฟตในแนวนอน ฉันออกแบบสะพาน H ให้ทำงานกับโซลูชันฮีทซิงค์ที่วางแผนไว้ และด้วยเหตุนี้ ฉันจึงมีร่องรอยพลังงานซึ่งแคบกว่าที่ฉันอยากให้เป็นอย่างมาก ฉันชดเชยโดยเพิ่มร่องรอยที่ด้านล่างของบอร์ดเป็นสองเท่าและถอดหน้ากากประสานเพื่อที่ฉันสามารถเพิ่มการบัดกรีเพื่อเพิ่มการเชื่อมต่อพลังงานการจัดการปัจจุบัน ฉันตัดสินใจใช้แผ่นรองขนาดใหญ่ 10x10 มม. เพื่อควบคุมสายบัดกรีโดยตรงสำหรับการเชื่อมต่อ +v -v motorA และ motorB แทนที่จะใช้ขั้วต่อแบบเกลียว ฯลฯ (ฉันรู้ว่าฉันต้องการการคลายความเครียดทางกล) อย่างไรก็ตาม เนื่องจากฮีทซิงค์ขนาดใหญ่ของฉัน มันจึงยากที่จะบัดกรีสายเคเบิล แผ่นเหล่านี้ ชีวิตจะง่ายขึ้นถ้าฉันวางแผ่นอิเล็กโทรดที่อยู่ฝั่งตรงข้ามของบอร์ดไว้ที่ฮีทซิงค์
ฉันควรจะเพิ่มขนาดของจุดแวะสำหรับไดโอดอิสระล้อทะลุผ่านรู ด้วยเหตุนี้ สิ่งเหล่านี้จึงถูกติดตั้งบนพื้นผิว (โปรดใส่ใจกับขนาดบรรจุภัณฑ์ของคุณ
แปลงการออกแบบของคุณเป็นไฟล์ Gerber และส่งไปยังผู้ผลิต PCB ที่คุณชื่นชอบ ฉันสามารถแนะนำ JLCPCB พวกเขาทำงานได้ดีสำหรับฉันและราคาสมเหตุสมผล
ขั้นตอนที่ 5: ประกอบและทดสอบบอร์ด!
ตอนนี้คุณมีชิ้นส่วนและ PCB ของคุณแล้ว ถึงเวลาประกอบและบัดกรีอาจใช้เวลาประมาณ 1 หรือ 2 ชั่วโมง
ขั้นแรก ตรวจสอบว่าคุณมีชิ้นส่วนทั้งหมดและ PCB ของคุณอยู่ในสภาพดี รวบรวมเครื่องมือของคุณ พื้นฐาน คุณจะต้องใช้หัวแร้งบัดกรีบัดกรี
อย่างที่ฉันบอกไว้ 0805 ชิ้นส่วนไม่ได้เริ่มต้นยากเกินไปด้วยส่วนประกอบที่เล็กที่สุดก่อน ตัวต้านทาน, แคป, ไดโอดจากนั้น IC ติดตั้ง Arduino โดยตรงหรือมีส่วนหัวสำหรับการถอดติดตั้งส่วนหัว
ทดสอบบอร์ดสำหรับวงจรสั้น
ตอนนี้โหลดภาพสเก็ตช์การกะพริบไปยัง Arduino แล้วถอดปลั๊ก USB และจ่ายไฟให้บอร์ดจากแบตเตอรี่หรือแหล่งจ่ายไฟเพื่อให้แน่ใจว่าส่วนควบคุมทำงานอย่างถูกต้องติดตั้งมอสเฟตล่าสุด
ทดสอบบอร์ดสำหรับวงจรสั้น
อัปโหลดซอฟต์แวร์ไดรเวอร์และจ่ายไฟให้บอร์ดจากอุปทานที่จำกัดในปัจจุบัน บอกว่า 100mA ควรมีมากมายเราต้องการให้แน่ใจว่าสะพาน H ในทุกรัฐเพื่อให้แน่ใจว่าไม่มีเหตุการณ์ที่ยิงทะลุหากมีอุปทานจะ จำกัด กระแสไฟทันทีและบอร์ด มีแนวโน้มที่จะดับลงเนื่องจากแรงดันไฟต่ำ
บอร์ดของคุณพร้อมที่จะขับมอเตอร์หรือ2
แนะนำ:
Simple Power LED Linear Current Regulator แก้ไขและชี้แจง: 3 ขั้นตอน
Simple Power LED Linear Current Regulator แก้ไขและชี้แจง: คำแนะนำนี้เป็นการทำซ้ำของวงจรควบคุมกระแสเชิงเส้นของ Dan เวอร์ชั่นของเขาดีมากแน่นอน แต่ขาดบางอย่างที่ขวางทางความชัดเจน นี่คือความพยายามของฉันที่จะแก้ไขปัญหานั้น หากคุณเข้าใจและสามารถสร้างเวอร์ชั่นของแดนได้
Multi-channel Wifi Voltage & Current Meter: 11 ขั้นตอน (พร้อมรูปภาพ)
เครื่องวัดแรงดันและกระแสไฟ Wifi แบบหลายช่องสัญญาณ: เมื่อทำบอร์ดบอร์ด เรามักจะต้องตรวจสอบส่วนต่างๆ ของวงจรในคราวเดียว เพื่อหลีกเลี่ยงความเจ็บปวดที่ต้องติดโพรบมัลติมิเตอร์จากที่หนึ่งไปอีกที่หนึ่ง ฉันต้องการออกแบบมิเตอร์วัดแรงดันและกระแสแบบหลายช่องสัญญาณ บอร์ด Ina260
Sinking Vs Sourcing Current ใน Arduino: 3 ขั้นตอน
Sinking Vs Sourcing Current ใน Arduino: ในคำแนะนำนี้ เราจะดูความแตกต่างของการจัดหาและการจมกระแสผ่าน Arduino
DIY Current Sensor สำหรับ Arduino: 6 ขั้นตอน
DIY Current Sensor สำหรับ Arduino: สวัสดี หวังว่าคุณจะทำได้ดี และในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นว่าฉันสร้างเซ็นเซอร์ปัจจุบันสำหรับ Arduino ได้อย่างไร โดยใช้ส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐานและ shunt ที่ทำเองที่บ้าน การแบ่งนี้สามารถจัดการกับกระแสขนาดใหญ่ได้อย่างง่ายดายรอบ
Arduino TDCS Super Simples Transcranial Direct Current Stimulator (tDCS) DIY: 5 ขั้นตอน
Arduino TDCS Super Simples Transcranial Direct Current Stimulator (tDCS) DIY: Para fazer este tDCS ของ Arduino, ตัวต้านทาน, ตัวเก็บประจุและอัลกัน cabosส่วนประกอบ Arduino Pino D13 กับ PWM (pode ser alterado) Pino A0 como entrada analógica (สำหรับข้อเสนอแนะของ corrente) Pino GND apenas สำหรับ GND.Resist