Page 1 of 1

Re: Closed Loop по лямбде

Posted: Tue Dec 17, 2013 4:02 pm
by Kot_dnz
Slip wrote:По моему тут пошел уже какой то флуд..
Kot_dnz Речь идет об закрытом цикле, который корректируется лямбдой.
Если есть реальный алгоритм работы этой части программы - все во внимании, а разводить треп не пойми о чем не нужно.
To многоуважаемій ALL:
Заранее приношу извинения за флуд. Возможно всем и так всё понятно, но для меня структура туманна. Так что просьба сильно не бить - хочу разобраться и понять.
Постараюсь максимально конструктивно.

Slip,
Я верно понимаю значение "закрытый цикл"?
Image

На main page проекта черным по белому описана цель реализации "next generation of aftermarket engine control units".
Как верно заметил frig я мыслю с прицелом на спорт - есть свой интерес. ;)
Надеюсь вы согласитесь, что в спорте все лишнее убрано - реализованы только необходимые системы.
Самый дешевый (1880 Евро) спортивный MCU от Бош: http://www.bosch-motorsport.com/en-US/literature/en-US/Engine_Control_Unit_MS_3_Sport_Datasheet_51_en_13453014667.pdf - он кстати тоже ставится на любой мотор, как нам и нужно
Inputs
2 lambda interfaces LSU (два лямбда)
4 inputs for Hall-effect wheel speed sensors (4 входа для датчиков Хола на колеса)
1 input for inductive crankshaft sensor (индуктивный датчик положения коленвала)
1 input for Hall-effect camshaft sensor (датчик Хола положения распредвала)
2 knock sensor inputs - Two sensor inputs are available for vibration knock detection and knock control. (Датчик детонации и датчик определения детонации по вибрации)
Map switch, 3 positions, each corresponds to different target lambda and spark maps. (переключение между 3 таблицами зависимостей целевой лямбда и опережением зажигания)

Значит перечисленного выше достаточно для управления мотором в спортивном режиме? (Честно говоря не понимаю как они без замеров воздуха обходятся...)

Если да, то всё остальное - навороты и экология. (вспомнил Top Gear когда спорт-кар на литре топлива ехал за простым авто и в итоге проехал бОльшую дистанцию)

Теперь смотрим (не касаясь кода, т.к. если прописать правильный алгоритм, то реализация не составит большого труда) как управляем мы согласно http://rusefi.com/forum/viewtopic.php?f=9&t=220 :
впрыск: определяем обороты, MAF or MAP - по этим двум значениям смотрим таблицу длительности впрыска.
зажигание: от оборотов по фиксированной таблице + ограничение на макс 5900.
Реализован какой то холостой ход и запуск бензонасоса
Есть хеадеры электронной педали, контроля каких-то теператур... что то еще.
Обратной связи нет, для каждого мотора таблицы нужны свои... а для каждой степени износа тоже свои... и для каждого топлива, температоры, влажности, атм.давления... ;)
Карбюратор в общем. А это значит, что текущие значения таблиц могут достаточно быстро положить мотор.

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

Предложение по входам, которые обрабатываем в первую очередь:
- MAF
- MAP
- Lambda
- датчик положения коленвала
- датчик положения распредвала
- датчик детонации
по таблицам (считываемых с сд-кард):
- таблица значения опережения зажигания от оборотов
- таблица целевых значений лямбда от оборотов и MAF
- таблица целевых значений лямбда от оборотов и MAP
- таблица складывания значений предыдыщуих двух по весам
- таблица граничных начала/окончания впрыска форсунки от положения распредвала
- таблица значений по умолчанию, когда нет Лямбда или и MAF и MAP
- четко описанный алгоритм увеличения / уменьшения топлива для подхода к целевой лямбда
- четко описанный алгоритм действий по датчику детонации (введение коэффициента для более и более позднего зажигания)

Т.е. минимальный набор, с которым уже можно полноценно ездить.

-- Открыт тикет на logging - может так же реализовать: Various engine parameters can be measured with different input channels and transferred via CAN interface to an optional data logger or dash display.

После описания всего этого "на бумаге" станет проще и понятнее куда идем.

Что вы об этом думаете?

Re: Closed Loop по лямбде

Posted: Tue Dec 17, 2013 5:44 pm
by Slip
Kot_dnz Все это понятно, но - тут обсуждаем только CLOSED LOOP! Архитектура мозга, алгоритм работы мозга и т.д. в других темах. Если подобной темы нет - создай новую. Давай не засорять форум, а все четко и по полочкам.

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

Architecture development plans

Posted: Tue Dec 17, 2013 6:26 pm
by Kot_dnz
Базируясь на ранний тред http://rusefi.com/forum/viewtopic.php?f=9&t=347&start=10#p3638

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

Входы, которые обрабатываем в первую очередь:
1.0 MAF
1.1 MAP
1.2 Lambda
1.3 датчик положения коленвала
1.4 датчик положения распредвала
1.5 датчик детонации
по таблицам (считываемых в постоянную память с сд-кард, если контрольная сумма отличается):
2.1 таблица значения опережения зажигания от оборотов
2.2 таблица целевых значений лямбда от оборотов и MAF
2.3 таблица целевых значений лямбда от оборотов и MAP
2.4 таблица складывания значений предыдыщуих двух по весам
2.5 таблица граничных начала/окончания впрыска форсунки от положения распредвала
2.6 таблица значений по умолчанию, когда нет Лямбда или и MAF и MAP
2.7 четко описанный алгоритм увеличения / уменьшения топлива для подхода к целевой лямбда
2.8 четко описанный алгоритм действий по датчику детонации (введение коэффициента для более позднего зажигания)
логи:
3.1 все сообщения log публикуются в шину can

Re: Architecture development plans

Posted: Tue Dec 17, 2013 6:42 pm
by AndreyB
Первое сообщение этой ветки затрагивает слишком много вопросов. По моему опыту, так много вопросов обсудить в одной ветке не получится - ну просто не может получиться ну никак :)

Я считаю, что нужно идти от самого простого - к более сложному.
1.0 датчик положения распредвала - сделали тахомент, первый этап - уже готово
1.1 датчик положения коленвала - мелкий частный случай. забили, пропустили.
1.2 начали подавать хоть как-то топливо и хоть как-то подавать свечу - уже готово

А вот теперь нужно научиться вообще получать сигнал детонации. Вот когда научимся - тогда и обсудим, что с ним делать :) Ну или здесь можно немного пофантазировать. А пока у нас сигнала с датчика детонации нет - не вижу, какой смысл обсуждать коррекцию по лямбде?

CAN у нас уже есть - тикет #21, завёл #30 о публикации данных

Ну или вот например сообщения в CAN шину: технически мы к этому готовы. В какие сообщения будем посылать например текущую температуру ОЖ? Я могу ошибаться, но кажется CAN это просто протокол, единого стандарта сообщений там кажется нет?

Re: Architecture development plans

Posted: Tue Dec 17, 2013 6:48 pm
by AndreyB
@##$@#$@#$, я не хочу тратить много времени и всё этот теперь аккуратно причёсывать.

1) Сообщения в ветке всегда идут в порядке номеров сообщений - в хронологическом порядке. Старые сообщения при переносе встают перед новыми. Так что топикстартера прошу соединить перенесённое старое и новую копию сообщения в одно, и что-то удалить

2) это русский подфорум - так что здесь предлагаю сделать русский заголовок

Re: Architecture development plans

Posted: Tue Dec 17, 2013 6:49 pm
by Kot_dnz
russian wrote: Я считаю, что нужно идти от самого простого - к более сложному.
Вы уже сделали самое главное - научились управлять зажиганием и форсунками.
Этого уже достаточно, что бы полноценно управлять мотором.
Посмотрите на тот же бош - у нас тут уже все есть!!!
Датчик детонации точно такой же датчик, как и остальные.
Сейчас более стратегический вопрос - нужно определить стратегию развития.
Строим карбюратор - нет проблем, но идея без продолжения.
А если с продолжением - нужно опубликовать всем куда идти.
И желательно что бы результат соответствовал ожиданиям коммьюнити.

Re: Architecture development plans

Posted: Tue Dec 17, 2013 6:54 pm
by frig
А пока у нас сигнала с датчика детонации нет - не вижу, какой смысл обсуждать коррекцию по лямбде?
Датчик детонации и коррекция по лямбде связаны чуть менее чем никак. Датчик детонации глубоко дополнительный и можно вообще без него (то есть абсолютно без него) нормально работать.

Kot_dnz, на текущем этапе задача корректно обработать сигнал MAP и перейти на работу по MAP сенсору, а это speed density. На таком наборе уже даже ездить можно. Зажигание есть - вынесем таблицы в TS и настройки dwell, этого достаточно для широкого спектра задач. Когда будет нормальное управление топливом - можно расширять и улучшать.

Re: Architecture development plans

Posted: Tue Dec 17, 2013 7:01 pm
by AndreyB
Кажется, я понял в чём проблема: проблема в том, что не понятно, чем же мы занимаемся сейчас? в этом проблема?

Я тогда сейчас сообщение frig скопирую в топик про Текущий прогресс по прошивке.

А этот топик мне кажется проще всего прибить, и начать в каком-то более очевидном формате обсуждать мысли, над чем стоит работать примерно сейчас-скоро. А еще лучще - поговорить немного в групповом скайп-чате и начать что-то делать, а не говорить :) Топикстартер, у тебя как с навыками программирования? :) А то у нас тут очень много начальников кухни, а картошку чистить некому :)

Re: Architecture development plans

Posted: Tue Dec 17, 2013 7:16 pm
by AndreyB
Kot_dnz wrote: Датчик детонации точно такой же датчик, как и остальные.
Кому как. Как по мне - так далчики бывают простые (термисторы или холл) и посложнее - например индуктивный датчик или вот как раз ДД, который очень нежный и слабый микрофон. Он требует или рядов фурье, или имплементацию протокола специализированного чипа - ни то, ни другое само не сделается.

Re: Architecture development plans

Posted: Tue Dec 17, 2013 7:16 pm
by Kot_dnz
russian wrote:Кажется, я понял в чём проблема: проблема в том, что не понятно, чем же мы занимаемся сейчас? в этом проблема?
+100500
с frig согласен - датчик детонации сейчас избыточен.
с программированием нормально ;) но не звезда конечно - постоянно другим занимаюсь.

Re: Architecture development plans

Posted: Tue Dec 17, 2013 7:58 pm
by Slip
Kot_dnz wrote:
russian wrote:Кажется, я понял в чём проблема: проблема в том, что не понятно, чем же мы занимаемся сейчас? в этом проблема?
+100500
с frig согласен - датчик детонации сейчас избыточен.
с программированием нормально ;) но не звезда конечно - постоянно другим занимаюсь.
ДД можно и принебречь, но в готовом мозге он должен быть и точка. Вы видимо не совсем поняли чем мы занимаемся на данном этапе. Необходимо определить полный функционал первого мозга, то есть все то - что будет на борту, а дальше не сильно замороченными программами его опробовать в железе. Если не работает - значит искать причину и устранять.
Как только у нас все железо будет функционально - мы сделаем один общий боард и потом уже будет это все отлаживаться программно.
На данном этапе нужны несколько тестовых моторов - которые бы могли опробовать схемные решения всех узлов. Например ДПКВ может быть холл, а может быть индуктивный. Необходимо опробовать оба...
В общем это все флуд, кот_днз - пролистай подробней форум и давай все таки придерживаться порядка на форуме.