Mini SEPIC Converter Topology by using Arduino UNO

โครงงานนี้เป็นวงจรดีซี ทู ดีซี คอนเวอร์เตอร์ (DC to DC Converter) อีกแบบหนึ่งที่น่าสนใจที่เรียกว่าเซปิก คอนเวอร์เตอร์ (SEPIC Converter Topology) และอาจจะเห็นนำมาใช้งานไม่งานนัก เมื่อเทียบกับคอนเวอร์เตอร์ที่เราจะได้ยินทั่วไป เช่น แบบฟายแบกคอนเวอร์เตอร์ (Flyback converte), ฟอร์เวิร์ดคอนเวอร์เตอร์ (Forward converter), พุช-พูลคอนเวอร์เตอร์ (Push-Pull converter) และฮาฟบริดจ์คอนเวอร์เตอร์ (Half-Bridge converter) เป็นต้น ทั้งนี้จุดเด่นของตัวเซปิก คอนเวอร์เตอร์ จะสามารถปรับโหมดการทำงานในตัวเองเพื่อรักษาระดับแรงดันทางด้านเอาต์พุตให้คงที่เมื่อแรงดันทางด้านอินพุตมีการเปลี่ยนแปลงได้ดี

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 1 เตรียมอุปกรณ์ต่างๆ สำหรับประกอบวงจรเซปิก คอนเวอร์เตอร์
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 2 เริ่มวางเลเอาต์อุปกรณ์บนแผ่นวงจรพิมพ์ (PCB)

รูปที่ 1 และรูปที่ 2 แสดงอุปกรณ์ที่นำมาใช้ประกอบโครงงานเซปิก คอนเวอร์เตอร์ โดยเฉพาะตัวเหนี่ยวนำ (L1 และ L2) จะเป็นแบบสำเร็จที่สามารถซื้อได้ทั่วไปซึ่งมาค่าเหนี่ยวนำ 470uH และในส่วนของบอร์ดควบคุมและประมวลผลจะใช้ Arduino UNO ที่สามารถหาซื้อได้ง่ายและราคาไม่แพงมากนัก สามารถนำมาใช้งานได้ง่ายและสะดวกในส่วนอุปกรณ์อื่นๆ จะเป็นอุปกรณ์ทั่วไปนั้นเอง

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 3 เริ่มต้นประกอบอุปกรณ์บนแผ่นวงจรพิมพ์
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 4 แสดงลักษณะของการเตรียมเครื่องมือและการทดลองวงจร
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 5 โหลดตัวต้านทานขนาด 30 โอห์ม 5 วัตต์

รูปที่ 5 เป็นโหลดที่ใช้ในการทดสอบการทำงานของวงจรโดยจะใช้ตัวต้านทานค่าคงที่ ซึ่งจะสามารถทดลองการจ่ายกำลังไฟฟ้าได้ที่ประมาณ 7 วัตต์ (ต่อเนื่อง) สำหรับโครงงานครั้งนี้ แต่ไม่สามารถทดลองได้นามเกิน 3 นาทีเนื่องจากตัวต้านทานจะมีความที่เกิดขึ้นมากพอควร

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 6 ลักษณะของการเชื่อมต่อระหว่างบอร์ดควบคุมและบอร์ดคอนเวอร์เตอร์
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 7 การวัดสัญญาณในโหมดสแตนบาย (Standby mode) ที่แรงดันอินพุตและเอาต์พุตที่ประมาณ 15V

รูปที่ 6 และรูปที่ 7 แสดงลักษณะของการเตรียมการทดลองในส่วนของบอร์ดควบคุมและบอร์ดคอนเวอร์เตอร์ การเตรียมเครื่องมือสำหรับวัดค่าแรงดันอินพุตและเอาต์พุตด้วยมัลติมิเตอร์ และในการวัดสัญญาณพัลซ์วิดธ์มอดูเลตชั่นด้วยดิจิตอลออสซิลโลสโคป เพื่อสังเกตพฤติกรรมการตอบสนองต่อแรงดันอินพุตค่าต่างๆ เมื่อวงจรจ่ายกำลังไฟฟ้าคงที่

 
 /*
    Demo Code for DC-DC SEPIC Converter Topology
    MCU : Arduino UNO
    Fs = 35kHz
    Vi = 10V-20V  
    Vo = 15V/500mA
    Output Power : 7W (Continuous)
    R&D by : www.electronicsdna.com
    Date : 30-12-2021 (V.0)  
 */

#include <PWM.h>

int PinPWM = 9;                
int Output_PWM = 0;
int32_t frequency = 35000;     // frequency (in Hz)

void setup()
{   
  Serial.begin(9600);
  InitTimersSafe();   
  bool success = SetPinFrequencySafe(PinPWM, frequency);   
  if(success) {   
    pinMode(9,OUTPUT);  
  }
}

void loop()
{
     int Voutput = analogRead(A1);  
     //    Serial.print(" Vo = ");  
     //    Serial.println(Voutput);      
         
         if(Voutput>503){Output_PWM = Output_PWM-1; goto goPWMSignal;}   
         if(Voutput<497){Output_PWM = Output_PWM+1; goto goPWMSignal;} 
         
 goPWMSignal:
         if(Output_PWM>230){Serial.print("\t MAX "); Output_PWM=230; goto setPWMSignal;}            
         if(Output_PWM<0)  {Serial.print("\t MIN "); Output_PWM=0; goto setPWMSignal;}
         
 setPWMSignal:                 
         pwmWrite(PinPWM,Output_PWM);   
       //  delay(1);   
}

Download Library ——-> PWM.h

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

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 8 การทดลองที่ 1 กำหนดค่าแรงดันอินพุตที่ประมาณ 15V
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 9 การทดลองที่ 1 สัญญาณพัลซ์วิดธ์มอดูเลตชั่น (PWM) ที่แรงดันอินพุตประมาณ 15V
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 10 ค่าแรงดันเอาต์พุตที่เกิดขึ้นสำหรับการทดลองที่ 1

รูปที่ 8 ถึงรูปที่ 10 แสดงผลการทดลองที่ 1 โดยกำหนดให้ค่าแรงดันอินพุตและค่าแรงดันทางด้านเอาต์พุตใกล้เคียงกัน โดยโครงงานนีจะกำหนดแรงดันเอาต์พุตที่ 15V (แสดงในรูปที่ 8) เมื่อทดลองต่อโหลดเพื่อจ่ายกำลังไฟฟ้าที่ 7 วัตต์ (ต่อเนื่อง) สัญญาณพัลซ์วิดธ์มอดูเลตชั่นจะมีค่าใกล้เคียง 50% และกำหนดความถี่สวิตชิ่งที่ 35kHz (แสดงในรูปที่ 9) ในรูปที่ 10 ค่าแรงดันเอาต์พุตยังคงที่ประมาณ 15V

*Duty Cycle or Voltage output Calculation, Vo = (D*Vi)/(1-D) [SEPIC converter]

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 11 การทดลองที่ 2 กำหนดค่าแรงดันอินพุตที่ประมาณ 10V
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 12 การทดลองที่ 2 สัญญาณพัลซ์วิดธ์มอดูเลตชั่นที่แรงดันอินพุตประมาณ 10V
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 13 ค่าแรงดันเอาต์พุตที่เกิดขึ้นสำหรับการทดลองที่ 2

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

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 14 การทดลองที่ 3 กำหนดค่าแรงดันอินพุตที่ประมาณ 20V
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 15 การทดลองที่ 3 สัญญาณพัลซ์วิดธ์มอดูเลตชั่นที่แรงดันอินพุตประมาณ 20V
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 16 ค่าแรงดันเอาต์พุตที่เกิดขึ้นสำหรับการทดลองที่ 3

เช่นเดียวกันในรูปที่ 14 ถึงรูปที่ 16 แสดงผลการทดลองที่ 3 โดยกำหนดให้ค่าแรงดันอินพุตให้มากกว่าค่าแรงดันทางด้านเอาต์พุต โดยโครงงานจะปรับแรงดันอินพุตที่ 20V (แสดงในรูปที่ 14) และยังคงทดลองต่อโหลดเพื่อจ่ายกำลังไฟฟ้าที่ 7 วัตต์ (ต่อเนื่อง) สัญญาณพัลซ์วิดธ์มอดูเลตชั่นจะมีค่าน้อยกว่า 50% (แสดงในรูปที่ 15) ในรูปที่ 16 ค่าแรงดันเอาต์พุตยังคงที่ประมาณ 15V

Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 17 แสดงลักษณะของการทดลองโครงงานเซปิก คอนเวอร์เตอร์
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 18 วงจรในส่วนของบอร์ดควบคุมสำหรับ SEPIC Converter
Mini SEPIC Converter Topology by using Arduino UNO
รูปที่ 19 วงจรขับกำลังสำหรับวงจร SEPIC Converter Topology

สำหรับโครงงานเซปิก คอนเวอร์เตอร์ (SEPIC Converter Topology) นี้เป็นโครงงานเล็กๆ อีก 1 ตัว สำหรับเป็นการเรียนรู้เพิ่มเติมของแอดมินเอง เพื่อให้เข้าใจแนวความคิดและหลักการทำงานของคอนเวอร์เตอร์ลักษณะนี้เพิ่มขึ้น รวมทั้งศึกษาพฤติกรรมการทำงาน การเขียนโปรแกรมให้กับบอร์ดควบคุม Arduino UNO เพื่อให้สามารถทำงานร่วมกันได้ในเบื้องต้น โดยทั้งนี้แอดมินจึงนำขั้นตอนการประกอบ ผลการทดลองเบื้องต้นและตัวโปรแกรมสำหรับบอร์ดควบคุม มาแชร์ให้ผู้อ่านเพื่อเป็นแนวทางให้ท่านสามารถนำไปพัฒนาต่อ และเรียนรู้คอนเวอร์เตอร์ได้ง่ายและเร็วยิ่งขึ้น สำหรับข้อมูลในการศึกษาเพิ่มเติมถึงการทำงานในแต่ละสเตจ (Operating states) และการคำนวณค่าต่างๆ แนะนำลิ้งก์เว็บไซต์ข้างล่างนี้ครับ

Reference

  1. https://www.ti.com/lit/an/snva168e/snva168e.pdf
  2. https://web.wpi.edu/Pubs/E-project/Available/E-project-050114-131841/unrestricted/SEPIC_MQP_Final_Report.pdf
  3. https://nptel.ac.in/content/storage2/courses/108105066/PDF/L-24(DK&SSG)(PE)%20((EE)NPTEL).pdf
  4. https://en.wikipedia.org/wiki/Single-ended_primary-inductor_converter
  5. https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1051.html
  6. https://iopscience.iop.org/article/10.1088/1742-6596/1818/1/012220/pdf
  7. https://engrxiv.org/69puh/download
  8. https://www.analog.com/media/en/technical-documentation/data-sheets/8494fa.pdf
  9. http://research.bkkthon.ac.th/abstac/ab_31052563174848.pdf