ТАВРОФОРУМ

Вернуться   ТавроФорум > Технические вопросы > Тюнинг

Тюнинг Улучшение потребительских свойств автомобиля

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2012, 23:13   #1
hc13nx2
 
hc13nx2
 
Адрес: Херсон
Сообщений: 110
Машина: ВАЗ-2108 1400 EFI + МПСЗ ГБО Tomasetto AT07
Длина: 1450мкм
Диаметр: 0мм
Отправить сообщение для hc13nx2 с помощью ICQ
По умолчанию

Примитивный расчёт обогащения в зависимости от температуры ОЖ, берём по пяти точкам, после +50 градусов почти не обогащаю
Цитата:
; Вычисляем уровень обогащения при прогреве
BTFSS COLT,7
GOTO COLT_MID
BTFSS COLT,6
GOTO COLT_MID2
; -12 to -43
movab COLT,MULc
BCF MULc,7
BCF MULc,6
MOVF ENR_12,W
SUBLW 0FFH
MOVWF MULp
CALL MUL8
RLF L_byte,W
RLF H_byte,W
RLF H_byte,W
ADDWF ENR_12,W
MOVWF WARM_ENR
GOTO GO_MAP

; +20 to -12
COLT_MID2 movab COLT,MULc
BCF MULc,7
MOVF ENR_COLT,W
SUBLW ENR_12
MOVWF MULp
CALL MUL8
RLF L_byte,F
RLF H_byte,F
RLF L_byte,F
RLF H_byte,W
ADDWF ENR_COLT,W
MOVWF WARM_ENR
GOTO GO_MAP
; UP +20
COLT_MID BTFSC COLT,6
GOTO COLT_MID3
; Up to +50
movab COLT,MULc
BCF MULc,7
BCF MULc,6
MOVF ENR_MID,W
SUBWF ENR_COLT,W
MOVWF MULp
CALL MUL8
RLF L_byte,F
RLF H_byte,F
RLF L_byte,F
RLF H_byte,W
ADDWF ENR_MID,W
MOVWF WARM_ENR
GOTO GO_MAP

; +50 to +80
COLT_MID3 movab COLT,MULc
BCF MULc,7
BCF MULc,6
MOVF ENR_HOT,W
SUBWF ENR_MID,W
MOVWF MULp
CALL MUL8
RLF L_byte,F
RLF H_byte,F
RLF L_byte,F
RLF H_byte,W
; ADDWF ENR_HOT,W
; MOVWF WARM_ENR
CLRF WARM_ENR
Вычисляем обогащение по ускорению - ускорительный насос, считаем по дельте положения дроссельной заслонки между импульсами зажигания
Цитата:
; Обогащение смеси после пуска двигателя
BTFSS STAT,7 ; Проверка флага включения обогащения после старта
GOTO GET_ACCEL
DECF D_TPS,F
BTFSC D_TPS,7
GOTO SPD_E
BCF STAT,7
; вычисление режима обогащения
GET_ACCEL MOVF TPS1,W ; Предыдущее ПДЗ
SUBWF TPS,W ; Вычитаем из предыдущего положения ДЗ настоящее
MOVWF D_TPS1 ; сохраняем как дельту

BTFSS STATUS,C ; Проверяем на наличие ускорения
GOTO D_ACCL

BTFSC STATUS,Z ; Проверяем на наличие ускорения
GOTO ACCL_END

SUBLW ACL_THR ; Вычитаем дельту с порога ускорения
BTFSC STATUS,C ; Проверяем порог ускорения
GOTO ACCL_END

BCF STATUS,C
RLF D_TPS1,F ; Поделить на 2 коэфф. обогащения
MOVF D_TPS,W ; текущее обогащение
ANDLW B'01111111'
SUBWF D_TPS1,W ; вычитаем текущее обогащение из вычисленного
BTFSC STATUS,Z
GOTO $+5
BTFSS STATUS,C ; если текущее обогащение меньше вычисленного, то
GOTO $+3
MOVF D_TPS1,W
MOVWF D_TPS

ACLEE BSF ACCEL ; Вкл. светодиод акселерации
BSF STAT,3 ; Вкл. флаг акселерации
BSF D_TPS,7
GOTO SPD_E
; Подпрограмма обеднения смеси при сбрасывании тапка
D_ACCL SUBLW 0FFH
SUBLW 80H
MOVWF D_TPS
BSF STAT,4
GOTO SPD_E

ACCL_END MOVF D_TPS,W
BTFSC STATUS,Z
GOTO $+4
DECF D_TPS,F
BTFSC D_TPS,7
GOTO ACLEE

BCF ACCEL
; CLRF D_TPS
BCF STAT,3
BCF STAT,4
Расчёт объёмной эффективности, простейший, выборка таблицы:
Цитата:
; Обработка таблицы объёмной эффективности в зависимости от оборотов двигателя
SPD_E CALL EngSC
MOVWF SPD_ENR
Экономайзер мощностных режимов: обогащает смесь на определённый коэффициент при условии давление вышле определённого (60 или 75 кпа)
Цитата:
; SPD_ENR=(обог%)/100*256
; Обогащение по скорости=SPD_ENR/256*100
; Экономайзер тапки в пол Основная смесь - 12,5
MOVF TPS,W
SUBLW 0CCH ; Порог 4.5v
BTFSC STATUS,C
GOTO TR_EN
BTFSC STAT,1 ; Проверка флага прогрева двигателя
GOTO TR_EN
MOVLW D'100' ; Нижний порог оборотов 2500
SUBWF SPD,W
BTFSS STATUS,C
GOTO TR_EN
let Mul1Lo,0B3H ; 1.339
let Mul1Hi,0H
GOTO MUL_ENR
; Экономайзер мощностных режимов Основная смесь - 13,5
TR_EN MOVF MAP,W
SUBLW 0B3H ; Порог 80H-60KPa, 99H-70KPa, B3H-80KPa, BD-85KPa
BTFSC STATUS,C ;
GOTO READ_MAP
let Mul1Lo,0A2H ; 1.244*127
let Mul1Hi,0H

MUL_ENR BSF ACCEL
MOVF SPD_ENR,W
MOVWF MULc
CALL MUL16_8
RLF Mul1Lo,W ; Помещаем бит 7 в С
RLF Mul1Hi,W ; Перемещаем карри в 1 бит
MOVWF SPD_ENR
Экономайзер ПХХ, выключает подачу топлива при сброшеной педали газа, флаг СТАТ,3
Цитата:
;-----------------------------------------------------
; ЭКОНОМАЙЗЕР ПРИНУДИТЕЛЬНОГО ХОЛОСТОГО ХОДА
;-----------------------------------------------------
BTFSS STAT,7
BTFSS STAT,2 ; Проверка холостого хода
GOTO Ln_Int
BTFSC STAT,5 ; Проверка
GOTO $+9
MOVF SPD,W ; Верхний порог оборотов
SUBLW SPD_EPHH+3
BTFSC STATUS,C
GOTO Ln_Int
BSF STAT,5 ; Ставим бит включённого экономайзера
CLRF T_INJ_H
CLRF T_INJ_H
GOTO EXT

MOVLW SPD_EPHH-1 ; Нижний порог оборотов
SUBWF SPD,W
BTFSC STATUS,C
GOTO EXT
Дальше собственно считаем время впрыска линейной интерполяцией:
Время впрыска=(время впрыска на полную (120кпа)-впемя впрыска на хх (25кпа))*давление+время впрыска на ХХ (при 25кпа)
Цитата:
;-----------------------------------------------------
; ЛИНЕЙНАЯ ИНТЕРПОЛЯЦИЯ ВЫЧИСЛЕНИЯ ВРЕМЕНИ ВПРЫСКА
;-----------------------------------------------------
Ln_Int BCF STAT,5
MOVLW OFFSET
SUBWF MAP,W
BTFSS STATUS,C
CLRW
MOVWF MULc ; MULc=(MAP-Offset)
CLRF Mul1Hi
MOVF RCOl,W
SUBWF RqFl,W
MOVWF Mul1Lo ; MULp=(RqF-RCO)

BTFSS STATUS,C ; проверяем CARRY
DECF Mul1Hi,F

MOVF RCOh,W
SUBWF RqFh,W
ADDWF Mul1Hi,F ; MULp=(RqF-RCO)

CALL MUL16_8 ; Умножение 16х8
MOVF Mul1Hi,W
ADDWF RCOl,W
MOVWF T_INJ_L

BTFSC STATUS,C ; проверяем CARRY
INCF ResHi,F

MOVF ResHi,W
ADDWF RCOh,W
MOVWF T_INJ_H
Корректируем смесь в зависимости от оборотов двигателя, (см. выше, вычисленный коэфф) здесь только обогащение согласно заранее расчитанному коэфф.
Цитата:
; Корректировка смеси в зависимости от оборотов
movab SPD_ENR,MULc
movab T_INJ_L,Mul1Lo
movab T_INJ_H,Mul1Hi
CALL MUL16_8 ; Умножение 16х8
; RLF Mul1Lo,W
; RLF Mul1Hi,W
MOVF Mul1Hi,W
MOVWF T_INJ_L
; RLF ResHi,W
MOVF ResHi,W
MOVWF T_INJ_H
проверяем флаг прогрева и выполняем обогащение на прогрев по заранее уже рассчитанному коэфф
Цитата:
BTFSS STAT,1 ; Проверка флага прогрева двигателя
GOTO ACCL


Warm_Enr RRF WARM_ENR,F
BSF WARM_ENR,7
movab WARM_ENR,MULc
movab T_INJ_L,Mul1Lo
movab T_INJ_H,Mul1Hi
CALL MUL16_8 ; Умножение 16х8
RLF Mul1Lo,W
RLF Mul1Hi,W
MOVWF T_INJ_L
RLF ResHi,W
MOVWF T_INJ_H
Обогащаем смесь по УН по заранее уже расчитанному коэфф, сначала проверяем флаги наличия обогащения или обеднения:
Цитата:
; Програмный модуль вычисления обогащения
ACCL BTFSC STAT,7
GOTO $+5
BTFSS STAT,3
BTFSC STAT,4
GOTO $+2
GOTO EXT2
movab D_TPS,MULc
movab T_INJ_L,Mul1Lo
movab T_INJ_H,Mul1Hi
CALL MUL16_8 ; Умножение 16х8
RLF Mul1Lo,W
RLF Mul1Hi,W
MOVWF T_INJ_L
RLF ResHi,W
MOVWF T_INJ_H
hc13nx2 вне форума   Ответить с цитированием
Старый 13.04.2012, 19:46   #2
Пашулис
Очень давно не заходил
 
Адрес: Киев
Сообщений: 222
Машина: VOLVO S40 Fiat Scudo дизель
Длина: 1580мкм
Диаметр: 0мм
По умолчанию

Цитата:
Сообщение от hc13nx2 Посмотреть сообщение
Примитивный расчёт обогащения в зависимости от температуры ОЖ, берём по пяти точкам, после +50 градусов почти не обогащаю


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


Расчёт объёмной эффективности, простейший, выборка таблицы:


Экономайзер мощностных режимов: обогащает смесь на определённый коэффициент при условии давление вышле определённого (60 или 75 кпа)


Экономайзер ПХХ, выключает подачу топлива при сброшеной педали газа, флаг СТАТ,3


Дальше собственно считаем время впрыска линейной интерполяцией:
Время впрыска=(время впрыска на полную (120кпа)-впемя впрыска на хх (25кпа))*давление+время впрыска на ХХ (при 25кпа)

Корректируем смесь в зависимости от оборотов двигателя, (см. выше, вычисленный коэфф) здесь только обогащение согласно заранее расчитанному коэфф.

проверяем флаг прогрева и выполняем обогащение на прогрев по заранее уже рассчитанному коэфф


Обогащаем смесь по УН по заранее уже расчитанному коэфф, сначала проверяем флаги наличия обогащения или обеднения:
брррррр... нифига не понял... короче работает тема... или проше машину поменять
Пашулис вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:26. Часовой пояс GMT +3.


Перевод: zCarot Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.