Futura injecao eletronica
-
xi ricardo… ja fiz diferente... fiz em desaceleracao ele aplicar um fator que vc determina, assim como a ideia da ms, mas se o rpm tiver acima de um outro parametro que eu chamei de rpmcutoff, eu simplesmente corto todo o combustivel, assim como é feito na injecao original do meu carro... entao esse parametro de % em desaceleracao soh será aplicado abaixo do rpm de cut-off... bom, vou testar como fica antes de modificar né? (pra quem ficou em duvida, todo parametro é uma coisa que vc regula, entao se nao gostar é só desativar)
lost, nao tá misturado nao? o cut-off só é ativado com tps=0% + rpm< x, certo ?
e outra, acho que esse empobrecimento na desaceleracao é coisa pra se pensar mais pra frente… agora acho q vc deveria cuidar mais do enriquecimento (aceleracao rápida), que é o que realmente incomoda se nao tiver. já o outro... o máximo q vai acontecer é gastar um pouco mais...
-
lost… sinceramente: se vc já tem o enriquecimento pelo map pronto, use so ele e desencana do tps. pq???? pois vc vai estar lidando com o mesmo fenomeno em duas frentes diferentes, causando uma sobreposicao de efeitos. ai vai dar erro, pois qdo vc calibra um, acaba interferindo no outro (como duas pessoas tentarem colocar um fio na agulha. e melhor deixar p apenas uma fazer o servico)
qto a discussao tps ou map, a map é o efeito e o q vc quer realmente corrigir.... enqto o tps te dara uma resposta mais rapida, ja q ele é a causa da mudanca. nao sei qual sera o melhor, rs
boa sorte
-
lost, nao tá misturado nao? o cut-off só é ativado com tps=0% + rpm< x, certo ?
e outra, acho que esse empobrecimento na desaceleracao é coisa pra se pensar mais pra frente… agora acho q vc deveria cuidar mais do enriquecimento (aceleracao rápida), que é o que realmente incomoda se nao tiver. já o outro... o máximo q vai acontecer é gastar um pouco mais...
[snapback]595756[/snapback]
? verdade… falei porcaria... o cut-off é ativado se tps=0 e rpm > x. o fator de empobrecimento é ativado durante o movimento de desaceleracao, porem antes dele chegar em 0, onde entrar? o cut... vou colocar uma tabelinha com 5 valores em % pra se regular o enriquecimento durante a aceleracao... por enquanto só coloquei 1, mas vou por mais...
lost… sinceramente: se vc já tem o enriquecimento pelo map pronto, use so ele e desencana do tps. pq???? pois vc vai estar lidando com o mesmo fenomeno em duas frentes diferentes, causando uma sobreposicao de efeitos. ai vai dar erro, pois qdo vc calibra um, acaba interferindo no outro (como duas pessoas tentarem colocar um fio na agulha. e melhor deixar p apenas uma fazer o servico)
qto a discussao tps ou map, a map é o efeito e o q vc quer realmente corrigir.... enqto o tps te dara uma resposta mais rapida, ja q ele é a causa da mudanca. nao sei qual sera o melhor, rs
boa sorte
[snapback]595929[/snapback]
pois é kra, concordo sobre usar os 2, map e tps… como a leitura tanto do map quanto tps é feita em todos os ciclos justamente pra que a resposta seja instantane e nao apos alguns ciclos, acredito que se o sistema for monoponto ou melhor, um sistema onde o bico ou os bicos ficam lonje do cabecote, o enriquecimento deva ser por tps, mas no caso do multiponto, acho que o enriquecimento por map ja resolve pois os bicos estao no cabecote, entao deve casar direitinho a leitura de maior volume sendo admitido com a injecao de mais combustivel... nao sei se entenderam... de qualquer maneira, vou deixar os 2 prontos e se parametriza o que quiser... acho que é melhor pra ficar mais flexivel e funcionar bem tanto em multi como monoponto...
mas nos graficos da pra ver bem que tanto map quanto tps andam bem proximos... qqr hora vou tirar foto de uma batida rapida no pedal do acelerador... map e tps vao juntinhos, a sonda sobe com um atraso minimo, e a rotacao responde em seguida... os graficos em tempo real vao ajudar muito a vc ajustar, pq alem de tudo ainda da pra ver o tempo de resposta em varias regulagens...
-
alguem tem opiniao sobre que correcoes devem ser feita correcao sobre correcao e quais devem ser feitas sobre o tempo de injecao original?
a principio, to usando uma primeira correcao por temperatura, ja que o volume de combustivel é determinado por map x rpm x temp.(esta implementado no sw com valor de 100% por enquanto pq ainda nao liguei o sensor), depois vem sobre a primeira correcao, um fator manual (vc pode botar la 130% por exemplo pra aumentar em 30% todo o tempo de injecao calculado pelo mapa de injecao rpmxmap) e depois as outras correcoes sao aplicadas individualmente, e nao uma sobre a outra. por exemplo, tenho um tempo de injecao de 1ms, pela temperatura, tenho que aumentar em 5%, entao passo a ter 1,05ms, entao coloquei na correcao manual 110%, passo a ter 1,155. entao meu tempo de injecao base é de 1,155ms. entao por exemplo vem a correcao por tps… digamos que seja +10%, eu pego 10% de 1,155 e somo aos 1,155, passando a ter 1,27ms, entao se tiver + 10% pra acrescentar pelo map, eu nao calculo sobre os 1,27, mas sim sobre os 1,155 e somo aos 1,27, assim nao se torna uma correcao acumulativa. no caso o tempo de injecao final seria 1,38. se fosse acumulativa, o resultado seria 1,397ms. penso isso cada correcao inserir o seu volume de combustivel com base no valor original. pq se eu aplicar correcao sobre correcao, até a ordem com que é aplicada vai dar problema, e fazendo assim se baseando no primeiro valor, aplicando individualmente e somando o valor da correcao isolado a um valor final com todas as correcoes, um nao interfere no outro...
alguem tem alguma opiniao?
valeu.
-
claro talvez eu nao faça igualzinho, mas da pra ver se alguma coisa do que eu pensei bate ou nao…
passa o link ae manow
ae, fiz mais algumas alteracoes hj, pra que nunca o tempo de pulso do bico passe 85% do d.c. assim garante que o bico nao trave nem durante os enriquecimentos por aceleracao. ta totalmente protegido contra mal acerto. todos os fatores sofrem comparacao com o d.c. e simplesmente o sistema nao deixa passar de 85%. assim nem precisa de avisos... ex se vc colocar 110% de tempo de injecao, colocar 255 no tempo de injecao (maximo) ao chegar proximo ao rpm limite ele vai acabar retirando esses 110%. entao eh bom saber que todas as correcoes só valem se o tempo de injecao final nao passar de 85% do duty cicle. se vc pensar que pode precisar de mais de 100% de combustivel em alguma situacao, nao pode precisar de 255 de tempo de injecao. os bicos devem ter margem pra nunca usar o maximo do tempo de injecao pra deixar as correcoes atuarem. obvio, p q nao se pode contar com mais que o maximo de injecao pq simplesmente é impossivel
façam algum comentario ae ricardo, o que acha desse raciocinio?
valeuz
-
gostei desse recurso a prova de semcontrole burraldices
dai a ideia se precisa converter o carro a alcool no minimo os bicos teriam q ser 15% maior nesse raciocinio pra q nao ultrapasse os 85% de dc? dai um estudo beleza, pra ver o qnt tem q ter no turbo pra suprir o alcool a pressao e nao passar a barreira dos 85%
-
lost, tá aí:
req_fuel
req_fuel (short for required fuel ) is the part of the computation that tells megasquirt how big your injectors are, and what your cylinder displacement (cyl_disp) is. it is the length of time in milliseconds [ms] that megasquirt should ?squirtá to give the stoichiometric amount of fuel (14.7 air/fuel ratio for gasoline) at 100% ve, a manifold absolute pressure (map) of 100kpa, and an air temperature of 70 degrees fahrenheit for a complete stroke cycle.
the air/fuel ratio (afr) is the mass of air compared to the mass of fuel entering the engine, so for a 14.7:1 afr we have 14.7 times as much air (by weight) as fuel. the volume ratio is much more extreme, about 9000:1, and varies considerably with temperature, so afr is always specified by mass.
a stoichiometric mixture is chemically correct for complete burning with no extra fuel or air left over. for gasoline, a 14.7:1 afr is considered the correct amount for burning with no leftover air or fuel. note that it is not necessarily the ratio for most power or efficiency.
req_fuel is calculated from the equation:
req_fuel10 = 36,000,000 * cid * airden(100kpa, 70?f)/(ncylafr*injflow ) * 1/divide_pulse
where:
36,000,000 is the number of tenths of a millisecond in an hour, used to get the pounds per 1/10 milllisecond from the pounds/hours rating of the injectors.
req_fuel = computed injector open time in tenths of millisecond.
cid = cubic inch displacement.
airden = air density (pounds per cubic inch) at map pressure of 100 kpa, air temperature of 70
degrees f, and barometric pressure of 30.00 in hg
ncyl = number of cylinders
injflow = injector flow rate in pounds per hour.
divide_pulse = injection divide number for number of injections per engine cycle.
the airden function (used above) is defined by:
airden(map, temp) = 0.0391568* (map*10-31.0)/((temp+459.7) * 1728)
or, in metric units (kg/m3, ?c, kpa):
airden(map, temp) = 1.2929 * 273.13/(t+273.13) * map/101.325
where:
map = manifold air pressure in kpa,
temp = air temperature in degrees f,
459.7 is used to convert from fahrenheit to absolute temperature,
1728 is used to convert from pounds per cubic feet to pounds per cubic inch.
note that there is also a small adjustment for relative humidity.
you can read more about the air density function at the air density and density altitude calculations site.
hence, the req_fuel value is the amount of fuel (in milliseconds) required for a map reading of 100 kpa, manifold air temp of 70 degrees f, and a barometer of 30.00 in hg, for one complete filling of one cylinder (volumetric efficiency = 100%), without any enrichments.
megasquirt fuel equation
what megasquirt does is take this downloaded req_fuel number and then multiply (or adds) values that scale this number, to come up with the injected pulse width [pw]. therefore, pulse width is:
**pw = req_fuel * ve * map * e + accel + injector_open_time
the e above is the multiplied result of all enrichments, like warm-up, after-start, barometer and air temperature correction, closed-loop, etc:
e = gamma_enrich = (warmup/100) * (o2_closed loop/100) * (aircorr/100) * (barocorr/100)**
and
warmup is the warm-up enrichment value from the table the user enters in megatune,
o2_closed loop is the ego adjustment based on the ego sensor feedback and the ego settings the user enters in megatune,
aircorr is the adjustment for air density (based on the intake air temperature), and
barocorr is the barometric correction based on the ambient air pressure (usually taken at start-up, but a second baro pressure sensor can be added to megasquirt-ii for continuous updates to the barocorr).
gamma_enrich (e) is the scaling factor applied to the req_fuel value, along with ve(rpm,map) and map. for all of the corrections, 100% means no enrichment/enleanment, since the value is normalized by 100 to get a fractional multiplier.
notice there are two other factors added to this - one is the acceleration enrichment, and the other is the injector open time.
even if you set req_fuel to zero you are still left with the injector open time (and accel enrichment if activated). the reason for adding in the open time is that it takes a finite amount of time to open the injector before one reaches a linear control state where injector time relates to fuel flow. the controller compensates for the open time by adding it to the applied total pulse width, otherwise the pulse would be too short.
-
o mapa de injecao, na verdade, nao é de injecao…
? de efici?ncia volum?trica. no fim das contas vai acabar dando na mesma, mas foi o jeito que eles decidiram fazer...
o req_fuel é calculado para uma efici?ncia volum?trica de 100%. mas como ela nao é constante (a efici?ncia) - varia em funcao da carga de map x rpm - precisa do mapa sim...
-
hum… e se ao inves disso, eu calculasse tudo no programa do pc, com base em uma outra tabela de e.v. que fica soh no pc e transferisse os dados ja pre-calculados pra uma tabela de tempo de injecao no modulo? no meu modulo essa tabela é de tempo de injecao e as correcoes sao feitas depois sobre o tempo que ta la...
-
nao vejo problema nenhum em vc ter feito a programacao direta do ti. eu deixaria do jeito que vc já comecou fazer mesmo…
mas como tem as correcoes pra incomodar, o certo seria mesmo programar um mapa de ti sem as correcoes e depois o software gerar o mapa definitivo já com as correcoes antes de mandar pro processador. mas convóm vc mostrar esse mapa gerado com as correcoes em algum lugar, mesmo nao sendo possível alter?-lo, para que as coisas nao fiquem no escuro .
-
mas no caso, eu aplico as correcoes na hora, em tempo real, sobre o mapa. poderia mostrar o % que as correcoes por temp do ar, temp da agua, vacuo e etc estao somando, ex: correcoes = +10% ou -10%
?, ontem fiz outro teste e é bem trabalhoso de se achar um valor mais ou menos que de marcha lenta, depois outro que acelere bem, outro em meia carga… mas nao que seja impossivel... só quem regula tem que ter uma certa sensibilidade e ouvido... mas da tb pra tentar bolar alguma coisa pra ele se regular meio que sozinho pela sonda, pelo menos a marcha lenta... vamo ve...
outra coisa, porque tem enriquecimento por barometro se trabalha com pressao absoluta? no caso se a pressao atmosferica for maior automaticamente pelo mapa isso ja sera corrigido. porque uma outra correcao?
-
outra coisa, porque tem enriquecimento por barometro se trabalha com pressao absoluta? no caso se a pressao atmosferica for maior automaticamente pelo mapa isso ja sera corrigido. porque uma outra correcao?
seguinte:
-
uma delas (aircorr) é correcao em funcao da densidade do ar, variável em funcao da temperatura no coletor de admissao.
-
a outra (barocorr) é correcao em funcao da pressao no coletor de admissao (leitura de map).
-
-
comentario pertinente, mas tudo parece tao simples, virou a chave, ligou o motor e vamos q vamos pra todo lado…..agora os caras debatendo funcionamento, fase isso, akilo, correcao por x, y, so assim pra ver a fundo como é complexo um funcionamento, fora do motor, nada de pecas mecanicas ainda....
-
entao, mas se a tabela é montada ja levando em consideracao o map, se tenho um valor em 900mbar e outro em 1000 mbar, em sp tenho 930mbar, terei uma quantidade de combustivel. descendo pro litoral terei 1000 mbar, basta colocar um pouco mais de combustivel em 1000 mbar, pra que uma segunda correcao? o que quero dizer eh que em sp quando abro todo o acelerador tenho 930mbar no coletor, e em santos quando abro todo o acelerador tenho 1000, automaticamente ja sera injetado mais combustivel, desde que em 1000mbar na tabela eu ponha mais combustivel claro… tendeu?
a correcao por temp é basica, essa eu entendo. mas o barometro sinceramente nao vejo porque. a nao ser que se queira forçar um enriquecimento a mais fora da tabela.
outra coisa, o barometro é adquirido armazenando a pressao no coletor antes da partida do motor. da pra ver que no caso dum turbo, 1500 mbar de rpessao no coletor em sp significa uma coisa com relacao ao barometro, e ao nivel do mar significa outra.
iae? sera mesmo necessaria essa correcao, mesmo que seja redundante?
-
ops, nao consegui editar…
acrescentando...
a nao ser que eu esteja entendendo os termos errado, mas barometro nao é igual a map. barometro é a pressao atmosferica do local, map sim é a pressao no coletor durante o funcionamento do motor. teoricamente o maior valor de map é igual a pressao atmosferica no local, desde que nao se tenha sobrealimentacao nem restricao por filtro de ar sujo. tanto que o correto é ter um segundo sensor de pressao, pra funcionar como barometro, caso contrario ao subir ou descer a serra, vc fica com o barometro descalibrado.
-
eu nao sei se entendo direito, mas deve ser levado em conta, afinal nao vai trabalhar no ambiente sp/santos, pense como as montadoras montam as estrategias, afinal o carro q anda na holanda baixo do nivel do mar, pode andar no alto da bolivia a tantos muitos mil metros do nivel do mar, e o carro nao sofre falhadeira com tamanha mudanca
-
hum… essa correcao é coisa de firmware recente... esse v2.683 foi lancado faz pouco tempo. e pelo jeito precisa do segundo map pra funcionar isso.
entao isso quer dizer que nao é essencial , pois vamos e venhamos, já funcionava sem isso antes...
veja o que eu achei:
barometric correction (megasquirt-ii v2.683+ only ):
this lets the user define a 6-element table of barometric correction (based on either the initial map value, or a second baro map sensor value). a 6 point table of baro pressure vs a correction change will allow you to modify the baro correction equation for your particular car, compensating for things like exhaust size. with this you can take ego feedback vs barometric data at various elevations or barometric pressures. from this you can determine the % additional/ less correction you need to get your afr where you want it. this does require that you add a second map sensor for baro. but you should be able to tune the table to give you a very stable afr at any altitude.