The compensator value of 38 corresponds to a crossover frequency of 3 rad/s because this is the value that causes the loop transfer function's gain to be unity (i.e. 1) when you plug in the frequency of 3 rad/s into the transfer function. For this specific example, you can see that the gain is 1 for a compensator value of 38 by doing the following at the MATLAB prompt:
>> s = tf(‘s’)
>> sys = 1.5 / (s^2 + 14*s + 40.02)
>> [mag,phase] = bode(38*sys,3)
In this case, 's' is the Laplace variable, 'sys' is the transfer function for the DC motor, and the BODE command is used to find the magnitude and phase for the loop transfer function with a gain of 38. The value ‘mag’ turns out to be 1.0917, which is roughly 1.
You can verify this by hand by taking the following steps:
1. Substitute (w*j) for 's' in the transfer function, where 'w' is the crossover frequency, and 'j' is the imaginary number, i.e. sqrt(-1).
2. Multiply the numerator and denominator by the complex conjugate of the denominator to obtain a complex expression in the form 'a + b*j'.
3. Take the magnitude and phase of the resulting complex expression to obtain the magnitude and phase of the loop transfer function at the specified crossover frequency. The magnitude is given by sqrt(a^2 + b^2), and the phase is given by arctan(b/a).
Additional information on the BODE command can be found by typing the following at the MATLAB prompt:
For the second part, the DC crossover frequency is chosen from the desired rise time based on a couple standard design relations from control theory. If ‘tr’ is the rise time, ‘tau’ is the time constant, and ‘wc’ is the crossover frequency, the following relations are used:
tr is roughly equal to 1.4*tau, for rise time defined as 20
tau = 1 / wc
Therefore, if we want tr = 0.5s, we get a time constant of 0.5/1.4 = 0.36, which we have adjusted slightly to get tau = 0.33. Then, we take the inverse of tau to get the crossover frequency of 3 rad/s.