Architecture development plans

Про байтики и логику ЭБУ
Post Reply
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

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

Post 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.

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

Что вы об этом думаете?
Slip
contributor
contributor
Posts: 145
Joined: Thu Nov 14, 2013 9:44 am

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

Post by Slip »

Kot_dnz Все это понятно, но - тут обсуждаем только CLOSED LOOP! Архитектура мозга, алгоритм работы мозга и т.д. в других темах. Если подобной темы нет - создай новую. Давай не засорять форум, а все четко и по полочкам.

п.с. закрытый цикл ты правильно нарисовал, но есть много но - как часто опрашивать АЦП лямбды, каждый полный оборот, или реже? Так же необходимо вводить такие вещи как коррекции, что бы не грузить мозги постоянными расчетами смеси по данным с датчиков и т.д. Тут лучше применить опыт других разработчиков и сделать так же.
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Architecture development plans

Post 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
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Architecture development plans

Post by AndreyB »

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

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

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

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

Ну или вот например сообщения в CAN шину: технически мы к этому готовы. В какие сообщения будем посылать например текущую температуру ОЖ? Я могу ошибаться, но кажется CAN это просто протокол, единого стандарта сообщений там кажется нет?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Architecture development plans

Post by AndreyB »

@##$@#$@#$, я не хочу тратить много времени и всё этот теперь аккуратно причёсывать.

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

2) это русский подфорум - так что здесь предлагаю сделать русский заголовок
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Architecture development plans

Post by Kot_dnz »

russian wrote: Я считаю, что нужно идти от самого простого - к более сложному.
Вы уже сделали самое главное - научились управлять зажиганием и форсунками.
Этого уже достаточно, что бы полноценно управлять мотором.
Посмотрите на тот же бош - у нас тут уже все есть!!!
Датчик детонации точно такой же датчик, как и остальные.
Сейчас более стратегический вопрос - нужно определить стратегию развития.
Строим карбюратор - нет проблем, но идея без продолжения.
А если с продолжением - нужно опубликовать всем куда идти.
И желательно что бы результат соответствовал ожиданиям коммьюнити.
frig
contributor
contributor
Posts: 569
Joined: Wed Oct 23, 2013 8:05 pm

Re: Architecture development plans

Post by frig »

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

Kot_dnz, на текущем этапе задача корректно обработать сигнал MAP и перейти на работу по MAP сенсору, а это speed density. На таком наборе уже даже ездить можно. Зажигание есть - вынесем таблицы в TS и настройки dwell, этого достаточно для широкого спектра задач. Когда будет нормальное управление топливом - можно расширять и улучшать.
skype: frig_frig
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Architecture development plans

Post by AndreyB »

Кажется, я понял в чём проблема: проблема в том, что не понятно, чем же мы занимаемся сейчас? в этом проблема?

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

А этот топик мне кажется проще всего прибить, и начать в каком-то более очевидном формате обсуждать мысли, над чем стоит работать примерно сейчас-скоро. А еще лучще - поговорить немного в групповом скайп-чате и начать что-то делать, а не говорить :) Топикстартер, у тебя как с навыками программирования? :) А то у нас тут очень много начальников кухни, а картошку чистить некому :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Architecture development plans

Post by AndreyB »

Kot_dnz wrote: Датчик детонации точно такой же датчик, как и остальные.
Кому как. Как по мне - так далчики бывают простые (термисторы или холл) и посложнее - например индуктивный датчик или вот как раз ДД, который очень нежный и слабый микрофон. Он требует или рядов фурье, или имплементацию протокола специализированного чипа - ни то, ни другое само не сделается.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Architecture development plans

Post by Kot_dnz »

russian wrote:Кажется, я понял в чём проблема: проблема в том, что не понятно, чем же мы занимаемся сейчас? в этом проблема?
+100500
с frig согласен - датчик детонации сейчас избыточен.
с программированием нормально ;) но не звезда конечно - постоянно другим занимаюсь.
Slip
contributor
contributor
Posts: 145
Joined: Thu Nov 14, 2013 9:44 am

Re: Architecture development plans

Post by Slip »

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