Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply

โครงงานการทดลองและศึกษาเบื้องต้นด้วยการใช้บอร์ด Arduino UNO ควบคุมสวิตชิ่งเพาเวอร์ซัพพลาย ในโหมดเรโซแนนท์ (Zero Voltage Switching : ZVS) แบบฮาฟบริดจ์ คอนเวอร์เตอร์ ขนาด 45 วัตต์ ทั้งนี้เกิดจากการพัฒนาต่อจากโครงงาน Mini Half-Bridge Converter Topology by using L6599D Resonant Mode Controller โดยการสังเกตลักษณะการทำงานของไอซีควบคุมจากนั้น ทดลองเขียนโปรแกรมแบบง่ายเพื่อให้ทำงานร่วมกันกับวงจร แล้วสังเกตพลังงานสูญเสียที่เกิดขึ้น (สวิตชิ่งกำลัง) บนตัวเพาเวอร์มอสเฟตอินเวอร์เตอร์ รวมถึงวัดสัญญาณแรงดันและกระแสที่เกิดขึ้น


รูปที่ 1 และรูปที่ 2 แสดงลักษณะของบอร์ดต้นแบบที่ประกอบขึ้นใหม่ เป็นวงจรฮาฟบริดจ์คอนเวอร์เตอร์ ใช้แกนหม้แปลงสวิตชิ่งแบบ ER-35 ใช้ลวดทองแดงเบอร์ 21SWG พันขดลวดปฐมภูม (Primary winding) จำนวน 16 รอบและขดลวดทุติยภูมิ (Secondary winding) จำนวน 6 รอบแบบคู่ ระหว่างขดลวดปฐมภูมิและทุติยภูมิจะพันเทปคั่นประมาณ 3-4 รอบ จากนั้นพันเทปรอบแกนหม้อแปลงโดยไม่ต้องเว้นช่องอากาศ (Air gap) ประมาณ 4-5 รอบอีกครั้ง

ในรูปที่ 3 สำหรับบอร์ดอินเตอร์เฟส (บอร์ดกลาง) จะทำหน้าที่เชื่อมต่อระหว่างบอร์ด Arduino UNO และวงจรฮาฟบริดจ์คอนเวอร์เตอร์ เพื่อปรับสัญญาณของบอร์ดทั้ง 2 ส่วนให้สามารถสื่อสารกันได้อย่างเหมาะสมและปลอดภัยในการทำงาน โดยจะเชื่อมต่อในส่วนของการส่งสัญญาณพัลซ์วิดธ์มอดูเลตชั่น (PWM Driver Signal) การรับสัญญาณป้อนกลับแรงดันเอาต์พุต (Output Voltage Feedback Signal) และสัญญาณกระแสที่ไหลผ่านตัวหม้อแปลงสวิตชิ่ง (Current Sense) เป็นต้น






สำหรับในรูปที่ 4 ถึงรูปที่ 9 เป็นการวัดค่าแรงดันอินพุตและเอาต์พุตในการทดลอง รวมถึงการวัดกระแสทางด้านเอาต์พุตและลักษณะของตัวต้านทานโหลดที่นำมาทดสอบตามลำดับ ในส่วนของรูปที่ 9 เป็นสัญญาณพัลซ์วิดมอดูเลตชั่นที่บอร์ด Arduino UNO สร้างขึ้น โดยในช่วงสแตนบายโหมดความถี่สวิตชิ่งจะมีค่าประมาณ 200kHz ในช่องวัดสัญญาณที่ 1 (CH1) และในช่องวัดสัญญาณที่ 2 (CH2) จะเป็นการวัดค่าเฉลี่ยของกระแสที่ไหลผ่านตัวหม้อแปลงสวิตชิ่ง
/* Arduino UNO Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply Vi = 100V Vo = 15V@3A Po = 45W (Continuous Power : COP) Fs = 20kHz-200kHz R&D By : www.electronicsDNA.com Date : 8-10-2022 (V.0) */ #include <PWM.h> int PWMpin = 9; // the pin PWM Driver Signal long frequency = 20000; // Set frequency (in Hz) long Output_Fs = 0; int Setpoint = 512; // 512 for Vo = 15V int Delay = 1; void setup() { //initialize all timers except for 0, to save time keeping functions InitTimersSafe(); Serial.begin(9600); //sets the frequency for the specified pin bool success = SetPinFrequencySafe(PWMpin,frequency); if(success) { pinMode(13, OUTPUT); digitalWrite(13, HIGH); delay(300); digitalWrite(13, LOW); delay(300); } } void loop() { MAINLOOP: int VoltageFB = analogRead(A0); // Serial.print("\t Vo = "); // Serial.println(Voltage); if(Setpoint>VoltageFB){ Output_Fs = Output_Fs-1000; goto OUT_PUT; } if(Setpoint<VoltageFB){ Output_Fs = Output_Fs+1000; goto OUT_PUT; } OUT_PUT: //------ OUT PUT Frequency Set ------------------------------- if (Output_Fs>200000) { Output_Fs = 200000; bool success = SetPinFrequencySafe(PWMpin,frequency); pwmWrite(PWMpin,0); delay(1000); goto MAINLOOP; } if (Output_Fs<20000) { Output_Fs = 20000; } frequency = Output_Fs; bool success = SetPinFrequencySafe(PWMpin,frequency); pwmWrite(PWMpin,128); Serial.print(" Fs Resonant = "); Serial.print(Output_Fs); Serial.println(" kHz "); }
สำหรับตัวอย่างโปรแกรม Arduino ที่แสดงข้างบนนี้สามารถควบคุมการทำงานของสวิตชิ่งเพาเวอร์ซัพพลายในโหมดเรโซแนนท์ (ZVS) แบบฮาฟบริดจ์คอนเวอร์เตอร์ได้ ซึ่งจะปรับความถี่สวิตชิ่งที่เหมาะสมให้กับคอนเวอร์เตอร์ เมื่อโหลดต้องการกระแสไม่เท่ากัน โดยความถี่สวิตชิ่งจะปรับได้ในช่วง 20kHz-200kHz
Download Arduino Library ——> PWM.h



รูปที่ 10 ถึงรูปที่ 12 เป็นการทดลองที่ 1 โดยเริ่มจากให้วงจรจ่ายกระแสโหลดที่ 1.5A จากนั้นวัดค่าแรงดันเอาต์พุต (รูปที่ 11) เพื่อสังเกตการควบคุมแรงดันเอาต์พุตให้คงที่ของวงจรในส่วนควบคุม และในรูปที่ 12 จะเห็นว่าความถี่สัญญาณพัลซ์วิดธ์มอดูเลตจะปรับมาทำงานที่ 170.1kHz ที่ช่องวัดสัญญาณที่ 1 (CH1) ส่วนช่องวัดสัญญาณที่ 2 (CH2) จะเป็นค่าเฉลี่ยกระแสที่ปรับไว้จะมีค่า 2.61V จากการตรวจจับกระแสที่ตัวหม้อแปลงสวิตชิ่ง



ในรูปที่ 13 ถึงรูปที่ 15 เป็นการทดลองที่ 2 ลักษณะเดียวกับการทดลองที่ 1 โดยปรับการจ่ายวงจรจ่ายกระแสโหลดเพิ่มขึ้นที่ 2.96A และวัดค่าแรงดันเอาต์พุต (รูปที่ 14) สังเกตการควบคุมแรงดันเอาต์พุตให้คงและความถี่สัญญาณพัลซ์วิดธ์มอดูเลตจะปรับมาทำงานใหม่มาที่ 117.5kHz และค่าเฉลี่ยกระแสที่ปรับไว้ช่องวัดสัญญาณที่ 2 (CH2) เท่ากับ 5.50V จากการตรวจจับกระแสที่ตัวหม้อแปลงสวิตชิ่ง

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




ในรูปที่ 18 จะแสดงสญญาณที่วัดโดยช่องวัดสัญญาณที่ 1 (CH1) จะเป็นสัญญาณขับที่ตัวออปโต้คัปเปิ้ลแทนเพื่อลดอันตรายของการวัดค่าแรงดันสูงที่เอาต์พุตอินเวอร์เตอร์ ซึ่งสัญญาณนนี้จะสัมพันธ์กับการทำงานของเพาเวอร์มอสเฟตทางด้านบน (MOSFET High side) ส่วนช่องวัดสัญญาณที่ 2 (CH2) จะเป็นลักษณะของกระแสที่ไหลผ่านตัวหม้อแปลงสวิตชิ่งที่เกิดขึ้น สำหรับในรูปที่ 19 และรูปที่ 20 เป็นการปรับการแสดงผลให้ดูง่ายขึ้นในช่วงเวลาของกระแสและแรงดันขณะทำการสวิตชิ่ง


สำหรับจากที่ได้ทำการทดลองโครงงานที่ผ่านมานั้น ผลที่ได้เป็นที่น่าพอใจเมื่อให้วงจรจ่ายกระแสต่อเนื่องที่กำลังเอาต์พุต 45 วัตต์ต่อเนื่อง และตัวสวิตชิ่งกำลัง (เพาเวอร์มอสเฟต) ไม่ต้องใช้ฮีตซิ้งก็สามารถทำงานได้ ทั้งนี้ตัวโครงงานที่นำเสนอยังคงเป็นแนวทางเบื้องต้นสำหรับนำไปพัฒนาต่อได้เพิ่มเติม รวมทั้งตัวโปรแกรม Arduino สามารถเขียนฟังก์ชั่นการควบคุมในรูปแบบต่างๆ เพื่อให้ตอบสนองการทำงานได้ดียิ่งขึ้น และข้อมูลเพิ่มเติมสำหรับศึกษาการทำงานสามารถเข้าไปตามลิ้งก์อ้างอิงข้างล่างนี้ครับ.
Reference
- https://www.arrow.com/en/reference-designs/180w-24v-110v-dc-to-dc-multi-output-power-supply-for-tv-power-supply/ac3d3625143e40ede12faeb0509900b7
- https://www.datasheets.com/en/reference-design/400w–3-3v–5v–75v–200v-ac-to-dc-multi-output-power-supply-for-consumer-electronics-26245
- https://www.datasheets.com/en/reference-design/400w—75v–200v-dc-to-dc-multi-output-power-supply-for-atx-power-supply-26810
- https://www.researchgate.net/figure/Waveforms-for-ZVS-operation-a-gate-signal-b-V-ab-t-c-i-s-t_fig2_277969990
- https://www.st.com/resource/en/application_note/an1660-zvs-resonant-converter-for-consumer-application-using-l6598-ic-stmicroelectronics.pdf
- https://www.ti.com/seclit/ml/slup263/slup263.pdf
- https://www.onsemi.com/pub/collateral/and90061-d.pdf