Page 51 of 156

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 20:11
by t.shkurnyj
Шаблон лога прогрева, для упрощения построения графиков прогрева.
График строится почти в автоматическом режиме.

краткая иструкция:
1. открыть лог в экселе
2. скопировать его
3. Открыть шаблон лога прогрева
4. вставить лог в ячейку B2 (R2C2). Чтобы не затереть первый столбец (с целевыми оборотами) и первую строку (с названиями столбцов)
5. откорректировать диапазоны рядов данных для корректного отображения графика
Шаблон прогрева.xls
(247 KiB) Downloaded 204 times

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 21:42
by alvikagal
Держит с P=0.5 и I=0.25 нормально, а с P=0.25 и I=0.25 похоже придерживается нижнего порога гистерезиса.
И при запуске нужно медленно открывать, т.е. применить маленький коэф. скорости открытия, т.к. сначала падают обороты, а затем восстанавливаются. Я бы применил P=0.1 и I=0.1 для пробы после включения регулятора.
Логи в графики не перевёл, т.к. болею и голова плохо соображает уже, а просто вставить с запятыми не получится, нужно менять разделитель.
Интересно посмотреть графики 4-х логов.
alvikagal220214.rar
(57.96 KiB) Downloaded 130 times

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 21:48
by dimonfish
ну у себя криминала не заметил, в раене 50ти градусов "покачало" :) пришлось газнуть
сугубо ИМХО - чем дальше в лес, тем толще партизаны :)
у ся буду отключать поддержку :geek:

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 21:50
by alvikagal
Димон, это с И или ПИ регулятором?
И какие коэф. стоят?

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 22:11
by dimonfish
ПИ
хотя ща вот мысля посетило, в ХХ углом стоит 50 градусов, но по карте при этой температуре концевика то еще нет...вяло чешу репу
пс. зато как приятно было обнаружить

Code: Select all

#ifdef AIRTEMP_SENS 

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 23:10
by alvikagal
Посидел над одним графиком (параметры интегратора в названии), чтобы посмотреть и вот что вышло:
P0.5_I0.25.jpg
В 42 минуты 42 секунды было одно качание и дальше нормально, в 50 градусов выход с программы.

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 23:12
by t.shkurnyj
Разобрал логи прогрева alvikagal
Саша, у тебя помеха или плохой контакт ДТОЖ, от этого на некоторых графиках раскачивались обороты :D

Итак, работа ПИ регулятора.
Обороты держит хорошо, по графику видно в конце начались качели, это вина ДТОЖ. Сигнал с него просаживается в этот момент. Возможно с этими коэф регулятор можно использовтать и дальше.
alvikagal_p0.5_i0.5.png
Дальше, смотрим выход из поддержания оборотов подгазовкой. Работает.
alvikagal_p0.5_i0.5_перегазовка.png
Прогрев от 30 до 50. Все ровно. Опять качели с при просадке напряждения с ДТОЖ.
Регулятор оканчивает свою работу при достижении 50 градусов по ДТОЖ. На графике хорошо видно окончание его работы.
alvikagal_p0.5_i0.25_выход50.png
При прогреве от 50 до 55 не дотягивает до цлевых оборотов. Почему?
alvikagal_p0.25_i0.25_выход55.png

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 23:26
by alvikagal
Да ДТОЖ гонит почему-то. Он у меня на LM335 и примотан к теростату. Планировал поставить в штатное место, но жизнь вносит коррективы.
Заменю ДТОЖ, тогда можно будет и ставить блок для дальнейшей работы.
А в программе наверно используется усреднённое 4 или 16 значений?
я когда сам компилирую прошивку, то вывод данных ставлю реальные, а не усреднённые, т.к. в логах нужны реальные значения, чтобы найти баг, а тут видны средние значения температуры.
Если можно, то сделайте по умолчанию вывод данных UART в реальном времени, а то каждый раз при сборке приходится менять - немного напрягает делать это при испытаниях прошивок из репозитория.

Re: Алгоритм управления Воздушной Заслонкой

Posted: 22 Feb 2014, 23:52
by STC
alvikagal wrote:Если можно, то сделайте по умолчанию вывод данных UART в реальном времени,
Что ты имеешь ввиду? Бинарный режим?

Re: Алгоритм управления Воздушной Заслонкой

Posted: 23 Feb 2014, 00:22
by alvikagal
Вот эти изменения в UART.C

Code: Select all

   build_i16h(d->sens.frequen);           // averaged RPM
на

Code: Select all

   build_i16h(d->sens.inst_frq);           // averaged RPM
Только это касается одних оборотов, а вот как с остальными данными я не знаю.
Они реальные или усреднённые выдаются? Например температура?

ПС
Реальные данные (а не времени) выводить, а не усреднённые. Ошибся.