Back: \ MembersPage/JanSaenen
Input variables where Inj_out is dependant of with vapourised injection
Used sensor: Bosch 0 281 002 576
Free ADC inputs mcp3208:
- EC18pin12 available ADC because secondary_trigger: HALL
- EC18pin6 available ADC because onboard MAP
- EC36pin13 used for secondary trigger Hall
injection pulsewidth calculation
- For Fuelpressure: PW*MULTIPLIERpressure (look-up table) \ MembersPage/Fuel
- Fueltemperature PW*MULTIPLIERtemperature uses a look-up table (NTC) \ MembersPage/NTC
Density of a gas (eg. air) by universal gas law: proportional to 1/T (so multiply calculated fuel amount by Tref / T, both in degrees K: traditionally called "airdenfactor" that we make match matfactor - see EasyTherm)
For liquid injection, the liquid flowrate (through an injector) is proportional to sqrt(pressure) so we need to multiply fuel pw with (pressure ^ -0.5).
How to know pressure (over the injector!) is another question.
- Maybe it's regulated to a known value
- or maybe in some cases it's lower and directly or indirectly (eg. via tank temp and known curves) measured actual fuel pressure must be considered.
The pressure over the injector can be calculated with MAP and Fuelpressure. This should be regulated to a set value but with for example a fuel cut-off this can increase. The regulator is linked to the MAP so pressure over the injector should always be the same.
The problem seems to be pretty simple I'd make a formula of constants and two variables. These variables are Fuel_temperature in Kelvin and Fuel_Pressure in kPa. The outcome of this formula must be the density of LPG at a certain temperature and pressure. For an ideal gas this indeed is pretty simple. The formula use would be The universal gaslaw. The problem is this universal gaslaw only aplies to ideal gasses. Therefore this can't be used for propane and butane.
n=nr of mol
T=temperature in Kelvin
V=volume in M^3
P=pressure in kPa
When I rearange the formula looks like this: P/T=(R*n)/V. With R, n and V being constants P/T are linked to each other and when set into a graph this should be a linar function. When you look at the graphs shown below it becomes clear that the graphs don't match. Therefore the formula isn't right!
One must keep in mind the universal gaslaw doesn't apply non-ideal gasses like propane and butane.
'I'm going insane here. I can't figure this out on my own. I'll try to get some help'
Why do you want the formula to match ?
In the tank, you have boiling liquid (not simply gas). Pretty much the same way as in your coolant system >100C. It self regulates itself;
- some liquid will be boiled
- pressure in the closed system raises
- until it reaches high enough pressure so more liquid will not boil
- this pressure depends on temperature - see measured curves
So the graphs are the boiling point at certain pressures. (shown rotated 90 degrees compared to traditional representation: pressure for certain temp, instead of temp for certain pressure)
If you have numeric representation of the tables, we can make an approximating formula, from a reasonable function
- using x, x*2 and 1/x and constants, for example.
- propertherm has some simulated annealing functions that we could use, or
- the simplest way is probably to use octave.org, see below
- Or we just make a table lookup.
Example for octave.org function to fit a parametric curves on numeric data stored in "transferfunc.dat" file columns 1:2 :
f(x) = a*x*x*x + b*x*x + c*x + d + e/x) fit f(x) "transferfunc.dat" using 1:2 via a, b, c, d, e plot "transferfunc.dat" using 1:2 with points 6, f(x)
Nice data sheets for gasses:
With this graph of pressure and temperature of Propane:
Same graph for butane-n. No surprise that boiling point for certain pressure is higher than for propane (tends to stay in liquid for higher temp, since the butane molecules are longer):