QUADRATIC PROGRAMMING IMPLEMENTATION IN MODEL PREDICTIVE CONTROL USING ARDUINO MEGA2560 FOR SPEED CONTROL OF BLDC MOTOR - FAUZAN PRASETYO - NIM : 23216111 , HANIF
Most physical systems in Industry have performance limitation which limit their performance regardless the input given. This performance limitation commonly occurs in the form of input saturation of the actuator. To overcome this problem, Model Predictive Control (MPC) is used due to its capability to compute optimal control signal while handling input saturation. Optimal control signal is obtained by MPC by optimizing certain quadratic objective function having constrained on the variables which is done at each time instants. This process is called quadratic programming (QP). QP having upper level and lower level constrained is equivalent to an algebraic loop involving diagonal upper and lower saturation. Hence, QP can be computed by iteratively solved that algebraic loop until converged. The iterative computation of QP will produce optimal control for the system. But, a slow computation of QP could result on undesired result. Therefore, in order to be able to be implemented in real-time embedded applications, a fast algorithm of QP solver is needed. In this research, some QP solvers will be compared that is Algorithm-2 and Agorithm-3 as well as Projected Gauss-Seidel (PGS) method to solve algebraic loop. Comparison of the three algorithms is done by controlling the speed of BLDC motor. MPC is implemented with fixed iteration on Arduino Mega2560 as the controller of BLDC motor speed control system. From the results of simulation and implementation, it has been shown that all algorithm produce similar control masukan and system response. Hence it can inferred that PGS can also be used as an alternative to solve QP. Furthermore, it can be known that in average Algorithm-2 gives the fastest computation of QP as well as the fewest memory usage compare to the two other algorithms.