วัตถุประสงค์ของไดโอดและตัวเก็บประจุในวงจรมอเตอร์นี้


33

ฉันกำลังต่อมอเตอร์ DC ขนาดเล็กกับอาร์ดิโนโดยใช้ทรานซิสเตอร์ NPN โดยใช้แผนภาพต่อไปนี้ที่ฉันพบทางออนไลน์:

แผนผัง การเดินสายไฟ

วงจรทำงานได้และฉันสามารถทำให้มอเตอร์ทำงานได้สำเร็จ ตอนนี้ฉันกำลังมองหาที่จะเข้าใจว่าทำไมมันทำงานอย่างที่มันทำ โดยเฉพาะอย่างยิ่งฉันต้องการที่จะเข้าใจ:

  1. ทำไมไดโอดและตัวเก็บประจุถึงต่อขนานกับมอเตอร์ พวกเขามีบทบาทอะไรที่นี่?

  2. เหตุใดจึงต้องมีความต้านทานระหว่างทรานซิสเตอร์และพิน PWM แบบดิจิตอลบน arduino จะปลอดภัยหรือไม่หากเปิดใช้วงจร

คำตอบ:


49

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

มอเตอร์เป็นตัวเหนี่ยวนำบางส่วน หากทรานซิสเตอร์ปิดอย่างรวดเร็วกระแสก็จะยังคงไหลผ่านตัวเหนี่ยวนำสักครู่จะไหลผ่านไดโอดและไม่ก่อให้เกิดอันตรายใด ๆ หากไม่มีไดโอดแรงดันไฟฟ้าของมอเตอร์จะมีขนาดใหญ่เท่าที่จำเป็นเพื่อให้กระแสไฟฟ้าไหลเวียนซึ่งอาจต้องทอดทรานซิสเตอร์

ขนาดเล็กตัวเก็บประจุข้ามมอเตอร์จะลดความเร็วของการเปลี่ยนแรงดันไฟฟ้าได้อย่างรวดเร็วเป็นไปได้ซึ่งเป็นสาเหตุของการฉายรังสีน้อยลงและ จำกัด dV / dt ทรานซิสเตอร์อยู่ภายใต้การ 100 nF มากเกินไปสำหรับสิ่งนี้และจะป้องกันการทำงานที่มีประสิทธิภาพเลย แต่ความถี่ PWM ต่ำ ฉันจะใช้ 100 pF หรือมากกว่านั้นเพื่อเพิ่ม 1 nF

ตัวต้านทานคือการ จำกัด กระแสออกดิจิตอลต้องแหล่งที่มาและฐานทรานซิสเตอร์จะต้องจัดการ ทรานซิสเตอร์ BE ดูเหมือนกับไดโอดต่อวงจรภายนอก แรงดันไฟฟ้าจะถูก จำกัด ที่ 750 mV หรือมากกว่านั้น ถือเอาต์พุตดิจิตอลที่ 750 mV เมื่อพยายามขับไปที่ 5 V หรือ 3.3 V ไม่ได้มาตรฐาน มันอาจสร้างความเสียหายกับสัญญาณดิจิตอล หรือหากเอาต์พุตดิจิตอลสามารถสร้างกระแสได้จำนวนมากก็อาจทำให้ทรานซิสเตอร์เสียหายได้

1 kΩเป็นค่าที่น่าสงสัยอีกครั้ง แม้จะมีเอาต์พุตดิจิตอล 5 V ที่จะใส่เพียง 4.3 mA หรือประมาณฐาน คุณไม่ได้แสดงสเปคของทรานซิสเตอร์ดังนั้นให้คิดว่ามันมีการรับประกันขั้นต่ำ 50 นั่นหมายความว่าคุณสามารถวางใจได้กับทรานซิสเตอร์ที่รองรับ 4.3 mA x 50 = 215 mA ของกระแสมอเตอร์ เสียงต่ำโดยเฉพาะอย่างยิ่งสำหรับการเริ่มต้นเว้นแต่ว่ามันจะเป็นมอเตอร์ขนาดเล็กมาก ฉันจะดูว่าเอาต์พุตดิจิตอลสามารถแหล่งที่มาได้อย่างปลอดภัยและปรับ R1 เพื่อวาดส่วนใหญ่

อีกปัญหาหนึ่งคือไดโอด 1N4004 นั้นไม่เหมาะสมที่นี่โดยเฉพาะเมื่อคุณจะเปิดและปิดมอเตอร์อย่างรวดเร็วตามที่ระบุไว้โดย "PWM" ไดโอดนี้เป็นวงจรเรียงกระแสไฟฟ้าที่มีไว้สำหรับความถี่ของสายไฟปกติเช่น 50-60 Hz มีการกู้คืนช้ามาก ใช้ไดโอด Schottky แทน สามัญ 1 A 30 V Schottky diode นั้นทำได้ดีและดีกว่า 1N4004

ฉันสามารถดูว่าวงจรนี้สามารถทำงานได้ แต่ชัดเจนว่าไม่ได้ถูกออกแบบโดยคนที่รู้ว่าพวกเขากำลังทำอะไรอยู่ โดยทั่วไปถ้าคุณเห็นอาร์ดิโนในวงจรที่คุณพบใน 'สถานที่บางแห่งโดยเฉพาะอย่างยิ่งเป็นเรื่องง่ายสมมติว่ามันถูกโพสต์เพราะผู้เขียนคิดว่ามันเป็นผลงานที่ยอดเยี่ยม ผู้ที่รู้ว่าพวกเขากำลังทำอะไรและดึงวงจรแบบนี้มาใช้ในนาทีไม่คิดว่ามันคุ้มค่าที่จะเขียนหน้าเว็บขึ้นมา นั่นทำให้คนที่ต้องใช้เวลาสองสัปดาห์เพื่อให้มอเตอร์หมุนโดยไม่มีทรานซิสเตอร์ระเบิดขึ้นและพวกเขาก็ไม่แน่ใจว่าทุกอย่างจะเขียนหน้าเว็บเหล่านี้


7
คำติชมของวงจรนี้น่าสนใจเพราะฉันรู้จักวงจรจากบทที่ 4 ของ "Exploring Arduino" โดย Jeremy Blum ชีวประวัติของผู้เขียนกล่าวว่าเขามี EE Master จาก Cornell ดังนั้นแนวคิดที่ว่าอาจมีปัญหาเช่นนี้ไม่ใช่สิ่งที่ฉันได้พิจารณา คุณมีข้อเสนอแนะสำหรับการเรียนรู้สัญชาตญาณ / การตัดสินเกี่ยวกับสิ่งต่าง ๆ เช่นไดโอดที่จะใช้กับการสลับอย่างรวดเร็วตัวเก็บประจุขนาดเท่าไรเพียงพอหรือมากเกินไปสำหรับการใช้งาน ฯลฯ ? มีหนังสือที่สามารถช่วยหรือเป็นส่วนใหญ่ที่ใช้ประสบการณ์? หรืออาจแค่อ่านแผ่นข้อมูลจำเพาะ ฉันอยากรู้อยากเห็น
กระต่าย

9
@Rab: ฉันแปลกใจว่าฉันสอนการออกแบบเพียงเล็กน้อยในส่วนของอาจารย์ของฉันใน EE จาก RPI วิธีที่จะทำให้ EE เก่งมาก ๆ ก็คือเริ่มต้นตอนอายุ 12 อย่างน้อยและคนจรจัด คุณสร้างโครงการที่ใหญ่ขึ้นและใหญ่ขึ้นโดยมีการเกาหัวอย่างมากว่าทำไมสิ่งต่าง ๆ ไม่ทำงานไปพร้อมกัน ตามเวลาที่คุณอยู่ในวิทยาลัยคุณจะได้รับปรีชาเป็นบริบทสำหรับทุกสิ่งทางทฤษฎีที่คุณเรียนรู้ จากนั้นคุณเรียนรู้ต่อไปโดยสัมผัสกับชีวิตที่เหลือของคุณ คุณจะไม่มีทางทำมันได้เลย เมื่อมองดูแผนผังคุณจะต้องเห็นแรงดันและกระแสที่ไหล
Olin Lathrop

ขอบคุณ! มันทำให้ฉันเป็นทักษะที่จะได้รับประโยชน์จากประสบการณ์และบริบท ฉันคิดว่ามันดีที่การซ่อมเป็นส่วนที่สนุกมาก
Rab

1
ใน Arduino Uno หมุด PWM ส่วนใหญ่ทำ ~ 500 Hz ดังนั้นรอบการทำงานที่น้อยที่สุดคือ ~ 2 ms และนี่ก็เพียงพอแล้วสำหรับแม้กระทั่งเวลาการกู้คืนข้อมูลที่ค่อนข้างสูงในไม่กี่ไมโครวินาทีไม่ควรใช่หรือไม่ ผมหมายถึงไม่กี่ microseconds เวลาการกู้คืนกลับเป็นสูงสุดสิ่งหนึ่งที่พบใน 1N400 * เอกสารข้อมูลทางเทคนิค, การวัดและรายละเอียดไดโอดทั่วไป
maxschlepzig

+1 สำหรับวรรคสุดท้ายซึ่งทำให้ฉันหัวเราะคิกคัก โดยเฉพาะ "แผนงาน" ที่เริ่มต้นใหม่ทำให้ฉันต้องสงสัยเสมอ
นายMystère

14

เมื่อขดลวดมอเตอร์มีกระแสไฟฟ้าไหลเวียนจะสร้างสนามแม่เหล็ก ต้องใช้พลังงานในการทำสิ่งนี้และพลังงานจะถูกเก็บไว้ในสนามแม่เหล็ก หากกระแสไฟฟ้าถูกตัดออกทันทีสนามแม่เหล็กจะพัง สนามแม่เหล็กที่เปลี่ยนแปลงนี้จะเหนี่ยวนำให้เกิดกระแสในขดลวดที่สูงกว่าปกติมากและสร้างแรงดันไฟฟ้าที่สูงขึ้นในขดลวด มันสั้นมากและน่าประทับใจมาก

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

โปรดสังเกตว่าไดโอดของคุณชี้ไปทางด้าน + ของวงจร ฟิลด์ที่เปลี่ยนแปลงจะสร้าง "back EMF" หรือแรงดันไฟฟ้าไปผิดทาง พลังงานไหลออกมาตามท่อที่มันเข้ามา (หวังว่าฉันมีสิทธิ์นั้นฉันจะตรวจสอบและแก้ไขถ้าฉันมีไว้ข้างหลัง) ไดโอดจะดำเนินการหากศักย์ไฟฟ้าหรือแรงดันไฟฟ้าข้ามขดลวดมอเตอร์มีค่ามากกว่า 0.6 V ในทิศทางที่ "ผิด" สำหรับ DC นี่คือสิ่งที่ตรงไปตรงมา สำหรับ PWM จะเหมือน AC และวงจรคุณภาพที่เชื่อถือได้นั้นซับซ้อนกว่า

ดังที่ @OlinLathrop กล่าวว่าตัวต้านทานพื้นฐานของคุณอาจมีขนาดใหญ่ขึ้นเล็กน้อย ตัวอย่างทั่วไป 2N2222 และ 2N3904 มีอัตราขยายเบต้าหรือกระแสไฟฟ้าประมาณ 30 ที่ DC ที่มีความถี่สูงถึง 300-400 หากคุณมีมอเตอร์เป็นจำนวนมากทรานซิสเตอร์จะไม่จ่ายกระแสไฟหรือเผาไหม้ คุณสามารถคำนวณการกระจายพลังงานในทรานซิสเตอร์ที่ประมาณ 1W ต่อแอมป์และสูงกว่ามากหากสิ่งต่าง ๆ ไม่ได้รับการปรับแต่งให้ถูกต้อง (คุณไม่สามารถใส่ทรานซิสเตอร์แบบไบโพลาร์ในแบบคู่ขนานได้โดยไม่ต้องทำงานมากนักเนื่องจากความต้านทานความร้อนจะลดลงและมีกระแสมากขึ้น คุณสามารถเห็นไดรเวอร์มอเตอร์เล็ก ๆ ที่ขายสำหรับ Arduinos มีทั้งชุดระบายความร้อนหรือชิ้นส่วนขนาดใหญ่ที่มีส่วนโลหะที่ใช้กับชุดระบายความร้อน

หมวกเรียบออกแหลมปัจจุบัน เมื่อเวลากว้างขึ้นพวกเขาจะลดลงในกระแสสูงสุดและแรงดันไฟฟ้าที่ผลิตในวงจรจะน้อยลง หากมอเตอร์ของคุณมีแปรงคุณจะได้รับกระแสการเปิด / ปิดในอัตราที่มอเตอร์หมุน อีกครั้งที่เรากลับไปเปลี่ยนกระแสและเปลี่ยนเขต นี่คือที่มาของสัญญาณรบกวนจากคลื่นวิทยุ การแพร่กระจายแหลมในปัจจุบันหมายถึงอัตราการเปลี่ยนแปลงของกระแสไฟฟ้าลดลงและเป็นผล RFI (การรบกวนด้วยคลื่นความถี่วิทยุ) ต่ำกว่า ฉันจะเดิมพันว่าถ้าคุณวางวิทยุ AM ไว้ใกล้ ๆ วงจรของคุณแล้วปรับไปยังจุดที่ไม่มีสถานีวิทยุคุณจะสามารถบอกได้เมื่อมอเตอร์กำลังทำงาน ลองขนาดหมวกแตกต่างกันและดูว่าคุณตรวจพบความแตกต่างใด ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.