_______ ( ____ \ | ( \/ | | | | ____ | | \_ ) | (___) | (_______)
### ## ### ## ## ## ## ## ### ## ## ## ###
## ## ## ## ## ## #### ##
##### ## ## ## ## ##### ## ##
### ## ## ##### ## ## ## ## ### ##
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: 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 * EC18pin16 * 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. P*V=n*R*T R=8,34157 [J/mol*Kelvin] 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 : <code> 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) </code> ----- ** OnlineCourse/PulseWidthCalculation *PWlpg=PWpetrol*MULTIPLIERpressure*MULTIPLIERtemperature ----- Nice data sheets for gasses: http://www.airliquide.com/en/business/products/gases/gasdata/index.asp?GasID=53 With this graph of pressure and temperature of Propane: http://www.airliquide.com/en/business/products/gases/gasdata/images/VaporPressureGraph/Propane_Vapor_Pressure.GIF 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): http://www.airliquide.com/en/business/products/gases/gasdata/images/VaporPressureGraph/Butane_Vapor_Pressure.GIF Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.