Basics Open Loop Half-Bridge SMPS Using Arduino UNO

โครงงานนี้จะเป็นการใช้บอร์ดควบคุม Arduino UNO สำหรับสร้างสัญญาณพัลซ์วิดธ์มอดูเลต ให้กับสวิตชิ่งเพาเวอร์ซัพพลายแบบฮาร์ฟบริดจ์แบบ Asymmetric Half-Bridge Converter ด้วยการพัฒนามาจากโครงงาน Simple Half-Bridge Topology Switching Mode Power Supply Using IR2153 ด้วยการปรับแต่งวงจรบางส่วนก็สามารถใช้งานร่วมกับบอร์ดควบคุม Arduino UNO ได้ทันที

โดยในโครงงานจะเป็นการควบคุมแบบเปิด (Open Loop Control) ซึ่งช่วยให้เราทดลองควบคุมการทำงานแบบเบื้องต้น ในเรื่องของการเขียนโปรแกรมควบคุม, การสร้างสัญญาณพัลซ์วิดมอดูเลต เพื่อปรับเพิ่มและลดการจ่ายกำลังไฟฟ้าทางด้านเอาต์พุต นอกจากนี้ในการเรียนรู้วงจรสวิตชิ่งเพาเวอร์ซัพพลายฮาร์ฟบริดจ์ คอนเวอร์เตอร์ที่กล่าว จะเป็นรูปแบบหนึ่งของการสวิตชิ่งแบบ Zero Voltage Switching : ZVS ในลักษณะ Fixed frequency ZVS PWM Operation ครับ

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 1 เริ่มต้นเตรียมการทดลองวงจร

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

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 2 บอร์ดควบคุม Arduino UNO

รูปที่ 2 แสดงบอร์ดควบคุมสำหรับสร้างสัญญาณพัลซ์วิดธ์มอดูเลต ด้วยการปรับค่าตัวต้านทาน ซึ่งจะกำหนดค่าสูงสุดไว้ที่ประมาณ 48% ของสัญญาณทั้งด้านบน (High side) และด้านล่าง (Low side)

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 3 บอร์ดสวิตชิ่งเพาเวอร์ซัพพลายแบบฮาร์ฟบริดจ์

รูปที่ 3 เป็นบอร์ดขับกำลังสวิตชิ่งเพาเวอร์ซัพพลายแบบฮาร์ฟบริดจ์ ซึ่งนำบอร์ดจากโครงงาน Simple Half-Bridge Topology Switching Mode Power Supply Using IR2153 มาปรับปรุงเล็กน้อยให้สามารถใช้งานร่วมกันได้

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 4 ตัวต้านทานโหลดสำหรับทดสอบ

ในรูปที่ 4 แสดงตัวต้านทานโหลดที่ใช้ในการทดสอบการทำงาน โดยจะใช้ 2 ตัวต่ออนุกรมกัน และตัวต้านทานทั้ง 2 ตัวมีค่า 10 โอห์ม 20 วัตต์

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 5 ลักษณะของการวัดค่ากระแสที่เอาต์พุต
Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 6 ค่าแรงดันอินพุตในการทดลองที่ 250VDC

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

/*
   *Pseudo Code for Half-Bridge Converter By Arduino UNO
   *Application for Half-Bridge Converter Switching Mode Power supply 
     Vi  : 310VDC
     Vo : 15VDC
     Io : 5A (Continuous)     
     Fs : 31.372kHz
     Duty cycle Max : 45%
     Eff : > 80%
     Protection : Output Short circuit and Current Limt     
   *Design by : www.electronicsDNA.com
   *Date : 6/9/2021 (V.0)
*/

int Output_PWM = 0;   
int DT = 10;                  // set Dead Time
int Voutput = 0;       
int Iinductor = 0;       
int Setpoint = 500;     // 500 = 15V @ Voltage output 

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 = 0b11100001;   //  Set Register Phase Correct PWM
TCCR2B = 0b00000001;   //  Set Fsw = 31.372 kHz

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

void loop()
{
 
     Output_PWM = analogRead(A0);   
     Iinductor  = analogRead(A1);         // Read ADC A1 for Iinductor 
   
     Output_PWM = 255-(Output_PWM/8);         
     
    if (Output_PWM<5){Output_PWM=10;}
    if (Output_PWM>250){Output_PWM=255;}

      OCR2A = Output_PWM;      // PIN D11
      OCR2B = (Output_PWM-DT);     // PIN D3
      delay(50);
 }

ในส่วนข้างบนนี้จะเป็นโปรแกรมสำหรับใข้ในการทดลอง โดยเราสามารถปรับค่าสัญญาณพัลซ์วิดธ์มอดูเลตที่ขาอินพุต ซึ่งต่อเข้าที่ขา A0 โดยโปรแกรมจะกำหนดความกว้างของสัญญาณพัลซ์วิดธ์มอดูเลตไม่ให้เกิน 48% จากการตรวจสอบค่าที่คำสั่ง if (Output_PWM<5){Output_PWM=10;} และคำสั่ง if (Output_PWM>250){Output_PWM=255;} นั้นเอง

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 7 การต่อส่วนต่างๆ เข้าด้วยกันสำหรับทดลอง
Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 8 สัญญาณขับขาเกตเมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 0%

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

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 9 ปรับสัญญาณพัลซ์วิดมอดูเลตให้กับเพาเวอร์มอสเฟตตัวบนที่ 6uS

รูปที่ 9 เป็นการทดลองครั้งที่ 1 ด้วยการปรับค่าสัญญาณพัลซ์วิดมอดูเลตให้กับเพาเวอร์มอสเฟตตัวบนที่ 6uS โดยสัญญาณของเพาเวอร์มอสเฟตตัวล่างจะกลับเฟสกัน 180 องศา และกำหนดความถี่สวิตชิ่งที่ 31.372kHz

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 10 แรงดันเอาต์พุตที่ได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 6uS

รูปที่ 10 แสดงค่าแรงดันเอาต์พุตที่ได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 6uS โดยเป็นการทดลองครั้งที่ 1

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 11 กระแสเอาต์พุตเมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 6uS

รูปที่ 11 ค่ากระแสที่เกิดขึ้นทางด้านเอาต์พุตเมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 6uS ซึ่งจะมีค่าประมาณ 0.52A โดยจะได้จาก Vo/20R = Io (11.19V/20R = 0.559A)

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 12 ปรับสัญญาณพัลซ์วิดมอดูเลตให้กับเพาเวอร์มอสเฟตตัวบนที่ 12.25uS

รูปที่ 12 เป็นการทดลองครั้งที่ 2 ด้วยการปรับสัญญาณพัลซ์วิดมอดูเลตให้กับเพาเวอร์มอสเฟตตัวบนที่ 12.25uS และสังเกตค่าแรงดันที่เอาต์พุต

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 13 แรงดันเอาต์พุตที่ได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 12.25uS

รูปที่ 13 แสดงค่าแรงดันเอาต์พุตที่ได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 12.25uS จากการสังเกตผลที่เกิดขึ้น ค่าแรงดันเอาต์พุตจะเป็นสัดส่วนกับความกว้างของสัญญาณพัลซ์วิดมอดูเลต

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 14 กระแสเอาต์พุตเมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 12.25uS

รูปที่ 14 ค่ากระแสเอาต์พุตเมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 12.25uS เพิ่มขึ้นอันเนื่องมาจากแรงดันที่เพิ่มขึ้นเช่นกัน โดยกระแสที่วัดได้เท่ากับ 0.82A

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 15 ปรับสัญญาณพัลซ์วิดมอดูเลตให้กับเพาเวอร์มอสเฟตตัวบนที่ 15.88uS

รูปที่ 15 เป็นการทดลองครั้งที่ 3 ด้วยการปรับสัญญาณพัลซ์วิดมอดูเลตให้กับเพาเวอร์มอสเฟตตัวบนที่ 15.88uS และสังเกตค่าแรงดันที่เอาต์พุตอีกครั้ง

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 16 แรงดันเอาต์พุตที่ได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 15.88uS

รูปที่ 16 แสดงค่าแรงดันเอาต์พุตที่ได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 15.88uS จากการสังเกตผลที่เกิดขึ้น ค่าแรงดันเอาต์พุตเพิ่มขึ้นมาที่ 17.68V

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 17 กระแสเอาต์พุตเมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 15.88uS

รูปที่ 17 ค่ากระแสเอาต์พุตที่วัดได้เมื่อปรับสัญญาณพัลซ์วิดมอดูเลตที่ 15.88uS เพิ่มขึ้นเล็กน้อย ซึ่งค่าที่วัดได้เท่ากับ 0.86A

Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 18 วงจรที่ออกแบบในส่วนของสวิตชิ่งเพาเวอร์ซัพพลาย แบบฮาร์ฟบริดจ์คอนเวอร์เตอร์
Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 19 บอร์ดควบคุมและสร้างสัญญาณด้วย Arduino UNO
Basics Open Loop Half-Bridge SMPS Using Arduino UNO
รูปที่ 20 ลักษณะการทดลองโครงงานรวมทั้งเครื่องมือและอุปกรณ์ต่างๆ แบบง่ายทั่วไป

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

Reference

  1. http://ww1.microchip.com/downloads/en/AppNotes/01114A.pdf
  2. https://www.ti.com/seclit/ug/slyu036/slyu036.pdf
  3. https://www.onsemi.com/pub/Collateral/Smpsrm-D.PDF
  4. https://www.st.com/resource/en/application_note/cd00003910-topologies-for-switch-mode-power-supplies-stmicroelectronics.pdf
  5. https://www.st.com/resource/en/application_note/cd00157315-solution-for-150-w-half-bridge-resonant-dcdc-converter-stmicroelectronics.pdf
  6. https://www.iitk.ac.in/npsc/Papers/NPSC2014/1569978049.pdf
  7. https://www.nxp.com/files-static/dsp/doc/ref_manual/DRM074.pdf
  8. https://en.wikipedia.org/wiki/Switched-mode_power_supply
  9. https://th.rs-online.com/web/p/transformer-ferrite-cores/1678311
  10. https://docs.rs-online.com/4800/0900766b813c0db8.pdf
  11. https://www.psma.com/sites/default/files/uploads/files/10%20PSMA%20PTR%202014_10_02%20Power%20Converter%20Topology%20Trends%20Mappus%20Fairchild.pdf