Skip to main content
Submitted by James I. on Mon, 06/11/2007 - 09:10

I noticed that it's possible to get the magnitude of the open and closed loop frequency responses using WSDK. What about the phase? Is that phase available anywhere?

Thanks,
James

Comments 3

Galil_AndyH on 06/13/2007 - 09:35

James,

WSDK does not directly have any phase information. The phase margin can be calculated based upon your system specs. These equations can be found in chapter 10 of your manual, but here is the quick run-down.

PM(Phase Margin) = 180deg + arg[L(jwc)]

Where L(jwc) is the transfer function of the system at the crossover frequency (wc).
L(s) = F(s) G(s) K H(s)

H(s) = (KasKtsKf)/ (Jss2) where
Ka = A/V Amplifier Gain
Kt = Nm/A Torque Constant of motor
Kf = Counts/rad Encoder gain
J = kgm2 Moment of Inertia
F(s) = P + sD + I/s represents the PID filter of the controller (in this example we are solving for P , I , and D)
G(s) = e^(-sT/2) represents the digital nature of the controller using a "Zero Order Hold" with a sampling period of T
K = 0.00122 Volts/count represents the DAC (Digital to Analog Converter) gain

James I. on 06/13/2007 - 10:17

What if I'm interested in more than just the phase margin? What if I need to see the phase of the system as a function of frequency?

Galil_AndyH on 06/13/2007 - 10:37

With the open and closed loop frequency responses there is a graph that shows the input waveform and the actual response. This will show any lag or lead from the input waveform, and it can be graphed at different frequencies.

To look at different frequencies go to the closed loop frequency response tab, then choose Edit/Frequency Response Parameters.