algorithms Article
DDC Control Techniques for Three-Phase BLDC Motor Position Control Rana Javed Masood 1, *, Dao Bo Wang 1 , Zain Anwar Ali 1 and Babar Khan 2 1 2
*
College of Automation, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China;
[email protected] (D.B.W.);
[email protected] (Z.A.A.) College of Information Science and Technology, Donghua University, Shanghai 201620, China;
[email protected] Correspondence:
[email protected]
Received: 30 June 2017; Accepted: 18 September 2017; Published: 25 September 2017
Abstract: In this article, a novel hybrid control scheme is proposed for controlling the position of a three-phase brushless direct current (BLDC) motor. The hybrid controller consists of discrete time sliding mode control (SMC) with model free adaptive control (MFAC) to make a new data-driven control (DDC) strategy that is able to reduce the simulation time and complexity of a nonlinear system. The proposed hybrid algorithm is also suitable for controlling the speed variations of a BLDC motor, and is also applicable for the real time simulation of platforms such as a gimbal platform. The DDC method does not require any system model because it depends on data collected by the system about its Inputs/Outputs (IOS). However, the model-based control (MBC) method is difficult to apply from a practical point of view and is time-consuming because we need to linearize the system model. The above proposed method is verified by multiple simulations using MATLAB Simulink. It shows that the proposed controller has better performance, more precise tracking, and greater robustness compared with the classical proportional integral derivative (PID) controller, MFAC, and model free learning adaptive control (MFLAC). Keywords: model free adaptive control; sliding mode control; model free learning adaptive control; brushless DC
1. Introduction In the past two decades, the brushless direct current motor has played a vital role in industrial development. These motors are widely used in industrial applications because of their better architecture that is quite suitable for many critical tasks [1,2]. The rapid development of BLDC motors in the automobile industry, based on hybrid drives that require higher efficiency permanent magnet motor (PMM) drives, was the establishment of awareness in BLDC motors [3,4]. These motors have a linear relationship between torque, current, and voltage, and they operate on a revolution per minute (RPM) basis. A BLDC motor has the same speed torque curve as a conventional permanent magnet DC motor. However, it has different advantages, such as a small volume, a quick dynamic response, greater power density, better efficiency, and it can be directly associated with the mechanical load [5–7]. The BLDC motor does not use brushes, and it has extended operating life without noise. Moreover, it has Permanent Magnet, which is why its ratio is quite a bit higher between torque and motor size and is quite suitable for that application where weight and space are significant. It has a variety of speed ranges, better torque and speed characteristics as compared to other motors, and it is more suitable for applications such as a gimbal platform. However, in this research, the BLDC motor is chosen due to its low inertia in the rotor that helps to improve its acceleration time when it is operating for a short period of time [8]. Algorithms 2017, 10, 110; doi:10.3390/a10040110
www.mdpi.com/journal/algorithms
Algorithms 2017, 10, 110
2 of 16
In this research, a BLDC motor is selected as compared to a DC servo motor because it has many problems, such as maintenance and durability issues and higher noise. On the other hand, one of the major drawbacks of a BLDC motor is that its control is very difficult compared with a DC servo motor. For the real time operating scenario of a BLDC motor, the number of poles and coils plays an important role to control the motor. If the number of poles and coils are greater, the motor will be more responsive to its input. However, this research uses a three-phase BLDC motor along with 14 poles and 12 coils because using BLDC motors with fewer coils and poles will reduce their performance. Previously, different control algorithms have been used to control the position of three-phase BLDC motors, including the Proportional Integral controller [8], the variable structure controller [9–11], model predictive control [12], and model reference adaptive control [13]. However, in this research, the proposed hybrid controller is a combination of discrete time sliding mode control with model free adaptive control to control the position of a three-phase BLDC motor, since MFAC is the modest form of a robust control scheme with less mathematical calculations. The nonlinear behavior of the system is linearized by using compact form dynamic linearization (CFDL) and partial form dynamic linearization (PFDL) [14–17]. Previously, SMC-based algorithms used a pseudo partial derivative (PPD) to linearize the system. The proposed control algorithm compared with the traditional proportional integral derivative, MFAC, MFLAC and model free adaptive based sliding mode control (MFA-SMC) methods. The above algorithms are applied to control the three-phase BLDC motor successfully, and their performance analysis is verified by using simulations on MATLAB. The simulated results show that our proposed controller exhibits greater robustness and more accurate tracking. In this manuscript, the position control of a BLDC motor is considered by using a data-driven MFA-based controller. The major advancements of this manuscript are: (1) the description of control system modeling and preliminary information to validate the model-based control design. Later on, this model is used to validate data-driven control techniques; (2) the characteristics of MFAC are combined with an SMC algorithm and used to control the position of a three-phase BLDC motor by MATLAB (Simulink)-based simulations; (3) a MFA-SMC algorithm based on PFDL for a discrete time nonlinear system. The proposed method utilizes a PPD estimation of the past time and a transformed, model-based SMC algorithm in the data-driven control method; (4) the comparative analysis of the proposed system with the designed hybrid controller, and the results show that it has better performance; and (5) at the end, the PID, CFDL-based MFAC, CFDL-based MFLAC, and PFDL-based MFA-SMC algorithms are compared to check the performance analysis, which is verified by using Simulink in MATLAB platform. This manuscript is structured as follows. In Section 1, the introduction is presented. Section 2 explains the general theory and structure of a BLDC motor and Controller design using model-based PID techniques. Section 3 explains data-driven control system design techniques, such as MFAC, MFLAC, and MFA-SMC, with application to the position control of a BLDC motor. Section 4 explains the experimental results and comparative analysis. Lastly, Section 5 concludes the overall manuscript. 2. System Modelling and Preliminaries 2.1. General Theory of BLDC Motor In this section, the general description of a brushless DC motor is given, followed by the concept of controlling a brushless DC motor. There are two major parts of a brushless DC motor, namely the rotor and the stator, as shown in Figure 1. The inner part is named as the stator and outer circular part is called the rotor. The rotor has permanent magnets and the stator consists of three electromagnets. These electromagnets have different polarity due to alternating current. That is why it is called the three-phase rotor. Usually, there is a 120-phase difference between the three electromagnets. Figure 1 shows the phenomenon of rotation of the rotor in a clockwise direction, whereas the polarity of the
Algorithms 2017, 10, 110
3 of 16
Algorithms 2017, 10, 110 Algorithms 2017, 10, 110
3 of 16 3 of 16
electromagnets keeps changing. In order tokeeps turn changing. the rotor with a constant speed, polarities are whereas the polarity of the electromagnets In order to turn the rotorthe with a constant whereas the polarity of the electromagnets keeps changing. In order to turn the rotor with a constant changed a constant speed,at the polaritiesfrequency. are changed at a constant frequency. speed, the polarities are changed at a constant frequency.
1. Schematic of the operation of of aa brushless direct current (DC)(DC) motor. FigureFigure 1. Schematic of the operation brushless direct current motor. Figure 1. Schematic of the operation of a brushless direct current (DC) motor.
θm,r A careful look shows a singleelectrical electrical rotation a half-mechanical rotation A careful look shows thatthat a single rotationθeθ,re,rcauses causes a half-mechanical rotation θm,r . . Itcareful is determined based onnumber the number of poles, specified in following Equation (1). (1). θein A look shows a single rotation causes a half-mechanical rotation θm,r It is determined based on thethat ofelectrical poles, asas specified the following Equation , r the 2 . It is determined based on the number θm,r =of poles, as specified ×θe,r in the following Equation (1).(1) 2 number of poles 2 × θe,r θm,r = θm,r =consists ×Hence, θe,r one number o f poles The motor under consideration of 14 poles. electrical rotation is equal to one(1) number of poles
(1)
seventh of a mechanical rotation. In Figure 2, only low and high signals are shown, which means that
TheThe motor under consideration 14 poles. Hence, one electrical(PWM) rotation equal one motor under consideration consists of 14 poles. one electrical rotation isisequal one each electrical rotation consists ofconsists six steps.of By using Pulse Width Modulation signals, thetoto seventh a mechanical rotation. In 2,2,only low and high signals shown, whichwhich meansmeans that seventh of of a mechanical rotation. InAFigure Figure only low and high are shown, number of steps can be increased. PWM signal value varies from 0 tosignals 255.are Using these signal values, voltage canrotation berotation sent from zero percent to hundred percent as Pulse depicted in the Modulation Figure 2.(PWM) electrical consists of six steps. By using Pulse Width Modulation signals, the thateach each electrical consists of six steps. By using Width (PWM) signals, number of steps can be increased. A PWM signal value varies from 0 to 255. Using these signal values, the number of steps can be increased. A PWM signal value varies from 0 to 255. Using these signal voltage can be sent to hundred percentpercent as depicted in the Figure values, voltage can befrom sent zero frompercent zero percent to hundred as depicted in the2.Figure 2.
Figure 2. Visualization of a PWM signal having 255 steps to rotate a DC motor to 360 electrical degrees.
These basic concepts of a BLDC motor help to understand the control structure. The alternating electromagnets producing aarotating space having vector. This vectorto is calculated bymotor following360 the electrical method Figure 2. Visualization PWM signal 255 steps a DC Figure 2. Visualization of aofPWM signal having 255 steps to rotaterotate a DC motor to 360 to electrical degrees. proposed as follows. This method reduces the computational time. Figure 3 shows that one electrical degrees. rotation is equal to six parts, where A, B, and C are voltage vectors. If both B and C are zero, and These basic concepts of a BLDC motor help to understand the control structure. The alternating voltage A has a value of 255, the resultant vector points in the direction of A. In order to operate in These basic concepts of a BLDCspace motorvector. help toThis understandisthe control structure. The alternating electromagnets producing rotating the method an area, the maximum a PWM value is assigned to voltage vector A, while Ccalculated is turned offby andfollowing B can be varied. electromagnets producing a rotating space vector. This vector is calculated by following the method proposed as 1follows. This method reduces the computational time. Figure 3 shows that one Table shows the phases used to operate in a particular area. This method shows that every electrical proposed as follows. This method reduces the computational time. Figure 3 shows that one electrical rotation is divided into to six six parts, and every partA, canB,beand further divided into 255 steps. Therefore, electrical rotation is equal parts, where C are voltage vectors. If both B and rotation isand equal torotation six parts, where B, and Cthe are resultant voltage vectors. Ifpoints both Bin and C direction are zero, and every electrical consists of A, 1524 double scenarios). Hence, a mechanical C are zero, voltage A has a value ofsteps 255,(eliminating vector the of A. voltage A has a value of 255, the resultant vector points in the nearly direction A. In order to operate in rotation consists of approximately 10.660 steps. Each step covers 0.03 of mechanical degrees.
In order to operate in an area, the maximum PWM value is assigned to voltage A, while C is an area, the maximum PWM value is assigned to voltage A, while C is turned off and B can be varied. turned off and B can be varied. Table 1 shows the phases used to operate in a particular area. Table 1 shows the phases used to operate in a particular area. This method shows that every electrical This method shows that every electrical rotation is divided into six parts, and every part can be further rotation is divided into six parts, and every part can be further divided into 255 steps. Therefore, divided into 255 steps. Therefore, every electrical rotation consists of 1524 steps (eliminating double every electrical rotation consists of 1524 steps (eliminating double scenarios). Hence, a mechanical scenarios). Hence, of a approximately mechanical rotation consists of step approximately 10.660 steps. Eachdegrees. step covers rotation consists 10.660 steps. Each covers nearly 0.03 mechanical nearly 0.03 mechanical degrees.
Algorithms 2017, 10, 110
4 of 16
Algorithms 2017, 10, 110
4 of 16
Table 1 shows the PWM values used to determine the area of the vector in Figure 3, where X Table 1 shows the PWM values used to determine the area of the vector in Figure 3, where X means “to be calculated”. With the knowledge of the operating area, the exact value of PWM can means “to be calculated”. With the knowledge of the operating area, the exact value of PWM can be be calculated for afor certain resultant Note for each operating area in Equations calculated a certain resultant vector. vector. Note thatthat for each operating area in Equations (2)–(7), the (2)–(7), the PWM PWM valuevalue in the part maximum 255, this istoleft out to in second the second partofofthe the equation equation isisatat itsits maximum valuevalue of 255,ofbut thisbut is left out the equations universal. make the make equations universal.
Figure 3. Schematicof of aa brushless brushless DC motor. Figure 3. Schematic DC motor. Table 1. PWM values to determine the area of the vector in above Figure 3.
Table 1. PWM values to determine the area of the vector in above Figure 3. PWMA (PWM Value) PWMB (PWM Value) PWMC (PWM Value) Area 1 A (PWM 255 X PWM Value) PWMB (PWM Value) PWM0C (PWM Value) Area 2 X 255 0 255 0 X 0 Area 3 255 X X 255 0 Area 4 0 X 255 0 255 X Area 5 X 0 255 0 X 255 Area 6 255 0 X
Area 1 Area 2 Area 3 Area 4 Area 5 Area 6 For Area 1:
X 255
0 0
255 X
tan (θ e ) PWM A 0 ≤ θ e ≤!60 . PWM B = round 2 2 tan(θe ) PW MA (θe ) PW MB = round sin 3 π2 − cos 3 π tan 0 ≤ θe (θ ) sin π − cos 2 π tan
For Area 1:
3
For Area 2:
(2)
≤ 60.
(2)
e
3
For Area 2:
2 2 ! B tan (θ e ) cos 3 π PWM B − sin 3 π PWM 2 2 PWM A = round − tan(θe ) cos 3 π PW MB − sin 3 π PW θ e B≤ 120 . 60 ≤M tan (θ e ) 60 PW M A = round − tan(θe )
(3)
≤ θe ≤ 120.
(3)
For Area 3:
For Area 3:
2 tan (θe ) cos 2 π PWM B − sin 3 π PWM B 3 2 2 120M PWM C = round tan(θe ) cos 3 π PW MB − sin 3 π PW ≤ θBe ≤ 180 . (4) 120 ≤ θe ≤ 180. 4 4 PW MC = round π π θ sin − cos tan ( ) e 4 sin 3 43 π − cos 3 3 π tan(θe )
(4)
For Area 4:
For Area 4:
4
4
π PWM C − sin π PWM C tan (θe ) cos 3 4 3 4 180 ≤ θ ≤ PWM B = round tan(θe ) cos 240 . (5) π PW M − sin C 3 π PW MeC 2 3 2 sin π −cos π tan (θe ) 180 ≤ θ ≤ 240. PW MB = round e 2 2 3 π tan(θ ) 3 π −cos sin e 3 3
(5)
For Area 5:
For Area 5: PW M A = round
sin
4 3π
For Area 6:
PW MC − tan(θe ) cos
4 3π
tan(θe )
PW MC = round
tan(θe ) PW M A sin( 43 π )−cos( 43 π ) tan(θe )
PW MC
240 ≤ θe ≤ 300.
(6)
300 ≤ θe ≤ 360.
(7)
tan (θ e ) PWM A 300 ≤ θ e ≤ 360 . PWM C = round 4 4 sin 3 π − cos 3 π tan (θ e ) Algorithms 2017, 10,(2)–(7), 110 In Equations
by using formula θe =
(7)
5 of 16 the electrical angle θe can easily be replaced by the mechanical angle θm
θm number of poles
.
In Equations (2)–(7), the 2 electrical angle θe can easily be replaced by the mechanical angle θm by θm number o f poles . using formula θ = e of the general The description theory of a brushless DC motor is now covered and can be used 2 The description of the general theory of a brushless DC motor is now covered andmodeling can be usedprocess to to model the actuator. Moreover, the equations will be used for the mathematical model the actuator. Moreover, the equations will be used for the mathematical modeling process and and position control of the brushless DC motor. position control of the brushless DC motor. The PWM converter is implemented using Equations (2)–(7) in a MATLAB function. The right The PWM converter is implemented using Equations (2)–(7) in a MATLAB function. The right equation is selected by using if else statements in MATLAB Programming, and the corresponding equation is selected by using if else statements in MATLAB Programming, and the corresponding PWMPWM values are are determined. The input is the thecontrolled controlledangle angle BLDC Motor, values determined. The inputofofthe thefunction function is of of thethe BLDC Motor, and the output is a vector containing the PWM values and the phase corresponding to these values. and the output is a vector containing the PWM values and the phase corresponding to these values. In Figure 4, the PWM converter subsystem In Figure 4, the PWM converter subsystemisis shown. shown.
Figure 4. The PWM inthe theSimulink Simulink model. Figure 4. The PWMconverter convertersubsystem subsystem in model.
model of the motorisisa abit bitmore more complicated, complicated, asascan seen in Figure 5. The PWM The The model of the DCDC motor canbebe seen in Figure 5. The PWM converter generates PWM signals for the motor to control the voltage provided to the BLDC motor. converter generates PWM signals for the motor to control the voltage provided to the BLDC motor. The PWM-based control of the voltageisisdone doneusing using the the Controlled Controlled Voltage Source block in Simulink, The PWM-based control of the voltage Voltage Source block in Simulink, with source type DC and initial amplitude zero volts. The input is the PWM value of the PWM with source type DC and initial amplitude zero volts. The input is the PWM value of the PWM converter, the minus side is connected to the ground, and the plus side is the output voltage, which is converter, the minus side is connected to the ground, and the plus side is the output voltage, which connected to the DC motor. In this research work, a Permanent Magnet Synchronous Machine (PMSM) is connected themotor DC motor. In this research work, of a the Permanent Machine is used astoDC in Simulink. The configuration PMSM isMagnet standardSynchronous with three phases, (PMSM) is used as DC motor in Simulink. The configuration of the PMSM is standard with a trapezoidal back Electromotive Force (EMF) waveform, and speed as mechanical input. Since nothree phases, a trapezoidal back Electromotive (EMF) waveform, andare speed as mechanical input. parameters of the DC motor are known, Force the parameters of the PMSM also standard and thus Algorithms 2017, 10, 110 6 of 16 and Sinceremain no parameters of In the DC motor areS known, the parameters of the(S) PMSM are also standard unchanged. Figure 5, N and shows the North (N) and South pole respectively.
thus remain unchanged. In Figure 5, N and S shows the North (N) and South (S) pole respectively.
Figure Figure 5. 5. The The DC DC motor motor subsystem subsystem in in the the Simulink Simulink model. model.
2.2. Experimental and Simulation Data Comparison To control the motor, an Arduino Nano V3.0, a PWM shield, a PWM driver, motor drivers, capacitors, and MOSFETs are used. In addition, H-bridges are required to control the voltage to the motor and to make sure the back-EMF does not destroy the Arduino or PWM shield. Coding on the Arduino is done in C++. To implement all the devices compactly, a Printed Circuit Board (PCB) is
Algorithms 2017, 10, 110
Figure 5. The DC motor subsystem in the Simulink model.
6 of 16
2.2. Experimental and Simulation Data Comparison
To control control the the motor, motor, an an Arduino Arduino Nano Nano V3.0, V3.0, a PWM shield, a PWM driver, motor drivers, To H-bridges areare required to control thethe voltage to the capacitors, and and MOSFETs MOSFETs are areused. used.InInaddition, addition, H-bridges required to control voltage to motor and to make sure the back-EMF does not destroy the Arduino or PWM shield. Coding on the the motor and to make sure the back-EMF does not destroy the Arduino or PWM shield. Coding Arduino is doneisindone C++. in ToC++. implement all the devices a Printeda Circuit (PCB) is on the Arduino To implement all the compactly, devices compactly, PrintedBoard Circuit Board designed and experimental data is data usedistoused compare the experimental and simulation results. The (PCB) is designed and experimental to compare the experimental and simulation results. simulations are are performed in MATLAB using Math works ininMATLAB The simulations performed in MATLAB using Math works MATLAB2014b 2014binstalled installed on on a Dell precision m3800. m3800. In In this thissection, section,only onlyaabasic basicexperimental experimentaland andsimulation simulationtest testisisperformed performed check precision toto check if if the output thesimulation simulationmodel modelcorresponds correspondstotothe themeasured measuredoutput. output. However, However, this this article article only the output ofof the results. discusses the simulation results. During open-loop open-loopoperation, operation, system is operating as expected. Putting input During thethe system is operating as expected. Putting a rampaasramp inputas resulted resulted in the movement of the motor as would be expected. In Figure 6, the open-loop measurement in the movement of the motor as would be expected. In Figure 6, the open-loop measurement of a decreasing ramp input shown.This Thisshows showsthat thatthe thesystem systemisisworking working as as desired, desired, and and the aofdecreasing ramp as as input is is shown. implemented. closed-loop algorithm can be implemented.
Figure 6. Open-loop measurement of a decreasing ramp. Figure 6. Open-loop measurement of a decreasing ramp.
After implementing the closed-loop control algorithm, without a controller, on the Arduino and After implementing the closed-loop control algorithm, without a controller, on the Arduino and testing it on a single motor, severe unstable behavior is seen. Therefore, a PID controller, which is testing it on a single motor, severe unstable behavior is seen. Therefore, a PID controller, which is commonly used in the industry, is proposed [18]. The control scheme for a BLDC motor can be seen in commonly used in the industry, is proposed [18]. The control scheme for a BLDC motor can be seen Figure 7. In this scheme, θm,r is the desired mechanical angle, while θm is the actual measured angle. in Figure 7. In this scheme, θm,r is the desired mechanical angle, while θ m is the actual measured Since a PID controller is used, anti-windup compensation ensures no integral windup will occur. Note angle. Since anti-windup compensation ensures no integral windup7 will Algorithms 2017,a10,PID 110 controller of 16 that, normally, cascade controlisis used, used to control the position of a PMSM. occur. Note that, normally, cascade control is used to control the position of a PMSM.
Figure 7. Control scheme to control a motor. Figure 7. Control scheme to control a motor.
A controller is manually tuned to test the control algorithm and is then implemented on the motor with the same controller values. The closed-loop step responses for the motor are shown in Figure 8. The PID controller has the values of 0.15, 9, and 0.0025 for the P, I, and D, respectively. As can be seen, the step trajectory is roughly followed by the system.
Figure 7. Control scheme to control a motor.
A controller Algorithms 2017, 10,is 110manually
Figure scheme to control a motor. tuned 7.toControl test the control algorithm and is then implemented on the 7 of 16
motor with the same controller values. The closed-loop step responses for the motor are shown in A 8. controller manually tuned to testofthe control on the Figure The PID is controller has the values 0.15, 9, andalgorithm 0.0025 forand the is P, then I, andimplemented D, respectively. As A controller is manually tuned to test the control algorithm and is then implemented on the motor motor with the controllerisvalues. closed-loop responses for the motor are shown in can be seen, the same step trajectory roughlyThe followed by thestep system. with8.the same values. Thevalues closed-loop step forfor thethe motor shown in Figure 8. As Figure The PIDcontroller controller has the of 0.15, 9,responses and 0.0025 P, I,are and D, respectively. PID controller has the values of 0.15, 9, and 0.0025 for the P, I, and D, respectively. As can be seen, can The be seen, the step trajectory is roughly followed by the system. the step trajectory is roughly followed by the system.
Figure 8. Response of the system following a reference trajectory. Figure Response ofthe the system system following trajectory. Figure 8. 8. Response of followinga areference reference trajectory. After manual tuning, the Ziegler–Nichols closed-loop tuning method is adopted instead of a trial-and-error method. The Integral and Derivative are neglected in this method, and it is used only After manual tuning, the Ziegler–Nichols closed-loop tuning method is adopted instead of Afterofmanual tuning, the Ziegler–Nichols tuning method isfor adopted instead of isa as a again control.method. After implementing PIDclosed-loop controllers, a step response the motor trial-and-error The Integral andthe Derivative are neglected in this method, and it isBLDC used only trial-and-error method. The Integral Derivative neglected in this method, and it is used only shown Figure 9. As can beimplementing seen in and the Figure theare angle is still response vibrating with as ain gain of control. After the PID9,controllers, a step for the huge BLDCovershoot. motor is In as anext gain of control. After implementing the PID controllers, a step response for the BLDC motor is the section, the simulation and experimental results of both the open-loop and closed-loop shown in Figure 9. As can be seen in the Figure 9, the angle is still vibrating with huge overshoot. are shown in Figure 9. As can be seen in the Figure 9, the angle is still vibrating with huge overshoot. compared. In the next section, the simulation and experimental results of both the open-loop and closed-loop In the next section, the simulation and experimental results of both the open-loop and closed-loop are are compared. compared.
Figure 9. Step responseofofBLDC BLDC Motor Motor using Integral Derivative. Figure 9. Step response usingProportional Proportional Integral Derivative.
2.3. Open- and Closed-Loop Measurement and Simulation Figure 9. Step response of BLDC Motor using Proportional Integral Derivative. A simple open-loop comparison is completed to check if the output of the simulation model corresponds to the measured output. Both the model and measurement are shown together with the actual and desired measurements in Figures 10 and 11. The two figures are made because differences can occur in moving in the positive and negative directions. It can be seen that the simulation approximates the real measurement, especially at smaller angles. At larger angles, the measurement and simulation data start to differ, especially when looking at the negative direction plot.
2.3. Open- and Closed-Loop Measurement and Simulation A simple open-loop comparison is completed to check if the output of the simulation model A simple open-loop comparison is completed to check if the output of the simulation model corresponds to the measured output. Both the model and measurement are shown together with the corresponds to the measured output. Both the model and measurement are shown together with the actual and desired measurements in Figures 10 and 11. The two figures are made because differences actual and desired measurements in Figures 10 and 11. The two figures are made because differences can occur in moving in the positive and negative directions. It can be seen that the simulation can occur in moving in the positive and negative directions. It can be seen that the simulation approximates Algorithms 2017, 10, 110the real measurement, especially at smaller angles. At larger angles, the measurement8 of 16 approximates the real measurement, especially at smaller angles. At larger angles, the measurement and simulation data start to differ, especially when looking at the negative direction plot. and simulation data start to differ, especially when looking at the negative direction plot.
Figure Simulation andreal real measurement in Figure 10. 10. Simulation and inaaapositive positivedirection. direction. Figure 10. Simulation and realmeasurement measurement in positive direction.
Figure 11. Simulation and real measurement in a negative direction.
Figure Simulation andreal realmeasurement measurement in Figure 11. 11. Simulation and inaanegative negativedirection. direction.
Both Figures 10 and 11 indicate that no large discrepancies are present between the model and
Both Figures 10 and 11 indicate thatnonolarge largediscrepancies discrepancies are present between thethe model and Both Figures 10 and 11closed-loop indicate that arecan present the measurements. The measurements and simulations now bebetween compared. model and the measurements. The closed-loop measurements and simulations can now be compared. the measurements. The closed-loop measurements andare simulations now compared. The closed-loop measurements and simulations compared can using the be same PID controller. The closed-loop measurements and simulations are compared using the same PID controller. The closed-loop measurements and simulations are compared using the same PIDand controller. The values of the PID controller are determined by using the Ziegler–Nichols method, are The values of the PID controller are determined by using the Ziegler–Nichols method, and are respectively 0.2647, 1.7647, and are 0.0099. Figure 12 shows the simulation and measurement data.and As The values of the PID controller determined by using the Ziegler–Nichols method, respectively 0.2647, 1.7647, and 0.0099. Figure 12 shows the simulation and measurement data. As are seen with the open-loop simulation, for small 12 angles the the simulation and measurement data aredata. respectively 0.2647, 1.7647, and 0.0099. Figure shows simulation and measurement seen with the open-loop simulation, for small angles the simulation and measurement data are approximately the same. For larger angles, the simulation andsimulation measurement data differ more. data are As seen with the open-loop simulation, for small angles the and measurement approximately the same. For larger angles, the simulation and measurement data differ more. approximately the same. For larger angles, the simulation and measurement data differ more. Algorithms 2017, 10, 110 9 of 16
Figure 12. 12. Simulation measurement of the motormotor using using steps. steps. Figure Simulationand andreal real measurement of BLDC the BLDC
3. DDC Control System Design 3.1. Design of MFAC Consider the Discrete time nonlinear system having Single Input and Single Output (SISO);
y(κ +1) = f y(κ ), y(κ −1),..., y(κ − n ), u(κ ), u(κ −1),..., u(κ − n )
(8)
Algorithms 2017, 10, 110
9 of 16
3. DDC Control System Design 3.1. Design of MFAC Consider the Discrete time nonlinear system having Single Input and Single Output (SISO); y (κ + 1) = f y (κ ), y (κ − 1), . . . , y (κ − n y ), u (κ ), u (κ − 1), . . . , u (κ − n u )
(8)
where y(κ ) ∈ R, u(κ ) ∈ R are the input and output, respectively, at time instant κ, ny and nu is the unknown order, and f (. . .) is an unknown time-varying nonlinear function. Detailed information on the succeeding assumptions is given in reference [19]. Assumption 1: The proposed system model is observable and controllable, and a bounded control input signal should exist that converts the system response identically to the expected output for the expected bounded system output signal y∗ (κ + 1). Assumption 2: f (. . .) is a Partial derivative and is continuous with respect to the control input u(κ ). Assumption 3: The general Lipschitz condition should be satisfied by the proposed system.
|∆y(κ + 1)| ≤ c|∆u(κ )| For any κ and ∆u(κ ) 6= 0
(9)
where ∆y(κ + 1) = y(κ + 1) − y(κ ), ∆u(κ ) = u(κ ) − u(κ − 1), and positive constant c. Nonlinearity is present in the system, which restricts the rate of change of the system. The purpose of control is to design an appropriate control input u(κ ) to make the system output y(κ + 1) → 0 . λ ∈ (0, 1) is introduced into the criterion function where the system is to linearize in an acceptable range. The CFDL data model of the control system is described as ∆y(κ + 1) = φ(κ )∆u(κ ).
(10)
The system should satisfy the Assumptions 1–3 for the CFDL method. First, the system is a continuous moving system whose dynamics satisfy the smoothness condition. Second, a bounded change of system input must cause a bounded change of the system when the control input is not out of the permitted range, namely, that the generalized Lipschitz condition is satisfied. The generalized PPD estimation and MFAC control law can be written as, u (κ ) = u (κ − 1) +
φˆ (κ ) = φˆ (κ − 1) +
ρκ φˆ (κ ) (y∗ (κ + 1) − y(κ )) λ + |φˆ (κ )|2
ηκ ∆u(κ − 1) µ + |∆u(κ − 1)|
2
× ∆y(κ ) − φˆ (κ − 1)∆u(κ − 1)
If φˆ (κ ) ≤ ε or ∆u(κ − 1) ≤ ε then φˆ (κ ) = φˆ (1)
(11)
(12) (13)
where ηκ , ρκ ∈ (0, 2) are the step-size constants, ε is a positive small number, µ and λ are weighting factors, and φˆ (1) and φˆ (2) are the initial values. The sampling instant ∆u(κ ) values are too small now considering φ(κ ) that is a time-varying parameter and can be ignored by u(κ ). The adaptive based controller is proposed by the integration of Equations (10), (12) and (13). By combining these equations, it will make the Equation (14). y (κ + 1) = y (κ ) +
φˆ (κ ) + δφ (κ ) ∆u(κ )
(14)
φ (κ ) = φ (κ − 1) +
μ + Δu (κ − 1)
2
(
× Δy (κ ) − φ (κ − 1) Δu (κ − 1)
)
If φˆ(κ ) ≤ ε or Δu (κ − 1) ≤ ε then φˆ(κ ) = φˆ(1)
(12) (13)
where η κ , ρ κ ∈ (0, 2) are the step-size constants, ε is a positive small number, μ and λ are ˆ ˆ weighting Algorithms 2017, 10, 110 factors, and φ (1) and φ (2) are the initial values. The sampling instant Δu (κ ) values are too small now considering φ (κ ) that is a time-varying
10 of 16
is proposed parameter and can be ignored by u (κ ) . The adaptive based controller by the integration The parameter error writtenthese as δφequations, (κ ) = φit (will κ) − φˆ (κthe ) .Equation The PPD of Equations estimation (10), (12) and (13). Byis combining make (14).of the proposed ˆ (κ ) rather than the actual value of φ(κ ), φ system is φ(κ ), and it is not used in practice. So, by applying y (κ + 1) = y (κ ) + (φˆ (κ ) + δ φ (κ ) ) Δ u (κ ) (14) the system’s past value is φˆ (κ ) and the parameter estimations are as follows: The parameter estimation error is written as δ φ (κ ) = φ (κ ) − φˆ(κ ) . The PPD of the proposed
ˆ
ˆ
δφ in (κpractice. ) = φ(κSo, − by 1) applying − φ(κ −φˆ2(κ).) rather than the actual value of system is φ (κ ) , and it is not used φ (κ ) , the system’s past value is φˆ(κ ) and the parameter estimations are as follows:
Moreover, Equation (14) becomes as follows:
δ φ (κ ) = φˆ (κ − 1) − φˆ (κ − 2) .
ˆ
ˆ
(κ + 1) (14) = becomes y(κ ) + asφfollows: (κ ) + φ (κ Moreover,yEquation
− 1) − φˆ (κ − 2) ∆u(κ )
(15)
y (κ + 1) = ( yfor (κ ) + ) + φ (κ −method. 1) − φ (κ − 2 )The )) (15) theoretical (φ (κMFAC ) Δu (κnumerical λ is a vital regulating parameter the simulation and analysis confirms suitableparameter value offorλ the willMFAC guarantee the proposed λ is athat vitalthe regulating method.the Thestability numericalofsimulation and system. theoretical analysis confirms that the suitable value ofrise λ will guarantee stability of the proposed The small value of the weighting factor means a lower time. More the features regarding this parameter The small value of the weighting factor means a lower rise time. More features regarding this are shownsystem. in [19,20], respectively. parameter are shown in [19,20], respectively. The simulated results show that the appropriate value of λ that can enhance the general The simulated results show that the appropriate value of λ that can enhance the general performance of the control system. TheThe main diagram MFC is present in 13. Figure 13. performance of the control system. mainblock block diagram of of MFC is present in Figure ˆ
ˆ
ˆ
Figure 13. General Block diagram of Model Free Adaptive Control.
Figure 13. General Block diagram of Model Free Adaptive Control. By selecting appropriate parameter, the following result is obtained using the MFAC scheme.
Angle (degree)
Figure 14 shows theparameter, response of the motor using MFAC. It can beusing seen that result isscheme. By selecting appropriate theBLDC following result is obtained thetheMFAC better than the traditional PID method. The overshoot value and settling time is reduced but still Figure 14 shows the response of the BLDC motor using MFAC. It can be seen that the result is needs improvement. better than the traditional PID method. The overshoot value and settling time is reduced but still needs improvement. Algorithms 2017, 10, 110 11 of 16
Figure Figure 14. 14. Step Step response response of of BLDC BLDC Motor Motor using using MFAC. MFAC.
3.2. Design Design of of MFLAC MFLAC Response Response Consider Consider the the general general discrete discrete time single input, single output (SISO) nonlinear nonlinear system system in Equation (8). The system should satisfy the assumptions in Section 3.1 for the CFDL method. The system should The basic theory of and stability criteria for MFLAC are present in reference [21]. By using the CFDL scheme, the control algorithm for MFLAC based on a weighted one-step control input criterion function is as follows: 2
J (u (k )) = y* (κ + 1) − y (κ + 1) + λ u (κ ) − u (κ − 1) where the weighting function is λ , and λ u(κ ) − u(κ −1) 2
2
2
(16)
is the criterion function. The introduction
Algorithms 2017, 10, 110
11 of 16
The basic theory of and stability criteria for MFLAC are present in reference [21]. By using the CFDL scheme, the control algorithm for MFLAC based on a weighted one-step control input criterion function is as follows: J (u(k )) = |y∗ (κ + 1) − y(κ + 1)|2 + λ|u(κ ) − u(κ − 1)|2
(16)
where the weighting function is λ, and λ|u(κ ) − u(κ − 1)|2 is the criterion function. The introduction of λ|u(κ ) − u(κ − 1)|2 will overcome the deficiencies of the controller. The general MFAC control law is obtained as follows: u (κ ) = u(κ − 1) =
ρκ φ (κ ) λ + φ (κ )2
(y∗ (κ + 1) − y(κ )).
(17)
The present approaches for PPD estimation introduce a new parameter estimation criterion as follows: 2 2 J (φ(κ )) = y0 (κ ) − y(κ − 1) − φ(κ )∆u(κ − 1) + µ φ(κ ) − φˆ (κ − 1) . (18) 2 In Equation (18), the parameter µ φ(κ ) − φˆ (κ − 1) is used to adjust the rate of change of the parameter estimation. From Equation (18), we can get the parameter estimation algorithm in Equation (19): " φˆ (κ ) = φˆ (κ − 1) +
ηκ ∆u(κ − 1) µ + |∆u(κ − 1)|2
!
#
· ∆y(κ ) − φˆ (κ − 1)∆u(κ − 1)
φˆ (κ ) = φˆ (1), If φˆ (κ ) ≤ ε, or |∆u(κ − 1)| ≤ ε
(19) (20)
Angle (degree)
where µ is a positive weighting constant, ηκ is a step size constant series, ηy ⊂ (0, 2), φˆ (1) is the initial estimation information of φˆ (κ ), and ε is a positive constant. By selecting appropriate parameter, the following result is obtained using the MFLAC scheme. Figure 15 shows the response of the BLDC Motor using MFLAC. It can be seen that the result is better than the PID and MFAC methods. The overshoot value and settling time is reduced. Algorithms 2017, 10,traditional 110 12 of 16
Figure Figure 15. 15. Step Step response response of of the the BLDC BLDC Motor Motor using using MFLAC. MFLAC.
3.3. 3.3. Design Design of of Data-Driven Data-Driven SMC SMC Consider the general Consider the general discrete discrete time time single single input, input, single single output output (SISO) (SISO) nonlinear nonlinear system system in in Equation (8). The system should satisfy the assumptions in Section 3.1 for the PFDL method. The Equation (8). The system should satisfy the assumptions in Section 3.1 for the PFDL method. The basic basic a stability analysis of MFA-SMC is present in Reference theorytheory and aand stability analysis of MFA-SMC is present in Reference [19]. [19]. The discrete sliding mode function is given below:
s (κ ) = e (κ ) + c ⋅ e (κ − 1)
(21)
where c must satisfy the Hurwitz condition c > 0 . Additionally, the tracking error is e (κ ) , which is well-defined as:
Algorithms 2017, 10, 110
12 of 16
The discrete sliding mode function is given below: s (κ ) = e (κ ) + c · e (κ − 1)
(21)
where c must satisfy the Hurwitz condition c > 0. Additionally, the tracking error is e(κ ), which is well-defined as: e (κ ) = y ∗ (κ ) − y (κ ) (22) where y∗ (κ ) is the desired tracking trajectory, and y(κ ) is the system output. By using the discrete exponential reaching law, s(κ + 1) = (1 − q)s(κ ) − ε · sgn(s(κ )), ε > 0, 0 < q < 1.
(23)
From Equations (21) and (23), the equivalent derived equation is: e(κ + 1) = (1 − q) · s(κ ) − ε · sgn(s(κ )) − c · e(κ ).
(24)
Let β1 = e(κ + 1) = (1 − q) · s(κ ) − ε · sgn(s(κ )) − c · e(κ ). By using Equation (24), the tracking error becomes
(y∗ (κ + 1) − y(κ + 1)) = β1.
(25)
Solving Equations (15) and (25) produces the following result: 1 φˆ (κ ) + φˆ (κ − 1) − φˆ (κ − 2)
∆u(κ ) =
Combining Θ(k ) =
1 φˆ (κ )+(φˆ (κ −1)−φˆ (κ −2))
!
! ∗
· (y (κ + 1) − y(κ ) − β1) .
(26)
. Put the value of β1, and then Equations (21) and (26)
establish the following control law: u(κ ) = (u(κ − 1) + Θ(κ ) × (y∗ (κ + 1) − y(κ ) − β2 + ε · sgn(e(κ ) + c · e(κ − 1))))
(27)
where β2 = (1 − c − q) · e(κ ) − c(1 + q) · e(κ − 1). Since Θ(κ ) is linear convergence, a slow varying parameter may not be able to satisfy the necessity of the controlled system; therefore, Equation (27) can be improved in the following expression: e (κ ) × [y∗ (κ + 1) − y(κ ) − β2 + ε · sgn(e(κ ) + c · e(κ − 1))] u (κ ) = u (κ − 1) + Θ where e (κ ) = Θ
ρκ · φˆ (κ ) + λ + φˆ (κ ) +
(28)
! φˆ (κ − 1) − φˆ (κ − 2) 2 . φˆ (κ − 1) − φˆ (κ − 2)
Equation (27) is the MFA-based SMC control law that converges exponentially and will result in a reduction of time and will not cause problems with stability, where λ is the weighting factor, ρκ is the step sequence, and ρ Solving Equations (21) and (27) results in stable polynomials c that κ ⊂ (0, 2). √ 1−q −1+ 4q2 −8q+5 range from 0 < c < min 2−q , . 2(1− q ) e (κ ) is quadratic convergence and that the φˆ (κ − 1) and φˆ (κ − 2) values An analysis shows that Θ are present in the control law; thus, the MFA-based adaptive SMC is greatly improved. It can be seen that Equation (27) has a discontinuous sgn(.) function. This function will establish a high frequency chattering at the sliding mode surface. This high frequency will reduce the performance of the control
Algorithms 2017, 10, 110
13 of 16
system, and cannot be applied to an actual control system. To eliminate the high frequency chattering, s (κ ) replace f (s(κ )) = |s(κ )|+∆ with the sgn(.) function in Equation (27). By replacing the above function, it will convert the discontinuous function of the continuous signal that will result in a reduction of the chattering effect. The new control algorithm becomes the following equation: e (κ ) × [y∗ (κ + 1) − y(κ ) − β2 + ε · f (e(κ ) + c · e(κ − 1))] u (κ ) = u (κ − 1) + Θ
(29)
Angle (degree)
e(κ )+c·e(κ −1) where f (e(κ ) + c · e(κ − 1)) = |e(κ )+c·e(κ −1)|+∆ . Integrating Equations (12) and (29) will result in the MFA-based SMC control algorithm. It is observed from the above equation that the MFA-SMC controller design uses a PPD value and only uses the input/output information about the system. By selecting an appropriate parameter, the following result is obtained using the MFAC-SMC scheme. Figure 16 shows the response of the BLDC motor using MFA-SMC. It can be seen that the MFA-SMC result in Figure 16 is better than the PID and MFAC methods. The overshoot value and settling time is greatly reduced. The advantages of model-based SMC combined with data-driven MFA are2017, useful and have a great impact on performance. Algorithms 10, 110 14 of 16
Figure 16. 16. Step response of BLDC Motor using Model Free Adaptive andand Sliding Mode Control. Figure Step response of BLDC Motor using Model Free Adaptive Sliding Mode Control.
4. Simulation Results and Analysis 4. Simulation Results and Analysis This section discusses the performance analysis between the PID, MFAC, MFLAC, and MFAThis section discusses the performance analysis between the PID, MFAC, MFLAC, and MFASMC schemes. SMC schemes. Figure 17 shows the step response of the BLDC motor. Table 2 summarizes the performance Figure 17 shows the step response of the BLDC motor. Table 2 summarizes the performance analysis of the different control algorithms. Table 2 shows that Conventional PID has a Maximum analysis of the different control algorithms. Table 2 shows that Conventional PID has a Maximum Overshoot of 3.26, a settling time of 1.251, and a rise time of 0.021. Similarly, MFAC has a Maximum Overshoot of 3.26, a settling time of 1.251, and a rise time of 0.021. Similarly, MFAC has a Maximum Overshoot of 1.85, a settling time of 0.822, and a rise time of 0.134, and it is better than conventional Overshoot of 1.85, a settling time of 0.822, and a rise time of 0.134, and it is better than conventional PID. In addition, MFLAC has a Maximum Overshoot of 1.46, a settling time of 0.691, and a rise time PID. In addition, MFLAC has a Maximum Overshoot of 1.46, a settling time of 0.691, and a rise time of of 0.137. The MFLAC result is much better than PID and MFAC. However, the proposed MFA-based 0.137. The MFLAC result is much better than PID and MFAC. However, the proposed MFA-based SMC SMC control is greatly improved, with a Maximum Overshoot of 1.21, a settling time of 0.492, and a control is greatly improved, with a Maximum Overshoot of 1.21, a settling time of 0.492, and a rise rise time of 0.146. Although there is only a slight improvement in the rise time, the overshoot and time of 0.146. Although there is only a slight improvement in the rise time, the overshoot and settling settling time is greatly improved and is better than PID, MFAC, and MFLAC. time is greatly improved and is better than PID, MFAC, and MFLAC.
Overshoot of 1.85, a settling time of 0.822, and a rise time of 0.134, and it is better than conventional PID. In addition, MFLAC has a Maximum Overshoot of 1.46, a settling time of 0.691, and a rise time of 0.137. The MFLAC result is much better than PID and MFAC. However, the proposed MFA-based SMC control is greatly improved, with a Maximum Overshoot of 1.21, a settling time of 0.492, and a rise time of 0.146. Although there is only a slight improvement in the rise time, the overshoot and Algorithms 2017, 10, 110 14 of 16 settling time is greatly improved and is better than PID, MFAC, and MFLAC.
Figure 17. Comparison analysis of step response of the BLDC motor using PID, MFAC, MFLAC, Figure 17. Comparison analysis of step response of the BLDC motor using PID, MFAC, MFLAC, and and MFA-SMC. MFA-SMC. Table 2. Comparative analysis of all data-driven control algorithms. SMC has great significance in the theoretical research field. Nowadays, it is becoming a serious source of solutions to industrial problems. Its potential is proscribed simply by the artistic ability of Algorithm Maximum Overshoot Rise Time Settling Time the individuals working in process control. Thus, the expectation for SMC’s application in the PID 3.26 0.021 processing industries is huge. The primary benefits of SMC are its invariance1.251 and quality properties, MFAC 1.85 uncertainties and 0.134 0.822 and that it can deal with bounded modelling bounded disturbances both in linear MFLAC 1.46 0.137 0.691 and nonlinear systems. MFA-SMC 1.21 0.146 0.492 Model-Based SMC requires a modelling process, which is expensive and time consuming. To eliminate the modelling process, data-driven SMC is proposed with application to the position
SMC has great significance in the theoretical research field. Nowadays, it is becoming a serious source of solutions to industrial problems. Its potential is proscribed simply by the artistic ability of the individuals working in process control. Thus, the expectation for SMC’s application in the processing industries is huge. The primary benefits of SMC are its invariance and quality properties, and that it can deal with bounded modelling uncertainties and bounded disturbances both in linear and nonlinear systems. Model-Based SMC requires a modelling process, which is expensive and time consuming. To eliminate the modelling process, data-driven SMC is proposed with application to the position control of a three-phase BLDC motor that only depends on the input/output information of the system. The simulation result shows that the overall performance of the three-phase BLDC motor is significantly improved. Moreover, the step response analysis shows that by using MFA-SMC, the maximum overshoot and settling time has greatly reduced, from 3.26 to 1.20 and 1.251 to 0.492, respectively. The proposed MFA-SMC algorithm can achieve better position control and stability over the traditional PID, MFA, and MFLAC methods. 5. Conclusions In this article, a data–driven MFA-based SMC is used for the position control of a BLDC motor. Moreover, an estimation algorithm and control law are explained for MFA, MFAC, and MFA-SMC algorithms. The proposed control algorithm uses the past-time PPD value, and the necessity of a complex mathematical modeling process is not necessary. The simulation results show that the proposed MFA-based SMC significantly improves position tracking performance and robustness. Moreover, it delivers a concrete theoretical significance by offering a significant enhancement on the basic DDC Algorithm. Moreover, a step response analysis shows that by using MFA-based SMC, the maximum overshoot and settling time has greatly reduced from 3.26 to 1.20 and from 1.251 to 0.492, respectively. A comparative analysis of the simulated results verifies that the proposed MFA-SMC algorithm can achieve better position control and stability over the traditional PID, MFA, and MFLAC methods. The simulation results prove a significant improvement in the performance of the three-phase BLDC motor.
Algorithms 2017, 10, 110
15 of 16
Acknowledgments: This study is supported by the College of Automation Engineering, Nanjing University of Aeronautics and Astronautics Nanjing, China, and is funded by “National Natural Science Foundation of China (NSFC)” under grant No. 61503185. The authors would like to thank the anonymous reviewers for their valuable comments that significantly improved the quality of this paper. Author Contributions: The central arguments and structure of the paper were equally devised by each of the authors through a series of discussions. Rana Javed Masood conceived the idea and carries out experimental and simulation work under the supervision of Dao bo Wang. Zain Anwar Ali and Babar Khan were involved in the writing of this research article and in the results. Conflicts of Interest: The author has no conflict of interest.
References 1. 2. 3. 4. 5. 6. 7.
8. 9. 10. 11.
12.
13.
14. 15. 16. 17. 18. 19.
Krause, P.; Wasynczuk, O.; Sudhoff, S.D.; Pekarek, S. Analysis of Electric Machinery and Drive Systems; John Wiley & Sons: Hoboken, NJ, USA, 2013; Volume 75. Fitzgerald, A.E.; Kingsley, C.; Umans, S.D. Electric Machinery; McGraw-Hill: New York, NY, USA, 1990. Matsui, N. Sensorless PM brushless DC motor drives. IEEE Trans. Ind. Electron. 1996, 43, 300–308. [CrossRef] Matsui, N.; Shigyo, M. Brushless DC motor control without position and speed sensors. IEEE Trans. Ind. Appl. 1992, 28, 120–127. [CrossRef] Flaig, T.L.; Peterson, G. Controller for a Brushless DC Motor. U.S. Patent 4,528,486, 9 July 1985. Pillay, P.; Krishnan, R. Modeling, simulation, and analysis of permanent-magnet motor drives. II. The brushless DC motor drive. IEEE Trans. Ind. Appl. 1989, 25, 274–279. [CrossRef] Trivedi, M.S.; Keshri, R.K. Trajectory based predictive current control for Permanent Magnet Brushless DC motor. In Proceedings of the 2016 IEEE International Conference on Power Electronics, Drives and Energy Systems (PEDES), Trivandrum, India, 14–17 December 2016; pp. 1–6. Wang, L.; Chai, S.; Yoo, D.; Gan, L.; Ng, K. PID and Predictive Control of Electrical Drives and Power Converters Using MATLAB/Simulink; John Wiley & Sons: Hoboken, NJ, USA, 2015. Utkin, V. Variable structure systems with sliding modes. IEEE Trans. Autom. Control 1977, 22, 212–222. [CrossRef] Dursun, E.H.; Durdu, A. Speed Control of a DC Motor with Variable Load Using Sliding Mode Control. Int. J. Comput. Electr. Eng. 2016, 8, 219. [CrossRef] Rhif, A.; Vaidyanathan, S. Sliding Mode Control Design for a Sensorless Sun Tracker. In Applications of Sliding Mode Control in Science and Engineering; Springer International Publishing: Clam, Switzerland, 2017; pp. 419–434. ˇ Kyslan, K.; Šlapák, V.; Lacko, M.; Durovský, F. Cost functions in finite control set model predictive control of permanent magnet DC machine. In Proceedings of the 2015 International Conference on Electrical Drives and Power Electronics (EDPE), Tatranska Lomnica, Slovakia, 21–23 September 2015. Shahgholian, G.; Maghsoodi, M.; Mahdavian, M.; Janghorbani, M.; Azadeh, M.; Farazpey, S. Analysis of speed control in DC motor drive by using fuzzy control based on model reference adaptive control. In Proceedings of the 2016 13th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), Chiang Mai, Thailand, 28 June–1 July 2016. Hou, Z.; Jin, S. Data-driven model-free adaptive control for a class of MIMO Nonlinear discrete-time systems. IEEE Trans. Neural Netw. 2011, 22, 2173–2188. [PubMed] Battistelli, G.; Mosca, E.; Tesi, P. Model-free Adaptive switching control of time-varying plants. IEEE Trans. Autom. Control 2013, 58, 1208–1220. [CrossRef] Xu, D.; Jiang, B.; Shi, P. A novel model-free adaptive control design for Multivariable industrial processes. IEEE Trans. Ind. Electron. 2014, 61, 6391–6398. [CrossRef] Zhu, Y.; Hou, Z. Controller dynamic linearization-based model-free adaptive control framework for a class of non-linear system. IET Control Theory Appl. 2015, 9, 1162–1172. [CrossRef] Cominos, P.; Munro, N. PID controllers: Recent tuning methods and design to specification. IEEE Proc. Control Theory Appl. 2002, 149, 46–53. [CrossRef] Hou, Z.; Jin, S. Model Free Adaptive Control: Theory and Applications; CRC Press: New York, NY, USA, 2013.
Algorithms 2017, 10, 110
20. 21.
16 of 16
Javed Masood, R.; Wang, D.; Aamir, M.; Ali, Z. MFAC Based SMC Combine Algorithm for the Stability of PMDC. Int. J. Hybrid Inf. Technol. 2017, 10, 15–28. [CrossRef] Hou, Z.; Huang, W. The model-free learning adaptive control of a class of SISO nonlinear systems. In Proceedings of the American Control Conference, Albuquerque, NM, USA, 6 June 1997; Volume 1, pp. 343–344. © 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).