To многоуважаемій ALL:Slip wrote:По моему тут пошел уже какой то флуд..
Kot_dnz Речь идет об закрытом цикле, который корректируется лямбдой.
Если есть реальный алгоритм работы этой части программы - все во внимании, а разводить треп не пойми о чем не нужно.
Заранее приношу извинения за флуд. Возможно всем и так всё понятно, но для меня структура туманна. Так что просьба сильно не бить - хочу разобраться и понять.
Постараюсь максимально конструктивно.
Slip,
Я верно понимаю значение "закрытый цикл"?
На 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.
После описания всего этого "на бумаге" станет проще и понятнее куда идем.
Что вы об этом думаете?