Алгоритм обработки АЦП ДАД

Разработка впрыска топлива на базе SECU-3. Fuel injection related discussion.

Moderator: STC

User avatar
russian
LQFP112 - Up with the play
Posts: 154
Joined: Fri Feb 01, 2013 4:18 pm
Location: Jersey City, USA

Re: Алгоритм обработки АЦП ДАД

Post by russian »

Немного оффтопик: по поводу сдвига вместо честного деления - это по-моему вредная экономия на спичках. На фоне 120ти вызовов сохранения элемента в массив и цикла суммирования, одним делением можно пренебречь - а в позитиве будет проще во всех остальных местах не держать в голове один лишний фактор (120/128 коэффициент будет не нужен). Всё-таки оптимизировать нужно очень аккуратно - лишнии оптимизации это зло.

Кстати, вот мой очень противоречивый микро-тест, меряющий погоду на марсе. Там начинается с пустого цикла без тела, и в других циклах что-то одно делается - сложение или деление.


testmath 10000000
Finished 10000000 iterations of empty loop in 1015ms
Finished 10000000 iterations of int summation in 1570ms
Finished 10000000 iterations of int division in 2412ms
Finished 10000000 iterations of long summation in 1569ms
Finished 10000000 iterations of long division in 2413ms
Finished 10000000 iterations of float summation in 1569ms
Finished 10000000 iterations of float division in 3517ms
Finished 10000000 iterations of double summation in 11127ms
Finished 10000000 iterations of double division in 16715ms

Итак, пустой цикл - как-бы стоит секунду, добавление сложения добавляет 500ms - а деление добавляет 1500ms. очень-очень грубо получаем - деление в три раза дороже сложения? Но всё это конечно погода на марсе - чёрт его знает, что там сделал компилятор...

Из позитива - float с FPU (stm32f4m) работает почти так же быстро, как и целичисленность. double в FPU нет - и это сразу видно.



--
Andrey Belomutskiy
nikll
LQFP144 - On Top Of The Game
Posts: 553
Joined: Sun Nov 06, 2011 9:20 pm
Location: Russia, Yekaterinburg
Contact:

Re: Алгоритм обработки АЦП ДАД

Post by nikll »

Я на stm32f103 код писал, там fpu похоже вообще нету, целочислительная математика и сдвиг вместо деления работали примерно в 12 раз быстрее, на мой взгляд оно того стоило
andreydd
DIP8 - Involved
Posts: 15
Joined: Sun Oct 06, 2013 3:28 pm
Location: Иваново
Contact:

Re: Алгоритм обработки АЦП ДАД

Post by andreydd »

Вообще-то в системах, работающих с ДАД, значение давления в коллекторе всегда берется в определённой фазе положения КВ. Во первых, за один оборот КВ надо сделать два (для 4-х цилиндров и 3 для 6-и цилиндров) расчета параметров впрыска, а во вторых, значение давления в течение одного периода КВ очень пульсирует.
Attachments
Screen16_59_50.jpg
Sergey89
QFP80 - Contributor
Posts: 71
Joined: Sat Dec 03, 2011 1:28 pm
Location: Russia, Velikiy Novgorod
Contact:

Re: Алгоритм обработки АЦП ДАД

Post by Sergey89 »

Гирявец:
Использование в качестве оценки мгновенного значения абсолютного давления, полученного в какой-то момент времени не дает возможность обеспечить необходимую устойчивость процесса измерения, так как на фазу колебаний давления в месте установки датчика оказывает влияние большое число факторов. Среди них: положение режимной точки, положение дроссельной заслонки, давление остаточных газов и так далее. Кроме этого, выбор в качестве оценки величины абсолютного давления измеренного, например в момент закрытия выпускного клапана, не может с достаточной достоверностью характеризовать цикловое наполнение, поскольку не учитывает процессы, происходящие в течении всего процесса впуска. Указанные причины, как и в случае обработки сигнала датчика массового расхода воздуха, заставляют использовать в качестве оценки абсолютного давления среднюю величину абсолютного давления во впускной системе. Причем, исходные требования к процедурам дискретизации и фильтрации, за исключением необходимости линеаризации сигнала датчика абсолютного давления, для процедуры обработки сигнала датчика абсолютного давления и сигнала датчика массового расхода воздуха аналогичны. Эти соображения позволяет принять в качестве оценки абсолютного давления во впускной системе среднее абсолютное давление во впускной системе, измеренное в интервале угловой доли такта в рабочем цикле двигателя
andreydd
DIP8 - Involved
Posts: 15
Joined: Sun Oct 06, 2013 3:28 pm
Location: Иваново
Contact:

Re: Алгоритм обработки АЦП ДАД

Post by andreydd »

Я думаю принципиального отличия нет и при взятии значения ДАД в определенной фазе или усреднять значения ДАД за цикл всасывания. Я и выложил картинку, она показывает, что процесс колебаний давления - стационарный. Так что можно давление считать и так и эдак. Если будет возможность, то на следующей машине приу становке DVEMS проверю Ваш вариант. Я предполагаю, что просто изменится коэффициент по ДАД. Да и таблица VE определяется в каждом конкретном варианте. Там все равно получится соответствие впрыска и значения ДАД. Книжку Гирявеца читал. Но постулаты его фильтрую. Я например, не согласен с тем, что он считает достаточным время реакции системы управления на воздействия равным 25 мсек, то есть частота обсчета = 40 герц. Я считаю частота должна быть выше и расчет достаточно жестко привязан к фазе КВ. В моей системе частота обсчета = 1 кГц, время 1 мсек + привязка к фазе КВ. Я таким расчетом очень доволен.
Sergey89
QFP80 - Contributor
Posts: 71
Joined: Sat Dec 03, 2011 1:28 pm
Location: Russia, Velikiy Novgorod
Contact:

Re: Алгоритм обработки АЦП ДАД

Post by Sergey89 »

Я думаю принципиального отличия нет и при взятии значения ДАД в определенной фазе или усреднять значения ДАД за цикл всасывания.
Ты говоришь про один конкретный двигатель или про все сразу, про все возможные режимы двигателя или какой-то конкретный?

Чтобы не согласиться с ним придётся провести свои испытания и как-то сравнить их результаты или найти результаты других испытаний иначе это будут только догадки. Разница между ним и всеми нами в том, что он проводил все испытания в лабораторных условиях чего мы позволить себе не можем.

И опять таки, если я не ошибаюсь, он не говорит, что она должна быть строго 40 гц. Он говорит, что более высокая частота не будет заметно влиять на качество управления двигателем при увеличении затрат на вычисления. На более быстром процессоре мы естественно можем увеличить частоту и получить какое-то улучшение, но в любом случае где-то есть тот предел дальше которого идти нет смысла. И как определять этот предел на догадках или по каким-то измерениям решать нам самим.
andreydd
DIP8 - Involved
Posts: 15
Joined: Sun Oct 06, 2013 3:28 pm
Location: Иваново
Contact:

Re: Алгоритм обработки АЦП ДАД

Post by andreydd »

Нет, не один конкретный двигатель, а 9 разных от 1.2 литра до 2.8 литра V6. Во всех случаях я использую значение ДАД на ~ 90 градусов после ВМТ. В этой фазе скорость воздуха во впускной трубе максимальна. Мне эта фаза больше всех нравится. Как-то научно объяснить выбор этой фазы не могу, но экспериментально пробовал разные варианты, этот оказался самым адекватным по характеристикам.
Post Reply