Robust Speed Tracking of Induction Motors : An Arduino-Implemented Intelligent Control Approach †

To feasibly achieve economical and satisfactory robust velocity tracking of an induction machine (IM), we propose an Arduino-implemented intelligent speed controller. Because a voltage/frequency controlled IM framework is simple and well suited for being controlled by the proposed speed controller, it is adopted herein. Taking into account easy implementation and good performance, we design the controller using a modified Ziegler-Nichols PID (modified Z-N PID) and a fuzzy logic controller (FLC). The modified Z-N PID and the FLC are connected in tandem. The latter is designed based on the output signal of the former for adaptively yielding adequate torque commands. Experimental results of IM velocity tracking controlled by our PC-based and Arduino-based speed controllers consistently show that the proposed design scheme can yield remarkable tracking performance and robustness. In addition, it is demonstrated that the proposed Arduino-implemented controller is not only viable but also effective in terms of cost, size and tracking performance.


Introduction
Induction machine (IM) drives [1,2] have been widely utilized in motion control applications such as the speed control of a pump, or a machine tool, or an electric vehicle, etc. (e.g., [3,4]).To achieve high servo quality, many studies (e.g., [5,6]) have been focused on the speed control of a direct-field-oriented (DFO) IM.However, additional design efforts for decoupling the torque and flux control of a DFO IM are required.Additionally, the decoupling control is vulnerable to adverse load disturbances and parameter variations which can severely degrade tracking performance.In comparison, the speed controller design for a voltage/frequency (V/f) controlled IM is generally much simpler than that for a DFO IM.Accordingly, this paper adopts a V/f controlled IM framework for speed control.
In motion control applications, it is desirable that a controlled IM should closely follow a reference speed trajectory in situations with or without torque disturbances.Though the system stability may be guaranteed by using the conventional proportional-integral (PI) or proportional-integral-derivative (PID) speed controllers (e.g., [7]) with well-chosen parameter values, the robustness to abrupt load changes in the motor may not be improved.This difficulty may be overcome by using a model-based predictive control strategy (e.g., [5,6,8]), an adaptive backstepping method (e.g., [9]), a descriptor approach (e.g., [10]), a composite nonlinear feedback control scheme (e.g., [11]), or a H ∞ output-feedback control method (e.g., [12]).However, the control performance relies on how well the system is described by the model.Accordingly, the incorporation of machine intelligence into the control of IM drives has been widely used as a viable alternative for improving the system stability, performance and robustness.Specifically, intelligent controllers for IM drives have been proposed based on fuzzy logic (e.g., [13][14][15]) or neural networks (e.g., [16]) or neuro-fuzzy inferences (e.g., [17][18][19]) or a particle swarm optimization algorithm (e.g., [3]).Based on the use of a fuzzy controller for adaptively adjusting PID parameter values, a fuzzy P+ID controller in [20], a fuzzy PI self-tuning controller in [21][22][23] and a fuzzy self-tuning fuzzy PID controller in [24,25] may also be employed.In addition, a fuzzy model-based predictive control strategy (e.g., [26]) may be utilized.Nevertheless, the aforementioned controller structures did not investigate a control scheme composed of a fixed-gain PI or PID in combination with a fuzzy-logic controller (FLC).Thus, a Ziegler-Nichols (Z-N) PID (e.g., [27]) in tandem with a FLC was proposed in [28] for the control of a DFO IM.Unlike best trial-and-error PI or PID controllers, the foregoing intelligent controllers can adaptively mitigate the adverse effects of torque disturbances and achieve desirable performance.
The first objective of this paper is to present an intelligent control scheme which has simple design and satisfactory performance for robust speed control of a V/f controlled IM.In this regard, we propose a modified Z-N PID+Fuzzy controller, which consists of a fixed-gain modified Z-N PID in [29] together with an FLC.Our proposed approach is distinct from other schemes (e.g., [30][31][32]).The modified Z-N PID is adopted because it can outperform the Z-N PID.Like the Z-N PID+Fuzzy in [28], the modified Z-N PID and the FLC of the proposed controller are connected in tandem.We design an adequate FLC, distinct from the FLC in [28,33] in membership functions, based on the output signal of the modified Z-N PID.The FLC gives adequate torque commands which in turn yield appropriate stator frequency commands for controlling the speed of the IM.Meanwhile, the FLC does not tune PID parameter values.
The second objective of this paper is to feasibly achieve low-cost control implementation.In this regard, we propose an Arduino rather than a Field-Programmable Gate Array (FPGA) (e.g., [34][35][36][37]) for the implementation of the proposed speed controller.Our main reasons for this choice are given as follows.Firstly, the use of a software programming language to develop a control scheme is simpler and more user-friendly than that of a hardware description language.Secondly, the use of an Arduino may save more computational resources.Thirdly, an Arduino is much more economical than an FPGA.
The advantages of the proposed control scheme for speed tracking of a V/f controlled Nikki Denso NA21-3F 0.14-hp squirrel-cage IM are evaluated.Despite various motor horsepower, induction motors have a similar internal functional structure.Thus, a control design methodology for the 0.14-hp induction motor is in general applicable to the control design of induction motors with larger horsepower.Experiments with/without load torque disturbances are performed by PC-based and Arduino-based control.The PC and the Arduino plus the circuits which we design cost around US $600.00 and US $32.00, respectively.The experimental results consistently demonstrate that the proposed scheme can noticeably outperform several control schemes such as a Z-N PID and a modified Z-N PID in speed tracking and robustness.It is noted that the Arduino-implemented modified Z-N PID+Fuzzy for speed control of the V/f controlled IM yields slightly higher tracking errors than the PC-based modified Z-N PID+Fuzzy.Nevertheless, the Arduino-implemented controller is preferable in consideration of price, size, and robust tracking performance.
The outline of this paper is as follows.Section 2 describes the framework for speed control of a V/f controlled IM.Section 3 presents the proposed intelligent control method.The experimental setups are described in Section 4. The experimental results of PC-and Arduino-implementation of the proposed control design method and other schemes are provided.Conclusions are given in Section 5.

System Description
For the velocity control of the V/f controlled IM, the system mainly consists of three parts: IM, V/f controller and speed controller.The block diagram of the closed-loop system structure is shown in Figure 1 (cf.Figure 7.18 in [2]).

System Description
For the velocity control of the V/f controlled IM, the system mainly consists of three parts: IM, V/f controller and speed controller.The block diagram of the closed-loop system structure is shown in Figure 1 (cf.Figure 7.18 in [2]).For the IM, its input phase voltages are transformed from three-phase stator rms voltage inputs where and where vf K is a constant ratio between the stator-phase voltage and the stator frequency, and m K is a constant gain.For the IM, its input phase voltages are transformed from three-phase stator rms voltage inputs v as (t), v bs (t) and v cs (t), which are generated by the outputs of the V/f controller via a three-phase sine wave generator as follows: where V m (t) and ω s (t) denote the supply voltage and the electrical angular velocity, respectively.A simplified IM model represented by the input-output relation between the electromagnetic torque T m (t) and the mechanical angular velocity ω rm (t) (rad/s) can be written as where T L (t) represents an external load torque; J m and B m stand for the rotor inertia and the coefficient of viscous damping, respectively.For the V/f controller, its inputs are f s (t) and V 0 , which stand for a stator frequency command (Hz) and an offset voltage to counter the stator resistive voltage drop, respectively.The stator frequency command is set as where ω sl (t) is the slip speed.The outputs of the V/f controller are ω s (t) • t and V m (t).The input and output relations are given by and where K v f is a constant ratio between the stator-phase voltage and the stator frequency, and K m is a constant gain.
For the speed controller, its input is the difference error and its output is the control command T e (t) where ω re f rm (t) denotes the reference speed (rad/s).The input of the limiter is T e (t) and its output is given by where R r denotes the rotor resistance; L s and L r stand for the stator and rotor inductances, respectively.

Proposed Intelligent Speed Controller
In this section, we present the development of the proposed intelligent speed controller, modified Z-N PID+Fuzzy, depicted in Figure 2. The proposed speed controller consists of a modified Z-N PID in conjunction with a fuzzy logic controller (FLC).The role of the FLC is to adaptively adjust the output of the modified Z-N PID into an adequate control command T e (t).
where r R denotes the rotor resistance; s L and r L stand for the stator and rotor inductances, respectively.

Proposed Intelligent Speed Controller
In this section, we present the development of the proposed intelligent speed controller, modified Z-N PID+Fuzzy, depicted in Figure 2. The proposed speed controller consists of a modified Z-N PID in conjunction with a fuzzy logic controller (FLC).The role of the FLC is to adaptively adjust the output of the modified Z-N PID into an adequate control command

Development of a Modified Z-N PID Controller
To yield a Z-N PID and a modified Z-N PID for the system depicted in Figure 1, we initially adopt the design steps in [29] as a guideline.To begin with, we employ a linear proportional speed controller in Figure 1 with zero external load torque.A step input is applied, and the proportional gain of the speed controller is increased until the system reaches the stability limit so as to acquire the time c t of the critical oscillation and the critical proportional gain c K .The Z-N PID controller can be obtained using c K , c t and the 'rule of thumb' formula in [27].Next, the stability margin of the system can be further improved by utilizing the modified Z-N PID speed controller to move the point with a distance 1 c K to the origin and the phase 180 −  on the Nyquist curve to a specified new position with a distance r satisfying 0 1 r < < and a phase θ satisfying where the proportional gain cos( ) the integral time

Development of a Modified Z-N PID Controller
To yield a Z-N PID and a modified Z-N PID for the system depicted in Figure 1, we initially adopt the design steps in [29] as a guideline.To begin with, we employ a linear proportional speed controller in Figure 1 with zero external load torque.A step input is applied, and the proportional gain of the speed controller is increased until the system reaches the stability limit so as to acquire the time t c of the critical oscillation and the critical proportional gain K c .The Z-N PID controller can be obtained using K c , t c and the 'rule of thumb' formula in [27].Next, the stability margin of the system can be further improved by utilizing the modified Z-N PID speed controller to move the point with a distance 1 K c to the origin and the phase −180 • on the Nyquist curve to a specified new position with a distance r satisfying 0 < r < 1 and a phase θ satisfying −180 • < θ < −90 • .The modified Z-N PID speed controller is given by where the proportional gain the integral time and the derivative time Appl.Sci.2018, 8, 159 5 of 18

Development of an FLC
The FLC consists of fuzzification and defuzzification.It is noted that we take into account not only f (t) but also its one-step difference variation ∆ f (t) = f (t) − f (t − 1).This is to make the FLC adaptive to the PID output and its variation.We employ the proportional gains of f (t) as inputs of membership functions.In the fuzzification process, trapezoidal-shape and triangular-shape membership functions are used since are used they are computationally simple and straightforward to design and interpret membership grades.Conventionally, a membership function is trapezoidal-shape for both intervals (−∞, 0] and (0, ∞) while it is triangular-shape for any finite interval.For any g(t), ∆g(t) ∈ N, where N stands for the interval (−∞, 0], the related linguistic value for their membership functions is 'N'.For any g(t), ∆g(t) ∈ P, where P denotes the interval (0, ∞), the related linguistic value for their membership functions is 'P'.For any g(t) ∈ Z, where Z represents a given interval [−α, α], the related linguistic value for its membership function is 'Z'.Since ∆g(t) is a variation value, we set the interval [−0.25α, 0.25α] not larger than [−α, α] for its membership function to be triangular-shape.Certainly, the value 0.25 is set heuristically and can be replaced by other positive value less than 1.For any, ∆g(t) ∈ Z, where Z represents the interval [−0.25α, 0.25α], the related linguistic value for its membership function is 'Z'.Accordingly, the two membership functions are given by Correspondingly, the membership functions in Equations ( 14)-( 16) and ( 17)-( 19) are depicted in Figure 3.
The fuzzy inference engine is derived from the input fuzzy sets together with expert's experience.It makes decisions by using adequate IF-THEN rules in the knowledge base as well as yields an implied output fuzzy set u.In this study, we use the proposed IF-THEN fuzzy rule base in Figure 4 and u(i, j) given by In addition, the Mamdani-type min operation is adopted for fuzzy inferences.
if 0 ( ) 0.75 0.75 0 o t h e r w i s e .
Correspondingly, the membership functions in Equations ( 14)-( 16) and ( 17)-( 19) are depicted in Figure 3.The fuzzy inference engine is derived from the input fuzzy sets together with expert's experience.It makes decisions by using adequate IF-THEN rules in the knowledge base as well as yields an implied output fuzzy set u .In this study, we use the proposed IF-THEN fuzzy rule base in Figure 4 and (i, j) given by if j N or (i P and j Z) (i, j) 0 if (i Z and j Z) if j P or (i N and j Z) .
In addition, the Mamdani-type min operation is adopted for fuzzy inferences.The fuzzy inference engine is derived from the input fuzzy sets together with expert's experience.It makes decisions by using adequate IF-THEN rules in the knowledge base as well as yields an implied output fuzzy set u .In this study, we use the proposed IF-THEN fuzzy rule base in Figure 4 and (i, j) given by if j N or (i P and j Z) (i, j) 0 if (i Z and j Z) if j P or (i N and j Z) .
In addition, the Mamdani-type min operation is adopted for fuzzy inferences.In the defuzzification process, the implied output fuzzy set u is mapped into a crisp output ∆T e (t) by using the 'center of mass' defuzzification method.Specifically, where the fuzzification function FL is given by The FLC yields the control command Based on the input membership functions Equations ( 14)-( 16) and ( 17)-( 19), the fuzzy rule base Equation (20) and the defuzzification Equations ( 21) and ( 22), we can divide the operation area into 36 regions shown in Figure 5. Accordingly, we have ∆T e (t) ∈ ∆T e (t) (1) , • • • , ∆T e (t) (36) . (24 It is noted that in Figure 5, ∆T e (t) (j) = −∆T e (t) (36−j+1) since the fuzzy rule base in Figure 4 is asymmetrical.
{N} if and {P} if and . x The FLC yields the control command Based on the input membership functions Equations ( 14)-( 16) and ( 17)-( 19), the fuzzy rule base Equation ( 20) and the defuzzification Equations ( 21) and ( 22), we can divide the operation area into 36 regions shown in Figure 5. Accordingly, we have It is noted that in Figure 5, ( ) ( ) , 1, ,18   In the following, we illustrate that the command T e (t) can be adaptively adjusted by tuning gains in the FLC.We take the generation of ∆T e (t) (14) for yielding T e (t) as an illustrative example.In the region 14 of Figure 5, we have g(t) ∈ [−1.625α, −α] and ∆g(t) ∈ [−0.25α, 0].According to Figures 4  and 5, we only have to consider two cases: Case 1, g(t) ∈ N and ∆g(t) ∈ N; and Case 2, g(t) ∈ N and ∆g(t) ∈ Z.

•
Case 1.This yields u(N, N) = α.We have Based on Equation ( 21), we get ∆T e (t) (14) = Since we have 28) and T e (t) = K 3 • ∆T e (t) (14) , it is apparent that adequate control commands can be obtained adaptively by intelligently tuning gains K 1 , K 2 and K 3 as well as the value α.

Experimental Study
The experimental tests are performed on a Nikki Denso NA21-3F 0.14-hp induction motor.We carry out various PC-and Arduino-implemented experimental tests on the performance of the proposed method and other controller schemes.The experimental results consistently confirm that the proposed modified Z-N PID+Fuzzy method can give noticeable robustness and improvements over other schemes tested.In addition, it is demonstrated that the proposed low-cost Arduino-implemented control scheme can feasibly and effectively yield satisfactory robust performance though it gives slightly higher tracking errors than the proposed PC-based counterpart.

Experimental Setup
For the V/f controller in Figure 1, the parameter values are set as follows: K v f = 4.073, K m = 0.09 and V 0 = 22.In accordance with the information in the specification and instruction manual of the Nikki Denso NA21-3F 0.14-hp induction motor, the motor parameter values in Equations ( 4) and ( 9) are given by J m = 1.5 × 10 −4 (kg•cm•s 2 ), B m = 0.4 (g•cm/rpm), L r = L s = 0.196 (H) and R r = 11 (Ω).
To obtain various speed controllers, we use the Matlab/Simulink software and the system functional structure in Figure 1 to develop a computer simulation model in which the three-phase induction motor is used with parameters provided as above, and no external load torque is applied.To obtain a Z-N PID and a modified Z-N PID, we first employ a linear proportional speed controller in the simulation model.Next, a step input is applied, and the proportional gain is adjusted until the system reaches the stability limit.However, no critical oscillation takes place at the system output; only system output divergence can occur.Therefore, we adapt the design steps described in [29] and in Section 3.1 to obtain the critical gain and the critical time period.In practice, we increase the gain, and get the approximate critical gain K c = 2.2 with which the system diverges immediately at the approximate time 0.049 s.Then, we take t c = 0.049.This together with the formula in [27], the Z-N PID is given by 1.29(1 + 1 0.0245s + 0.006125 s).Moreover, based on Equations ( 10)-( 12) with r = 0.5 and θ = −135 • , the modified Z-N PID is given by 0.77(1 + 1 0.03724s + 0.00931 s).To obtain a desirable FLC for the modified Z-N PID+Fuzzy, we first heuristically set the parameter values α = 4 and K 2 = 0.01.Next, we use Equations ( 14)-( 23) and adjust the values of the parameters K 1 and K 3 until closed-loop system responses of the Matlab/Simulink computer simulation model under no torque disturbance are satisfactory.As a result, we get K 1 = 0.05 and K 3 = 20.
The experimental tests are carried out using the PC-based and the Arduino-based control schemes.In addition, all speed controllers obtained above are employed in the experimental tests.
Figure 6 shows the block diagram of the functional implementation structure of the Matlab/Simulink on the PC and the Arduino.The details of those modules and connections can be referred to in Figure 1 and Equations ( 1)-( 3), ( 5)-( 10) and ( 14)- (23).
Figure 7 displays the PC-implemented induction motor control system.The real-time implementation of the control system employs the MRC-6810 AD/DA servo control card as the interface between software and hardware.The MRC-6810 card resides in the PC and is directly connected to the block diagram of the multi-channel AD/DA converter of the Matlab/Simulink on the

Experimental Results
In the sequel, the proposed modified Z-N PID+Fuzzy, the modified Z-N PID and the Z-N PID are abbreviated as Modified Z-N+Fuzzy, Modified Z-N and Z-N, respectively.
In the experimental tests, we use a cycle of the reference speed command.The reference speed is increased from 0 rpm to 900 rpm at 4.25 s and then starts decreasing from 900 rpm at 8.25 s to −900 rpm at 16.25 s and subsequently, starts increasing from −900 rpm at 20.25 s to 0 rpm at 24.25 s.In

Experimental Results
In the sequel, the proposed modified Z-N PID+Fuzzy, the modified Z-N PID and the Z-N PID are abbreviated as Modified Z-N+Fuzzy, Modified Z-N and Z-N, respectively.
In the experimental tests, we use a cycle of the reference speed command.The reference speed is increased from 0 rpm to 900 rpm at 4.25 s and then starts decreasing from 900 rpm at 8.25 s to −900 rpm at 16.25 s and subsequently, starts increasing from −900 rpm at 20.25 s to 0 rpm at 24.25 s.In addition, test cases with and without sudden load change are as follows: For the PC-based and the Arduino-based experiments, we obtain the instantaneous velocity tracking performance of the V/f controlled IM using Modified Z-N+Fuzzy, Modified Z-N and Z-N.We also obtain the root-mean-square-errors (RMSE) of each method based on the average over 100 runs for the PC-based experiments.In addition, numerical comparisons of robust tracking performance with and without sudden load changes can be acquired based on maximum speed error (%) between 4.2 s and 8.25 s as well as that between 16.25 s and 20.25 s).The settling time t s is also taken into account (i.e., when the reference speed 900 rpm/or −900 rpm, after the motor speed reaches 900 rpm/or −900 rpm, the last time that the motor speed lies between 855 rpm and 945 rpm/or −855 rpm).No steady state error is considered since the command speed is time-varying.
The experimental results consistently confirm that the proposed Modified Z-N+Fuzzy is the best among controllers tested.The Arduino-implemented Modified Z-N+Fuzzy for the V/f controlled IM speed tracking generally yields higher tracking errors (e.g., larger maximum speed error) and longer settling time than its PC-based counterpart.Even so, it is a favorable choice when the tradeoff between price, size and robust tracking performance is taken into account.

PC-Based IM Speed Tracking
Experimental results for the Case A are shown in Figure 9 and Table 1.The instantaneous and the RMSE performance in Figure 9 show that the proposed Modified Z-N+Fuzzy can track the command speed slightly better than other controllers.Table 1 shows that the proposed Modified Z-N+Fuzzy slightly outperforms other controllers under no sudden load change in terms of smaller maximum speed error and quicker settling time.Experimental results for the Case B and those for the Case C are shown in Figures 10 and 11, respectively.Figures 10 and 11 show that the proposed Modified Z-N+Fuzzy is more robust than the other controllers since it results in both smaller velocity tracking errors and quicker system response reversion to normal when a load torque disturbance suddenly takes place.Moreover, Tables 2 and 3, show that the proposed Modified Z-N+Fuzzy has smaller maximum speed error and shorter settling time under a sudden load change.

PC-Based IM Speed Tracking
Experimental results for the Case A are shown in Figure 9 and Table 1.The instantaneous and the RMSE performance in Figure 9 show that the proposed Modified Z-N+Fuzzy can track the command speed slightly better than other controllers.Table 1 shows that the proposed Modified Z-N+Fuzzy slightly outperforms other controllers under no sudden load change in terms of smaller maximum speed error and quicker settling time.Experimental results for the Case B and those for the Case C are shown in Figures 10 and 11, respectively.Figures 10 and 11 show that the proposed Modified Z-N+Fuzzy is more robust than the other controllers since it results in both smaller velocity tracking errors and quicker system response reversion to normal when a load torque disturbance suddenly takes place.Moreover, Tables 2 and 3, show that the proposed Modified Z-N+Fuzzy has smaller maximum speed error and shorter settling time under a sudden load change.

Arduino-Based IM Speed Tracking
Unlike a PC, the Arduino is far cheaper but it does not have sufficient memory for storing a large amount of data.As a result, Arduino-based experimental tests can only yield instantaneous performance.No RMSE performance can be acquired.
For the case with no sudden load change, the experimental results are shown in Figure 12 and Table 4. Figure 12 displays that the Modified Z-N+Fuzzy yields slightly smaller velocity tracking errors than other controllers.Table 4 indicates that the proposed Modified Z-N+Fuzzy achieves slightly smaller maximum speed error and settling time.They are consistent with the conclusion resulting from the PC-based experimental outcomes in Figure 9 and Table 1.For the cases with sudden load changes, the experimental outcomes are shown in Figures 13 and 14 and Tables 5 and 6.They show that the Modified Z-N+Fuzzy is much more robust than the other controllers because it yields much smaller peak tracking error and faster settling time when a load torque disturbance suddenly takes place.This is consistent with the conclusion drawn from Figures 10 and 11 and Tables 2 and 3.

Conclusions
In this paper, we have presented the development of the Arduino-based modified Z-N PID+Fuzzy controller design scheme for controlling the speed of a V/f controlled IM effectively and robustly.Moreover, the proposed controller and other control schemes have been implemented using a PC and the Arduino for speed tracking of a Nikki Denso NA21-3F 0.14-hp IM.The experimental results have consistently confirmed that the proposed modified Z-N PID+Fuzzy controller remarkably outperforms other controllers tested in view of tracking performance with or without load torque disturbances.The main factor for the superior performance of the proposed controller is that the combined advantages of the modified Z-N PID and fuzzy inferences can adaptively enhance the system stability and performance.
As the Arduino has less memory than a PC, it is not surprising that the Arduino-implemented modified Z-N+Fuzzy controller generally yields higher tracking errors and longer settling time than its PC-based counterpart.Despite this, the Arduino implementation is cost-effective and favorable in consideration of a compromise between price and tracking performance.In our future research, we will develop other low-cost and efficient methods for improving the Arduino-implemented modified Z-N PID+Fuzzy controller.

Acknowledgments:
The work of Tan-Jan Ho was partially supported by Chung Yuan Christian University, Taiwan.The authors thank two of the reviewers for major constructive comments and suggestions, which help to improve the presentation of the paper.
Author Contributions: Tan-Jan Ho initiated the research problem, conceived the proposed method and implementation, and wrote the paper; Chun-Hao Chang performed the experimental design and tests, and

Conclusions
In this paper, we have presented the development of the Arduino-based modified Z-N PID+Fuzzy controller design scheme for controlling the speed of a V/f controlled IM effectively and robustly.Moreover, the proposed controller and other control schemes have been implemented using a PC and the Arduino for speed tracking of a Nikki Denso NA21-3F 0.14-hp IM.The experimental results have consistently confirmed that the proposed modified Z-N PID+Fuzzy controller remarkably outperforms other controllers tested in view of tracking performance with or without load torque disturbances.The main factor for the superior performance of the proposed controller is that the combined advantages of the modified Z-N PID and fuzzy inferences can adaptively enhance the system stability and performance.
As the Arduino has less memory than a PC, it is not surprising that the Arduino-implemented modified Z-N+Fuzzy controller generally yields higher tracking errors and longer settling time than its PC-based counterpart.Despite this, the Arduino implementation is cost-effective and favorable in consideration of a compromise between price and tracking performance.In our future research, we will develop other low-cost and efficient methods for improving the Arduino-implemented modified Z-N PID+Fuzzy controller.

Figure 1 .
Figure 1.Functional structure of speed control of a V/f controlled induction machine (IM).
which are generated by the outputs of the V/f controller via a three-phase sine wave generator as follows:

Figure 1 .
Figure 1.Functional structure of speed control of a V/f controlled induction machine (IM).

Figure 2 .
Figure 2. Functional structure of the proposed speed controller.

Figure 2 .
Figure 2. Functional structure of the proposed speed controller.
rule base in Figure4is asymmetrical.

Figure 5 .
Figure 5. Thirty-six distinct regions resulting from the min operation.Figure 5. Thirty-six distinct regions resulting from the min operation.

Figure 5 .
Figure 5. Thirty-six distinct regions resulting from the min operation.Figure 5. Thirty-six distinct regions resulting from the min operation.
PC to send and receive signals.The voltage drive circuit residing in PC yields adequate voltage signals based on signal outputs from the Matlab/Simulink on the PC to the PWM inverter via the D/A channel of the MRC-6810 card.The motor speed is sensed by the speed encoder mounted on the rotor shaft.The encoder produces a pulse signal, and then the frequency (F) of the pulse signal is converted into a voltage signal (V) by the DSP TMS320F240.The voltage signal is fed back to the Matlab/Simulink on the PC via the A/D channel of the MRC-6810 card to complete the speed feedback action.

Figure 8 .
Figure 8. Arduino-implemented speed tracking of the V/f controlled IM.(a) Schematic diagram; (b) Realistic experimental setup.

•
Case A. No external load torque is applied to the shaft; • Case B. An external load torque of 1.1 Nm is suddenly applied to the shaft at 5 s; • Case C.An external load torque of 1.1 Nm is suddenly applied to the shaft at 18 s.

Figure 9 .
Figure 9. Velocity tracking of the V/f controlled induction motor for Case A using various PC-implemented speed controllers.(a) Instantaneous performance comparison during 4-8.5 s; (b) Instantaneous performance comparison during 16-20.5 s; (c) RMSE performance comparison during 4.2-20.5 s.

Figure 9 .
Figure 9. Velocity tracking of the V/f controlled induction motor for Case A using various PC-implemented speed controllers.(a) Instantaneous performance comparison during 4-8.5 s; (b) Instantaneous performance comparison during 16-20.5 s; (c) RMSE performance comparison during 4.2-20.5 s.

Figure 11 .
Figure 11.Velocity tracking of the V/f controlled induction motor for Case C using various PC-implemented speed controllers.(a) Instantaneous performance comparison during 16.25-20.25s; (b) RMSE performance comparison during 16.25-20.25s.

Figure 12 .
Figure 12.Velocity tracking of the V/f controlled Induction Motor for Case A using various Arduino-implemented speed controllers.Instantaneous performance comparison during (a) 4-8.5 s and (b) 16-20.5 s.

Figure 12 .Figure 12 .
Figure 12.Velocity tracking of the V/f controlled Induction Motor for Case A using various Arduino-implemented speed controllers.Instantaneous performance comparison during (a) 4-8.5 s and (b) 16-20.5 s.

Figure 13 .
Figure 13.Velocity tracking of the V/f controlled Induction Motor for Case B using various Arduino-implemented speed controllers.Instantaneous performance comparison during 4-8.25 s.Figure 13.Velocity tracking of the V/f controlled Induction Motor for Case B using various Arduino-implemented speed controllers.Instantaneous performance comparison during 4-8.25 s.

Figure 13 .
Figure 13.Velocity tracking of the V/f controlled Induction Motor for Case B using various Arduino-implemented speed controllers.Instantaneous performance comparison during 4-8.25 s.Figure 13.Velocity tracking of the V/f controlled Induction Motor for Case B using various Arduino-implemented speed controllers.Instantaneous performance comparison during 4-8.25 s.

19 Figure 14 .
Figure 14.Velocity tracking of the V/f controlled Induction Motor for Case C using various Arduino-implemented speed controllers.Instantaneous performance comparison during 16-20.35s.

Figure 14 .
Figure 14.Velocity tracking of the V/f controlled Induction Motor for Case C using various Arduino-implemented speed controllers.Instantaneous performance comparison during 16-20.35s.

Table 1 .
Numerical robust tracking performance comparison based on Figure9.

Table 1 .
Numerical robust tracking performance comparison based on Figure 9. 4.

Table 4 .
Numerical robust tracking performance comparison based on Figure 12.

Table 5 .
Numerical robust tracking performance comparison based on Figure 13.

Table 6 .
Numerical robust tracking performance comparison based on Figure14.