Tiny Quasi-Resonant Induction Heater Using Arduino UNO

โครงงานสร้างความร้อนด้วยการเหนี่ยวนำ (Induction Heater) ครั้งนี้จะเป็นแบบกึ่งเรโซแนนท์ (Quasi-Resonant) และควบคุมด้วยบอร์ด Arduino UNO ซึ่งก่อนหน้านี้ได้นำเสนอไป 2 แบบคือ โครงงาน Simple Arduino UNO Control Half-Bridge Inverter for Induction Heater และโครงงาน Mini Induction Heater By Self Oscillating ซึ่งให้มีความแตกต่างกันในส่วนของวงจรอินเวอร์เตอร์ ทั้งนี้เพื่อต้องการศึกษาและทดลองการทำงานเพื่อให้เข้าใจเพิ่มมากขึ้น และนำผลการทดลองมาแชร์มายังผู้อ่านอีกครั้งครับ

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 1 เตรียมอุปกรณ์ต่างๆ สำหรับโตรงงาน

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

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 2 พันขดลวดเหนี่ยวนำความร้อน (Work coil)

รูปที่ 2 ลักษณะของขดลวดเหนี่ยวนำที่ใช้ในการทดลอง โดยจะใช้ลวดทองแดงเบอร์ 16SWG พันบนปากกาเส้นผ่าศูนย์กลาง 15 มิลลิเมตร จำนวน 37 รอบ ซึ่งเป็นการนำไปทดลองครั้งแรกก่อน

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 3 เริ่มประกอบอุปกรณ์หล้กๆ ก่อน

รูปที่ 3 เป็นลักษณะของการประกอบอุปกรณ์หลักต่างๆ ก่อน เพื่อให้สามารถวางอุปกรณ์บนแผ่นวงจรพิมพ์ (PCB) ได้เรียบร้อย โดยจะให้อุปกณ์ต่างๆ ทั้งหมดอยู่บนวงจรพิมพ์เดียวกัน

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 4 ต่อสายไฟสำหรับจ่ายกำลังและควบคุม

รูปที่ 4 เป็นการต่อสายสัญญาณและไฟเลี้ยง 15V เพื่อเชื่อมต่อมายังบอร์ดคว[คุม Arduino UNO ซึ่งสามารถเขื่อมต่อไปที่คอนเน็กเตอร์ (IDE pin)ได้ทันที

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 5 ตรวจสอบความถูกต้องวงจรอีกครั้ง

รูปที่ 5 ลักษณะของบอร์ดขับกำลังวงจรอินดักชั่นฮีตเตอร์ ที่ประกอบเสร็จแล้วครั้งที่ 1 สำหรับใช้ในการทดลอง จากนั้นมาตรวจสอบความถูกต้องของการต่อวงจรอีกครั้ง โดยเฉพาะวงจรขับสัญญาณและวงจร Tank circuit หรือเรียก Resonant tank

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 6 เชื่อมต่อระหว่างบอร์ดทั้งสองส่วนเข้ากัน

รูปที่ 6 แสดงการเชื่อมต่อกันระหว่างบอร์ดควบคุม Arduino UNO และบอร์ดขับกำลังวงจรอินดักชั่นฮีตเตอร์ โดยจะมีส่วนของการรับสัญญาณกระแสที่เกิดขึ้นจากการสวิตชิ่งของเพาเวอร์มอสเฟต และส่งสัญญาณพัลซ์วิดธ์มอดูเลตชั่น (PWM Signal Control) ในการปรับค่าพลังงานความร้อนที่เกืดขึ้น

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 7 ทดลองปรับลดขดลวดเหนี่ยวนำลง

รูปที่ 7 เป็นการทดลองปรับลดขนาดของขดลวดเหนี่ยวนำลง จากเดิมประมาณ 37 รอบ ให้เหลือ 22 รอบ จากนั้นมาปรับความถี่สวิตชิ่งใหม่มาที่ประมาณ 100kHz เพื่อให้ได้ประสิทธิภาพการทำงานของวงจรมากที่สุด

    /*  
       Simple Code for Quasi-Resonant Induction Heater 
       Adj Power : POT = 10K(B) at A0  
       Current Monitor : Pin A1
       Set PWM Max : 50% 
       Dev by : Nattapon  
       Date : 20/6/2021, V.0  
  */

 #include  <PWM.h> 
 int setPWM = 0;
 int Icoil = 0;

 int32_t frequency = 100000; //frequency (in Hz)

 void setup()
 {  
   InitTimersSafe(); 
   Serial.begin(9600); 
   //sets the frequency for the specified pin
   bool success = SetPinFrequencySafe(3, frequency);
   if(success) {
     pinMode(3, OUTPUT); 
   }
 }

 void loop()
 {
   Icoil = analogRead(A1);
   Serial.print("  Icoil  = ");
   Serial.println( Icoil ); 
   setPWM = analogRead(A0);    
   pwmWrite(3,(setPWM/8));  
   delay(50);      
 }

Library PWM.h : https://code.google.com/archive/p/arduino-pwm-frequency-library/downloads

สำหรับโปรแกรมที่แสดงข้างบนนี้เป็นโปรแกรมที่ใช้ในการทดลองโครงาน ซึ่งเราสามารถปรับค่าดิวตี้ไซเกิลของสัญญาณขับให้กับเพาเวอร์มอสเฟคได้ และสามารถตรวจสอบค่าปริมาณกระแสที่ไหลผ่านเพาเวอร์มอสเฟตที่ COM Port ในโปรแกรม Arduino IDE และในกรณีที่เราต้องการปรับค่าความถี่สวิตชิ่งให้กับสัญญาณขับสามารถแก้ไขได้ที่คำสั่ง int32_t frequency = 100000; //frequency (in Hz) ครับ

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 8 ลักษณะสัญญาณขับขาเกต (Vgs) ของเพาเวอร์มอสเฟต

รูปที่ 8 แสดงลักษณะสัญญาณขับที่ขาเกต (Vgs) ของเพาเวอร์มอสเฟต โดยจะมีขนาด 15Vp-p ที่ความถี่ 100kHz และปรับค่าดิวตี้ไซเกิล (Duty Cycle : D) ไว้ประมาณ 20% สำหรับการทดลองเบื้องต้น

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 9 แรงดันตกคร่อมที่วงจร Tank circuit (39.6Vp-p at Probe X10)

รูปที่ 9 เป็นลักษณะของแรงดันที่ตกคร่อมวงจร Tank circuit จะมีค่า 39.6Vp-p (Probe X10) โดยขนาดของสัญญาณจะถูกปรับเปลี่ยนตามค่าดิวตี้ไซเกิล ซึ่งเราสามารถปรับได้จากบอร์ดควบคุม Arduino UNO ที่ตัวต้านทานปรับค่าขา A0

Tiny Quasi-Resonant Induction Heater Using Arduino UNO
รูปที่ 10 การต่อตัวเก็บประจุเพื่อปรับการทำงาน

รูปที่ 10 ลักษณะของการต่อตัวเก็บประจุ เข้ากับขดลวดเหนี่ยวนำความร้อนเพื่อปรับแต่งการทำงาน ซึ่งในรูปจะได้ค่าตัวเก็บประจุที่ 1.3uF และจากการทดลองวงจรให้ประสิทธิภาพการทำงาน (Efficincy) ที่ประมาณ 75%

รูปที่ 11 วงจรที่ใช้ในการทดลองโครงงาน

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

Reference

  1. https://www.onsemi.cn/pub/Collateral/AND9166-D.PDF
  2. https://www.onsemi.cn/pub/Collateral/AN-9012JP.pdf
  3. https://www.st.com/resource/en/application_note/dm00189871-induction-cooking–igbts-in-resonant-converters-stmicroelectronics.pdf
  4. https://www.infineon.com/dgdl/Infineon-AN2014_01_Reverse_Conducting_IGBT-ApplicationNotes-v03_00-EN.pdf?fileId=db3a30434441da19014445a1e7560135
  5. https://www.site.uottawa.ca/~rhabash/InductuionHeater.pdf
  6. https://core.ac.uk/download/pdf/6117458.pdf
  7. https://kathford.edu.np/wp-content/uploads/2019/07/KJEM-Adhikari-Shrestha-and-Shakya-2018.pdf
  8. https://www.ijser.org/researchpaper/Topologies-of-Voltage-Source-Inverter-for-Domestic-Induction-Heating.pdf
  9. https://www.semanticscholar.org/paper/Optimisation-of-quasi-resonant-induction-cookers-Sheikhian-Kaminski/5650c04c7e10f908b04dd29c93b4bb768d267453/figure/1
  10. https://www.semanticscholar.org/paper/Induction-cooker-design-with-quasi-resonant-using-Tulu-Yildirim/f95bae25e0c204892fadde87c78e8be01d2046ab
  11.  https://code.google.com/archive/p/arduino-pwm-frequency-library/downloads
  12. http://loopgain.net/induction_heating/