Basic Current-sharing for DC-DC Converters V.1

โครงงานนี้เป็นการทดลองต่อขนานกันของวงจรดีซี ทู ดีซี บักคอนเวอร์เตอร์ 2 วงจร เพื่อให้แชร์การทำงานระหว่างกันในลักษณะของ Master-Slave Operation คือ ในการขนานกันของคอนเวอร์เตอร์ลักษณะนี้จะใช้คอนเวอร์เตอร์ที่มีคุณสมบัติการทำงานเหมือนกันทั้งหมดแล้วจะใช้หนึ่งวงจรเป็นหลัก (Master) ที่จะทำหน้าที่ควบคุมค่าแรงดันทางด้านเอาต์พุตทั้งหมดให้ได้ตามที่กำหนด จากนั้นวงจรส่วนที่เหลือ (Slave) จะทำหน้าที่จ่ายกระแสเพิ่มเติม (Current-sharing) ในสัดส่วนที่เท่ากันเพื่อควบคุมให้แรงดันเอาต์พุตคงที่ นอกจากนี้เทคนิคการแชร์กระแสยังมีอีกหลายรูปแบบเช่น Voltage-Controlled Current Sources, Forced Current Sharing, Parallel Redundant Operation เป็นต้น โดยในโครงงานนี้จะใช้บอร์ดควบคุม Arduino UNO ในการควบคุมการทำงาน

Basic Current-sharing for DC-DC Converters
รูปที่ 1 การเตรียมอุปกรณ์ต่างๆ สำหรับประกอบวงจรต้นแบบ
Basic Current-sharing for DC-DC Converters
รูปที่ 2 การร่างลายวงจร (PCB) สำหรับทำสำหรับวางอุปกรณ์

ในรูปที่ 1 และรูปที่ 2 เป็นการเตรียมอุปกรณ์สำหรับประกอบวงจรต้นแบบ โดยในบอร์ดต้นแบบนี้จะใช้วงจรบักคอนเวอร์เตอร์เหมือนกัน 2 วงจร และทดลองการแชร์กระแสทางด้านเอาต์พุตระหว่างกัน

Basic Current-sharing for DC-DC Converters
รูปที่ 3 แสดงลักษณะของบอร์ดต้นแบบที่ประกอบขึ้น
Basic Current-sharing for DC-DC Converters
รูปที่ 4 การต่อวงจรร่วมกันระหว่างบอร์ดควบคุม Arduino UNO

สำหรับรูปที่ 3 และรูปที่ 4 เป็นลักษณะของบอร์ดต้นแบบที่ประกอบขึ้นที่จะมีลักษณะคล้ายกับวงจร Two-Phase Buck Converter ที่เคยนำเสนอ แต่จะต่างกันที่การแชร์กระแสจะใช้การตรวจจับกระแสเอาต์พุตจะแยกส่วนกัน และในรูปที่ 4 จะเป็นการต่อวงจรร่วมกันระหว่างบอร์ดควบคุม Arduino UNO

Basic Current-sharing for DC-DC Converters
รูปที่ 5 แสดงการเตรียมเครื่องมือสำหรับทดลองวงจร
Basic Current-sharing for DC-DC Converters
รูปที่ 6 แรงดันอินพุต (Vi) ในการทดลองที่ 20VDC
Basic Current-sharing for DC-DC Converters
รูปที่ 7 กำหนดค่าแรงดันเอาต์พุต (Vo) ที่ประมาณ 12VDC

รูปที่ 5 ถึงรูปที่ 7 เป็นการเตรียมเครื่องมือสำหรับการทดลองโครงงานและการจ่ายแรงดันอินพุตในการทดลองที่ 20VDC และกำหนดค่าแรงดันเอาต์พุตการทำงานที่ 12VDC/2A แบบต่อเนื่อง

Basic Current-sharing for DC-DC Converters
รูปที่ 8 สัญญาณพัลซ์วิดธ์มอดูเลตจากบอร์ด Arduino UNO

ในรูปที่ 8 เป็นลักษณะของสัญญาณพัลซ์วิดธ์มอดูเลตชั่นจากบอร์ด Arduino UNO ขณะวงจรสแตนบาย โดยการวัดสัญญาณที่ตำแหน่งขา D3 และ D11 ของตัวบอร์ด Arduino UNO

Basic Current-sharing for DC-DC Converters
รูปที่ 9 การทดลองที่ 1 เมื่อวงจรจ่ายกระแสเอาต์พุต (Io) ที่ 2.52A
Basic Current-sharing for DC-DC Converters
รูปที่ 10 ค่าแรงดันเอาต์พุตเมื่อจ่ายกระแสที่ 2.52A
Basic Current-sharing for DC-DC Converters
รูปที่ 11 สัญญาณพัลซ์วิดธ์มอดูเลตเมื่อจ่ายกระแสเอาต์พุตที่ 2.52A

ในรูปที่ 9 ถึงรูปที่ 11 เป็นการทดลองที่ 1 ด้วยการให้วงจรจ่ายกระแสเอาต์พุตที่ 2.52A เพื่อทดสอบการทำงาน โดยจะเห็นว่าค่าแรงดันเอาต์พุตจะอยู่ที่ประมาณ 12V และสัญญาณพัลซ์วิดธ์มอดูเลตชั่นที่จ่ายให้กับวงจรคอนเวอร์เตอร์ทั้ง 2 ส่วนจะมีค่าใกล้เคียงกันในการตอบสนองให้แรงดันเอาต์พุตคงที่

/*
    * Code Program for MCU Arduino UNO
    * Application for Basic Current-sharing for DC-DC Converter. 
    * Design by : www.electronicsDNA.com
    * Date : 15/4/2023 (V.0)

     Vi : 20VDC
     Vo : 12VDC
     Io : 2.0A (Continuous)     
     Fs : 31.372kHz
     Eff : > 80%
*/

int Output_PWM = 0;   
int Voutput = 0;      
int Iinductor = 0;    
int Setpoint = 500;  // 500 = 12V @ Voltage output 
double error;

void setup()
{
pinMode (3, OUTPUT);   //  PWM Signal Lo Side
pinMode (11, OUTPUT);  //  PWM Signal Hi Side
pinMode (13, OUTPUT);  //  LED Signal OK RUN System
Serial.begin(9600);

TCCR2A=0b10110001;   // Generate inverted PWM signals 
TCCR2B=0b00000001;   // Set Fsw = 31.37 kHz

delay(500);
digitalWrite(13, HIGH); 
delay(500);
digitalWrite(13, LOW);  
}

void loop()
{

MainLoop:

  Iinductor = analogRead(A0);  // Read ADC A0 for Iinductor 
  Voutput   = analogRead(A1);  // Read ADC A1 for Voutput 

 // Iinductor = analogRead(A2);  // Read ADC A0 for Iinductor 
 // Voutput   = analogRead(A3);  // Read ADC A1 for Voutput 
 
 
  Serial.print(" IL = ");
  Serial.println(Iinductor); 

  // Loop Output Short circuit and Current Limit

   if(Iinductor>350) {  // 350 Is Set Current (5A)  
       Output_PWM = 0;
       OCR2A = Output_PWM;          // PIN D11 Hi Side 
       OCR2B = 255-Output_PWM;      // PIN D3 Hi Side     
       delay(300); 
       goto  MainLoop;           
   }

 //      error = (Voutput-Setpoint);   
 //      Serial.print("\t Err = ");        
 //      Serial.println(error); 

       if(Setpoint>Voutput){   
         Output_PWM = Output_PWM+2;        
          goto  OUT_PUT;
         } 
        if(Setpoint<Voutput){   
          Output_PWM = Output_PWM-2; 
          goto  OUT_PUT;
         }        
      
OUT_PUT:    

       if (Output_PWM<1){Output_PWM=0;}      //  Limit Min PWM Signal  
       if (Output_PWM>128){Output_PWM=128;}  //  Limit Max PWM Signal 

          OCR2A = Output_PWM;          // PIN D11 Hi Side 
          OCR2B = 255-Output_PWM;      // PIN D3 Hi Side     
      //  delay(10);                    // Delay for Stability Loop Control
    
       } 

สำหรับโปรแกรม Arduino ที่แสดงข้างบนเป็นการควบคุมการทำงานให้กับคอนเวอร์เตอร์หลัก 1 วงจร แต่จะจ่ายสัญญาณสัญญาณพัลซ์วิดธ์มอดูเลตชั่นออกมา 2 ช่องเพื่อให้การทำงานใกล้เคียงกัน และรับสัญญาณป้อนกลับแรงดันเอาต์พุต (feedback signal) เพื่อปรับขนาดของสัญญาณพัลซ์วิดธ์มอดูเลตชั่นให้ได้ค่าที่เหมาะในการควบคุมการทำงานทั้งหมด

Basic Current-sharing for DC-DC Converters
รูปที่ 12 การทดลองที่ 2 เมื่อวงจรไม่ขนานกันที่เอาต์พุต (DC-DC non parallel)

รูปที่ 12 แสดงการวัดค่ากระแสเอาต์พุตเมื่อวงจรไม่ขนานกันที่เอาต์พุต ซึ่งกระแสที่วัดได้ยังคงใกล้เคียงเดิมทั้งนี้ โดยในช่วงการทำงานนี้วงจรคอนเวอร์เตอร์จะทำงานเพียง 1 วงจรเท่านั้น

Basic Current-sharing for DC-DC Converters
รูปที่ 13 ค่าแรงดันเอาต์พุตเมื่อวงจรไม่ขนานกันที่เอาต์พุต
Basic Current-sharing for DC-DC Converters
รูปที่ 14 สัญญาณพัลซ์วิดธ์มอดูเลตเมื่อวงจรไม่ขนานกันที่เอาต์พุต
Basic Current-sharing for DC-DC Converters
รูปที่ 15 การปลดสายไฟออกเพื่อไม่ต่อขนานวงจรกัน

ในรูปที่ 13 ถึงรูปที่ 15 แสดงค่าแรงดันเอาต์พุตเมื่อวงจรไม่ขนานกันยังคงใกล้เคียง 12V แต่การตอบสนองของสัญญาณพัลซ์วิดธ์มอดูเลตชั่นเพิ่มขึ้น (เพิ่ม 2 เท่าจากรูปที่ 11) ทั้งนี้อันเนื่องมาจากการจ่ายกระแสเพียงส่วนเดียวของวงจรคอนเวอร์เตอร์ควบคุมหลัก (Master)

Basic Current-sharing for DC-DC Converters
รูปที่ 16 บล็อกไดอะแกรมวงจรที่ออกแบบ
Basic Current-sharing for DC-DC Converters
รูปที่ 17 วงจรที่ออกแบบและทดลองการทำงาน
Basic Current-sharing for DC-DC Converters
รูปที่ 18 ลักษณะทั่วไปของการทดลองโครงงาน

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

Reference

  1. https://www.industrial-electronics.com/switching-power-supply_1-24.html
  2. https://www.thierry-lequeu.fr/data/SLUP094.pdf
  3. https://www.edn.com/balancing-power-sharing-of-paralleled-boost-converters-in-speakers/
  4. https://e2e.ti.com/blogs_/b/powerhouse/posts/how-to-design-a-simple-two-phase-current-sharing-synchronous-buck-regulator-using-a-voltage-mode-controller
  5. https://www.sunpower-uk.com/glossary/what-is-current-sharing/
  6. https://www.ednasia.com/op-amp-amplifies-current-sense-voltage-in-demo-boards/