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 โดยการสังเกตลักษณะการทำงานของไอซีควบคุมจากนั้น ทดลองเขียนโปรแกรมแบบง่ายเพื่อให้ทำงานร่วมกันกับวงจร แล้วสังเกตพลังงานสูญเสียที่เกิดขึ้น (สวิตชิ่งกำลัง) บนตัวเพาเวอร์มอสเฟตอินเวอร์เตอร์ รวมถึงวัดสัญญาณแรงดันและกระแสที่เกิดขึ้น

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 1 ลักษณะของบอร์ดต้นแบบวงจรฮาฟบริดจ์คอนเวอร์เตอร์ (1)
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 2 ลักษณะของบอร์ดต้นแบบวงจรฮาฟบริดจ์คอนเวอร์เตอร์ (2)

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

รูปที่ 3 บอร์ดอินเตอร์เฟสระหว่างบอร์ด Arduino UNO และวงจรฮาฟบริดจ์คอนเวอร์เตอร์

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

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 4 ลักษณะของการเตรียมเครื่องมือและอุปกรณ์สำหรับทดลอง
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 5 แรงดันอินพุต (Vi) ที่ใช้ในการทดลอง ประมาณ 100VDC
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 6 แรงดันเอาต์พุต (Vo) กำหนดไว้ที่ประมาณ 15VDC (บางช่วงจะสวิงขึ้นไปที่ 17V)
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 7 แคล้มมิเตอร์สำหรับวัดกระแสทางด้านเอาต์พุต (Io)
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 8 โหลดตัวต้านทานสำหรับทดสอบการทำงานขนาด 10 โอห์ม 20 วัตต์ 2 ตัว
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 9 แสดงลักษณะสัญญาณพัลซ์วิดธ์มอดูเลตชั่นขณะวงจรสแตนบาย

สำหรับในรูปที่ 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

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 10 การทดลองที่ 1 ให้วงจรจ่ายกระแสโหลดที่ 1.5A
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 11 การทดลองที่ 1 แรงดันเอาต์พุตเมื่อวงจรจ่ายกระแสโหลดที่ 1.5A
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 12 การทดลองที่ 1 สัญญาณพัลซ์วิดธ์มอดูเลตทำงานที่ความถี่ 170.1kHz

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

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 13 การทดลองที่ 2 ให้วงจรจ่ายกระแสโหลดที่ 2.96A
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 14 การทดลองที่ 2 แรงดันเอาต์พุตเมื่อวงจรจ่ายกระแสโหลดที่ 2.96A
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 15 การทดลองที่ 2 สัญญาณพัลซ์วิดธ์มอดูเลตทำงานที่ความถี่ 117.5kHz

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

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 16 การทดลองที่ 3 การวัดสัญญาณกระแสที่ไหลผ่านหม้อแปลงสวิตชิ่ง

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

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 17 การทดลองที่ 3 การจ่ายกระแสโหลดที่ 2.95A เพื่อวัดสัญญาณกระแสหม้อแปลงสวิตชิ่ง
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 18 การทดลองที่ 3 สัญญาณขับออปโต้คัปเปิ้ลและสัญญาณกระแสที่วัดได้
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 19 แสดงการปรับรูปสัญญาณที่วัดได้ให้เห็นได้ง่ายขึ้น (ช่วงขอบขาขึ้น)
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 20 แสดงการปรับรูปสัญญาณที่วัดได้ให้เห็นได้ง่ายขึ้น (ช่วงขอบขาลง)

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

Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 21 แสดงวงจรที่ออกแบบในส่วนขับกำลังฮาฟบริดจ์คอนเวอร์เตอร์
Simple Arduino Control Resonant Mode Half-Bridge Converter Topology Switching Power Supply
รูปที่ 22 แสดงวงจรที่ออกแบบในส่วนของบอร์ดควบคุม Arduino UNO

สำหรับจากที่ได้ทำการทดลองโครงงานที่ผ่านมานั้น ผลที่ได้เป็นที่น่าพอใจเมื่อให้วงจรจ่ายกระแสต่อเนื่องที่กำลังเอาต์พุต 45 วัตต์ต่อเนื่อง และตัวสวิตชิ่งกำลัง (เพาเวอร์มอสเฟต) ไม่ต้องใช้ฮีตซิ้งก็สามารถทำงานได้ ทั้งนี้ตัวโครงงานที่นำเสนอยังคงเป็นแนวทางเบื้องต้นสำหรับนำไปพัฒนาต่อได้เพิ่มเติม รวมทั้งตัวโปรแกรม Arduino สามารถเขียนฟังก์ชั่นการควบคุมในรูปแบบต่างๆ เพื่อให้ตอบสนองการทำงานได้ดียิ่งขึ้น และข้อมูลเพิ่มเติมสำหรับศึกษาการทำงานสามารถเข้าไปตามลิ้งก์อ้างอิงข้างล่างนี้ครับ.

Reference

  1. https://www.arrow.com/en/reference-designs/180w-24v-110v-dc-to-dc-multi-output-power-supply-for-tv-power-supply/ac3d3625143e40ede12faeb0509900b7
  2. https://www.datasheets.com/en/reference-design/400w–3-3v–5v–75v–200v-ac-to-dc-multi-output-power-supply-for-consumer-electronics-26245
  3. https://www.datasheets.com/en/reference-design/400w—75v–200v-dc-to-dc-multi-output-power-supply-for-atx-power-supply-26810
  4. https://www.researchgate.net/figure/Waveforms-for-ZVS-operation-a-gate-signal-b-V-ab-t-c-i-s-t_fig2_277969990
  5. https://www.st.com/resource/en/application_note/an1660-zvs-resonant-converter-for-consumer-application-using-l6598-ic-stmicroelectronics.pdf
  6. https://www.ti.com/seclit/ml/slup263/slup263.pdf
  7. https://www.onsemi.com/pub/collateral/and90061-d.pdf