Basic Current-sharing by using Voltage-Controlled Current Source for DC-DC Converters V.2

โครงงานการต่อขนานของวงจรดีซี ทู ดีซีคอนเวอร์เตอร์ เพื่อแชร์กระแสระหว่างกัน (Current-sharing) ในครั้งนี้ เป็นการพัฒนาต่อจากโครงงานเดิมที่นำเสนอไว้ก่อน (Basic Current-sharing for DC-DC Converters V.1) ซึ่งจะเป็นการแชร์กระแสในลักษณะของ Master-Slave Operation แต่ในโครงงานงานจะทดลองในลักษณะของ Voltage-Controlled Current Sources ซึ่งจะนำเอาบอร์ดต้นแบบเดิมมาปรับแต่งการต่อใช้งานเล็กน้อยและปรับโปรแกรมการทำงาน Arduino UNO เพื่อให้สามารถทำงานตามแนวความคิดที่ต้องสำหรับการออกแบบโครงงานครับ

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 1 บอร์ดต้นแบบเดิมจากโครงงาน Basic Current-sharing for DC-DC Converters V.1
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 2 ลักษณะการต่อวงจรและการทดลอง (1)
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 3 ลักษณะการต่อวงจรและการทดลอง (2)

รูปที่ 1 ถึงรูปที่ 3 แสดงบอร์ดต้นแบบเดิมจากโครงงานที่ผ่านมา โดยนำมาทดลองและต่อใช้งาน รวมทั้งปรับให้เป็นการทำงานแบบใหม่คือ Voltage-Controlled Current Sources โดยยังคงใช้บอร์ดควบคุม Arduino UNO เช่นเดิม

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 4 สัญญาณเอาต์พุตจากบอร์ด Arduino UNO ที่ขา D3 และขา D11 ขณะวงจรสแตนบาย
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 5 ค่าแรงดันเอาต์พุตกำหนดไว้ที่ประมาณ 12V
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 6 การแสดงผลของค่าแรงดันเอาต์พุตและกระแสทั้ง 2 ช่องจากวงจรดีซี ทู ดีซี คอนเวอร์เตอร์ ขณะสแตนบาย

ในรูปที่ 4 ถึงรูปที่ 6 เป็นการวัดสัญญาณเพื่อตรวจสอบความถูกต้อง การกำหนดค่าแรงดันเอาต์พุตไว้ที่ประมาณ 12V และการแสดงผลการทำงานของบอร์ดควบคุม Arduino UNO ซึ่งจะแสดงมาที่หน้าต่าง Serial monitor ในส่วนของค่าแรงดันเอาต์พุตและค่ากระแสโหลดจากวงจรดีซี ทู ดีซี คอนเวอร์เตอร์ทั้ง 2 วงจร

/*
    *Pseudo Code for MCU Arduino 
    *Application for Basic Current-sharing for DC-DC Converter. 
    *Design by : www.electronicsDNA.com
    *Date : 25/5/2023 (V.2)
    
      Vi : 18V-25VDC
      Vo : 12VDC
      Io : 3A (Continuous)     
      Fs : 31.37kHz
      Eff : > 80%  
*/

int Output_PWM = 0;  
int Voutput = 0;  
int Iphase1 = 0;      
int Iphase2 = 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()
{
       Voutput   = analogRead(A5);  // Read ADC A1 for Voutput 
       Serial.print(" Vo = ");
       Serial.print(Voutput); 

MainLoop:

       Iphase1 = analogRead(A0);  // Read ADC A0 for Iinductor (D3)
       Iphase2 = analogRead(A4);  // Read ADC A0 for Iinductor (D11) 
 
       Serial.print(", Io1 = ");
       Serial.print(Iphase1); 
  
       Serial.print(", Io2 = ");
       Serial.println(Iphase2);   

  // Loop Output Short circuit and Current Limit Protection

   if(Iphase1>300||Iphase2>300) {   // 300 Is Set Current Io < 5A  
       Output_PWM = 0;
       OCR2A = Output_PWM;          // PIN D11 Hi Side 
       OCR2B = 255-Output_PWM;      // PIN D3 Hi Side     
       delay(300); 
       goto  MainLoop;           
   }
 
       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    

       if (Iphase1>Iphase2){OCR2A = Output_PWM+2;}  // Adj PWM register OCR2A for Current-sharing 
                                                    // Iphase1 for PWM PIN D3 
                                                    // Iphase2 for PWM PIN D11         
          
     //   delay(1);                    // Delay for Stability Loop Control
    
       } 

สำหรับโปรแกรมการทำงาน Arduino UNO นั้น จะมีปรับปรุงบ้างเล็กน้อยเมื่อเทียบกับโครงงานเดิม ในส่วนของการอ่านค่ากระแสจากวงจรทั้ง 2 ส่วน ด้วยคำสั่ง Iphase1 = analogRead(A0); และ Iphase2 = analogRead(A4); การป้องกันกระแสเกินให้กับวงจรจะใช้คำสั่ง if(Iphase1>300||Iphase2>300) และการปรับชดเชยกระแสให้ใกล้เคียงกันด้วยคำสั่ง if (Iphase1>Iphase2){OCR2A = Output_PWM+2;} ทั้งนี้โปรแกรมการทำงานยังเป็นแนวคิดแบบง่ายสำหรับการทดลอง

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 7 การทดลองที่ 1 เมื่อให้วงจรจ่ายกระแสโหลดที่ 580mA
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 8 สัญญาณพัลซ์วิดธ์มอดูเลตชั่น D3 และ D11 เพื่อตอบสนองกระแสโหลดที่ 580mA
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 9 ค่าแรงดันเอาต์พุตเมื่อวงจรจ่ายกระแสโหลดที่ 580mA
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 10 การแสดงผลของค่าแรงดันเอาต์พุตและกระแสทั้ง 2 ช่อง เมื่อวงจรจ่ายกระแสโหลดที่ 580mA

สำหรับรูปที่ 7 ถึงรูปที่ 10 การทดลองที่ 1 โดยการให้วงจรดีซี ทู ดีซี คอนเวอร์เตอร์ จ่ายกระแสโหลดที่ 580mA จากนั้นวัดสัญญาณพัลซ์วิดธ์มอดูเลตชั่นและวัดค่าแรงดันเอาต์พุตที่ได้ รวมทั้งการแสดงผลการทำงานในหน้าต่าง Serial monitor

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 11 การทดลองที่ 2 เมื่อให้วงจรจ่ายกระแสโหลดที่ 1.16A
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 12 ค่าแรงดันเอาต์พุตเมื่อวงจรจ่ายกระแสโหลดที่ 1.16A
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 13 สัญญาณพัลซ์วิดธ์มอดูเลตชั่น D3 และ D11 เพื่อตอบสนองกระแสโหลดที่ 1.16A
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 14 การแสดงผลของค่าแรงดันเอาต์พุตและกระแสทั้ง 2 ช่อง เมื่อวงจรจ่ายกระแสโหลดที่ 1.16A

รูปที่ 11 ถึงรูปที่ 14 การทดลองที่ 2 ให้วงจรจ่ายจ่ายกระแสโหลดเพิ่มขึ้น 1.16A และวัดสัญญาณพัลซ์วิดธ์มอดูเลตชั่น วัดค่าแรงดันเอาต์พุตที่ได้ รวมทั้งการแสดงผลการทำงานในหน้าต่าง Serial monitor

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 15 การทดลองที่ 3 เมื่อให้วงจรจ่ายกระแสโหลดที่ 2.25A
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 16 ค่าแรงดันเอาต์พุตเมื่อวงจรจ่ายกระแสโหลดที่ 2.25A
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 17 สัญญาณพัลซ์วิดธ์มอดูเลตชั่น D3 และ D11 เพื่อตอบสนองกระแสโหลดที่ 2.25A
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 18 การแสดงผลของค่าแรงดันเอาต์พุตและกระแสทั้ง 2 ช่อง เมื่อวงจรจ่ายกระแสโหลดที่ 2.25A

รูปที่ 15 ถึงรูปที่ 18 การทดลองที่ 3 ปรับการจ่ายกระแสโหลดที่ 2.25A เช่นเดิมวัดสัญญาณพัลซ์วิดธ์มอดูเลตชั่นและวัดค่าแรงดันเอาต์พุต การแสดงผลการทำงานในหน้าต่าง Serial monitor

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 19 การทดลองที่ 4 เมื่อให้วงจรซ๊อตเซอร์กิตที่เอาต์พุต
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 20 สัญญาณพัลซ์วิดธ์มอดูเลตชั่น D3 และ D11 เมื่อวงจรซ๊อตเซอร์กิตที่เอาต์พุต
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 21 การแสดงผลของค่าแรงดันเอาต์พุตและกระแสทั้ง 2 ช่อง เมื่อวงจรซ๊อตเซอร์กิตที่เอาต์พุต

รูปที่ 19 ถึงรูปที่ 21 การทดลองที่ 4 เป็นการทดสอบการซ๊อตเซอร์กิตที่เอาต์พุต เพื่อทดลองการป้องกันกระแสเกินให้กับตัววงจรเอง จากนั้นวัดสัญญาณพัลซ์วิดธ์มอดูเลตชั่น วัดค่าแรงดันเอาต์พุต การแสดงผลหน้าต่าง Serial monitor ซึ่งในรูปที่ 21 จะเห็นว่าในกรอบสีแดงจะมีค่าที่อ่านได้มากกว่า 300 ซึ่งเกินกว่าที่กำหนดไว้ในโปรแกรม

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 22 บล็อกไดอะแกรมวงจรที่ออกแบบและทดลอง
Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 23 วงจรที่ออกแบบและทดลองการทำงาน

รูปที่ 22 และรูปที่ 23 แสดงบล๊อกไดอะแกรมการทำงานการทำงานของวงจรดีซี ทู ดีซีคอนเวอร์เตอร์ เพื่อแชร์กระแสระหว่างกันในลักษณะของ Voltage-Controlled Current Sources โดยจะต่อขนานกันโดยตรงทางด้านเอาต์พุตสำหรับวงจรดีซี ทู ดีซีคอนเวอร์เตอร์

Basic Current-sharing By using Voltage-Controlled Current Sources for DC-DC Converters
รูปที่ 24 แสดงลักษณะของการทดลองโครงงาน

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

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/