Токи были странными из-за неправильного определения перехода через ноль и преждевременного открытия тиристоров. Добавлен полосовой фильтр на напряжения, чтобы коммутации тиристоров не смещали переход через ноль
А также: - общий rms ток считается через сумму rms фаз, а не по векторам - в установку угла добавлен аргумент коррекции - пока только смщеение между фазными и линейными. Фильтр практически не смещает, но еще посмотрим - коэф пид приведены к диапзону 0-1 - ПИД надо еще донастраивать. не нравится пока как он работает И еще не были проверены тайминги. Мб это не будет успевать рассчитываться)))
This commit is contained in:
@@ -175,8 +175,8 @@ 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) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Ki = ReadInputArray(2, 5) * 10000;
|
||||
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.Angle_Max = ReadInputArray(2, 7)/180 * 65535;
|
||||
|
||||
Reference in New Issue
Block a user