X street

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

Recommended Posts

Невский

Желающие есть расколотить прошивку впрыска на меге16?

Вроде как урезаная версия мегасквирта.

Share this post


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

Обновил первый пост и поднял тему.

Часть сообщений перенесена из IT-курилки.

 

ПС.временные ссылки

вся проблема то в том, что бензиновый ДВС управляется именно составом смеси

http://radiokot.ru/f...839749#p1839749

Ужас...

И в этом направлении начинают даваться "мудрые советы".... А потом все "гуру" сокрушаются, что самодельный впрыск, это утопия.

 

Моноврыск на мотоцикле "Ява"

http://www.jawaclub....hp?topic=7072.0

ФУОЗ-инжектор(сектор 55, два датчика).txt

Изменить расширение на .rar

http://forum.cxem.ne...showtopic=89261

Тоже моновпрыск. с РХХ.

В обоих случаях ДПДЗ и тактирование по импульсам зажигания.

В общем, достаточно минималистично. :)

 

http://forum.cxem.ne...p?showforum=140

Раздел посвящен самодельным ЭБУ.

Edited by Невский

Share this post


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

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

http://rotorman.dtt-.../dad_model2.htm

 

Особенно понравилось про клапана

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

Не многие знают, что в стандартном п.о. есть достаточно серьезные проблемы с быстродействием алгоритма установки фазы впрыска. Фактически скорость изменения фазы впрыска искусственно ограничена значением 300 градусов в секунду (при 720 градусах диапазона). На ХХ скорость установки еще меньше - около 200 градусов в сек. Очевидно, что для правильного функционирования системы (мягкая работа двигателя на частичных нагрузках и более точная настройка топлива) фаза должна меняться только в случае реальной необходимости такого изменения и причем это изменение должно происходить достаточно быстро.

И про ДТВ

Идея Delphi состоит в том, что температура заряда во всех возможных случаях лежит в промежутке между температурой ОЖ и температурой воздуха поскольку определяется в основном начальной температурой (воздуха) и теплопередачей от различных поверхностей двигателя, причем чем больше воздуха расходует двигатель, тем медленнее идут процессы теплопередачи и тем меньше на него влияет температура ОЖ и больше влияет температура воздуха и наоборот.

И далее.

 

 

Блок по "мотивам Мегасквирт" :)

http://www.audi-club.ru/forum/showthread.php?t=206086

Кстати, в основном к нему и возвращаются самодельщики.

Share this post


Link to post
Share on other sites
Невский
Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.

http://arduino.ru/Arduino_environment

Стоит связываться?

Share this post


Link to post
Share on other sites
Невский
"Андрей, от куда такая информация про 2.6 МГц???*******" на писано в PDFe, да и так известно что стандартная архитектура 8051 делит частоту кварца на 12, а продвинутая делит на 6. 16MHz - это частота кварца, а ядро процессора С509 выполняет одну команду за 6 тактов кварца. 16/6 = 2.6666666666666. Вот откуда. http://www.keil.com/...eon/c509_um.pdf пункт 2.1 там в конце абзаца очень скромно мелким шрифтом написано "With a 16 MHz clock, 58 % of the instructions execute in 375 ns.". Пересчитайте сами.

http://arduino.ru/fo...#comment-105151

 

**********

сноска: Речь о тактовой частоте процессора ЭБУ Я-5.1.

Микас. Архитектора камня 80C715A та же...

Схема ЭБУ Микас с указанием камня .http://chiptuner.ru/...cs/mikas153.rar

Склонен написанному верить, так как от архитектуры 8051 постепенно стараются уходить, хотя она и хорошо проработана в плане реализации ПО на ней.

https://de.wikipedia.../Siemens_80C517

https://ru.wikipedia...wiki/Intel_8051

Общая информация по камню.

 

Ссылки с полезной инфой

http://arduino.ru/fo...i-vprysk?page=1

http://compcar.ru/fo...p?t=6664&page=1

Share this post


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

На вопрос про скетч получил ответ

Если стоит задача выжать максимум возможностей из контроллера, то ассемблер вне конкуренции. А если нужно быстро решить довольно простую задачу с минимальным опытом то скетч возможно более оптимальное решение.

 

Ну это так, для сведения...

Share this post


Link to post
Share on other sites
D.Vader

@Невский, фуфло все это

 

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

 

Просто ассемблер - это прямые машинные инструкции

 

За оператором в ANSI Pascal вида

a:=b*c; {переменной a присваиваем результат произведения переменных b и c}

стоит совокупность таких команд ассемблера, как:

mov BL, B //помещаем в регистр процессора BL значение переменной b
mov AL, C //помещаем в регистр процессора AL значение переменной c
mul BL //умножение, результат пишется в регистр процессора AX, выражение вида AX = AL*BL
mov A, AX //помещаем в переменную a результат умножения, хранящийся в регистре AX

 

Это в случае однобайтовых слов. Ассемблер Intel-совместимый (8088 и старше)

 

Так вот, к чему я веду. Компилятор языка высокого уровня всегда добавляет в ассемблерный код кучу мусора, который отнимает память и снижает быстродействие. Служебные инструкции по установке/сбросу флагов процессора, паразитные перемещения данных из одного регистра в другой и так далее

 

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

Share this post


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

Это в чём? http://forum.cxem.ne...ttach_id=122915

С расширением .ASM

Share this post


Link to post
Share on other sites
D.Vader

@Невский, обычным блох-нотиком открывается

 

SAME EQU  1
MULT MACRO BIT
BTFSC MULp,BIT
ADDWF H_byte,SAME
RRF H_byte,SAME
RRF L_byte,SAME
ENDM
MUL8 CLRF H_byte
CLRF L_byte
MOVF MULc,W
BCF STATUS,C
MULT 0
MULT 1
MULT 2
MULT 3
MULT 4
MULT 5
MULT 6
MULT 7
RETLW 0

 

Ассемблер, только для младших поколений интела, возможно, для built-in систем. Как раз ЭСУД, МПСЗ, ЭБУ, кофе-автоматы и прочее

 

Во!

 

;-------------------------------------------------------------
;	  Библиотека управления шаговым двигателем
;-------------------------------------------------------------
;
;	    DELAY    - Подпрограмма задержки
;
;	    STPINIT  - Инициализация шагового двигателя, делает 255 шагов на закрытие, и 70 на открытие
;	    STPUP    - Открыть заслонку на один шаг
;	    STPDOWN  - На один шаг закрыть
;
;
;	    STPCNT  - Переменная указывает текущую позицию шагового двигателя
;====================================================
;#DEFINE STEPA PORTB,0  ;
;#DEFINE STEPB PORTB,1  ;
;=====================================================
STPINIT let STPCNT,IAC_MAX  ;Сбрасываем счётчик ходов
STPI CALL STPDOWN   ;Делаем 255 ходов в сторону закрытия
CALL DELAY   ;Задержка между импульсами
DECFSZ STPCNT,F
GOTO STPI
; MOVF T_COLT
; SUBLW 0BFH   ; Проверка макс температуру регулировки
; BTFSC STATUS,C   ;
; GOTO SS
; MOVF T_COLT
; ANDLW 3FH
; MOVF MULc,F
; RLF L_byte,F
; RLF H_byte,F
; RLF L_byte,W
; RLF H_byte,F   ; Результат получаем в H_byte,F

STP1 CALL STPUP   ;выставляем шаговик в начальное положение
CALL DELAY
CALL DELAY
MOVFW STPCNT
SUBWF H_byte,W
jnz STP1
RETURN
; ФАЗА: F1 F2 F3 F4
; PORTB,0 1 0 0 1 - Линия А
; PORTB,1 1 1 0 0 - Линия Б
; ДВИЖЕНИЕ ШАГОВИКОМ НА ШАГ ОТКРЫТЬ
STPUP MOVLW .10
MOVWF STP_CN
MOVF STPCNT,W  ; ПРОВЕРКА НА МАКСИМАЛЬНОЕ ОТКРЫТИЕ
SUBLW IAC_MAX  ; МАКС КОЛИЧЕСТВО ШАГОВ
BTFSC STATUS,C  ;
RETURN   ; ЕСЛИ ДА-ТО ВЫХОДИМ
INCF STPCNT,F
BTFSS  STEPA  ; ПРОВЕРКА ЛИИ А
GOTO STUA0
BTFSS  STEPB
GOTO STUB0
BCF STEPA  ;F2
RETURN
STUB0 BSF STEPB  ;F1
RETURN
STUA0 BTFSS STEPB
GOTO STUB20
BCF STEPB  ;F3
RETURN
STUB20 BSF STEPA  ;F4
RETURN
; УСТАНОВКА В ПОЗИЦИЮ УКАЗАНУЮ В W
SETSTP


;ДВИЖЕНИЕ ШАГОВИКОМ НА ЗАКРЫВАНИЕ
STPD MOVF STPCNT,F
BTFSC STATUS,Z
RETURN
DECF STPCNT,F
STPDOWN  BTFSS  STEPA  ; ПРОВЕРКА ЛИИ А
GOTO STDA0
BTFSS  STEPB
GOTO STDB0
BCF STEPB  ;F4
RETURN
STDB0 BCF STEPA  ;F3
RETURN
STDA0 BTFSS STEPB
GOTO STDB20
BSF STEPA ;F1
RETURN
STDB20 BSF STEPB  ;F2
RETURN

 

Отэти специфические инструкции, типа INCF, SUBLF и аналогичные, можно заменить на обычные INC, SUB. В целях совместимости. Очень непривычны глазу. Нет работы со стандартными регистрами 8088. Странное управление чтением/записью в порты процессора, флаги процессора. Непонятные инструкции на прерывания. Специфика, да

 

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

 

@Невский, это и вся прошивка? Не хватает режимов смены состава смеси по нагрузке

 

Если оттуда выкромсать управление зажиганием, будут годные мозги. Можно хоть в заводской коллектор по центру форсу врезать, а сверху накрыть блоком дросселей от солекса, ну РДТ приколхозить

Share this post


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

То есть в теории, из таких блоков можно всю прошивку собрать?

А библиотека именно для шагового двигателя РХХ.

Это отсюда http://forum.cxem.net/index.php?showtopic=89261&st=20#entry1000661

Под моник.

 

обычным блох-нотиком открывается

Да у меня всё блокнотиком открывается.

Share this post


Link to post
Share on other sites
D.Vader
То есть в теории

На практике оно именно так и делается

 

Должен быть модуль под ДАД+ДПДЗ либо под ДМРВ, рассчитывать время открытия форсунок под конкретное потребление воздуха, в модуле процедурки, которые будут менять стехиометрическую единицу в зависимости от режима работы (ХХ, частичные нагрузки, запуск и так далее)

 

Гораздо проще в расчетах делать так:

Vтоплива = Vвоздуха * S * λ, где S - стехиометрическая единица, λ - показания лямбда-зонда

 

Для частичных нагрузок S принимается 14.7, для полных - например, 12, и так далее. По показаниям лямбды можно подстраивать не только стехиометрическую смесь, но и обогащенную/обедненную, просто коэффициент подставляется

Share this post


Link to post
Share on other sites
Невский
Гораздо проще в расчетах делать так:

Я думаю, сначала это должно выглядеть так.

data-catalog-2-m-500x500.jpg

 

maketnaya-plata-001.jpg

 

attinu2313_dev_board.JPG

Ну и обвес соответствующийй.

А потом...

Гораздо проще в расчетах делать так: Vтоплива = Vвоздуха * S * λ, где S - стехиометрическая единица, λ - показания лямбда-зонда

Вот кстати блоков по обработке сигналов с датчиков. А именно с лямбда-зонда я не смог найти.

А вот здесь он точно есть. http://forum.cxem.net/index.php?showtopic=76889&st=0

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

Share this post


Link to post
Share on other sites
D.Vader

А так ли нужен тот лямбда-зонд?

Share this post


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

Тогда может быть и ДАД не нужен? :)

ЛЗ нужен будет для контроля в тех местах таблицы, в которых гарантировано должно быть Л=1.

Это моё мнение. А так да, наверно можно подгонять к известным параметрам датчиков и производительности форсунок по таблицам для нашего мотора.

Для этого надо расковырять прошивку от инжектора с ДАД+ДТВ например в мегатюне, и посмотреть данные по диаграммам и забить их в таблицы.

Вот там будет всё. ДПДЗ, ДТВ, и ДАД , ДОЖ. И всё это привязывать к тактированию импульсов зажигания.

За основу брать ( к примеру) сигнал ДАД и на него уже накладывать корректировки от других датчиков. И ожидается импульс зажигания.

Сброс. И отсчёт по новой. до следующего импульса.

Ну не знаю, как там идёт обработка по АЦП,где то было, что даже цифровой вход подтянуть можно.

Share this post


Link to post
Share on other sites
D.Vader
ЛЗ нужен будет для контроля в тех местах таблицы, в которых гарантировано должно быть Л=1.

Если условимся считать, что ДАД/ДМРВ достаточно точен, то ЛЗ и нахрен не нужен. Дополнительный коэффициент в формуле

 

Ты же не за Евро-6 гоняешься? Тебе главное, чтобы ехало и не жрало. С ЛЗ оно будет не жрать, но ехать так себе

 

расковырять прошивку от инжектора с ДАД+ДТВ

Д-джет, Моно-джет. Аналоговые

 

И всё это привязывать к тактированию импульсов зажигания

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

 

Л-джеты ездят будь здоров, можешь спросить у владельцев Е34. Скопировать схемотехнику на своих деталях, да и все. Без гомырева с прошивками

Share this post


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

, Ещё один опенсорс проект http://habrahabr.ru/post/201472/

Кстати, это продолжение

http://habrahabr.ru/post/198672/ Для маньяков ,которые хотят запилить свой ЭБУ

 

тут чел газ/бензин делает

http://rusefi.com/forum/viewtopic.php?f=8&t=551

Share this post


Link to post
Share on other sites
D.Vader

@Невский, ой не любо

 

Имхо

 

Если пилить свой ЭБУ, то просто как делитель топливо = воздух / стехиоединица * коэффициент, коэффициент эквивалентен режиму работы двигателя и является по сути напряжением/током/сопротивлением, а не набором бит

 

То есть тебе нужно будет собрать из одной микросхемы и обвязки плату, которая:

  • Пересчитывает объем поступившего воздуха в объем топлива
  • Конвертирует объем топлива во время впрыска
  • Вносит поправку в виде коэффициента. Коэффициент рассчитывается от конечных устройств - ДТОЖ типа вкл/выкл (на 60 градусов, например) и ДПДЗ трехпозиционный (ХХ/частичная нагрузка/полная нагрузка)

Аналоговая системотехника с этим справится

ДМРВ - калитка либо тонкопленочный нагрев - без разницы. Калитка проще, она регулируется

Share this post


Link to post
Share on other sites
Невский
то ЛЗ и не нужен

Потом да, может и не нужен.

Д-джет, Моно-джет. Аналоговые

Есть данные по установке на М-412?

Share this post


Link to post
Share on other sites
D.Vader
Есть данные по установке на М-412?

Есть данные по установке на М10В18 с к-джетом либо карбюратором

 

1.8, распределитель зажигания с ВР и ЦР. Тупо и просто - измеряем воздух, прыскаем столько топлива, сколько нужно

 

Вроде еще у нас кто-то в Харькове делал такое, продает сейчас комплект, кузов утильный

 

http://img-fotki.yandex.ru/get/9253/7028505.25/0_b235e_b452a56e_orig

 

Привод распределителя не от бэхи, э?

 

http://img-fotki.yandex.ru/get/9821/7028505.25/0_b235d_26d52b28_orig

 

Не влазит под капот, увы

Share this post


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

/img]

картинка ниже

параллелишь сигнальные от ДХ и на датчик трамблёра , исключаешь ключи и мутаторы с катушками, пересчитываешь время открытия форсунки.

Если поколдовать с кривыми от ДПДЗ и ДАД ( которые аналоговые) то можно увязать в один аналоговый сигнал и запихать его в вывод 23.

И останется прямой пересчёт на время.

Edited by Невский

Share this post


Link to post
Share on other sites
D.Vader

А есть картинка поболее чем? Подписи не видно

 

Что за девайс?

 

Если поколдовать с кривыми от ДПДЗ и ДАД ( которые аналоговые)

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

 

Не могу пока понять принцип, формулу расчета по давлению и оборотам. По массовому расходу воздуха понятнее как-то

Share this post


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

,

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

Для откатки с нуля.... Ну посчитать то можно в 14.7, но это берётся условно-теоретически как эталон.

На практике это может оказаться страшнее ведра с дырочкой. :)

 

А есть картинка поболее чем? Подписи не видно.

Что за девайс?

Схема 2 датчика инж.JPG

Моновпрыск на яву-638

 

Архив и ссылка на источник выше в теме.

Share this post


Link to post
Share on other sites
D.Vader
Ты немного не слышишь

Как раз слышно и чутно хорошо. Я и говорю, что в аналоговых ЭБУ для меня непонятен принцип расчета объема топлива из вакуума и оборотов

 

С синтаксисом Паскаля/бейсика знаком немного? Могу набросать алгоритмик приблизительно, это 5-10 минут где-то

Share this post


Link to post
Share on other sites
Невский
количество топлива рассчитывается, исходя из показаний ДАД и оборотов

А карбюратор, а ещё точнее газовый редуктор, говорят, что достаточно только разрежения в нужном месте.

Особенно там, где шланга вакуум-корректора на крабюратор одевается.

И в Аналоговой системе, ДПДЗ нужен, только чтоб уточнить реальное состояние ДАД, если давление( разрежение 0) и ДПДЗ открыт на 100% то топливо надо подавать по полной мощности

Заметил, что при подключению к коллектору напряжение сигнала ДАД повторяет работу эконометра (только слева 0В., а справа 5В.), а если подключить от карбюратора, куда подключен штатный ВК, то отличается только при отпущеной педали и при её начальном нажатии, т.е. при закрытии дросельной заслонки и её открытии, а дальше при нагрузке напряжение синхронно работает с эконометром.

Полностью читать здесь http://forum.cxem.net/index.php?showtopic=129997 ( с картинками)

 

С синтаксисом Паскаля/бейсика знаком немного?

Можно сказать, почти никак. Может и видел, но что это именно оно.....

Share this post


Link to post
Share on other sites
D.Vader

Щас, кое-что наваяю, покажу

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.