Futura injecao eletronica
-
lost, talvez isso te ajude:
na ms, vc pode tanto definir aceleracao rápida por map como por tps, ou um misto dos dois. em ambos os casos, leva-se em conta a variacao da leitura em funcao do tempo.
o volume injetado é definido em funcao dessa porcentagem de variacao da leitura.
-
hum… legal kra mas por ai da pra imaginar que a ms trabalha com a leitura em velocidade fixa, pra poder calcular %/s ou kpa/s.... na minha injecao ja tem enriquecimento por variacao de map. vou colocar entao mais ou menos a mesma logica que usei no map, pro tps. mas nao vou criar exatamente os mesmos parametros da ms, eu acho. por um lado pra nao fazer uma copia(se bem que talvez nao tenha como fugir em alguns casos por ser a maneira que funciona melhor), por outro pq nao sei por tras exatamente o que significa cada um deles. aí que esta o problema. no lado do tps eu consigo imaginar como implementar todos os parametros, os calculos por tras e tudo. mas na parte do map, nao entendo o que sao os parametros da parte de baixo... tenho uma ideia, mas nao tenho certeza...
outra coisa: aí estao os botoes que eu falei algumas paginas atras sobre ler/gravar na ecu... o que eu tinha dito, é que no meu sistema nao tem isso no mapa pq no mapa vc altera e ele transmite na hora. mas nessa parte de configuracao eu colocaria os botoes, pra que vc só transfira quando tiver terminado a configuracao toda...
valeu o apoio ae ricardo... se puder participar mais, fazer algum outro comentario, qqr coisa, eu agradeceria... a galera parece que nao quer se pronunciar muito, mas foi justamente pra dar abertura pra novas opinioes pra tentar fugir do existente que eu criei este topico.
sei que as vezes parece que eu sou um maluco querendo fazer alguma coisa que muitos ja fizeram, mas a novidade que eu tenho a oferecer está na plataforma da injecao, que usa multiplos processadores pra tarefas especificas, aumentando a capacidade e espansibilidade do sistema. o software vai sendo construido, parametros vao sendo adicionados, isso é normal em qualquer desenvolvimento. nada sai do forno ja pronto. nao é um bolo ou uma pizza. o maior problema é que eu ainda nao tenho como testar tudo facilmente, pra ir desenvolvendo e testando em um motor. mas quem sabe em breve eu consiga melhorar isso.
bom, a ideia é essa. um sistema com muito poder de processamento (hoje o volume de combustivel é calculado a cada 4 ciclos, na ms li que sao 16 ciclos, por exemplo) com a estrutura de multiplos processadores, o sistema pode controlar inumeros injetores sequencialmente, possui controle de corrente, nao parametrizavel por enquanto, mas possui algum controle, nao será necessario comprar um modulo externo pra trabalhar com bicos de baixa... estou tentando fazer com que o acerto seja mais simples, ja calculando muitas coisas no lugar do preparador, que dificilmente pega uma calculadora antes de acertar um carro. bom, em resumo as vantagens desse sistema seriam essas, alem de fazer um bom gerenciamento do motor, que é o mais importante.
bom, é isso ae. obrigado denovo e um abraço.
-
em desaceleracao usa-se x% do tempo de injecao, no caso do print da ms esta configurado com 90%, e nao importa a velocidade com que se tirou o po do acelerador? é isso?
um sistema que trabalhe em % tando pra enriquecer quanto pra empobreces vcs acham que nao ficaria legal?
a ecu ja esta lendo a o tps e calculando a variacao tanto de aceleracao quanto desaceleracao em funcao do tempo. agora é testar como fica melhor usar essas informacoes e modificar a quantidade de combustivel…
deem opinioes ae
valeu
-
lost tem q levar em conta q seu projeto ja tem dimensoes q poucos ainda vao por dentro de como estao indo as coisas, eu ja parei a muito tempo atras….
-
lost, respondendo sua dúvida com relacao ao lance da desaceleracao:
the decel fuel amount (%) (tpsdq) enrichment can be used to improve the economy of your vehicle. it reduces the amount of fuel injected when the tps (and/or map) are decreasing. a decel fuel amount setting of 100% means no cut. 1% means reduce the pulse width by 99%, to 1% of what it normally would be. note that decel enrichment is only applied above 1500 rpm.
ou seja, aparentemente nao leva em conta o tempo/velocidade de reducao de rpm, sendo aplicada somente abaixo de 1500 rpm.
-
q isso semcontrole, nao para de trocar ideia nao po
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)
novidade: sera que um hallmeter desses quebra o galho?
amanha vou testar denovo no carro… ja deve ta quase dando pra andar com ele, depois de um bom tempo regulando né...
-
olha tá feinho
mais quebra o galho sim
hahahahah
muito loco
-
nao parei, mas meu conhecimento ja ficou la atras, entao so olho e meto o bedelho vez ou outra
-
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.