коэфи пида вновь приведены к диапзаону 0-6.5535, коэф Ki сделан независимым от dt
This commit is contained in:
@@ -175,9 +175,9 @@ void app_readInputs(const real_T* Buffer) {
|
||||
MB_INTERNAL.param.nominal.U = ReadInputArray(2, 2) * 10;
|
||||
MB_INTERNAL.param.nominal.I = ReadInputArray(2, 3) * 10;
|
||||
|
||||
MB_INTERNAL.param.angle.PID_Kp = ReadInputArray(2, 4) * 65535;
|
||||
MB_INTERNAL.param.angle.PID_Ki = ReadInputArray(2, 5) * 65535;
|
||||
/*MB_INTERNAL.param.angle.PID_Kd*/dbg_err_limit = ReadInputArray(2, 6);
|
||||
MB_INTERNAL.param.angle.PID_Kp = ReadInputArray(2, 4) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Ki = ReadInputArray(2, 5) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Kd = ReadInputArray(2, 6) * 10000;
|
||||
|
||||
MB_INTERNAL.param.angle.Angle_Max = ReadInputArray(2, 7)/180 * 65535;
|
||||
MB_INTERNAL.param.angle.Angle_Min = ReadInputArray(2, 8)/180 * 65535;
|
||||
|
||||
23
MATLAB/calc_pi.m
Normal file
23
MATLAB/calc_pi.m
Normal file
@@ -0,0 +1,23 @@
|
||||
clc, clear all
|
||||
%% Ввод данных
|
||||
Ku = 0.03; % Твой Ku
|
||||
Tu = 0.0847; % Твой Tu
|
||||
Ts = 0.0005; % Твой Ts
|
||||
|
||||
%% Расч
|
||||
Kp = 0.45 * Ku;
|
||||
Ti = 0.85 * Tu;
|
||||
Ki_abs = Kp / Ti; % Абсолютное Ki
|
||||
Ki_disc = Ki_abs * Ts; % Дискретное Ki (если программа делит на Ts)
|
||||
|
||||
%% Вывод
|
||||
fprintf('Kp = %.3f\n', Kp);
|
||||
fprintf('Ki абсолютное = %.3f\n', Ki_abs);
|
||||
fprintf('Ki дискретное = %.6f (если программа делит на Ts)\n', Ki_disc);
|
||||
|
||||
%% Рекомендация (с запасом)
|
||||
Kp_safe = Kp * 0.7;
|
||||
Ki_safe = Ki_abs * 0.7;
|
||||
fprintf('\nС запасом 30%%:\n');
|
||||
fprintf('Kp = %.3f\n', Kp_safe);
|
||||
fprintf('Ki = %.3f\n', Ki_safe);
|
||||
@@ -1,11 +1,11 @@
|
||||
clear all
|
||||
|
||||
IadcMax = 200;
|
||||
IadcMax = 200;%50;
|
||||
VadcMax = 1216;
|
||||
|
||||
Ts = 5e-6;
|
||||
Vnom = 400;
|
||||
Inom = 25;
|
||||
Inom = 30;%4.2;
|
||||
Fnom = 50;
|
||||
|
||||
Temperature1 = 2.22; % 20 градусов
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user