Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO

โครงงานนี้เป็นการทดลองขับมอเตอร์ 3 เฟสแบบอินดักชั่น (3 Phase Induction Motor) ด้วยหลักการ Variable Frequency Drives : VFD และใช้วิธีการสร้างสัญญาณ Sinusoinal Pulse Width Modulation : SPWM ด้วยบอร์ดประมวลผล Arduino UNO โดยการทดลองจะใช้แรงดันไฟเลี้ยงให้กับมอเตอร์ที่ประมาณ 160V และปรับความถี่สำหรับขับมอเตอร์ในช่วง 35Hz-110Hz โดยกำหนดความถี่สัญาณพาหะพัลซ์วิดมอดูเลตชั่นที่ 31.372kHz ในส่วนของบอร์ดขับกำลังมอเตอร์จะใช้ Smart Power Module : SPM เบอร์ FSBS10CH60

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 1 แสดงบอร์ดควบคุมและบอร์ดขับกำลังมอเตอร์

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

Datasheet —-> IPM Power IGBT : FSBS10CH60

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 2 วาริแอกปรับค่าแรงดันอินพุตและมัลติมิเตอร์

รูปที่ 2 เป็นอุปกรณ์ในการปรับค่าแรงดันไฟฟ้าทางด้านอินพุต 220Vac (วาริแอก) ให้กับตัวมอเตอร์ โดยในการทดลองนี้จะมีวงจรเร็กติไฟร์และฟิลเตอร์อีกครั้ง เพื่อให้เป็นไฟฟ้ากระแสตรง (DC Power Supply) เพื่อจ่ายให้กับมอเตอร์อีกครั้ง และใกล้ๆ นั้นจะม้ลติมิเตอร์ใช้ในการวัดค่าแรงดันไฟเลี้ยงกระแสตรงให้กับมอเตอร์

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 3 แสดงตัวมอเตอร์ที่ใช้สำหรับทดลอง

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

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 4 แสดงดิจิตอลออสซิลโลสโคปและแหล่งจ่ายไฟเลี้ยง

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

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 5 การทดลองวัดสัญญาณ SPWM ที่เอาต์พุตขับมอเตอร์

รูปที่ 5 เป็นลักษณะของการทดลองวัดสัญญาณที่เกิดขึ้นทางด้านเอาต์พุต (ส่วนที่ต่อเข้ามอเตอร์) ทั้งนี้เพื่อเป็นการสังเกตลักษณะของสัญญาณ SPWM ที่เกิดขึ้น และการปรับเปลี่ยนรูปสัญญาณตามค่าความถี่ที่กำหนดต่างๆ

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 6 การทดลองวัดสัญญาณไซน์เวฟที่เอาต์พุตขับมอเตอร์

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

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 7 แสดงลักษณะของการต่ออุปกรณ์ต่างๆ สำหรับทดลอง

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

*** โปรแกรมใช้ในการทดลองพัฒนาจาก https://github.com/cmasenas/3-Phase-Sine-Arduino/blob/Release/DDS_Generator.ino [3]

Simple VFD 3 Phase Induction Motor SinePWM using Arduino UNO
รูปที่ 8 แสดงบล๊อกไดอะแกรมการทำงานและการต่อวงจร

รูปที่ 8 เป็นลักษณะของบล๊อกไดอะแกรมการทำงานและการต่อวงจร โดยในส่วนของการต่อวงจรระหว่างบอร์ดประมวลผลและบอร์ดเพาเวอร์โมดูลนั้น ในโครงงานนี้จะยึดตามเอกสารข้อมูลของตัวเพาเวอร์โมดูลเป็นหลัก (ดูข้อมูลอ้างอิงที่ 9 และ 10 ประกอบการต่อวงจร)

การต่อเพาเวอร์โมดูล IGBT ใช้ตาม Datasheet —>[FSBS10CH60] [หน้า 11-หน้า 12]

สุดท้ายสำหรับโครงงานการควบคุมมอเตอร์ 3 เฟสครั้งนี้ ยังคงเป็นการทดลองเบื้องต้น ในการควบคุมมอเตอร์ด้วยการปรับเปลี่ยนความถี่ (Variable Frequency Drives : VFD) โดยใช้วิธีการมอดูเลตสัญญาณพัลซ์วิดธ์ด้วยสัญญาณไซน์เวฟเข้าด้วยกัน (Sinusoinal Pulse Width Modulation : SPWM) ซึ่งคงพอจะเป็นแนวคิดของการขับมอเตอร์แบบนี้ให้ท่านได้บ้างครับ.

Reference

  1. https://electronics-project-hub.com/3-phase-sine-wave-generator-code-arduino
  2. https://forum.arduino.cc/index.php?topic=236778.0
  3. https://github.com/cmasenas/3-Phase-Sine-Arduino/blob/Release/DDS_Generator.ino
  4. https://forum.arduino.cc/index.php?topic=121727.0
  5. http://interface.khm.de/index.php/lab/interfaces-advanced/arduino-dds-sinewave-generator/index.html
  6. http://www.berryjam.eu/2015/04/driving-bldc-gimbals-at-super-slow-speeds-with-arduino
  7. https://www.infineon.com/dgdl/AP1609710_different_PWM_for_three_phase_ACIM.pdf?fileId=db3a304412b407950112b40a1bf20453
  8. https://github.com/carneeki/OpenVFD/blob/master/software/OpenVFD.ino
  9. https://pdf.dzsc.com/FSB/FSBS10CH60.pdf
  10. https://www.onsemi.com/products/power-modules/intelligent-power-modules-ipms/fsbs10ch60