SPRUHJ1I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
In the previous section, we briefly reviewed the history of the PI controller and presented two forms that are commonly used today. Regardless of which form you use, the frequency responses look identical, as shown in Figure 12-4. As can be seen from the graph, the gain of the PI controller has a pronounced effect on system stability. But it turns out that the inflection point in the graph (the "zero" frequency) also plays a significant but, perhaps, more subtle role in the performance of the system. To understand this, we will need to dive into some math to derive the transfer function for the PI controller, and understand how the controller's "zero" plays a role in the overall system response.
Using the series form of the PI controller, we can define its "s-domain" transfer function from the error signal to the controller output as:
From this expression, we can clearly see the pole at s = 0, as well as the zero at . So, why is the value of this zero so important? To answer this question, let's drop the PI controller into a current controller which is regulating the current of a motor, as shown in Figure 12-5.
We will use a first-order approximation of the motor winding to be a simple series circuit containing a resistor, an inductor, and a back-EMF voltage source. Assuming that the back-EMF voltage is a constant for now (since it usually changes slowly with respect to the current), we can define the small-signal transfer function from motor voltage to motor current as:
If we also assume that the bus voltage and PWM gain scaling are included in the term, we can now define the "loop gain" as the product of the PI controller transfer function and the V-to-I transfer function of the RL circuit:
To find the total system response (closed-loop gain), we must use the following expression which you probably remember from your college control systems class:
Substituting Equation 30 into Equation 31 yields:
Notice that the expression is getting bigger and bigger, however with some algebra, we can reduce this expression to the following:
The denominator is a second order expression in "s" which means there are two poles in the transfer function. If we are not careful with how we select and , we can easily end up with complex poles. Depending on how close those complex poles are to the jω axis, our system could have some resonant peaks. So let's assume right away that we want to select and in such a way as to avoid complex poles. In other words, we can factor the denominator into an expression as follows, where C and D are real numbers:
If we multiply out the expression on the right side of the equation, and compare the results with the left side of the equation, we see that in order to obtain real poles, the following conditions must be satisfied:
And:
As a first attempt to solve Equation 35 and Equation 36, let's simply equate the terms on both sides of Equation 36. In other words:
The reason we recommended these substitutions will now become clear. If we replace the denominator of Equation 33 with its factored equivalent expression as shown in Equation 34, and then make the substitutions recommended in Equation 37, we get the following:
Notice that the "D" substitution results in a pole which cancels out the zero in the closed-loop gain expression. By choosing C and D correctly, we not only end up with real poles, but we can create a closed-loop system response that has only one real pole and no zeros. No peaky frequency responses or resonant conditions, just a simple single-pole low-pass response.
Additionally, by substituting the expressions for C and D recommended in Equation 37 back into Equation 35, we get the following equality:
Keep in mind that is the frequency at which the controller zero occurs. So in order to get the response described in Equation 38, all we have to do is to set (the controller zero frequency) to be equal to the pole of the plant.
So, now we know how to set . But how do we set ? Let's rewrite the closed-loop system response G(s), making all of the substitutions we have discussed up to now, and see what we get:
In summary, there are some simple rules you can use to help you design your PI controller for your current loop:
sets the zero of the PI controller. When controlling a plant parameter with only one real pole in its transfer function (for example, the current in a motor), should be set to the value of this pole. Doing so will result in pole/zero cancellation, and create a closed-loop response that also only has a single real pole. In other words, very stable response with no resonant peaking.
sets the bandwidth of the closed-loop system response. As seen by Equation 40, the higher is, the higher the current loop bandwidth will be. We will discuss how to select an appropriate bandwidth in a later section. It happens that is equal to the inductive impedance for whatever bandwidth frequency you select.
In the following section we will discuss how to design a cascaded PI speed loop which contains a PI current controller as the inner loop.