{"title":"利用Algorithm-3在Arduino Mega 2560上实现模型预测控制,实现无刷直流电机的速度控制","authors":"Hanif F. Prasetyo, A. S. Rohman, M. Santabudi","doi":"10.1109/ICSITECH.2017.8257192","DOIUrl":null,"url":null,"abstract":"Many physical process systems have performance limitation which limits their performance regardless the input. This limitation usually occurs in the form of actuator input saturation as the constraints of the system. To handle this input constraint, Model Predictive Control (MPC) is used as one of the popular advanced control technique in an industrial process to control a system. MPC contains quadratic objective function having constraints on the variables which must be resolved at each sampling time to produce an optimal control input to the system. This process of optimizing a certain quadratic function is called Quadratic Programming (QP). The computation of QP is usually slow and makes MPC takes a longer time to produce an optimal control input compare to other control technique especially in the online computation for real time embedded application. This problem can cause undesired result when used to control fast dynamic system such as BLDC motors. To overcome this problem, an iterative algorithm of Algorithm-3 is used as a fast QP computation solver. In this paper, MPC will be implemented to control the speed of BLDC motor using Arduino Mega 2560. Before implementation, system modeling, controller designing, and simulation are done using MATLAB. For the sake of comparison, the performance of MPC using Algorithm-3 will be compared with classic control techniques such as PID. From the results, it can be observed that MPC gives better performance than PID and it is shown that MPC capable to handle input saturation of the system better than PID.","PeriodicalId":165045,"journal":{"name":"2017 3rd International Conference on Science in Information Technology (ICSITech)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":"{\"title\":\"Implementation of model predictive control using Algorithm-3 on Arduino Mega 2560 for speed control of BLDC motor\",\"authors\":\"Hanif F. Prasetyo, A. S. Rohman, M. Santabudi\",\"doi\":\"10.1109/ICSITECH.2017.8257192\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Many physical process systems have performance limitation which limits their performance regardless the input. This limitation usually occurs in the form of actuator input saturation as the constraints of the system. To handle this input constraint, Model Predictive Control (MPC) is used as one of the popular advanced control technique in an industrial process to control a system. MPC contains quadratic objective function having constraints on the variables which must be resolved at each sampling time to produce an optimal control input to the system. This process of optimizing a certain quadratic function is called Quadratic Programming (QP). The computation of QP is usually slow and makes MPC takes a longer time to produce an optimal control input compare to other control technique especially in the online computation for real time embedded application. This problem can cause undesired result when used to control fast dynamic system such as BLDC motors. To overcome this problem, an iterative algorithm of Algorithm-3 is used as a fast QP computation solver. In this paper, MPC will be implemented to control the speed of BLDC motor using Arduino Mega 2560. Before implementation, system modeling, controller designing, and simulation are done using MATLAB. For the sake of comparison, the performance of MPC using Algorithm-3 will be compared with classic control techniques such as PID. From the results, it can be observed that MPC gives better performance than PID and it is shown that MPC capable to handle input saturation of the system better than PID.\",\"PeriodicalId\":165045,\"journal\":{\"name\":\"2017 3rd International Conference on Science in Information Technology (ICSITech)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"8\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 3rd International Conference on Science in Information Technology (ICSITech)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSITECH.2017.8257192\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 3rd International Conference on Science in Information Technology (ICSITech)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSITECH.2017.8257192","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
摘要
许多物理处理系统都有性能限制,这限制了它们的性能,无论输入是什么。这种限制通常以执行器输入饱和的形式出现,作为系统的约束。为了处理这种输入约束,模型预测控制(MPC)被用作工业过程中常用的高级控制技术之一。MPC包含对变量有约束的二次目标函数,这些变量必须在每次采样时被解决,以产生系统的最优控制输入。这种优化某个二次函数的过程称为二次规划(quadratic Programming, QP)。与其他控制技术相比,QP的计算速度较慢,使得MPC需要较长的时间才能产生最优控制输入,特别是在实时嵌入式应用的在线计算中。当用于控制无刷直流电机等快速动态系统时,该问题可能会导致不理想的结果。为了克服这一问题,采用了algorithm -3的迭代算法作为快速的QP计算求解器。本文将使用Arduino Mega 2560实现MPC来控制无刷直流电机的速度。在实现之前,利用MATLAB进行了系统建模、控制器设计和仿真。为了比较,将使用Algorithm-3的MPC性能与经典控制技术(如PID)进行比较。从结果可以看出,MPC比PID具有更好的性能,并且MPC比PID能够更好地处理系统的输入饱和。
Implementation of model predictive control using Algorithm-3 on Arduino Mega 2560 for speed control of BLDC motor
Many physical process systems have performance limitation which limits their performance regardless the input. This limitation usually occurs in the form of actuator input saturation as the constraints of the system. To handle this input constraint, Model Predictive Control (MPC) is used as one of the popular advanced control technique in an industrial process to control a system. MPC contains quadratic objective function having constraints on the variables which must be resolved at each sampling time to produce an optimal control input to the system. This process of optimizing a certain quadratic function is called Quadratic Programming (QP). The computation of QP is usually slow and makes MPC takes a longer time to produce an optimal control input compare to other control technique especially in the online computation for real time embedded application. This problem can cause undesired result when used to control fast dynamic system such as BLDC motors. To overcome this problem, an iterative algorithm of Algorithm-3 is used as a fast QP computation solver. In this paper, MPC will be implemented to control the speed of BLDC motor using Arduino Mega 2560. Before implementation, system modeling, controller designing, and simulation are done using MATLAB. For the sake of comparison, the performance of MPC using Algorithm-3 will be compared with classic control techniques such as PID. From the results, it can be observed that MPC gives better performance than PID and it is shown that MPC capable to handle input saturation of the system better than PID.