DC/DC Cuk Converter by using Arduino UNO

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


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




รูปที่ 6 แสดงการเตรียมเครื่องมือและอุปกรณ์ต่างๆ สำหรับการทดลอง โดยออสซิลโลสโคปจะใช้ในการวัดสัญญาณกระแสที่ไหลผ่านตัวเหนี่ยวนำ เพื่อสังเกตลักษณะของกระแสที่ไหลผ่านให้อยู่ในระดับที่ถูกต้อง และสัญญาณขับที่ขาเกตให้กับเพาเวอร์มอสเฟต Q1 ในว่วนของมัลติมิเตอร์ทั้ง 2 ตัวจะใช้ในการวัดค่าแรงดันอินพุต (ด้านซ้ายมือ) และค่าแรงดันเอาต์พุต (ด้านขวามือ) โดยกระแสทางด้านเอาต์พุตจะใช้แคล้มมิเตอร์ในการวัดค่า (ด้านล่างขวามือ)
/* Arduino Code for DC-DC Cuk Converter Topology MCU : Arduino UNO Fs = 35kHz Vi = 10V-20V/2A Vo = 16V/500mA Output Power : 7W (Continuous) R&D by : www.electronicsdna.com Date : 2-12-2022 (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); }
สำหรับโปรแกรมตัวอย่างการควบคุมการทำงานของวงจรชุก คอนเวอร์เตอร์นี้ ยังเป็นแนวทางเบื้องต้นสำหรับให้ผู้อ่านสามารถนำไปพัฒนาให้ทำงานให้มีฟังก์ชั่นต่างๆ ตามที่ท่านต้องการได้เหมาะสม และใช้ในวงจรที่สามารถจ่ายกำลังทางด้านเอาต์พุตให้สูงขึ้น ทั้งนี้โปรแกรมจะรับค่าสัญญาณป้อนกลับ (Voltage Feedback Signal) แรงดันทางด้านเอาต์พุตมาที่ขา A1 เพื่อควบคุมค่าแรงดันให้คงที่

รูปที่ 7 แสดงลักษณะของสัญญาณพัลซ์วิดมอดูเลตชั่นจะค่อนข้างแคบ ในขณะที่วงจรอยู่ในโหมดสแตนบาย (Standby mode) ซึ่งแรงดันเอาต์พุตยังคงไว้ที่ 16V และความถี่สวิตชิ่งจะกำหนดไว้ที่ 35kHz





ในรูปที่ 11 และรูปที่ 12 เป็นแหล่งจ่ายไฟเลี้ยงสำหรับใช้ในการทดลองโครงงานโดยในรูปที่ 11 เป็นแหล่งจ่ายแบบปรับค่าได้สำหรับทดสอบการทำงานวงจรชุก คอนเวอร์เตอร์ในโหมดต่างๆ และในรูปที่ 12 จะเป็นแหล่งจ่ายไฟเลี้ยงสำหรับบอร์ดควบคุม Arduino UNO ขนาด 15VDC โดยในส่วนนี้จะแยกออกจากชุดไฟเลี้ยงสำหรับวงจรชุก คอนเวอร์เตอร์ เพื่อให้การทำงานคงที่




รูปที่ 13 ถึงรูปที่ 16 เป็นการทดลองที่ 1 ในเบื้องต้น ซึ่งในการทดลองนี้จะกำหนดค่าแรงดันอินพุตและเอาต์พุตให้มีระดับใกล้เคียงกัน (ที่แรงดัน 16V) และให้วงจรจ่ายกระแสโหลดประมาณ 0.59A (แสดงในรูปที่ 16) จากนั้นสังเกตสัญญาณพัลซ์วิดมอดูเลตชั่นที่เกิดขึ้น ซึ่งจะมีค่าความกว้างที่ประมาณ 50% (ในรูปที่ 14) ทั้งนี้ค่าแรงดันเอาต์พุตยังคงมีค่าประมาณ 16V ที่เกิดขึ้นการควบคุมของโปรแกรมนั้นเอง




สำหรับการทดลองที่ 2 รูปที่ 17 ถึงรูปที่ 20 เป็นการทดลองด้วยการป้อนแรงดันอินพุตที่ 10V ซึ่งต่ำกว่าแรงดันเอาต์พุต ทั้งนี้เพื่อสังเกตการทำงานของวงจรให้เป็นโหมดบูท คอนเวอร์เตอร์ และสังเกตเห็นว่าสัญญาณพัลซ์วิดมอดูเลตชั่นจะมาค่ามากกว่า 50% เพื่อรักษาระดับแรงดันเอาต์พุตให้คงที่ (แสดงในรูปที่ 18) ในรูปที่ 19 จะเป็นการวัดค่าแรงดันเอาต์พุตที่เกิดขึ้นซึ่งจะยังคงที่ประมาณ 16V




ในรูปการทดลองที่ 21 ถึงรูปที่ 24 การทดลองที่ 3 สำหรับในการทดลองนี้จะทดลองให้แรงดันอินพุตมากกว่าแรงดันทางด้านเอาต์พุต และสังเกตการตอบสนองของสัญญาณพัลซ์วิดมอดูเลตชั่น ซึ่งจากการทดลองจะเห็นว่าสัญญาณพัลซ์วิดธ์มอดูเลตชั่นจะมีค่าน้อยกว่า 50% และการรักษาค่าแรงดันเอาต์พุตให้คงที่ (Line Regulation) โดยในโหมดนี้จะเป็นการทำงานแบบบัก คอนเวอร์เตอร์

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


สำหรับโครงงานนี้ส่วนหนึ่งที่แตกต่างจากคอนเวอร์เตอร์ที่นำเสนอผ่านมาคือ ในส่วนของแรงดันเอาต์พุตจะสลับขั้วของการจ่ายกำลังไฟฟ้า กล่าวคือที่ตำแหน่งกราวด์ทางด้านอินพุตนั้น เมื่อเราจ่ายพลังงานให้กับโหลดจะเป็นขั้วบวกแทน VOUTPUT(+) และในส่วนเอาต์พุตใกล้กับตัวเหนี่ยวนำ L2 จะเป็นขั้วลบแทน VOUTPUT(-) สำหรับการควบคุมแรงดันเอาต์พุตจะใช้ออปโต้คัปเปิ้ล (PC817) เข้ามาช่วยในการป้อนกลับ สำหรับแก้ไขการสลับขั้วของการจ่ายกำลังไฟฟ้าทางด้านเอาต์พุตครับ.
Reference
- https://www.jncet.org/Manuscripts/Volume-3/Issue-2/Vol-3-issue-2-M-06.pdf
- https://fardapaper.ir/mohavaha/uploads/2017/12/Fardapaper-Controller-Design-for-Cuk-Converter-Using-Model-Order-Reduction.pdf
- https://www.researchgate.net/publication/305331216_Design_and_Control_of_Cuk_Converter_and_modified_IC_MPPT_Technique_for_Off-Grid_PV_Systems
- https://www.ijrte.org/wp-content/uploads/papers/v8i2S11/B12330982S1119.pdf
- https://www.mdpi.com/2079-9292/10/14/1720/pdf
- https://www.ti.com/lit/ds/symlink/lm2611.pdf?ts=1641091518098&ref_url=https%253A%252F%252Fwww.google.com%252F
- https://en.wikipedia.org/wiki/%C4%86uk_converter
- https://www.youtube.com/watch?v=P4r5WOsngXk
- https://www.youtube.com/watch?v=hkG7-XZASWw
- https://www.youtube.com/watch?v=AwOaOsi8cDw
- https://www.youtube.com/watch?v=sW-lwkybHrw