ТАВРОФОРУМ

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

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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2012, 23:13   #11
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 вне форума   Ответить с цитированием
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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