X street

Самодельные системы впрыска (теория, обзоры,вопросы, мнения)

Recommended Posts

D.Vader

Вроде как-то так л-джетроник работает. Внутрянку процедур не расписывал, там много, но можно заморочиться

 

var
RPM:word;	//обороты двигателя
IdleRPM:word;	//обороты ХХ
CoolTemp:byte;	//температура ОЖ
AirTemp:byte;	//температура воздуха
AirVol:word;	//объем воздуха
FuelVol:word;	//объем топлива
FuelTime:word;	//время открытия форсунок
AF:real;	//соотношение топливо-воздух
Throttle:set of (Idle, Part, Full); //ДПДЗ - ХХ, частичная нагрузка, полная нагрузка
Starter:boolean;   //Признак включения стартера
begin
repeat   //начало бесконечного цикла
 Starter:=GetStarter;	//Получить признак включения стартера
 RPM:=GetRPM;	 //Получить число оборотов
 CoolTemp:=GetCoolTemp;	//Получить температуру ОЖ
 AirTemp:=GetAirTemp;	//Получить температуру воздуха
 AirVol:=GetAirVol;	//Получить объем воздуха
 Throttle:=GetThrottle;	//Получить положение дроссельной заслонки
 if Starter then begin	//Если стартер включен, делаем следующее:
  if CoolTemp<=60 then   //Если мотор непрогрет, то
AF:=8	//Смесь делаем богатую
  else	 //Иначе, если мотор прогрет, то
AF:=10;	//Смесь делаем чуть менее богатую
 end else begin	 //Если стартер выключен
  if RPM<=400 then break;   //Если обороты двигателя меньше 400, выходим из бесконечного цикла
  if CoolTemp<=60 then begin  //Если двигатель непрогрет:
case Throttle of  //Просматриваем позицию дросселя
 Idle: AF:=10;  //На ХХ - богатая смесь
 Part: AF:=13.5;  //Частичные нагрузки - обогащенная
 Full: AF:=11;  //Полная нагрузка - богатая смесь
end;
IdleRPM:=1250;   //увеличиваем обороты ХХ
  end else begin	//Если двигатель прогрет:
case Throttle of  //Просматриваем позицию дросселя
 Idle: AF:=14;  //На ХХ - почти стехиометрическая
 Part: AF:=14.7;  //Частичные нагрузки - стехиометрическая
 Full: AF:=12;  //Полная нагрузка - богатая смесь
end;
IdleRPM:=900;   //нормальные обороты ХХ
  end;
  FuelVol:=CalcFuelVol;   //Рассчет объема топлива, исходя из всех входящих параметров
  FuelTime:=ConvertVolToTime;  //Преобразование объема топлива во время открытия форсунок
  if (Throttle=Idle) and (RPM>=1500) then //Если дроссель закрыт и обороты выше 1500, топливо не впрыскивается - торможение двигателем
continue
  else begin	//В любом другом случае впрыскиваем топливо и регулируем ХХ при надобности
SetIdleRPM;   //Устанавливаем пошагово обороты ХХ
InjectFuel;   //Впрыскиваем топливо
  end;
  WaitRevs;	//Ждем следующего оборота коленвала
 end;
until false;  //конец бесконечного цикла
CloseInjectors;  //обесточиваем форсунки и самовыключаемся
end.

Edited by DVRolly

Share this post


Link to post
Share on other sites
Невский

,

Я не знаю насчёт ДК.

ИМХО, карб подкрученый на ХХ по лямбде работает много лучше, чем по регулировке по мануалу.

При прогреве, (особенно зимой) уже выставил кривая тяга-вытягивание подсоса, запуск с полоборота, и по прогреву видно где находится Л=1.

С другой стороны, без лямбды нет общего контроля за всей системой.

Элементарная ошибка регулятора давления или плохого распыла, или контакта на форсунке приводит к изменению состава смеси по всей кривой.

Отладка. Если всю кривую можно посчитать на кракуляторе и записать ракомдашом, то фактический замер состава делать надо хотя бы в одной -двух точках.

Я этот вопрос года три назад задавал, но ответа на него не получил.

 

 

Кстати, из хекс-файла прошивку в читаемый формат расковырять реально для обзора/правки?

Share this post


Link to post
Share on other sites
Невский

По поводу ДАД, на или ДМРВ с "лопатой"

z675_ris3.jpg

 

L1,C3, R10

z675_ris2.jpg

Подстройка под датчик разряжения. В программе есть функция автоматической настройки на диапазон изменения разряжения во впускном коллекторе двигателя, что упрощает настройку самодельного датчика разряжения, а также позволяет использовать промышленный датчик абсолютного давления (ДАД 45.3829). Программа самостоятельно определяет тип датчика разряжения (по максимальному напряжению на входе AN2), поэтому, чтобы не вводить программу в заблуждение, не настраивайте самодельный датчик на напряжение больше 2,3 В.

При использовании самодельного индуктивного датчика разряжения настройка сводится к установке максимального напряжения на входе АЦП при отсутствии разряжения и минимального при максимальном разряжении (Рис. 2). Для обеспечения большей точности формирования УОЗ (в соответствии с Рис. 1) следует настроить индуктивный датчик так, чтобы максимальное напряжение на входе АЦП было от 1,5 до 2,3 В, а минимальное равно или меньше 0,9 В.

Настройка датчика производится подбором C3 и R10 до установки блока на автомобиль. Разряжение имитируется перемещением штока вакуумной камеры от одного крайнего положения до другого.

z675_ris12.jpg

 

источник http://mcprogramming...e_pic12f675.php

Вот по поводу нужности зажигания в этом устройстве я не уверен, а механизм оцифровки крайне любопытен.

прошивка в HEX

Как альтернатива дорогим импортным датчикам, или менее дорогим, но и ненадёжным ДАД 45.3829

Вот здесь механика однозначно рулит. :)

К слову.

ГАЗ - ДАД 45.3829

диапазон измеряемо давления 20..105кПа

при давлении 20 кПа = напряжение 0,4 вольта

при давлении 105 кПа = напряжение 4,65 вольта

наклон :

(105 кПа - 20 кПа ) / (4,65 В - 0,4 В) = 20 кПа = 200 мБар / В

смещение: 105 кПа - 4,65 В * 20 кПа (величина наклона) = 12 кПа = 120 мБар

источник

 

В статье имеется отсыл к журналу "РАДИО" 2008-11 стр36 .

Скачать можно здесь https://yadi.sk/d/OiitIv1OfF7yF в архиве RAR. Пароль к архиву: konstantin.in

 

Программа для дизассемблера хексов для AVR ReAVR.rar.txt (удалить расширение .txt)

Share this post


Link to post
Share on other sites
Невский

Ещё один блок газ/бензин в стадии отладки.

http://gbo.ua/forum/viewtopic.php?p=21150#21150

Share this post


Link to post
Share on other sites
Невский

Перенёс в Моноинжектор

 

 

 

Но тут надо бы понимать, что АСМ для каждого процессора свой! И даже названия вроде бы одинаковых команд разное, а их использование это ваАще сугубо исходя из конкретного проца. Т.е. АСМ это просто некие удобные человеку названия вместо чисел в памяти машины. Вот пример:

 

Команда MOV ADDR, F в памяти машины может выглядеть как шестнадцать бит из которых первые пять бит это число, означающее собственно команду MOW, дальше восемь бит - адрес, куда надо переместить содержимое рабочего регистра, и флаг (один бит) который указывает, что надо переместить содержимое регистра в ячейку памяти, а не наоборот. Остальные биты в данном случае могу и не использоваться. Если такую ахинею из чисел дать редактировать человеку, то он скоро тронется разумом, а производительность его труда будет равна практически нолю и тогда придумали давать командам имена, а прочим атрибутам команды присваивать символы и обозначать биты флагами. Это все машине и нафиг не сдалось, но человеку так проще.

 

Весь прикол в том, что другой процессор будет использовать и другие команды и сам ассемблер изменится иногда до неузнаваемости.

 

Другое дело языки высокого уровня. Ну например Бейсик...

 

Программа на Бейсике выглядит одинаково на любой машине. А перевод с языка Бейсик на машинный язык это задача для компилятора и программиста она никак не беспокоит. Строка LET A=10 означает, что некая переменная с этого момента равна 10, а где эта переменная хранится и какой у нее адрес в памяти никого не волнует.

 

Вся проблема в том, что компиляторы при переводе программы с языка высокого уровня на язык кода используют некие универсальные конструкции, которые они просто подставляют вместо команд на языке высокого уровня, а процессор тупо исполняет все эти команды и тратит время часто впустую исполняя все нюансы универсального кода, заточенного на все случаи и варианты использования одной команды языка высокого уровня.

 

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

Share this post


Link to post
Share on other sites
Невский

люди добрые на монитор.нет.ру помогли выдрать кусок кода, которые обрабатывает сигнал с лямбда-зонда.

(цитата)

Невский, вот оно твое ADC считывается, по-быстрому взглянул.

L048F: 
ldi r30,k11 
ldi r31,k01 
ldi r25,k00 
ldi r18,k87 
L0493: 
sts D007A,r18 
mov r24,r25 
andi r24,k0F 
ori r24,k60 
sts D007C,r24 
lds r24,D007A 
ori r24,k40 
sts D007A,r24 
L049F: 
lds r24,D007A 
; --------- this is skippy 
sbrs r24,b4 
rjmp L049F 
; --------- last may be skipped 
; pc=0x4A3(0x946) 
; 
lds r24,D007A 
ori r24,k10 
sts D007A,r24 
lds r24,D0079 
st Z+,r24 
subi r25,kFF 
cpi r25,k06 
brne L0493 
; ----- branch on last line 
ret 

Что с ним дальше делается - разбираться и разбираться.(конец цитаты)

(Ну естественно, мне пока это нигде не озарило. Знал бы о чём речь, был бы и зарево...)

Share this post


Link to post
Share on other sites
Невский

В продолжение темы про аналоги ДАД.

http://forum.cxem.ne...20#entry1403541

 

На алиэкспресс датчики

AH3503 от 65руб за 5 штук

SS49E от 80руб за 10штук.

Линейные датчики Холла. Блин, тема...

 

Фактически, альтернатива всем ползунковым датчикам.

При наличии некривых рук, можно задавать любые характеристики.

Share this post


Link to post
Share on other sites
Невский

А штуки 3-4 мембраны от вазовского бензонасоса задроссельное разрежение выдержат?

Это если в сторону самодельного ДАД смотреть к характеристикам 45.3829.

 

И для ознакомления DOC-файл. (А то потеряется)

http://forum.cxem.net/index.php?app=core&module=attach&section=attach&attach_id=200721

Share this post


Link to post
Share on other sites
D.Vader
А штуки 3-4 мембраны от вазовского бензонасоса задроссельное разрежение выдержат?

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

Share this post


Link to post
Share on other sites
Drunk goat

чем не устраивает 45.3829?

Share this post


Link to post
Share on other sites
Невский

Надёжностью...

Невозможностью подгона характеристик.

Share this post


Link to post
Share on other sites
Drunk goat

Плохая надежность по собственному опыту, или в интернете начитался?

Покупай у официального дилера ГАЗ и не будет проблем.

Подгон характеристик подо что? Характеристики во всех нормальных устройствах подгоняют у управляющего элемента, а не у датчика.

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

Так может лучше взять то, что уже давно работает?

Share this post


Link to post
Share on other sites
Невский

@Drunk goat,

Ну вот, на СТО работаю. Заказали 8 штук. Рабочих 2, 2 совсем не рабочих. Остальные характеристикам не соответсвуют.

О покупке в магазине я промолчу.

 

и в итоге потихоньку приходите к тому же серийному январю.

С трицатилетним микроконтроллером, и прошивками с багами, которые постепенно устраняются в коммерческих версиях.

 

попутно отрицая все серийные и нормально работающие схемы,

Тебя мегасквирт первой версии не устраивает? Или зажигание Шкильменского?

А слабое место одно - ДАД.

Share this post


Link to post
Share on other sites
D.Vader
из говна и веточек сделать СУД

НИТ!!!11 Просто повторить существующие из говна и веточек

 

Суть в процессе создания СУД

 

С трицатилетним микроконтроллером, и прошивками с багами, которые постепенно устраняются в коммерческих версиях

Вот поэтому я говорю, что аналоговые мозги онли

Share this post


Link to post
Share on other sites
D.Vader

Для размышления

 

ЭСУД Bosch Mono-Jetronic

 

c7eb3df0d8c7.jpg

 

Диапазон оборотов от 900 до 6300 об/мин, ограничено электроникой. Итого диапазон 5400 об/мин, шаг изменения 360 об/мин

 

Думаю, этого вполне достаточно

Share this post


Link to post
Share on other sites
Невский

Пришли линейные датчики Холла и микроконтроллеры.

df6b78eddd8007715e833c0304b109a6.jpg

Слева в пакетике SS49E в центре Atmega 328 справа 168. Коробок для масштаба.

В ожидании остальной мелочёвки и наступления Суровой Кубанской Зимы... :)

Share this post


Link to post
Share on other sites
D.Vader
В ожидании остальной мелочёвки и наступления Суровой Кубанской Зимы...

Совместить несовместимое - это как?

 

А это просто ЭБУ L-jet подсоединить к Mono-Jet

 

Самопал выходит

Share this post


Link to post
Share on other sites
Невский
Совместить несовместимое - это как?

Сезон дождей. :)

Share this post


Link to post
Share on other sites
Невский

Пришли макетные платки. Прикольная штука для разовых конструкций. :)

66e2b4e91e9fb67958845d29f9bff245.jpg

Справа. В корпус старого коммутатора от 2108 становится в два яруса, при этом можно коплектухой обвешивать с обеих сторон. :)

Share this post


Link to post
Share on other sites
Невский

https://ru.aliexpress.com/item/Sensore-Pressione-MD-PS002-Vacuum-Sensor-Pressure-Sensor-for-Arduino/32703802420.html

 

Sensore-Pressione-Вакуум-Датчик-Давления-MD-PS002-Датчик-для-Arduino.jpg_640x640.jpg

Область применения:

автомобиль: шинный манометр, автомобиль воздушный насос, MAP датчик, диагностическое оборудование, паровой двигатель и подвеска управления, автомобильные датчики.

диапазон: 150kpa (абсолютное давление) диапазон давления от вакуума (абсолютное 0 давление) выше атмосферного давления кпа

 

примечания: 15psi диапазона. вакуум-100кпа),, что может быть измерено также может быть использован для измерения положительные (положительного и отрицательного давления обнаружения) также может быть использован для compositescale

 

 

ДАД 45.3829 диапазон измеряемо давления 20..105кПа при давлении 20 кПа = напряжение 0,4 вольта при давлении 105 кПа

Share this post


Link to post
Share on other sites
Невский

:D

Немного неожиданно моновпрыск без ЭБУ. СМех смехом, но огромная доля правды есть.

 

Share this post


Link to post
Share on other sites
вий

Ага интересно,,,но блин работает,,,,

Share this post


Link to post
Share on other sites
Арсений
В 18.02.2022 в 09:14, вий сказал:

Ага интересно,,,но блин работает,,,,

  Скажу больше, на прогретом моторе работает и просто если лить бенз из трубочки)

Share this post


Link to post
Share on other sites
вий

Понятно что о внятной работе мотора и речи быть не может ,просто сама идея управления форсункой немного удивила,,,

Share this post


Link to post
Share on other sites
Арсений
13 часов назад, вий сказал:

Понятно что о внятной работе мотора и речи быть не может ,просто сама идея управления форсункой немного удивила,,,

  Они могли просто подключить её на 12В напрямую и понизить давление в рампе.  Ничего бы не изменилось, т.к. трамблёр при повышении оборотов хоть и увеличивает количество импульсов, но сами импульсы становятся пропорционально короче.  Т.е., математически строго говоря, ничего не изменяется, процент времени подачи напряжения на форсунку остаётся константой.  На видео видно, как приходится богатить смесь на ХХ, чтобы хоть как-то работало на оборотах.

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.