d2c PID-Conversion
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Christoph Fleischmann
am 22 Jul. 2024
Kommentiert: Christoph Fleischmann
am 23 Jul. 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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 22 Jul. 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 Kommentare
Walter Roberson
am 22 Jul. 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'))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu PID Controller Tuning finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!