0

Why does high derivative gain in PD control results in motor noise or chatter? The graph that I see on MATLAB simulation is smooth enough, so following that it should not make noise..

2 Answers2

2

Chuck's answer is spot on. Anyway, if you want to derive the reason mathematically, you can start off from the most common form of a PD controller where we employ a setpoint-weighting for the derivative part:

$$ u(t) = K \cdot \left( e(t) - T_d \cdot \dot{y}(t) \right). $$

The Laplace transform of a feasible $D$ term is thus:

$$ D(s) = -\frac{sKT_d}{1+sT_d/N}\cdot Y(s), $$

where $N$ is typically in the order of 8÷20 since the pole $-N/T_d$ needs to be located at high frequency to make $D(s)$ behave like a derivative at the frequencies of interest.

The high-frequency gain of a PD controller is finally $K^{PD}_{hf} = K(1+N)$, which is $(1+N)$ times higher than the high-frequency gain of a simple P controller $K^P_{hf} = K$.

This means that a PD controller enhances $(1+N)$ times the high-frequency noise – which is always present in the closed-loop – with respect to the pure proportional counterpart.


Put differently, a sinusoidal measurement $y=a\sin\omega t$ gives the following contribution to the derivative term of the control signal: $$ u_D=-aKT_d\omega \cos\omega t. $$

The amplitude of the control signal can thus be arbitrarily large if the noise has a sufficiently high frequency ($\omega$). The high-frequency gain of the derivative term is therefore limited to avoid this difficulty.

Ugo Pattacini
  • 4,005
  • 1
  • 14
  • 36
1

Real signals have noise. Because noise happens on a per-sample basis, you wind up with a derivative that is constantly fluctuating. A derivative gain acts on this fluctuation and feeds it to the motor, resulting in the noise or jitter you observe.

Chuck
  • 16,061
  • 2
  • 18
  • 47