09-02-2013, 05:18 PM
|
#31 (permalink)
|
Master EcoModder
Join Date: Oct 2011
Location: Poland
Posts: 840
Thanks: 185
Thanked 167 Times in 117 Posts
|
Nifty! I like it. Can't wait to test the code myself.
__________________
Quote:
Gerhard Plattner: "The best attitude is to consider fuel saving a kind of sport. Everybody who has enough money for a strong car, can drive fast and hit the pedal. But saving fuel requires concentration, self-control and cleverness. It's a challenge with the nice effect of saving you money that you can use for other more important things."
|
|
|
|
Today
|
|
|
Other popular topics in this forum...
|
|
|
09-03-2013, 01:55 AM
|
#32 (permalink)
|
MPGuino Supporter
Join Date: Oct 2010
Location: Hungary
Posts: 1,808
iNXS - '10 Opel Zafira 111 Anniversary Suzi - '02 Suzuki Swift GL
Thanks: 831
Thanked 709 Times in 457 Posts
|
Added a 10 element bar graph display. Trying to figure out how to add a 10 element differential bar graph display, as is described for the ScanGauge e in this post.
|
|
|
09-04-2013, 01:05 AM
|
#33 (permalink)
|
MPGuino Supporter
Join Date: Oct 2010
Location: Hungary
Posts: 1,808
iNXS - '10 Opel Zafira 111 Anniversary Suzi - '02 Suzuki Swift GL
Thanks: 831
Thanked 709 Times in 457 Posts
|
Base 0.86tav code - Improves on the base MPGuino v0.86 code by adding button debouncing, enhanced settings editor, long keypress support. Adds an extra 4-value trip readout screen. and guaranteed trip updating. More tightly integrates metric/US readout functionality via a stored EEPROM setting, to include auto-conversion of other stored EEPROM settings that are in metric/US units. Adds ability to enable or disable serial data logging via stored EEPROM setting. Base code size is 13472 bytes.
User-calculatable Fuel Factor - Adds the ability to calculate the microseconds/gallon fuel factor that is necessary for MPGuino to convert fuel injector pulse lengths into fuel amounts. Adds two stored EEPROM settings, number of injectors and injector size in mL/min. Adds 220 bytes to the code.
Buffered LCD output - 32-byte buffer allows background LCD character output, enabling the main program to basically "fire and forget" character strings to the LCD. This reduces CPU workload by a sizeable amount. Adds 96 bytes to the code size.
Buffered serial output - Similar to buffered LCD output, this adds a 32 byte buffer for background serial data logging. Reduces CPU workload by a sizeable amount, though not by as much as with buffered LCD output. Adds 148 bytes to the code size.
Window Filter - Instantaneous Fuel Economy may jump around, due to OBDII engine computer algorithms that check catalytic converter efficiency, and replenish the oxygen content of the NOX catalyst. Adds an 8-element filter that smooths out instantaneous fuel economy readings. Adds the ability to enable or disable this ability via stored setting. Adds 304 bytes to the code size.
Clock - Adds a system clock display screen, as well as the ability to easily set the clock. Clock display is also used as a "screen saver" when the inactivity timeout is reached. Adds a tank Time-To-Empty screen. Adds 780 bytes to the code.
Trip Save - Adds the ability to save trips to one of 6 different trip slots in EEPROM. Adds ability to view stored trip data. Tossing around the idea of adding the ability to edit stored trip data, which would increase the code size by a small amount. Adds 1414 bytes to the code size.
Screen Editor - Adds the ability to customize any of 8 display screens, with any of 18 calculated output values for either instant, current, or tank trips. Also adds ability to read MAP sensor values, when paired with the Chrysler MAP correction module. Adds 592 bytes by itself, or adds 720 bytes when paired with the Chrysler MAP correction module.
Bar Graph - Adds a 10-element bar graph display of current fuel economy. Adds an adjustable time period for each element, via stored setting. Adds 752 bytes to the code.
Better large font - Exactly the same as with the MPGuino code hacks. Adds pretty large numbers. Adds 24 bytes to the code.
Chrysler MAP correction - Adds the ability to correct instantaneous fuel injector pulse readings by a generated factor that is based off of MAP sensor readings. This is needed on late model Chrysler vehicles that have a constant fuel system pressure, as this translates directly into variable fuel injector differential pressure that the MPGuino is not normally capable of addressing. Adds 7 stored settings. Adds 1548 bytes (so far). This is a work in progress.
Last edited by t vago; 09-04-2013 at 01:25 AM..
|
|
|
The Following User Says Thank You to t vago For This Useful Post:
|
|
09-04-2013, 04:01 AM
|
#34 (permalink)
|
Master EcoModder
Join Date: Oct 2011
Location: Poland
Posts: 840
Thanks: 185
Thanked 167 Times in 117 Posts
|
Quote:
Originally Posted by t vago
Window Filter - Instantaneous Fuel Economy may jump around, due to OBDII engine computer algorithms that check catalytic converter efficiency, and replenish the oxygen content of the NOX catalyst. Adds an 8-element filter that smooths out instantaneous fuel economy readings. Adds the ability to enable or disable this ability via stored setting. Adds 304 bytes to the code size.
Chrysler MAP correction - Adds the ability to correct instantaneous fuel injector pulse readings by a generated factor that is based off of MAP sensor readings. This is needed on late model Chrysler vehicles that have a constant fuel system pressure, as this translates directly into variable fuel injector differential pressure that the MPGuino is not normally capable of addressing. Adds 7 stored settings. Adds 1548 bytes (so far). This is a work in progress.
|
One question. Are you reading OBD? As i remember MPGuino has just two input signals. Pulse from injector and pulse from VSS. So how do you get MAP readings or why do you need OBDII filtering?
Anyway I trully appreciate your effort and hoping that I'll be able to test your code soon. It has so many great features.
__________________
Quote:
Gerhard Plattner: "The best attitude is to consider fuel saving a kind of sport. Everybody who has enough money for a strong car, can drive fast and hit the pedal. But saving fuel requires concentration, self-control and cleverness. It's a challenge with the nice effect of saving you money that you can use for other more important things."
|
|
|
|
The Following User Says Thank You to AndrzejM For This Useful Post:
|
|
09-04-2013, 07:11 AM
|
#35 (permalink)
|
EcoModding Apprentice
Join Date: Dec 2012
Location: Portugal
Posts: 197
Thanks: 93
Thanked 70 Times in 64 Posts
|
Nice Work!
|
|
|
09-04-2013, 11:30 AM
|
#36 (permalink)
|
MPGuino Supporter
Join Date: Oct 2010
Location: Hungary
Posts: 1,808
iNXS - '10 Opel Zafira 111 Anniversary Suzi - '02 Suzuki Swift GL
Thanks: 831
Thanked 709 Times in 457 Posts
|
Quote:
Originally Posted by AndrzejM
One question. Are you reading OBD? As i remember MPGuino has just two input signals. Pulse from injector and pulse from VSS. So how do you get MAP readings or why do you need OBDII filtering?
|
I am directly reading the raw MAP sensor voltage using ADC1. That's an extra wire going from my MPGuino hardware. Looks like I'll have to add a separate MAP sensor that would be configured solely as a barometric sensor, to measure absolute atmospheric pressure (this will go to ADC2 via a separate wire). This is important, because my fuel pressure regulator regulates fuel to 58 psig above absolute atmospheric pressure, and the MAP sensor itself returns readings in absolute atmospheric pressure.
Quote:
Originally Posted by AndrzejM
Anyway I trully appreciate your effort and hoping that I'll be able to test your code soon. It has so many great features.
|
Thank you so much. It means a lot to see this.
I had meant to have some sort of release candidate available for today, but the code I edited last night locked up for no discernable reason, no matter what combination of features I enabled. So, I'm going through the code again, this time with the MPGuino sitting right beside me so I can test the code as I remove features and insert #IFDEF statements.
|
|
|
09-05-2013, 03:52 AM
|
#37 (permalink)
|
Master EcoModder
Join Date: Oct 2011
Location: Poland
Posts: 840
Thanks: 185
Thanked 167 Times in 117 Posts
|
Now I get it To get the atmospheric pressure you can read it before starting the engine or anytime when engine is not spinning (EOC), using engine's MAP sensor. Then remember its value to have a decent reading of the absolute pressure. It shouldn't vary from the absolute pressure much, unless you're traveling long distance or in mountains. But I'm sure that will be a good starting point for you, to get correct readings of the fuel pressure.
Quote:
I had meant to have some sort of release candidate available for today, but the code I edited last night locked up for no discernable reason, no matter what combination of features I enabled. So, I'm going through the code again, this time with the MPGuino sitting right beside me so I can test the code as I remove features and insert #IFDEF statements.
|
Don't worry it's perfectly normal I remember when I was changing my MPGuino code (based on metric "Canadian" version), and everything looked just fine on my tedt Guino, untill I havent uploaded the code to MPGuino mounted in the Berta. It's good to have many copies of the code and make a new one after any major change. But I'm sure you know that
Anyway it's a really great job and I'll be honered to be your beta tester
__________________
Quote:
Gerhard Plattner: "The best attitude is to consider fuel saving a kind of sport. Everybody who has enough money for a strong car, can drive fast and hit the pedal. But saving fuel requires concentration, self-control and cleverness. It's a challenge with the nice effect of saving you money that you can use for other more important things."
|
|
|
|
09-05-2013, 04:45 AM
|
#38 (permalink)
|
EcoModding Apprentice
Join Date: Aug 2009
Location: terra firma
Posts: 138
Thanks: 4
Thanked 24 Times in 22 Posts
|
Quote:
To get the atmospheric pressure you can read it before starting the engine or anytime when engine is not spinning (EOC)
|
Since the engine is still spinning in EOC, couldn't that generate vacuum, which would affect MAP readings? (i don't have a dog in the MAP/Chrysler hunt)
|
|
|
The Following User Says Thank You to nickdigger For This Useful Post:
|
|
09-05-2013, 05:00 AM
|
#39 (permalink)
|
Master EcoModder
Join Date: Oct 2011
Location: Poland
Posts: 840
Thanks: 185
Thanked 167 Times in 117 Posts
|
Quote:
Originally Posted by nickdigger
Since the engine is still spinning in EOC, couldn't that generate vacuum, which would affect MAP readings? (i don't have a dog in the MAP/Chrysler hunt)
|
Engine Off Coasting... Engine is not spinning Of course you need to wait a few seconds to get accurate readings, but that shouldn't be a problem
__________________
Quote:
Gerhard Plattner: "The best attitude is to consider fuel saving a kind of sport. Everybody who has enough money for a strong car, can drive fast and hit the pedal. But saving fuel requires concentration, self-control and cleverness. It's a challenge with the nice effect of saving you money that you can use for other more important things."
|
|
|
|
09-05-2013, 12:50 PM
|
#40 (permalink)
|
MPGuino Supporter
Join Date: Oct 2010
Location: Hungary
Posts: 1,808
iNXS - '10 Opel Zafira 111 Anniversary Suzi - '02 Suzuki Swift GL
Thanks: 831
Thanked 709 Times in 457 Posts
|
Quote:
Originally Posted by AndrzejM
Now I get it To get the atmospheric pressure you can read it before starting the engine or anytime when engine is not spinning (EOC), using engine's MAP sensor. Then remember its value to have a decent reading of the absolute pressure.
|
I do that now. If the engine is not running, and the vehicle is not moving, I use P(MAP) as P(baro). Unfortunately, due to the way my 2nd stage filter operates, it takes a few seconds for the reading to build up when the engine is not running. I will have to fix that. Maybe move the 2nd stage out of the master timer (what I've lately come to think of the timer2 overflow interrupt) and into the ADC interrupt, right after the 1st stage filter.
The 2nd stage operates either once per injector firing, or twice a second - whichever is faster.
Quote:
Originally Posted by AndrzejM
It shouldn't vary from the absolute pressure much, unless you're traveling long distance or in mountains. But I'm sure that will be a good starting point for you, to get correct readings of the fuel pressure.
|
I do travel many hills on my commute, and my work and my house are at different elevations. It's not much (14.6 psia vs 14.3 psia), but it is enough.
Quote:
Originally Posted by AndrzejM
Don't worry it's perfectly normal I remember when I was changing my MPGuino code (based on metric "Canadian" version), and everything looked just fine on my tedt Guino, untill I havent uploaded the code to MPGuino mounted in the Berta. It's good to have many copies of the code and make a new one after any major change. But I'm sure you know that
|
It's just annoying, is all. To pour all that work of one day into modifying the code, only to have it just sit there with a blank screen, when you knew for a fact it worked well only a few hours before, and when you are not able to test the code immediately because the MPGuino itself is not readily available, that well and truly sucks.
I have archived previous days' coding effort since 15 July. It's good to have, in order to revert back some change, or even just to copy code I thought I didn't need, only to find I needed it after all.
Quote:
Originally Posted by AndrzejM
Anyway it's a really great job and I'll be honered to be your beta tester
|
Thanks again. Hopefully, I'll have the code posted here today or tomorrow.
Quote:
Originally Posted by AndrzejM
Engine Off Coasting... Engine is not spinning Of course you need to wait a few seconds to get accurate readings, but that shouldn't be a problem
|
Unfortunately, the MPGuino is not equipped to even be able to tell whether the engine is actually not spinning. With only a fuel injector sense and a VSS sense (and a MAP sense for my code), you can't really tell for certain whether the engine is actually stopped. All it can tell you is whether fuel injectors are firing or not. As I have an automatic, my engine will continue to spin, due to the torque converter coupling, as I am coasting in DFCO, which is a form of EOC. There is no fuel being injected, so the engine is technically off, but it is still spinning.
Now, you can certainly guess if the engine is not spinning, by examining the MAP reading to see if P(MAP) is below some threshold value, which is what I can do in the meantime.
With the addition of a barometric sensor, it becomes fairly easy to tell. If P(MAP) = P(baro) and there are no fuel injector pulses being sensed, then it's pretty obvious that the engine is not spinning.
|
|
|
|