多軸馬達控制在工業與自動化工廠中扮演重要角色,如機器人、機械手臂、電腦數值控制(Computer-Numerical-Control, CNC)工具機與印刷電路板雕刻機等。本文主要目的在於設計一個三軸馬達速度控制系統。本文使用之直流馬達,其原廠控制器僅能控制一顆馬達。若本文使用原廠控制器實現三軸馬達控制,需使用三個控制器,成本與體積相對提高。而若使用具備脈衝寬度調變(Pulse-Width-Modulation, PWM)功能與正交編碼器脈衝(Quadrature-Encoder-Pulse, QEP)功能等馬達控制功能模組之數位訊號處理器(Digital-Signal-Processor, DSP)實現,雖功能模組完善,但處理器必須重覆執行多軸控制演算法,使處理器效能降低。 基於系統成本、體積以及處理器效能之考量上,故本文提出以系統可程式化晶片(System-on-a-Programmable-Chip, SOPC)概念實現三軸直流馬達速度控制系統於現場可程式邏輯閘陣列(Field-Programmable-Gate-Array, FPGA)晶片中。使用MATLAB/ Simulink模擬軟體與比例-積分-微分(Proportional-Integral-Derivative, PID)演算法設計馬達速度控制器,並利用繼電器回授法獲得PID控制器參數,接著將三個硬體化PID控制模組建構於一顆FPGA中。此設計方式除了可獨立控制各軸馬達轉速,且在成本、體積及整體系統效能上達到良好效益。最後本系統將應用於三軸機械手臂上進行控制測試,並驗證此設計架構。
The multi-axis motors control plays an important role in industrial and automated factory, such as robots, robot arm, Computer-Numerical-Control (CNC) machine tools and Printed-Circuit-Board (PCB) engraving machine. The main purpose of this paper is to design a three-axis motor speed control system. In this paper, the original controller of DC motor can only control one motor. If this paper uses the original controller to implement three-axis motors control which will need to use three controllers, cost and size are relatively increased. If it uses the Digital-Signal-Processor (DSP) which has Pulse-Width- Modulation (PWM) and Quadrature-Encoder-Pulse (QEP) function module of motor control to implement, the DSP must execute multi-axis control algorithms repeatedly, it will significantly reduce the performance of processor. Based on the consideration of cost, size and performance of the system, so this paper proposes the concept of System-on-a-Programmable-Chip (SOPC) to implement three-axis DC motors speed control system in Field-Programmable-Gate-Array (FPGA) chip. This paper uses the MATLAB/Simulink simulation software and Proportional-Integral- Derivative (PID) algorithm to design motor speed controller, and it also uses relay feedback method to obtain the PID controller parameters. And then three hardware PID control modules are built on a FPGA. This method can control speed of each axis motor independently and achieve good efficiency in terms of cost, size and performance of overall system. Finally, this system will apply on a three-axis robot arm control and verify the design architecture.