Simple Arduino Control Two-switch Forward Converter Topology Switching Mode Power Supply

โครงงานนี้เป็นการทดลองออกแบบวงจรสวิตชิ่งเพาเวอร์ ซัพพลาย แบบใช้ตัวขับกำลัง 2 ตัว รูปแบบหนึ่งบางครั้งเรียกว่า Two-switch Forward Converter หรือ Two-Transistor Forward Converter หรือ Dual-switch Forward Converter หรือ Double-switch Forward Converter ครับ ซึ่งโดยส่วนใหญ่จะพบเห็นกันในเครื่องเชื่อมไฟฟ้าบ้างหรือแหล่งจ่ายไฟเลี้ยงแบบสวิตชิ่ง (พบไม่มากนัก) แต่เราคุ้นเคยกับคอนเวอร์เตอร์ แบบฟายแบกคอนเวอร์เตอร์ (Flyback converte), ฟอร์เวิร์ดคอนเวอร์เตอร์ (Forward converter), พุช-พูลคอนเวอร์เตอร์ (Push-Pull converte) และฮาฟบริดจ์คอนเวอร์เตอร์ (Half-Bridge converter) เป็นส่วนใหญ่ ดังนั้นโครงงานนี้จึงเป็นการทดลองสร้างแหล่งจ่ายไฟเลี้ยงแบบสวิตชิ่งโหมดตามลักษณะที่กล่าวครับ ทั้งนี้เพื่อเป็นการเรียนรู้และทำความเข้าใจเบื้องต้นของแอดมิน และใช้บอร์ดควบคุมการทำงานด้วย Arduino UNO ในการสร้างสัญญาณควบคุม และลูปการทำงานของวงจรเป็นแบบเปิด (Open Loop Control) ครับ.

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


รูปที่ 2 และรูปที่ 3 เป็นลักษณะของการพันตัวเหนี่ยวนำสำหรับฟิลเตอร์ที่เอาต์พุต โดยใช้ลวดทองแดงขนาดเบอร์ 18SWG แต่ในกรณีที่ไม่มีขนาดเบอร์ 18 สามารถใช้ได้ตั้งแต่ 17-20SWG และใช้แกนเทอรอยสีดำขนาดเส้นผ่าศูนย์กลางประมาณ 32mm (สามารถสั่งซื้อผ่านออนไลน์ได้ทั่วไป) พันให้ได้ค่าความเหนี่ยวนำที่ประมาณ 60uH


รูปที่ 4 และรูปที่ 5 รูปแสดงหม้อแปลงสวิตชิ่งสำเร็จที่พันมาเรียบร้อยแล้ว ขนาดแกน EE42 ขดลวดปฐมภูมิ (Np) 58 รอบ และขดลวดทุติยภูมิ (Ns) 8 รอบ ซึ่งสามารถนำมาต่อใช้งานได้ทันทีและช่วยลดเวลาในการออกแบบได้มากครับ (โดยข้อมูลของตัวหม้อแปลงเพิ่มเติมคลิกที่นี่)
/* - Design Switching Mode Power Supply Two-Switch Forword Converter Topology. - Code Program for Test Open Loop Control. MCU : Arduino UNO Vi : 200VDC Fs : 35kHz Design by : www.electronicsDNA.com Date : 30-9-2021 (V.0) */ #include <PWM.h> int PWMpin9 = 9; // PWM signal PIN9 int PWMpin10 = 10; // PWM signal PIN10 int Output_PWM = 0; int32_t frequency = 35000; // Set PWM frequency (in Hz) void setup() { //initialize all timers except for 0, to save time keeping functions InitTimersSafe(); Serial.begin(9600); pinMode(9, OUTPUT); pinMode(10, OUTPUT); digitalWrite(9, LOW); digitalWrite(10, LOW); //sets the frequency for the specified pin bool success = SetPinFrequencySafe(PWMpin9, frequency); //if the pin frequency was set successfully, turn pin 13 on if(success) { pinMode(13, OUTPUT); digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(100); } } void loop() { int Current = analogRead(A0); Serial.print(" Io = "); Serial.print(Current); int Voltage = analogRead(A1); Serial.print(", Vo = "); Serial.println(Voltage); // Output_PWM = 128; // Set duty cycle 50% // Output_PWM = 64; // Set duty cycle 25% Output_PWM = 32; // Set duty cycle 12% pwmWrite(PWMpin9, Output_PWM); pwmWrite(PWMpin10, Output_PWM); delay(100); }
*** Arduino Library PWM.h —-> Arduino PWM Frequency Library

รูปที่ 6 เริ่มประกอบส่วนของเพาเวอร์มอสเฟต,ไดโอด (Recycling Diodes), ตัวเก็บประจุแรงดันสูง (+VBUS) และไดโอดเร็กติไฟร์ทางด้านเอาต์พุต โดยทั้งหมดจะวางในตำแหน่งที่สมดุลย์บนแผ่นวงจรอเนกประสงค์ และเป็นภาคการทำงานของแต่ละส่วน


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

รูปที่ 9 รูปการต่อร่วมกันกับบอร์ดควบคุม Arduino UNO ที่เคยนำเสนอในโครงงานที่ผ่านมา (Interface Board Arduino with Two-switch for Switching Mode Power Supply) ซึ่งจะนำมาต่อใช้งานกับโครงงานนี้ โดยจะเป็นภาคการทำงานของการควบคุมและประมวลผลสัญญาณให้กับโครงงานนี้ทั้งหมด

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


รูปที่ 12 เป็นลักษณะของสัญญาณขับเพาเวอร์มอสเฟตที่ใช้ในการทดลองที่ 1 โดยสัญญาณจะกำหนดความถี่ในการสวิตชิ่งที่ Fs = 35kHz, ดิวตี้ไซเกิลประมาณ 50% และเฟสของสัญญาณที่ขา D9 (CH1) และ D10 (CH2) จะเป็นเฟสเดียวกัน ซึ่งเป็นรูปแบบของการทำงานสำหรับคอนเวอร์เตอร์แบบนี้ครับ

รูปที่ 13 แสดงค่าแรงดันอินพุตที่ใช้ในการทดลองกับโครงงานโดยกำหนดที่ 200VDC ในการทดลองเบื้องต้น แต่วงจรในโครงงานนี้สามารถรองรับแรงดันได้ถึง 320VDC (ใช้กับไฟเลี้ยง 220VAC ในบ้านที่เร็กติไฟร์และฟิลเตอร์แล้ว) ทั้งนี้ในการทดลองจะเป็นการนำเสนอให้เห็นลักษณะของการทดลองการทำงานและผลที่เกิดขึ้น

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

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

รูปที่ 16 แสดงค่าแรงดันเอาต์พุตที่เกิดขึ้นขณะต่อโหลดจะลดลงมาอยู่ที่ 12.44V ซึ่งหมายความว่าปริมาณการจ่ายกำลังไฟฟ้าที่เอาต์พุตเท่ากับ Po = 4.95AX12.44V = 61.578W

รูปที่ 17 เป็นลักษณะของสัญญาณขับเพาเวอร์มอสเฟตที่ใช้ในการทดลองที่ 2 โดยสัญญาณจะกำหนดความถี่ในการสวิตชิ่งที่ Fs = 35kHz, ดิวตี้ไซเกิลประมาณ 25% ลักษณะการทดลองเช่นเดียวกับครั้งที่ 1


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

รูปที่ 20 แสดงกระแสที่เอาต์พุตในขณะที่ต่อโหลดลดลงเช่นกันซึ่งจะมีค่าเท่ากับ 3.14A

รูปที่ 21 เป็นค่าแรงดันที่เอาต์พุตขณะต่อโหลดอยู่ที่ 6.05V หรือประมาณครึ่่งหนึ่งของการทดลองครั้งที่ 1 ทั้งนี้แรงดันเอาต์พุตจะเป็นสัดส่วนกับค่าความกว้างของสัญญาณดิวตี้ไซเกิลนั้นเอง

รูปที่ 22 แสดงสัญญาณขับเพาเวอร์มอสเฟตที่ใช้ในการทดลองที่ 3 และสัญญาณจะกำหนดความถี่ในการสวิตชิ่งเดิมที่ Fs = 35kHz, ดิวตี้ไซเกิลประมาณ 12% ลักษณะการทดลองเช่นเดียวกับครั้งที่ 1 และ 2



รูปที่ 25 ค่ากระแสที่เอาต์พุตในขณะที่ต่อโหลดมีค่าประมาณ 1.8A

รูปที่ 26 แรงดันที่เอาต์พุตขณะต่อโหลดอยู่ที่ 2.85V ลดลงตามลำดับเมื่อเทียบกับการทดลองครั้งที่ 1 และ 2

รูปที่ 27 แสดงลักษณะของการทดลองโครงงาน Two-switch Forward Converter Topology การค่าแรงดัน, กระแสและการวัดสัญญาณที่ได้จากการทดลอง รวมถึงการต่อร่วมกันของบอร์ดบอร์ดควบคุมและบอร์ดขับกำลังในโครงงาน

สำหรับโครงงานนี้ยังคงเป็นการออกแบบและทดลองการทำงานแบบเบื้องต้น เพื่อเป็นการศึกษาและเรียนรู้ของแอดมินเองครับ โดยจากการทดลองของแอดมินพอสรุปได้ว่า วงจรสามารถทำงานได้ดี (ด้วยการทดลองจ่ายกำลังไฟฟ้าที่เอาต์พุต 60 วัตต์ต่อเนื่องในเบื้องต้น และประสิทธิภาพมากกว่า 85%, Eff>85%) ทั้งนี้ในการทดลองทั้ง 3 ครั้งที่นำเสนอ คงพอจะใช้ช่วยให้ผู้อ่านได้เห็นลักษณะของการทำงานของคอนเวอร์เตอร์ที่ใช้โครงสร้างวงจรแบบ Two-switch Forward Converter และต่อใช้งานร่วมกับบอร์ดควบคุม Arduino UNO ทั้งนี้ผู้อ่านสามารถปรับตัวอย่างโปรแกรมข้างบนและวงจรคอนเวอร์เตอร์เพื่อให้สามารถนำไปใช้งานต่างๆ ได้ตามความเหมาะสมครับ.
Reference
- https://www.embedded.com/operation-benefits-of-two-switch-forward-flyback-power-converter-topologies/
- http://www.eeherald.com/section/design-guide/dual-switch-flyback-converter.html
- https://www.eetimes.com/two-switch-topology-boosts-forward-flyback-designs/
- https://www.ti.com/lit/an/snva716/snva716.pdf?ts=1632931408171&ref_url=https%253A%252F%252Fwww.google.com%252F
- https://www.researchgate.net/figure/The-conventional-double-ended-flyback-converter-a-the-proposed-converter-b_fig1_283410969
- https://www.eetimes.com/introduction-to-a-two-transistor-forward-topology-for-80-plus-efficient-power-supplies/
- https://www.researchgate.net/figure/A-two-switch-forward-converter-circuit-diagram-and-pertinent-waveforms_fig10_224504609
- https://www.ti.com/lit/ml/slup079/slup079.pdf
- https://www.coilcraft.com/ko-kr/edu/series/a-guide-to-forward-mode-transformers/
- http://danyk.cz/reg60v_en.html
- https://cpes.vt.edu/library/viewnugget/655