Back

หมุนมอเตอร์ Brushless DC ไม่(น่า)ยากอีกต่อไป

ผศ.ดร.วีระชัย มาลยวเช  
อาจารย์ประจำหลักสูตร
สถาบันนวัตกรรมมหานคร (Mahanakorn Institute of Innovation : MII) ​ 

คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีมหานคร  
5 เมษายน 2558  

       อันที่จริงแล้วมอเตอร์ไฟฟ้ากระแสตรงไร้แปรงถ่าน (Brushless DC หรือเรียกสั้นๆว่าBLDC) เป็นมอเตอร์ไฟฟ้ากระแสสลับแบบ synchronous (AC Synchronous) สามเฟส หรือจะเป็นแบบ permanent magnet synchronous motor (PMSM) ซึ่งต้องใช้ไฟสามเฟสในการขับ ซึ่งในอดีตเราจะเห็นการใช้งานมอเตอร์ AC Synchronous นี้ในโรงงานอุตสาหกรรม เนื่องจากมีแหล่งจ่ายไฟสามเฟส มอเตอร์เหล่านี้จะหมุนด้วยความเร็วที่เป็นจำนวนเท่า (หรือที่เรียกกันง่ายๆว่า ซิงค์) ของความถี่ของไฟสามเฟสที่จ่าย (เช่น 50 Hz) ข้อจำกัดในการปรับความเร็วรอบจึงทำให้มอเตอร์ประเภทนี้ไม่ถูกใช้งานมากนักในอุปกรณ์เครื่องใช้ไฟฟ้าทั่วๆไปในครัวเรือน ด้วยเทคโนโลยีในปัจจุบัน เราสามารถควบคุมความเร็วรอบที่ค่าต่างๆ โดยไม่ต้องซิงค์ กับ 50 Hz ได้ไม่ยาก ด้วยอุปกรณ์การขับที่เรียกว่า inverter  ซึ่งทำงานโดยการรับแรงดันไฟฟ้ากระแสตรงมาสร้างเป็นแรงดันไฟฟ้ากระแสสลับสามเฟสจ่ายให้กับมอเตอร์ ซึ่งจริงๆแล้ว DC มอเตอร์เองก็ใช้วิธีสลับทิศทางการจ่ายกระแส (commute) จากแหล่งจ่ายไฟกระแสตรงจ่ายให้ขดลวดผ่าน Commutator ซึ่งใช้แปรงถ่านในการทำหน้าที่นี้แต่ในกรณีของ BLDC จะออกแบบให้ขดลวดอยู่นิ่ง (stator)และมีแม่เหล็กถาวรหมุนได้ แล้วใช้วิธีการสลับทิศทางกระแสจ่ายให้ขดลวดด้วยวงจรไฟฟ้าแทนการใช้แปรงถ่านจึงกลายเป็นที่มาของชื่อ มอเตอร์ไฟฟ้ากระแสตรงชนิดไร้แปรงถ่าน 


รูปที่ 1 ตัวอย่าง BLDC จาก บริษัท Maxon


รูปที่ 2 เครื่องมือช่วยกระชับใบหน้า ลดรอยเหี่ยวย่น ของ บริษัท LPG system จากฝรั่งเศส ใช้ BLDC ของ Maxon (Maxon website)


รูปที่ 3 BLDC ใช้ในการสร้าง Robot เพื่อลดความเฉื่อย ทำให้เคลื่อนที่ได้ดีขึ้น (จาก บริษัท MICROMO)


       BLDC เป็นมอเตอร์ที่มีประสิทธิภาพสูงในแง่ของการใช้พลังงานแน่นอนว่าสูงกว่า DC มอเตอร์ที่ใช้แปรงถ่าน หรือพูดง่ายๆว่าให้พลังเชิงกลเยอะกว่าเมื่อใช้พลังงานไฟฟ้าเท่าๆกัน  และยังให้แรงบิดสูงในความเร็วรอบที่สูงเช่นกัน รวมทั้งมีความเฉื่อยหรือการต้านการหมุนที่ต่ำBLDC เหมาะในการนำมาใช้งานแทนมอเตอร์ DC แบบเก่า รวมทั้ง AC มอเตอร์แบบเหนี่ยวนำ (AC induction) โดยเฉพาะอุปกรณ์ไฟฟ้าที่ต้องการประสิทธิภาพในการใช้พลังงานสูงๆ เช่นพวกที่ใช้พลังงานจากแบตเตอรี่ หรือจะเป็นอุปกรณ์เครื่องใช้ไฟฟ้าทั่วไป เช่น hard  disk drive, เครื่องเล่น CD/DVD, ปั๊ม พัดลม เครื่องดูดฝุ่น เครื่องชงกาแฟ เครื่องบินบังคับด้วยวิทยุ เครื่องมือทางการแพทย์ และพวกเครื่องมือช่างที่ใช้แบตเตอรี่ แต่ข้อด้อยที่สำคัญของ BLDC ก็คือความยุ่งยากในการขับ และการควบคุมความเร็ว (ไม่ต้องพูดถึงการควบคุมตำแหน่ง ซึ่งยากขึ้นไปอีก)


รูปที่ 4 ตัวอย่างองค์ประกอบหลักๆของชุดควบคุม BLDC (ที่มาจาก Texas Instrument)


       การควบคุมความเร็วของ BLDC โดยทั่วไปจะมีองค์ประกอบหลักๆดังแสดงใน รูปที่ 4 ซึ่งประกอบด้วย
       1. แหล่งจ่ายไฟกระแสตรง (DC Supply) 
       2. อุปกรณ์อิเล็กทรอนิกส์กำลังที่ทำหน้าที่จ่ายกระแสสลับสามเฟสให้กับมอเตอร์ (ส่วนใหญ่เป็น MOSFET)
       3. ชุดควบคุมในการสร้างไฟกระแสสลับสามเฟสและควบคุมความเร็ว
       จากองค์ประกอบหลักข้างต้น ชุดควบคุมในการสร้างไฟฟ้ากระแสสลับสามเฟส น่าจะเป็นส่วนที่ยากที่สุด ที่ทำให้การใช้งาน BLDC ไม่ได้รับความนิยมในการใช้งานทั่วไปที่ไม่ได้ต้องการประสิทธิภาพสูงนัก ในการสร้างไฟกระแสสลับสามเฟสดังกล่าว จะต้องมีเฟสที่เข้าจังหวะกับแกนหมุนของ BLDC ที่เป็นแม่เหล็ก ที่จะหมุนตามสนามแม่เหล็กไฟฟ้าหมุนที่สร้างจากขดลวด คล้ายๆ กับหลักการจุดระเบิดหัวเทียนในเครื่องยนต์สันดาปภายใน ที่จะต้องจุดระเบิดให้ตรงจังหวะของตำแหน่งของลูกสูบในกระบอกสูบ 
       หลักการในการหาเฟสที่พอดีในการสร้างไฟกระแสสลับสามเฟสนั้น เริ่มต้นจาก การติดตั้งเซนเซอร์วัดตำแหน่งเชิงมุม ของแกนหมุน (rotor) (จะอยู่ภายในหรือภายนอก ขึ้นกับโครงสร้างของ BLDC) เทียบกับส่วนที่อยู่นิ่ง (stator) โดยทั่วไปจะใช้เซนเซอร์ที่ใช้หลักการ hall effect เมื่อได้จังหวะหรือองศาทางไฟฟ้าแล้ว ก็จะทำการจ่ายกระแสให้ขดลวดแต่ละเฟส และสามารถควบคุมความเร็วโดยการควบคุมปริมาณกระแสในขดลวด ซึ่งจะสัมพันธ์กับแรงบิด วิธีการที่นิยมใช้กันคือวิธีการของ pulse width modulation (PWM) เมื่อกระแสเพิ่มแรงบิดก็จะเพิ่ม ทำให้ความเร็วรอบเพิ่มขึ้น จังหวะการสร้างสัญญาณกระแสสลับสามเฟสก็จะถี่ขึ้น เป็นเช่นนี้ไปเรื่อยๆ จนกระทั่งได้ความเร็วรอบที่ต้องการ 
       ต่อมา ได้มีการพัฒนาวิธีการใหม่ ที่ไม่ต้องใช้เซนเซอร์ในการหาตำแหน่งเชิงมุมของ rotor โดยใช้วิธีการวัดค่าแรงดันต้านกลับจากมอเตอร์ (back EMF)ซึ่งเป็นแรงดันที่เกิดขึ้นเมื่อมอเตอร์หมุนแล้ว อันเป็นหลักการเดียวกับเครื่องกำเนิดไฟฟ้า (generator)ซึ่งเป็นไฟตามกฎของ Faraday ด้วยเหตุที่ไม่จำเป็นต้องมีเซนเซอร์ในการวัดตำแหน่งเชิงมุมนี้ วิธีการดังกล่าวนี้จึงได้ชื่อว่า sensorless สัญญาณ back EMF นี้จะเป็นสัญญาณกระแสสลับ ซึ่งสามารถนำมาหาจังหวะในการสลับ การจ่ายไฟในแต่ละเฟสได้ โดยสัญญาณ back EMF นี้สามารถวัดได้จากแรงดันและกระแสที่จ่ายให้ BLDC ในแต่ละเฟส ถ้าพูดกันตามความเป็นจริงแล้วหลักการดังกล่าวก็ไม่ใช่ว่าจะไม่มีเซนเซอร์ซะทีเดียว เพราะยังต้องใช้เซนเซอร์ในการวัดแรงดันและกระแสในแต่ละเฟส เพียงแต่ว่าเซนเซอร์ดังกล่าวเป็นสิ่งที่ใช้กันอยู่แล้วในวงจรขับ จึงเสมือนไม่ต้องมีเซนเซอร์(เพิ่มเติม)
       หลายคนอาจเกิดข้อสงสัยว่า สัญญาณ Back EMF จะเกิดเมื่อมอเตอร์หมุนแล้ว แล้วในขณะเริ่มต้น จะเอาสัญญาณที่ไหนมาใช้ คล้ายๆ กับการจุดระเบิดหัวเทียนในเครื่องยนต์ ที่ต้องมีการฉุดเครื่องยนต์ให้หมุนก่อน เช่นการสตาร์ทเครื่องยนต์ด้วยมอเตอร์ไฟฟ้าที่ต้องใช้แบตเตอรี่ เมื่อเครื่องยนต์หมุน จึงจะมีสัญญาณจากจานจ่ายไปจุดระเบิดที่หัวเทียน เช่นเดียวกัน ในการขับ BLDC ด้วยหลักการนี้ จะต้องหาวิธีให้ BLDC หมุนให้ได้ก่อน โดยไม่ใช้สัญญาณ Back EMF ซึ่งอาจทำได้โดยการสร้างสัญญาณกระแสสลับสามเฟสที่ความถี่ต่ำๆก่อน เพื่อสร้างสนามแม่เหล็กหมุนช้าๆที่ stator เพื่อล่อให้แม่เหล็กใน rotor หมุนตามช้าๆ จนเกิดสัญญาณ Back EMF ที่ชัดเจนเพียงพอในการนำไปใช้ต่อไป  


รูปที่ 5 ตัวอย่างโครงสร้างของการควบคุม BLDC ทั้งแบบใช้เซนเซอร์ และ ไม่ใช้เซนเซอร์ จาก บริษัท Freescale


       จากวิธีการขับ BLDC ดังกล่าวข้างต้น จะเหมาะสำหรับการควบคุมความเร็วรอบ ถ้าต้องการควบคุมตำแหน่ง เช่น ใน robot อาจจะเป็นเรื่องที่ยากมากที่จะไม่ใช้เซนเซอร์วัดตำแหน่งเชิงมุม เพราะการควบคุมตำแหน่งเชิงมุมนั้น ความเร็วของ BLDC จะเปลี่ยนแปลงไปมาตั้งแต่ความเร็วสูงๆ ไปถึงความเร็วต่ำๆและหยุดนิ่ง ซึ่งที่สภาวะหยุดนิ่งหรือความเร็วต่ำๆ จะไม่สามารถวัด Back EMF ได้  ดังนั้นในการควบคุมตำแหน่งของ BLDC ยังคงเป็นเรื่องที่ซับซ้อนและต้องใช้เซนเซอร์อยู่ 
       อย่างไรก็ตาม ดูเหมือนว่า ความยุ่งยากในการสร้างชุดควบคุมสำหรับ BLDC  ได้ลดลงอย่างมาก เนื่องจากความก้าวหน้าทางด้านคอมพิวเตอร์ หรือโดยเฉพาะหน่วยประมวลผลจิ๋ว (แต่แจ๋ว) หรือที่เรียกกันทั่วไปว่า micro controller, micro processor ซึ่งถูกนำมาใช้ในระบบสมองกลอัจฉริยะ (embedded  system)ที่อยู่ในอุปกรณ์เครื่องใช้ไฟฟ้า(อัจฉริยะ)ทั่วไป เช่น smart phone,smart TV, เครื่องซักผ้า หม้อหุงข้าว ... โดยในปัจจุบัน ผู้ผลิต micro controller ส่วนใหญ่จะมีรุ่นที่รองรับการใช้งานกับ BLDC หรืออันที่จริงใช้กับมอเตอร์ใดๆ ก็ได้ เช่น PIC/dsPICจากค่าย microchip, TMS320F2806x จากค่าย Texas Instrument, ATmega จากค่าย Atmelหรือจะเป็นรุ่นสุดฮิตอย่าง ARM Cortex M3/M4 ซึ่งหลายๆค่ายข้างต้นนำไปผลิตองค์ประกอบหลักๆ ที่จำเป็นในการควบคุมความเร็ว BLDC ที่ถูกรวมเข้าไปใน micro controller ได้แก่ 
       - โมดูลในการสร้างสัญญาณ PWM หกช่องสัญญาณ
       - วงจรขับ gate ของอุปกรณ์ power electronics เช่น MOSFET 
       - โมดูลรับสัญญาณป้อนกลับจาก Encoder พร้อมการนับ (Quadrature Encoder Pulse/InterfaceQEP, QEI)
       - โมดูลการเชื่อมต่อกับสัญญาณ analog (analog to digital และ digital to analog converter หรือ ADC และ DAC)
       - โมดูลการสื่อสารข้อมูลอื่นๆ เช่น UART, I2C, ISP, CAN เป็นต้น

รูปที่ 6 ตัวอย่างโครงสร้าง micro controller ที่รองรับการควบคุมมอเตอร์ของ Texas Instrument


       Microcontroller เหล่านี้มีราคาที่ถูกมาก ตัวที่มีประสิทธิภาพสูงๆ คำนวณระดับ 32 bit มี flash memory เยอะๆ ราคายังต่ำกว่าหลักพัน ยิ่งถ้าซื้อจำนวนมากๆ ราคาก็อยู่ในหลักร้อยกลางๆ แต่ถ้าต้องการงานที่ไม่ซับซ้อนมากก็มีตัวขนาดเล็ก 8 ถึง 16 bit ราคาแค่หลักร้อยนิดๆ หรืออาจแค่หลักสิบบาทก็มี  
       นอกเหนือจาก hardware ที่มาพร้อมใน chip เดียว แล้ว ผู้ผลิต micro controller ยังมีตัวอย่างโปรแกรม ข้อมูลทางเทคนิคต่างๆ รวมทั้งชุดคำสั่งที่รองรับโปรแกรมภาษามาตรฐาน เช่น ภาษา C (C library)ซึ่งทำให้ใช้งานได้ง่ายขึ้น
       อย่างไรก็ดี ถึงแม้จะมีตัวอย่างโปรแกรมจากผู้ผลิต chip ให้ดูมากมาย เราเองก็ยังคงต้องพยายามเขียนโปรแกรมอยู่ดี ซึ่งรวมถึงโปรแกรมalgorithm ในการควบคุมให้ได้ความเร็วตามต้องการ เช่น PID ซึ่งต้องอาศัยการคำนวณทางคณิตศาสตร์ และการปรับแต่งค่าตัวแปรต่างๆ สุดท้ายก็ทำให้การหมุนมอเตอร์ Brushless DC (น่าจะยังคง) ยากอีกต่อไป!
       จากการแข่งขันกันของผู้ผลิต chip ซึ่งเล็งเห็นแล้วว่า การควบคุมมอเตอร์ แบบต่างๆ นั้นมีมูลค่าทางตลาดสูงมาก ในอนาคต จะมีการควบคุมมอเตอร์ในเครื่องใช้ไฟฟ้าทั่วไปมากขึ้น เพื่อเพิ่มประสิทธิภาพการใช้พลังงาน โดยเฉพาะประเทศแถบยุโรป  ดังนั้นจึงเกิดการแข่งขันกันสร้างนวัตกรรมใหม่ ทางด้านการควบคุมมอเตอร์อย่างต่อเนื่อง ล่าสุด ทาง Texas Instrument ได้ออกแบบ algorithm ที่เรียกว่าTI’s InstaSPIN Motor Control Solution ที่ใช้ในการขับมอเตอร์ที่ใช้งานได้ง่าย และมีขีดความสามารถสูงมาก โดย algorithm นี้จะถูกเขียนลงใน chip มาจากบริษัทเลย (เป็นความลับ) ผู้ใช้แค่เรียนรู้วิธีการเรียกใช้งานคำสั่งต่างๆ ที่บรรจุมา ซึ่งทางบริษัทอ้างว่า ใช้งานได้ง่ายมาก ใช้กับมอเตอร์ได้หลากหลาย มีพารามิเตอร์แค่ตัวเดียวที่ต้องปรับแต่ง ต่อไปเราไม่ต้อง down load โปรแกรมตัวอย่าง หรือ application notesมาศึกษาแล้ว (อะไรจะง่ายขนาดนั้น)
       ยังไม่พอ ถ้าสั่งซื้อตอนนี้ ทาง Texas Instrument ยังมี Tool ที่สามารถใช้ในการปรับแต่งให้ download ฟรีๆ โดย Tool ตัวนี้ run บน window ทั่วไป ผู้ที่ไม่มีความรู้เรื่องระบบควบคุมเลย ก็สามารถควบคุม BLDC ได้ด้วยเพียงปลายนิ้วสัมพัส (โอ้แม่เจ้า control engineer คงต้องตกงานแล้วละ) 
       TI’s InstaSPIN Motor Control Solutionเป็นชุดของ software ที่สามารถใช้กับมอเตอร์ทุกประเทภ ประกอบด้วยหลายๆ โมดูล ขึ้นกับการนำไปใช้งาน ได้แก่InstaSPIN-BLDC, InstaSPIN-FOC, InstaSPIN-MOTION, โดยมีรายลเอียดคร่าวๆ ดังนี้

       InstaSPIN-BLDC 
       เป็นชุดคำสั่ง(library) ไม่ได้เป็นโมดูลที่บรรจุมาใน chip แต่อย่างใดใช้สำหรับงานควบคุมความเร็ว BLDC โดยเฉพาะ ที่เน้นให้ใช้งานได้ง่าย ใช้กับ BLDC ได้หลากหลาย โดยที่ผู้ใช้ไม่จำเป็นต้องรู้พารามิเตอร์ต่างๆ ของตัว BLDC เลย
       จุดสำคัญที่สุดของโมดูลนี้คือ การใช้ค่าฟลักซ์แม่เหล็กแทนสัญญาณback EMF เพื่อใช้ในการกำหนดจังหวะการ สลับเฟสการจ่ายกระแส ซึ่งทำให้การควบคุมความเร็วได้ดียิ่งขึ้น โดยเฉพาะที่ความเร็วต่ำๆ ซึ่งสัญญาณ back EMF จะไม่ชัดเจน หรือมีค่าต่ำๆ หลายท่านอาจสังสัยว่า แล้วค่าฟลักซ์แม่เหล็กจะหามาได้อย่างไร จากกฏของฟาราเดย์

= - (dφ / dt)

โดยที่ e คือ back EMF และ φ คือฟลักซ์แม่เหล็ก ซึ่งหาได้จากการอินติเกรทสัญญาณ back EMF นั่นเอง หรือนั่นคือ

φ = -∫e dt

ถ้าเรามองในมุมมองทางคณิตศาสตร์ การคำนวณหาค่าฟลักซ์ดังข้างต้น ก็ไม่น่าจะมีส่วนช่วยอะไร เพราะจริงๆแล้วก็คือข้อมูลเดียวกัน แต่ในแง่ของการใช้งานจริงนั้น สัญญาณที่ไดจากการวัดจะมีสัญญาณรบกวนอยู่เสมอ การอินติเกรทจะช่วยลดผลของสัญญาณรบกวนได้ดี เนื่องจากธรรมชาติของการอินติเกรทจะเป็นการกรองความถี่สูงทิ้งไป (low pass filter) เนื่องจากสัญญาณรบกวนที่ความถี่สูงจะมีการเปลี่ยนแปลงอย่างรวดเร็วตลอดเวลาทั้งบวกบ้างลบบ้าง เมื่ออินติเกรทแล้ว ก็เลยเจ๊ากันไป 
       ด้วยหลักการนี้ เลยทำให้การใช้งาน BLDC ที่ความเร็วต่ำๆ ได้ดีเช่นเดียวกับที่ความเร็วสูงๆ เนื่องจากที่ความเร็วต่ำนั้น สัญญาณจาก back EMF จะมีค่าแรงดันต่ำตามความเร็ว ซึ่งถ้าต่ำมากเมื่อเทียบกับสัญญาณรบกวน ก็ไม่สามารถนำไปใช้ได้ แต่เมื่อใช้การคำนวณหาฟลักซ์ ผลของสัญญาณรบกวนก็จะลดลงจากการอินติเกรทนั่นเอง
       ด้วยวิธีการนี้ ผู้ใช้แค่เพียงปรับค่าพารามิเตอร์ตัวเดียว คือค่าThreshold ของฟลักซ์แม่เหล็ก ก็สามารถทำให้ BLDC หมุ่นได้ทันที ทางบริษัท Texas Instrument ได้ผลิตชุด Kit สำหรับการขับ BLDC โดยที่มี GUI Tool ที่สามารถตั้งค่า Threshold ได้โดยง่าย พร้อมทั้งแสดงผลของสัญญาณ back EMF และฟลักซ์แม่เหล็กด้วย ซึ่งทำให้การปรับค่า Threshold ทำได้ง่าย
       นอกจากนั้น ชุด software ดังกล่าวยังมี โมดูลการควบคุมเพื่อรักษาความเร็วให้คงที่ โดยใช้ตัวควบคุมป้อนกลับแบบ Proportional + Integral (PI) โดยที่ความเร็วของงมอเตอร์ได้จากการคำนวณจากสัญญาณ back EMF นั่นเอง ยังไม่พอ ยังมีโมดูลการควบคุม torque หรือแรงบิด ซึ่งค่าแรงบิดจะสัมพันธ์โดยตรงกับกระแสที่จ่ายให้มอเตอร์ ซึ่งการควบคุม แรงบิดนี้ จะไม่สนใจความเร็ว แต่จะรักษาให้กระแสที่จ่ายให้มอเตอร์คงที่ตามค่าที่ผู้ใช้ตั้งไว้ ซึ่งค่าแรงบิดนี้จะส่งผลในเรื่องความเร่ง เช่นที่กระแสต่ำๆ ความเร็วรอบจะค่อยๆเพิ่มช้าๆ แต่ถ้าเราต้องการควบคุมทั้งความเร็วและแรงบิดพร้อมกัน ก็สามารถทำได้โดยง่าย โดยนำเอาตัวควบคุมทั้งสองชุดมาต่ออนุกรม (case cade) นั่นเองนั่นคือ ควบคุมทั้งความเร็วและขณะเดียวกันก็ควบคุมแรงบิดด้วย โดยการควบคุมความเร็วจะทำให้เราสามารถรักษาความเร็วให้ได้ตามความเร็วที่ต้องการ ในขณะที่การควบคุมแรงบิดจะมีผลกับการเร่งความเร็ว เช่นถ้าเราใช้งานการควบคุมความเร็วโดยตั้งความเร็วที่ต้องการ (setpoint) ไว้ที่ 1,000 rpm และใช้ร่วมกับการควบคุมแรงบิด โดยตั้งค่าแรงบิดที่ต้องการไว้ต่ำๆ จะทำให้ความเร็วค่อยๆ เพิ่มขึ้นช้าๆ จนถึงค่าที่ต้องการ แต่ถ้าตั้งค่าแรงบิดไว้สูงๆ ก็จะทำให้เร่งความเร็วได้เร็วขึ้น

       InstaSPIN-FOC 
       ในส่วนของโมดูลนี้ จะเป็น algorithm การขับมอเตอร์แบบ Field-oriented control(FOC)ซึ่งเป็นวิธีการที่มีประสิทธิภาพที่ดีในการควบคุมความเร็วมอเตอร์ไร้แปลงถ่านทุกประเภททั้ง AC synchronous, PMSC และ AC induction หลักการคร่าวๆ ของ FOC ก็คือ การสร้างสนามแม่เหล็กหมุนที่ stator โดยที่ทิศทางของสนามแม่เหล็กหมุนนี้จะพยายามให้ตั้งฉากกับทิศทางของสนามแม่เหล็กของ rotor มากที่สุด ซึ่งจะทำให้เกิดแรงบิดมากที่สุด (ลองจินตนาการว่าถ้าเราจับแม่เหล็กในเข็มทิศให้วางตัวในแนวทิศตะวันออก-ตะวันตก แล้วปล่อย เข็มทิศจะหมุนกลับไปยังทิศเหนือ-ใต้ เร็วมากกว่า เมื่อเทียบกับถ้าวางตัวแม่เหล็กเอียงๆในแนวทิศ ตะวันออกเฉียงเหนือ-ตะวันตกเฉียงใต้ )
       ดังนั้น หลักการที่สำคัญของ FOC คือจะสร้างสนามแม่เหล็กหมุนที่ stator ซึ่งเหมือนกับการสร้างสนามแม่เหล็กด้วยขดลวด field ของมอเตอร์กระแสตรงแบบที่ไม่ใช้แม่เหล็กถาวร โดยการสร้างสนามแม่เหล็กหมุนด้วยวิธี FOC นี้จะควบคุมทั้งความแรงและทิศทางของสนามแม่เหล็กที่จะต้องทำมุม 90 องศาทางไฟฟ้ากับสนามแม่เหล็กของแกนหมุนหรือ rotor ซึ่งต่างจากการสร้างแบบอื่นๆ ที่จะควบคุมแค่ความแรง ส่วนทิศทางนั้นจะใช้วิธีการ commutation ตามจังหวะของ back EMF ดังนั้น บางครั้ง เทคนิค FOC นี้เลยถูกเรียกอีกชื่อว่า vector(ขนาดและทิศทาง) control
       จากหลักการ FOC ดังกล่าว จะเห็นว่าความยากของการควบคุม อยู่ที่เราจะทราบได้อย่างไรว่าตอนนี้ แกนหมุน หรือ rotor ของมอเตอร์อยู่ที่ตำแหน่งใด วิธีหนึ่งที่ใช้ได้คือการติดตั้งเซนเซอร์เพิ่มนั่นเอง ซึ่งเป็นการเพิ่มค่าใช้จ่ายของระบบ อย่างไรก็ตามทีในอดีตที่ผ่านมา มีงานวิจัยมากมายที่พยายามหาวิธีการหาตำแห่งของ rotor โดยไม่ต้องใช้เซนเซอร์เพิ่มเติม เพื่อคงหลักการของ sensorless ไว้ ซึ่งต้องอาศัยการคำนวณทางคณิตศาสตร์ที่ซับซ้อน เพื่อคำนวณหาโมเดลของมอเตอร์ ด้วยทฤษฎีทางด้านระบบควบคุมแนวใหม่ (modern control) นั่นคือการใช้ observer ซึ่งสามารถคำนวณได้อย่างรวดเร็วภายในตัว micro processorด้วยเทคโนโลยีในปัจจุบัน อย่างไรก็ดี algorithm สำหรับ observer ก็ยังยากอยู่มากสำหรับผู้ใช้งานทั่วไป เนื่องจากต้องอาศัยความรู้ความเข้าใจทางด้านทฤษฎีระบบควบคุมแนวใหม่
       เพื่อให้ผู้ใช้ได้เข้าถึง algorithm ในการคำนวณหาตำแหน่งของ rotor ที่แม่นยำเพียงพอซึ่งถือเป็นหัวใจของการขับมอเตอร์แบบ FOC ทาง TI จึงได้พัฒนา algorithm ดังกล่าวลงใน chip ของบริษัทบางรุ่นที่รองรับการควบคุมมอเตอร์โดยเฉพาะโดยบรรจุลงใน ROM เลย ผู้ใช้สามารถเรียกใช้งานชุดคำสั่งดังกล่าวได้ทันที algorithm ดังกล่าวนี้ ยังสามารถประมาณค่าพารามิเตอร์ที่สำคัญอื่นๆ อีก ได้แก่ ฟลักซ์ (Flux) มุม (Angle) ความเร็วรอบ (Speed) และแรงบิด (Torque) และได้ตั้งชื่อทางการค้าเป็น FASTTM Software Encoder ซึ่งต้องถือว่าเป็นทีเด็ดของทาง TI เลยทีเดียว 


รูปที่ 7 โครงสร้างของ InstaSPIN-FOC


       จากโครงสร้างของ InstaSPIN-FOC ใน รูปที่ 7 จะเห็นได้ว่า เราสามารถใช้งานได้ทั้งในโหมดการควบคุมความเร็ว และ แรงบิด  โดยจะมีตัวควบคุมซึ่งเป็นแบบ PI โดยผู้ใช้ต้องปรับแต่งพารามิเตอร์สองตัว คือ อัตราการขยายของ P และ I ผู้ใช้สามารถเลือกใช้การควบคุม ความเร็วหรือแรงบิดอย่างใดอย่างหนึ่ง หรือจะใช้ทั้งสองแบบต่อกันแบบอนุกรมก็ได้  

       InstaSPIN-MOTION
       เป็นชุดคำสั่ง ทีใช่ในการควบคุมมอเตอร์ในโหมดต่างๆ ทั้ง Torque, Speed และ Position ซึ่งออกแบบมาให้ใช้งานได้ง่าย มีพารามิเตอร์เดียวที่ต้องปรับแต่ง คือ bandwidth ซึ่งไม่เหมือนกับตัวควบคุม PID ในอดีต ที่ต้องปรับค่า gain หลายตัวโดยชุดคำสั่ง InstaSPIN-MOTION นี้ก็อาศัยความสามารถของเจ้า algorithm FAST เช่นเดียวกัน เพียงแต่ในการควบคุมความเร็ว ตำแหน่ง หรือ แรงบิดนั้น จะไม่ได้ใช้ PI ดังเช่นใน InstaSPIN-FOC แต่จะเป็นตัวควบคุมที่ถูกพัฒนาโดยบริษัท Linestream โดยใช้ชื่อว่า SpinTAC และได้นำมาใส่ใน micro-controller ของค่าย TI นั่นเอง โดยทาง Linestream กล่าวว่าตัวควบคุม motion control ของเค้าสามารถใช้งานได้ง่าย มีเพียงพารามิเตอร์ตัวเดียวที่ผู้ใช้ต้องปรับ คือ bandwidth ซึ่งใช้ได้ทั้งการควบคุม ตำแหน่ง ความเร็ว และแรงบิด การรวมเอา motion control ของบริษัท Linestream เข้ามาร่วมกับ algorithmFAST ของ TI แล้วให้ผู้ใช้สามารถเข้าถึงได้โดยง่ายนับว่าเป็นพัฒนาการทางด้าน embedded  อย่างมากทีเดียว 


รูปที่ 8 องค์ประกอบของโมดูล SpinTAC


รูปที่ 9 ภาพรวมของ InstaSPIN-MOTION ซึ่งรวมเอา SpinTAC กับ InstaSPIN-FOC เข้าด้วยกัน


       จากที่ผมได้เขียนเล่าเกร็ดเล็กเกร็ดน้อยเกี่ยวกับการขับเคลื่อนมอเตอร์แบบ BLDC นั้น ผมมิได้ตั้งใจที่จะเชียร์ผลิตภัณฑ์จากค่ายใดค่ายหนึ่ง เพียงแต่จากการที่ผมได้เสาะหาข้อมูลเกี่ยวกับการควบคุม BLDC ซึ่งจะนำมาใช้งานในโปรเจคหนึ่งของผมนั้น เดิมที่ตั้งใจจะใช้ micro-controller จากค่าย PIC หรือไม่ก็ ARM เพราะพอจะคุ้นเคยอยู่บ้างแต่พอได้สืบค้นข้อมูลจึงทำให้พบว่า ค่าย TI ได้พัฒนาเครื่องมือต่างๆ ที่เหมาะกับการควบคุมมอเตอร์ที่น่าจะใช้งานได้ง่ายกว่าค่ายอื่นๆ จึงคิดว่าน่าจะลองใช้ดู และโดยส่วนใหญ่แล้ว การเขียนโปรแกรมสำหรับ micro-controller ไม่ว่าจากค่ายไหนก็เหมือนๆกัน เพราะผู้ผลิต จะให้ compiler ที่สามารถใช้กับภาษาที่ง่ายเช่น C/C++ ฟรีอยู่แล้ว อย่างไรก็ตาม ถึงแม้ว่าค่ายอื่นๆ จะมิได้มีการบรรจุชุดคำสั่งหรือ algorithm สำหรับการควบคุมมอเตอร์ไว้ใน chip แต่ส่วนใหญ่ก็จะมีโปรแกรมตัวอย่างและ application notes ต่างๆ ที่สามารถนำมาใช้เป็นตัวอย่างได้ดีเช่นกัน ซึ่งก็น่าจะทำให้การพัฒนา embedded controller สำหรับการควบคุมมอเตอร์ได้ง่ายขึ้น
       กล่าวโดยสรุป ผมคิดว่าการควบคุมมอเตอร์ทุกชนิดต่อไป น่าจะง่ายขึ้นเยอะ ซึ่งจะทำให้เราสามารถพัฒนาต่อยอดเพื่อสร้างเครื่องมือเครื่องใช้ต่างๆได้ง่ายขึ้น และมีประสิทธิภาพมากขึ้น 


แหล่งข้อมูลอ้างอิง
http://www.maxonmotor.com/maxon/view/content/products
http://www.maxonmotor.com/maxon/view/application/SKIN-TREATMENT-AB
http://www.micromo.com/applications/robotics-factory-automation/multi-axis-robotic-arm
http://www.microchip.com/pagehandler/en-us/technology/motorcontrol/motor-types/bldc.html
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164476?sc=internet/mcu/product/164476.jsp#
http://www.microchip.com/pagehandler/en-us/press-release/microchips-3-phase-bldc-fan-mo.html
http://www.freescale.com/webapp/sps/site/application.jsp?code=APLBDCM
http://www.ti.com/ww/en/mcu/instaspin/index.shtm