Arduino Based FOC Controller Two-Phase Bipolar Stepper Motor with IC L293D [LEP]

ในตอนสุดท้ายของการควบคุมสเต็ปเปอร์มอเตอร์ด้วยระบบ Field-Oriented Control (FOC) จะเป็นการทดลองการทำงานทั่วไป เช่น การวัดสัญญาณที่เกิดขึ้นตำแหน่งขา D5 และ D9, ลักษณะการสร้างสัญญาณไซน์และโคไซน์ในการขับสเต็ปเปอร์มอเตอร์, การปรับความเร็วรอบให้กับสเต็ปเปอร์มอเตอร์ และการกลับทิศทางหมุนให้กับสเต็ปเปอร์มอเตอร์ เป็นต้น ทั้งนี้สำหรับเป็นพื้นฐานเบื้องต้นในการเรียนรู้เกี่ยวกับการควบคุมมอเตอร์แบบ Field-Oriented Control (การควบคุมแบบเน้นสนามแม่เหล็ก) เพื่อนำความรู้ไปใช้งานในด้านต่างๆ ต่อไป

รูปที่ 1 ลักษณะของสเต็ปเปอร์มอเตอร์ที่ใช้ในการทดลอง

รูปที่ 2 ลักษณะของวงจรที่ใช้ในการทดลอง

รูปที่ 3 ลักษณะของการทดลองขับสเต็ปเปอร์มอเตอร์
ในรูปที่ 1 และรูปที่ 2 เป็นลักษณะของสเต็ปเปอร์มอเตอร์ที่ใช้ในการทดลองแบบ 4 สาย โดยภายในมอเตอร์จะมีขดลวดจำนวน 2 ชุดในการขับเคลื่อนโรเตอร์ให้หมุน ในรูปที่ 2 เป็นวงจรที่ใช้ในการทดลอง โดยจะต่อร่วมกันระหว่างบอร์ดควบคุม Arduino UNO ไอซีขับมอเตอร์ L293D และตัวสเต็ปเปอร์มอเตอร์ ในรูปที่ 3 เป็นลักการทดลองขับสเต็ปเปอร์มอเตอร์แบบ Field-Oriented Control

รูปที่ 4 จำลองสัญญาณ PWM ทั้ง 2 ช่อง ที่ขา D5 และ D9 ในเว็บไซต์ www.tinkercad.com

รูปที่ 5 ข้อมูลที่ใช้สร้างสัญญาณไซน์และโคไซน์ Serial Monitor

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

รูปที่ 7 ทดลองปรับค่า max_power เท่ากับ 50

รูปที่ 8 ทดลองปรับค่า max_power เท่ากับ 250
ในรูปที่ 7 และรูปที่ 8 เป็นการทดลองปรับค่า max_power เท่ากับ 50 และ 250 ตามลำดับ เพื่อสังเกตการปรับค่ากำลังไฟฟ้าในการขับสเต็ปเปอร์มอเตอร์ ซึ่งจะเห็นว่าขนาดแอมปริจูดของสัญญาณทั้ง 2 รูปมีขนาดเปลี่ยนแปลงไม่เท่ากัน
การทดลองที่ 1 เมื่อปรับค่า delayMicroseconds() เท่ากับ 100 และทิศทาง electrical_angle++
การทดลองที่ 2 เมื่อปรับค่า delayMicroseconds() เท่ากับ 500 และทิศทาง electrical_angle- –

รูปที่ 9 การจำลองการทำงานที่เว็บไซต์ www.wokwi.com
สำหรับเนื้อหาการควบคุมสเต็ปเปอร์มอเตอร์ด้วยระบบ Field-Oriented Control ครั้งนี้ คงพอจะเป็นแนวทางเบื้องต้นในการเรียนรู้การควบคุมมอเตอร์แบบเน้นสนามแม่เหล็ก ซึ่งเป็นการควบคุมในกลุ่มของเวกเตอร์ (Vector control) โดยนอกจากการควบคุมมอเตอร์แบบสเต็ปเปอร์มอเตอร์ทั่วไปแล้ว ยังสามารถนำไปควบคุมมอเตอร์ชนิดอื่นๆ ได้หลายแบบเช่นมอเตอร์ในกลุ่มของ Permanent Magnet Synchronous Motor (PMSM), Brushless DC Motor (BLDC), AC Induction Motor (IM) และ Synchronous Reluctance Motor (SynRM / IPM-SynRM) เป็นต้น
Reference
- https://en.wikipedia.org/wiki/Field-oriented_control
- https://control.com/technical-articles/field-oriented-control-vector-control-for-brushless-dc-motors/
- https://www.analog.com/en/lp/001/field-oriented-control.html
- https://www.mathworks.com/discovery/field-oriented-control.html
- https://www.ti.com/lit/ds/symlink/l293d.pdf
- https://www.mantech.co.za/datasheets/products/L293X.pdf
- https://techweb.rohm.com/product/motor/motor-types/499/
- https://www.orientalmotor.com/stepper-motors/2-phase-stepper-motors-pkp-series.html
- https://community.simplefoc.com/t/driving-two-phase-bilpolar-steppers-with-three-phase-bldc-driver-hybrid-stepper-motor/5043
- https://simplefoc.com/
- https://gemini.google.com/
- https://claude.ai
- https://wokwi.com/
- https://www.tinkercad.com/
- https://www.pmdcorp.com/resources/type/articles/get/field-oriented-control-foc-a-deep-dive-article