d2c PID-Conversion
15 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Christoph Fleischmann
il 22 Lug 2024
Commentato: Christoph Fleischmann
il 23 Lug 2024
Hi,
I'm trying to convert a discrete-time PID-controller to a continuous-time PID using the d2c function.
c_discrete = pid(4.406,0.0114,0.0112,0,0.0050) %Kp, Ki, Kd, Tf, Ts
c_continuous = d2c(c_discrete)
But I keep getting the following Error:
The "d2c" conversion failed because the result cannot be expressed as a PID controller.
Does anyone have an Idea, where my mistake is?
0 Commenti
Risposta accettata
Walter Roberson
il 22 Lug 2024
That error is given when Tf < Ts, and apparently exists in order to avoid getting complex-valued outputs.
Your Tf is 0, certainly less than Ts.
Example with Tf > Ts
c_discrete = pid(4.406,0.0114,0.0112,0+0.01,0.0050) %Kp, Ki, Kd, Tf, Ts
c_continuous = d2c(c_discrete)
2 Commenti
Walter Roberson
il 22 Lug 2024
c_discrete = pid(4.406,0.0114,0.0112,0,0.0050) %Kp, Ki, Kd, Tf, Ts
c_continuous = d2c(c_discrete, d2cOptions(method='matched'))
Più risposte (0)
Vedere anche
Categorie
Scopri di più su PID Controller Tuning in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!