สารบัญ:

วิธีควบคุม MOSFET ด้วย Arduino PWM: 3 ขั้นตอน
วิธีควบคุม MOSFET ด้วย Arduino PWM: 3 ขั้นตอน

วีดีโอ: วิธีควบคุม MOSFET ด้วย Arduino PWM: 3 ขั้นตอน

วีดีโอ: วิธีควบคุม MOSFET ด้วย Arduino PWM: 3 ขั้นตอน
วีดีโอ: สอน เขียนโปรแกรม ภาษาซี Arduino | Uno R3 PWM Duty cycle ความถี่ #EP14 2024, พฤศจิกายน
Anonim
Image
Image
แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

ในคำแนะนำนี้ เราจะมาดูวิธีควบคุมกระแสผ่าน MOSFET โดยใช้สัญญาณเอาท์พุต Arduino PWM (Pulse Width Modulation)

ในกรณีนี้ เราจะจัดการโค้ด Arduino เพื่อให้สัญญาณ PWM แปรผันบนพินดิจิทัล 9 ของ Arduino จากนั้นเราจะกรองสัญญาณนี้เพื่อให้ระดับ DC ที่ปรับได้ซึ่งสามารถนำไปใช้กับเกตของ MOSFET ได้.

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

ที่นี่ฉันจะตั้งค่า PWM เพื่อให้เรามีรูปแบบความกว้างพัลส์ 8192 ขั้นตอนซึ่งทำให้เราควบคุม MOSFET ได้ดีมาก

ขั้นตอนที่ 1: แผนภาพวงจร

วงจรตรงไปตรงมามาก สัญญาณ PWM จากพิน D9 ของ Arduino ถูกรวมหรือกรองโดยการรวมกันของ R1 และ C1 ค่าที่แสดงทำงานได้ดีที่ความถี่ในการทำงาน 1.95KHz หรือการทำงานแบบ 13 บิต โดยมี 8192 ขั้นตอน (2 กำลังไฟฟ้า 13 = 8192)

หากคุณตัดสินใจที่จะใช้จำนวนขั้นตอนที่ต่างออกไป คุณอาจต้องเปลี่ยนค่า R1 และ C1 ตัวอย่างเช่น หากคุณใช้ 256 ขั้นตอน (การทำงานแบบ 8 บิต) ความถี่ PWM จะเท่ากับ 62.45 KHz คุณจะต้องใช้ค่า C1 อื่น ฉันพบว่า 1000uF ทำงานได้ดีสำหรับความถี่นี้

จากมุมมองเชิงปฏิบัติ การตั้งค่า PWM เป็น 0 หมายความว่าระดับ DC บนเกต MOSFET จะเป็น 0V และ MOSFET จะถูกปิดโดยสมบูรณ์ การตั้งค่า PWM ที่ 8191 จะหมายความว่าระดับ DC บนเกต MOSFET จะเป็น 5V และ MOSFET จะเพิ่มขึ้นอย่างมากหากไม่ได้เปิดไว้โดยสมบูรณ์

ตัวต้านทาน R2 อยู่ในตำแหน่งเพื่อให้แน่ใจว่า MOSFET จะปิดเมื่อสัญญาณบนเกตถูกถอดออกโดยดึงเกทลงกราวด์

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

ขั้นตอนที่ 2: รหัส Arduino

รหัส Arduino
รหัส Arduino

แนบรหัส Arduino แล้ว รหัสมีความคิดเห็นที่ดีและค่อนข้างง่าย บล็อกของรหัสในบรรทัดที่ 11 ถึง 15 ตั้งค่า Arduino สำหรับการทำงาน PWM ที่รวดเร็วพร้อมเอาต์พุตที่พิน D9 ในการเปลี่ยนระดับ PWM คุณต้องเปลี่ยนค่าของ Compare register OCR1A หากต้องการเปลี่ยนจำนวนขั้นตอน PWM คุณต้องเปลี่ยนค่าของ ICR1 เช่น 255 สำหรับ 8 บิต, 1023 สำหรับ 10 บิต, 8191 สำหรับการทำงาน 13 บิต โปรดทราบว่าเมื่อคุณเปลี่ยน ICR1 ความถี่ของการดำเนินการจะเปลี่ยนไป

ลูปจะอ่านสถานะของสวิตช์ปุ่มกดสองตัวและเพิ่มค่า OCR1A ขึ้นหรือลง ฉันได้ตั้งค่านี้ล่วงหน้าในการตั้งค่า () ถึง 3240 ซึ่งต่ำกว่าค่าที่ MOSFET เริ่มเปิด หากคุณใช้ทรานซิสเตอร์หรือวงจรตัวกรอง C1 & R1 อื่น ค่านี้จะแตกต่างกันเล็กน้อยสำหรับคุณ ดีที่สุดที่จะเริ่มต้นด้วยค่าที่ตั้งไว้ล่วงหน้าที่ศูนย์ในครั้งแรกที่คุณลองในกรณีนี้!

ขั้นตอนที่ 3: ผลการทดสอบ

ผลการทดสอบ
ผลการทดสอบ
ผลการทดสอบ
ผลการทดสอบ

ด้วย ICR1 ที่ตั้งค่าเป็น 8191 นี่คือผลลัพธ์ที่ฉันได้รับโดยเปลี่ยนกระแสระหว่าง 0 ถึง 2 AMPS:

OCR1A (การตั้งค่า PWM ปัจจุบัน (ma) แรงดันเกต (Vdc) 3240 0 ma 0v3458 10ma 1.949v4059 100ma 2.274v4532 200ma 2.552v4950 500ma 2.786v5514 1000ma 3.101v6177 1500ma 3.472v6927 2000ma 3.895v

แนะนำ: