Инжектор

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
Всем привет. Я тут новенький.
Мне нужно создать простейший блок управления системой впрыска и зажигания. С системой зажигания проблем возникнуть особо не должно. Из исходных данных будут положение коленвала и его скорость вращения, на выходе должен получиться импульс с опережением на определенный градус в зависимости от оборотов.
Со впрыском все сложнее. В прикрепленном файле мои некоторые рассуждения по поводу управления Форсункой. Есть несколько исходных параметров + несколько констант которые должны соблюдаться, одна из них это диапазон. Но в общем задача вычислять или брать из таблицы значение в зависимости от показаний датчиков.
 

Вложения

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
А впрыск какой?
Центральный.
Попарно распределённый.
Полный распределённый.
Непосредсвенный.
Комбинированный.
Двигатель 4х тактный, цилиндра всего 2. Так что мне кажется что самым легким вариантом будет попарно распределенный. Смесь должна впрыскиваться одновременно двумя форсунками по половине дозы. Цилиндры находятся далеко друг от друга - центральный впрыск не получится сделать. В принципе можно сделать полный распределенный но это потребует установки дополнительного датчика положения распределительного вала, а это лишнее усложнение конструкции. Но если есть возможность предусмотреть на будущее возможность подключения этого датчика, то стоит ей воспользоваться (будет возможность последующей доработки).
В данный момент искра на обе свечи подается тоже одновременно. Это не влияет на работу двигателя но снижает ресурс свечей.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
Интересная задача.
Но где брать таблицы впрыска?
Самому их делать?
Так это целая лаборатория нужна.
А если их где то найти, то может имеет смысл взять готовый блок и перешить таблицы?
 

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
Интересная задача.
Но где брать таблицы впрыска?
Самому их делать?
Так это целая лаборатория нужна.
А если их где то найти, то может имеет смысл взять готовый блок и перешить таблицы?
Таблицы делать самим. По сути у нас есть 2 переменных на которых должна строиться таблица. С первой все понятно , это пропускная способность дроселя которая высчитывается из положения заслонки. Можно использовать другой задающий параметр - уровень разряжения во врускном колекторе, возможно эта система будет очень не точно дозировать топливо из-за пульсаций. Со второй переменной у меня в голове пока непонятки. Это должна быть частота вращения коленчатого вала. из неё мы должны получить объем воздух втягиваемый цилиндром для дальнейших расчетов.
Также как я уже говорил у нас есть некая константа. Это отношение воздух/топливо которое в идеале должно быть равно14,7/1. Но скорее всего не получится сделать так чтобы смесь точно соответствовала этому значению из-за погрешности датчиков и изменений давления и температуры воздуха которое изменяется постоянно. мы конечно можем использовать доп датчики но это опять усложнение конструкции.
А по поводу готовых блоков, да, это просто. Но это не интересно. Задача стоит не только в создании прибора, но и в подробном изучении принципа работы.
В данный момент мне нужно понять на основе чего собирать этот блок. Способна ли ардуино выполнять эти задачи, или нужно искать другую платформу. Может это будет полностью аналоговый прибор разработанный с нуля и не будет никаких таблиц а будут зависимости заданные физически (ну допустим сопротивлением резистора).
К созданию таблиц я приступлю как только определимся с платформой. И изгоровлю корпуса дросельных заслонок.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
По сути у нас есть 2 переменных на которых должна строиться таблица
Их больше.
Частота вращения.
Расход воздуха.
Температура охлаждающей жидкости.
Температура поступающего воздуха.
Лямбда зонд.
Это самый минимум для экономичного движка.
Хоть что то убери, он будет прожорлив что абмец.

Задача стоит не только в создании прибора, но и в подробном изучении принципа работы.
У меня есть книга, в печатном варианте. В ней очень чётко расписаны существующие типы инжекторов. Хоть она и старовата, но до сих пор актуальна.

Способна ли ардуино выполнять эти задачи, или нужно искать другую платформу
Мне кажется, что ардуина справится, но не с ядром Arduino IDE. Там слишком много лишнего мусора, который будет тормозить обработку сигналов с датчиков. Кроме этого там очень паршивые АЦП. Нужно будет использовать внешние. Или другую платформу.
А успеет она или нет, нужно считать.
 

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
Их больше.
Частота вращения.
Расход воздуха.
Температура охлаждающей жидкости.
Температура поступающего воздуха.
Лямбда зонд.
Это самый минимум для экономичного движка.
Хоть что то убери, он будет прожорлив что абмец.


У меня есть книга, в печатном варианте. В ней очень чётко расписаны существующие типы инжекторов. Хоть она и старовата, но до сих пор актуальна.


Мне кажется, что ардуина справится, но не с ядром Arduino IDE. Там слишком много лишнего мусора, который будет тормозить обработку сигналов с датчиков. Кроме этого там очень паршивые АЦП. Нужно будет использовать внешние. Или другую платформу.
А успеет она или нет, нужно считать.
Задача не совсем в экономичности, а скорее в стабильности работы. Охлаждающей жидкости нет, так как мотор воздушного охлаждения. Я знаю что датчиков куча, но в данной ситуации, я считаю, что нужно использовать самый минимум для возможности запуска, но с возможностью дополнения в будущем.
Как книга называется и кто автор? С радостью изучу.
Если использовать другую платформу, то какую?
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
Как книга называется и кто автор? С радостью изучу.
Сейчас сказать не могу. Свистните в личку, что бы вечером посмотрел.

Если использовать другую платформу, то какую?
Да фиг знает. Раньше использовали 8051 и её клоны.
Сейчас в моде STM32.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,097
630
Ребята, как платформу рекомендую китайский клон atmega328. Называется LGT8F328P. Он почти 100% совместим с atmega, но имеет свои приятные особенности. К примеру он за такт выполняет больше вычислений чем оригинал, имеет 12битный быстрый АЦП, работает нативно на частоте 32МГц, имеет простенький но таки ЦАП и ещё куча интересных особенностей, к примеру, он может на питании 1.8в на 32МГц молотить. Есть какой-то арифметический ускоритель для быстрых расчетов и т.д.
Чип вообще очень интересный. К нему есть самописное умельцами Ардуино ядро, вполне стабильное, на много лучше чем от производителя, и постоянно развивается и улучшается https://github.com/dbuezas/lgt8fx
Короче, и дёшево и сердито. Китайцы на нем плат наделали, не все хороши. Рекомендую брать такие зелёные НАНО-подобные. Я с такими работал, очень приятный чип. Единственное но, нагрузочная характеристика по току выходов на много ниже чем у атмеги, не стоит сильно грузить. И чуть меньше флеша, потому как у него нет ЕЕПРОМ, а емуляция на флеше, поэтому минус 2кБ81CanvePkPL._AC_SL1500_.jpg
 
Изменено:

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
Так, хорошо. Теперь следующий вопрос. Микросхема должна управлять сразу двумя системами. Впрыск и зажигание. То есть она должна определять момент впрыска и искры , а они почти одно временные. Сможет ли один из предложенных чипов выполнять эту задачу?
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
момент впрыска и искры , а они почти одно временные
Они не одновременные. Это для Вас они одновременные. Для микроконтроллера эта два процесса отстояищие так далеко друг от друга, что поспать успеет.
Первые инжектора были собраны на 8051 ядре. А в 1986 году они были не самыми быстрыми. Тем не менее успевали.
 

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
Они не одновременные. Это для Вас они одновременные. Для микроконтроллера эта два процесса отстояищие так далеко друг от друга, что поспать успеет.
Первые инжектора были собраны на 8051 ядре. А в 1986 году они были не самыми быстрыми. Тем не менее успевали.
я и не сказал что они одновременные. Я сказал что почти.
так какое предложение?
 

Булат

✩✩✩✩✩✩✩
4 Май 2020
9
0
может ктонибудь дать четкий ответ?
Нужно использовать такой то микроконтроллер .
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
может ктонибудь дать четкий ответ?
Нужно использовать такой то микроконтроллер .
Нет. Здесь никто не даст. Здесь дальше свистоперделок, и то через жопу, никто не даст ответ.
Те кто могут, заняты.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
что бы выбрать контроллер надо считать. хотя бы примерно.
Допустим обороты двигателя не будут выше 20 000.
Ардуино нано при слабой нагрузке даст более 150 000 циклов в секунду. Получается на один оборот двигателя будет 7 циклов loop. За какое время надо дать искру ? дискретность наны получается 0,000047. Если зажигание надо точнее, то нужно что то более мощное. Если нагрузка возрастет, то опять же более мощное. Если оборотов не 20 тысяч, а 10, то можно будет точнее в 2 раза искру подавать.
Опять же это только прикидки
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
что бы выбрать контроллер надо считать. хотя бы примерно.
Вы здесь правы на 146%.
Исходить нужно из максимально возможных оборотов.
Нюансик только. Ещё нужно учитывать время преобразования АЦП, которые датчики меряют. Нужно ещё учесть что АЦП может вести преобразование только с одного канала. С нескольких не может.

@Булат, так что давай максимальные обороты. Считать будем.
 
  • Лойс +1
Реакции: Булат

kostyamat

★★★★★★✩
29 Окт 2019
1,097
630
@Булат, я вам выше предложил не плохой вариант. Объективно чип в три раза быстрее стандартной Ардуино, и я уверен, что с этой задачей он точно справится. Вопрос в другом - справитесь ли Вы? Потому как написав в разделах помощи, предполагается, что топик-стартер делает сам, но ему иногда нужен совет. Если же вы описав задачу, ожидаете, что кто-то все сделает за вас, то для этого есть раздел форума "ищу разработчика". Но там, как правило, денег хотят. Хотя иногда попадаються альтруисты.
Так что, выбирать контроллер вам, или просить модератора перенести тему в тот раздел. (Это делается через кнопку "жалоба").
 

kostyamat

★★★★★★✩
29 Окт 2019
1,097
630
Вот https://bitbucket.org/SSnowden/project-arduino-ecu/src/master/ заготовка так сказать. Можно поизучать/поразвивать.

Кстати, он делал на Ардуино Мега (не думаю, что эму на нано ног не хватило, скорее запас ресурсов его подкупил), но вроде как именно скорости Меги ему и не хватило чтобы до ума довести.

Ещё стоит эту тему почитать http://forum.amperka.ru/threads/ЭБУ-на-ардуино.4445/

А тут забугорцы сделали на stm32, там и платы и вроде прошивки есть

И вообще, если в Гугл набрать open source ECU, то вдруг оказывается, что тема далеко не нова.

Посмотрел видео
(я по испански не плохо разумею, но там есть английские субтитры) - похоже speeduino это именно то, что нужно топик-стартеру. Там целый цикл видаков по этому проекту у испанцев. Железка Arduino Mega + авторский шилд к ней, получаем самопальный ЭБУ (ECU).
 
Изменено:

Ares0006

✩✩✩✩✩✩✩
24 Мар 2021
1
0
Получаеться двигатель урал днепр непроще взять январь и на нем построить топливную карту и зажигание так как для полноценой работы двс надо немало это топливная корекция , опережене зажигания , добиться стабильности работы на холостом ходу. Из датчиков в обезательном порядке нужно дмрв , лямду, датчик положения заслонки, и датчик положения коленвала, по желанию датчики распредвала и температуры окружающей среды.
Константы будет не так и много это топливная смесь, давление топлива в рампе от этого щитать производительность фарсунок, и сам обьем двс чтоб расщитывать количество воздуха. Еще дмрв можно заменить на датчик абсолютного давления . Думаю ардуино несправится с такими расщетами так как очень много расщетов. А мотор хочется крутить в районе 12т.мин
 

tratata_na_2_pina

✩✩✩✩✩✩✩
15 Сен 2023
1
1
Тема не закрыта ? Я пару раз в год мониторю эту тему, и постоянно появляется что то свежее.

Вот пример:
https://github.com/JohnPattersonCon...gnition/Arduino Code/Power_Buggy_ECM_V1.2.ino

там и таблица впрыска и код легко настраивается под двигатель (объем, кол-во цилиндров), характеристики катушек и форсунок, угол опережения с учетом МАП. Выглядит очень простым подходом для старых двигателей, так как дешевле чем покупать хороший карбюратор. Работает от датчика давления в коллекторе и датчика холла. Есть видос как это все в кучу слепить и работа похожа на нормальную.

Вот пример:

Я соорудил импровизированный стенд и через ЕСП32 прикинул, все похоже на правду, вот только при резком набирание оборотов снизив (от 500 об.м.) вижу что опережение зажигание барахлит, сначала немного стает поздним на несколько оборотов и потом стабильно в соответствии заданным параметрам увеличиться пропорционально оборотам. Это уже будет работать стабильней родного аналогово, но хотелось бы узнать причину
 
  • Лойс +1
Реакции: Un_ka