How to check the linearity of a system by using a Transfer function which is consisted of PID Parameters and other two constants?

11 views (last 30 days)
I have derived a transfer function which consisted of a PID Controller, Motor driver+actuator. And I need to check the linearity of the system by using that transfer function. But I am confused with the values that I need to substitute for those PID Constants and Constants related to motor driver + actuator.
here, Kp, Ki, Kd are PID parameters and Ka = Constant for motor driver + actuator and Ks = constant for Position sensor.
  2 Comments
Aquatris
Aquatris on 18 Jan 2024
You drived the transfer function so I assume you already did some linearization. What do you mean when you say you are trying to check the linearity of the system?
Raveesha Bandara
Raveesha Bandara on 19 Jan 2024
I want to check the stability of this transfer function. But I am confused with those PID parameters and other constants.

Sign in to comment.

Accepted Answer

Sam Chak
Sam Chak on 18 Jan 2024
If your models of the actuator and sensor are fairly accurate, then consider using these formulas to calculate the PI gains. Yes, a PI controller is sufficient for the task since the actuator is a 1st-order system. Additionally, if the sensor introduces a non-unity factor in the feedback path, the setpoint needs to be scaled by a factor of . Here are the formulas:
, where is the desired Time that settles within 2% of the final value.
By the way, take note that the formula of your closed-loop transfer function is incorrect.
%% Parameters
Ka = 5; % Gain parameter in Actuator
Ta = 3; % Time constant in Actuator
Ks = 2; % Gain parameter in Sensor
%% Actuator
Ga = tf(Ka, [Ta 1])
Ga = 5 ------- 3 s + 1 Continuous-time transfer function.
%% Sensor
Gs = tf(Ks)
Gs = 2 Static gain.
%% PI Controller
Ts = 1; % desired settling time
Ki = -log(0.02)/(Ka*Ks*Ts);
Kp = Ki*Ta;
Gpi = pid(Kp, Ki)
Gpi = 1 Kp + Ki * --- s with Kp = 1.17, Ki = 0.391 Continuous-time PI controller in parallel form.
%% Closed-loop transfer function
Gcl = feedback(Gpi*Ga, Gs)
Gcl = 5.868 s + 1.956 ----------------------- 3 s^2 + 12.74 s + 3.912 Continuous-time transfer function.
%% Scale the Setpoint by a factor of Ks
G = Ks*Gcl
G = 11.74 s + 3.912 ----------------------- 3 s^2 + 12.74 s + 3.912 Continuous-time transfer function.
stepinfo(G),
ans = struct with fields:
RiseTime: 0.5616 TransientTime: 1.0000 SettlingTime: 1.0000 SettlingMin: 0.9045 SettlingMax: 0.9993 Overshoot: 0 Undershoot: 0 Peak: 0.9993 PeakTime: 1.8717
step(G), grid on
  5 Comments
Sam Chak
Sam Chak on 19 Jan 2024
The values for the non-control parameters {Ka, Ks, Ta} should come from you. I randomly selected some integers. The desired settling time Ts, on which the PI control gains depend, is determined by me (the Control Designer). If I aim for a fast response, allowing the solar tracker to follow the input signal within 1 second, then I choose Ts = 1. Regardless of the values of {Ka, Ks, Ta}, the solar tracking response always converges to 1 second, thanks to the formulas used to determine the PI gain.

Sign in to comment.

More Answers (1)

Raveesha Bandara
Raveesha Bandara on 19 Jan 2024

Categories

Find more on Get Started with Control System Toolbox in Help Center and File Exchange

Products


Release

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!