ในโครงการนี้เราจะสร้างBuck Converter Circuit โดยใช้ Arduino และ N-Channel MOSFET ที่มีความจุกระแสสูงสุด 6 แอมป์ เรากำลังจะลดขนาด 12v DC เป็นค่าใดก็ได้ระหว่าง 0 ถึง 10v DC เราสามารถควบคุมค่าแรงดันเอาต์พุตได้โดยการหมุนโพเทนชิออมิเตอร์
แปลงเจ้าชู้เป็น DC เพื่อแปลง DC ซึ่งขั้นตอนลงแรงดันไฟฟ้ากระแสตรง มันก็เหมือนกับหม้อแปลงที่มีความแตกต่างอย่างหนึ่ง ในขณะที่หม้อแปลงลดขั้นตอนลงตัวแปลงบัคแรงดันไฟฟ้ากระแสสลับลดแรงดันไฟฟ้ากระแสตรง ประสิทธิภาพของตัวแปลงบัคต่ำกว่าหม้อแปลง
ส่วนประกอบสำคัญของตัวแปลงบั๊กคือมอสเฟต ทั้ง n-channel หรือ p-channel และ Square Pulse Generator ความถี่สูง (ไม่ว่าจะเป็น IC ตัวจับเวลาหรือไมโครคอนโทรลเลอร์) Arduino ใช้ที่นี่เป็น Pulse Generator และสามารถใช้ 555 Timer IC เพื่อจุดประสงค์นี้ ที่นี่เราได้สาธิตตัวแปลงบั๊กนี้โดยควบคุมความเร็ว DC-Motor ด้วยโพเทนชิออมิเตอร์และทดสอบแรงดันไฟฟ้าโดยใช้มัลติมิเตอร์ ตรวจสอบวิดีโอที่ท้ายบทความนี้
ส่วนประกอบที่จำเป็น:
- Arduino Uno
- IRF540N
- ตัวเหนี่ยวนำ (100Uh)
- คาปาซิเตอร์ (100uf)
- ชอตกี้ไดโอด
- โพเทนชิออมิเตอร์
- ตัวต้านทาน 10k, 100ohm
- โหลด
- แบตเตอรี่ 12v
แผนภาพวงจรและการเชื่อมต่อ:
ทำให้การเชื่อมต่อดังแสดงในแผนภาพข้างต้นสำหรับวงจรDC-DC Converter
- เชื่อมต่อขั้วหนึ่งของตัวเหนี่ยวนำเข้ากับแหล่งที่มาของ mosfet และอีกขั้วหนึ่งเข้ากับ LED ในอนุกรมที่มีตัวต้านทาน 1k โหลดเชื่อมต่อแบบขนานกับการจัดเรียงนี้
- เชื่อมต่อตัวต้านทาน 10k ระหว่างประตูและแหล่งที่มา
- เชื่อมต่อตัวเก็บประจุแบบขนานกับโหลด
- ต่อขั้วบวกของแบตเตอรี่เพื่อระบายน้ำและขั้วลบกับขั้วลบของตัวเก็บประจุ
- เชื่อมต่อขั้ว p ของไดโอดกับขั้วลบของแบตเตอรี่และขั้ว n กับแหล่งกำเนิดโดยตรง
- ขา PWM ของ Arduino ไปที่เกทของ mosfet
- ขา GND ของ Arduino ไปที่แหล่งที่มาของ mosfet เชื่อมต่อที่นั่นมิฉะนั้นวงจรจะไม่ทำงาน
- เชื่อมต่อขั้วสุดขั้วของโพเทนชิออมิเตอร์กับขา 5v และขา GND ของ Arduino ตามลำดับ ในขณะที่ขั้วปัดน้ำฝนเป็นขาอะนาล็อก A1
ฟังก์ชั่นของ Arduino:
ตามที่อธิบายไปแล้ว Arduino ส่งพัลส์นาฬิกาไปยังฐานของ MOSFET ความถี่ของพัลส์นาฬิกาเหล่านี้อยู่ที่ประมาณ 65 Khz. สิ่งนี้ทำให้เกิดการสลับ mosfet อย่างรวดเร็วและเราได้ค่าแรงดันไฟฟ้าเฉลี่ย คุณควรเรียนรู้เกี่ยวกับ ADC และ PWM ใน Arduino ซึ่งจะอธิบายให้คุณทราบว่า Arduino สร้างพัลส์ความถี่สูงอย่างไร:
- Arduino LED Dimmer โดยใช้ PWM
- วิธีใช้ ADC ใน Arduino Uno
ฟังก์ชั่นของ MOSFET:
Mosfet ใช้เพื่อวัตถุประสงค์สองประการ:
- สำหรับการสลับแรงดันไฟฟ้าขาออกด้วยความเร็วสูง
- เพื่อให้กระแสไฟฟ้าสูงและกระจายความร้อนน้อยลง
ฟังก์ชั่นของตัวเหนี่ยวนำ: ตัวเหนี่ยวนำ
ใช้เพื่อควบคุมแรงดันไฟฟ้าเดือยซึ่งอาจทำให้มอสเฟ็ตเสียหายได้ ตัวเหนี่ยวนำจะเก็บพลังงานเมื่อมอสเฟตเปิดอยู่และปล่อยพลังงานที่เก็บไว้นี้เมื่อมอสเฟตปิดอยู่ เนื่องจากความถี่สูงมากค่าของการเหนี่ยวนำที่จำเป็นสำหรับวัตถุประสงค์นี้จึงต่ำมาก (ประมาณ 100uH)
ฟังก์ชั่นของ Schottky Diode:
ไดโอด Schottky จะทำการวนรอบของกระแสให้เสร็จสมบูรณ์เมื่อปิด mosfet และทำให้มั่นใจได้ว่าจะจ่ายกระแสได้อย่างราบรื่น นอกจากนี้ไดโอด Schottky ยังกระจายความร้อนต่ำมากและทำงานได้ดีที่ความถี่สูงกว่าไดโอดทั่วไป
ฟังก์ชั่นของ LED:
ความสว่างของ LED บ่งบอกถึงแรงดันไฟฟ้าที่ลดลงระหว่างโหลด เมื่อเราหมุนโพเทนชิออมิเตอร์ความสว่างของ LED จะแตกต่างกันไป
ฟังก์ชั่นของโพเทนชิออมิเตอร์:
เมื่อขั้วปัดน้ำฝนของโพเทนชิออมิเตอร์ถูกโยนออกไปยังตำแหน่งที่ต่างกันแรงดันไฟฟ้าระหว่างมันและกราวด์จะเปลี่ยนไปซึ่งจะเปลี่ยนค่าอะนาล็อกที่ได้รับจากพิน A1 ของ arduino จากนั้นค่าใหม่นี้จะถูกแมประหว่าง 0 ถึง 255 จากนั้นกำหนดให้กับพิน 6 ของ Arduino สำหรับ PWM
** ตัวเก็บประจุช่วยลดแรงดันไฟฟ้าที่กำหนดให้กับโหลด
ทำไมตัวต้านทานระหว่างประตูและแหล่งที่มา?
แม้เสียงรบกวนเพียงเล็กน้อยที่เกทของ MOSFET ก็สามารถเปิดได้ดังนั้นเพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้นขอแนะนำให้เชื่อมต่อตัวต้านทานค่าสูงระหว่างเกตและแหล่งที่มาเสมอ
คำอธิบายรหัส:
รหัส Arduino ที่สมบูรณ์สำหรับการสร้างพัลส์ความถี่สูงจะได้รับในส่วนรหัสด้านล่าง
โค้ดนั้นง่ายและอธิบายได้ในตัวดังนั้นเราจึงได้อธิบายโค้ดเพียงบางส่วน
ตัวแปร x ถูกกำหนดค่าอนาล็อกที่ได้รับจากขาอะนาล็อก A0 ของ Arduino
x = analogRead (A1);
ตัวแปร w ถูกกำหนดค่าที่แมปซึ่งอยู่ระหว่าง 0 ถึง 255 ที่นี่ค่า ADC ของ Arduino จะถูกแมปเป็น 2 ถึง 255 โดยใช้ฟังก์ชัน แผนที่ ใน Arduino
w = แผนที่ (x, 0,1023,0,255);
ความถี่ปกติของ PWM สำหรับขา 6 อยู่ที่ประมาณ 1khz ความถี่นี้ไม่เหมาะสำหรับวัตถุประสงค์เช่นตัวแปลงบั๊ก ดังนั้นความถี่นี้จะต้องเพิ่มขึ้นในระดับที่สูงมาก สามารถทำได้โดยใช้รหัสบรรทัดเดียวในการตั้งค่าโมฆะ:
TCCR0B = TCCR0B & B11111000 - B00000001; // เปลี่ยนความถี่ของ pwm เป็น 65 KHZ โดยประมาณ
การทำงานของ DC-DC Buck Converter:
เมื่อเปิดวงจร mosfet จะเปิดและปิดด้วยความถี่ 65 khz สิ่งนี้ทำให้ตัวเหนี่ยวนำเก็บพลังงานเมื่อ mosfet เปิดอยู่จากนั้นให้พลังงานที่เก็บไว้นี้โหลดเมื่อ mosfet ปิด เนื่องจากสิ่งนี้เกิดขึ้นที่ความถี่สูงมากเราจึงได้ค่าเฉลี่ยของแรงดันเอาต์พุตพัลซิ่งขึ้นอยู่กับตำแหน่งของขั้วปัดน้ำฝนของโพเทนชิออมิเตอร์เทียบกับขั้ว 5v และเมื่อแรงดันไฟฟ้าระหว่างขั้วปัดน้ำฝนและกราวด์เพิ่มขึ้นค่าที่แมปบนหมายเลขพิน pwm ก็เช่นกัน 6 ของ Arduino
สมมติว่าค่าที่แมปนี้คือ 200 จากนั้นแรงดัน PWM ที่ขา 6 จะอยู่ที่: = 3.921 โวลต์
และเนื่องจาก MOSFET เป็นอุปกรณ์ที่ขึ้นกับแรงดันไฟฟ้าแรงดันไฟฟ้า pwm นี้จะกำหนดแรงดันไฟฟ้าข้ามโหลดในที่สุด
ที่นี่เราได้สาธิตตัวแปลงบั๊กนี้โดยการหมุน DC-Motor และบนมัลติมิเตอร์ตรวจสอบวิดีโอด้านล่าง เราได้ควบคุมความเร็วของมอเตอร์ด้วยโพเทนชิออมิเตอร์และควบคุมความสว่างของ LED ด้วยโพเทนชิออมิเตอร์