03-31-2009, 05:13 PM
|
#1 (permalink)
|
EcoModding Lurker
Join Date: Oct 2008
Location: nova scotia
Posts: 35
Thanks: 2
Thanked 0 Times in 0 Posts
|
OBDuino Feature Request...
If the OBDuino started using the Atmega328 Chip (A drop in replacement) there will be an extra 16KB of programming space to add some fun features!
Any one have any great Ideas?
- We could add an SD card expansion and log each current outting trip to graph on the computer...
- Make a slightly graphical display for feed back so people who don't like numbers will know how they are doing...
- Add a varriable for the price of gas so you know how much each trip is costing...
What have you always wanted?
|
|
|
Today
|
|
|
Other popular topics in this forum...
|
|
|
04-01-2009, 03:22 AM
|
#2 (permalink)
|
EcoModding Lurker
Join Date: Jul 2008
Location: US
Posts: 76
Thanks: 1
Thanked 15 Times in 6 Posts
|
Maybe you could add the math for aero calcs. I mean it can be a gadget where it understands the rate of deceleration in the next 10 secs (for example).
How about the DACs for the O2 fooling in case of an HHO add-on?
CHT reading (or other external ADC-assisted monitoring).
|
|
|
04-08-2009, 01:53 PM
|
#3 (permalink)
|
EcoModding Lurker
Join Date: Aug 2008
Location: California
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
|
I like this thread. I want to add to the wish list.
I think the refresh rate is too fast. I see instant mileage jumping around several times per second. I think updating data every 1/2 second or so would be about right.
I would like to see another display option. Bigger display with instant mpg and current mpg on the same display. If need be, drop the im and cm and have just the numbers. While driving, the IM and CM are the only ones I pay any attention too, and if those two could be larger on the same screen, that would be great.
|
|
|
04-08-2009, 09:00 PM
|
#4 (permalink)
|
NightKnight
Join Date: Dec 2008
Location: Placerville, CA
Posts: 1,595
Thanks: 315
Thanked 314 Times in 187 Posts
|
Something I would really like to see, and I think would really provide a powerful tool for those serious about hypermiling, is combining the SD card logging with GPS. So it is possible to later graph all the good GPS data (speed, location, elevation) against instantaneous FE. Or maybe, SD card logging by default, with the option to add a GPS module and then combine GPS and FE logging.
__________________
|
|
|
04-09-2009, 03:22 PM
|
#5 (permalink)
|
EcoModding Lurker
Join Date: Apr 2009
Location: Debolt, Alberta
Posts: 78
Thanks: 1
Thanked 2 Times in 2 Posts
|
I was just thinking yesterday, that the cost of the gas on a trip would be nice.
Perhaps even a graph showing speed and fuel consumed (per minute?) Could also display a base line for average speed and fuel used during trip (or last tank).
|
|
|
04-12-2009, 10:57 PM
|
#6 (permalink)
|
EcoModding Lurker
Join Date: Apr 2009
Location: Rochester, NY
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
|
Can you even use the 328p on the current OBDuino code (r127)?
Last edited by gone22; 04-12-2009 at 10:57 PM..
Reason: typo
|
|
|
04-13-2009, 08:15 AM
|
#7 (permalink)
|
EcoModding Lurker
Join Date: Oct 2008
Location: nova scotia
Posts: 35
Thanks: 2
Thanked 0 Times in 0 Posts
|
You can, The 328 is just a drop in replacement.
The current code fits on the smaller chip, there is just no room left for features.
|
|
|
04-16-2009, 05:28 PM
|
#8 (permalink)
|
EcoModding Lurker
Join Date: Aug 2008
Location: California
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
|
I would also like to see gallons used with the tank data.
|
|
|
06-11-2009, 05:20 PM
|
#9 (permalink)
|
EcoModding Lurker
Join Date: Apr 2009
Location: Debolt, Alberta
Posts: 78
Thanks: 1
Thanked 2 Times in 2 Posts
|
I am thinking of adding a trip data recall function which will allow the user to save trip data for later recall. This could be useful for comparing two or more runs. Say you have an idea for a new route to work. Is it faster, shorter, uses less fuel?
I was thinking this would likely be restricted to Outings (generally a one way trip) but would TRIP or TANK data be useful as well?
The data set (fuel used, time, distance...) could be named for easier recall about what the trip was about. An automatic name could be like "Outing A", "Outing B"... or you could over ride that with a new name like a driver name or street name. Once named, we could easily sort them by shortest or longest distance, fastest or slowest time...
Would distance, fuel, and time be enough or should other data (maybe wasted) be included too. (If we include just three PID's the name would take the other PID. Additional PIDs could be utilized with two screens per trip, or a title screen, or selectable PIDs...)
Saving the data could occur automatically prior to a data reset, or perhaps via a button selection (like all three buttons at once.)
Anyway. What are your thoughts. Would you like to see this feature?
|
|
|
06-12-2009, 12:09 PM
|
#10 (permalink)
|
EcoModding Lurker
Join Date: Aug 2008
Location: Massachusetts USA
Posts: 84
Ziggy - '95 Audi S6 Sedan Manfred - '97 Audi A6 Quattro Sedan 90 day: 20.61 mpg (US) Clarabell - '03 Audi A4 Quattro Avant Sherman - '98 Audi A6 Quattro Avant Cab - '96 Audi Cabriolet
Thanks: 0
Thanked 2 Times in 2 Posts
|
Quote:
Originally Posted by randerson0248
...I think the refresh rate is too fast. I see instant mileage jumping around several times per second. I think updating data every 1/2 second or so would be about right.
|
Software mods: MPG is a rolling average refreshed every 2 seconds, top right is miles to empty, bottom right is projected total tank miles. Running ATmega328.
Code:
//Code for display of rolling average MPG at less frequent intervals
//Based on MPGuino v0.75
//Captures the last 10 MPG values
//Calculates the average MPG for those 10 values
//Refreshes the MPG display each 2 seconds
//insert before setup()
pFunc displayFuncs[] ={
...
doDisplayInstantA, //insert this in displayFuncs[]
//insert in setup()
displayFuncNames[x++]= PSTR("InstantA "); //add this for new display template
//insert before loop(), add these global vars to retain values across loops
//mpg averaging
unsigned long instAvgMpg = 0;
unsigned long instMpg = 0;
unsigned long prevMpg = 0;
byte loopIdx = 0;
byte dispIdx = 0;
//insert in loop() right after sei();
//accumulate mpg values in an array of 10 values, oldest values are overwritten
instMpg = instantmpg(); //get current mpg
if (instMpg >= 999999000) instMpg = prevMpg; //if unbelievably high, use mpg from previous loop
prevMpg = instMpg; //keep track of value for next time through loop
avgBuff[loopIdx][mpgIdx] = instMpg; //store the current mpg in array
loopIdx++; //increment the loop number
if (loopIdx > 9) loopIdx = 0; //keep track of 10 loops max
//mpg averaging & display damping
if (dispIdx <= 0) { //recalculate after some number of loops
instAvgMpg = 0; //initialize to zero
for (byte x=0; x<10; x++) instAvgMpg += avgBuff[x][mpgIdx]; //sum all array values
instAvgMpg = instAvgMpg / 10; //calculate avg of array values
dispIdx = 4; //recalculate after 4 loops (~2 seconds)
}
dispIdx--; //decrement index each time through loop
//insert new display template containing instAvgMpg
void doDisplayInstantA(){displayTripCombo('i','M',instAvgMpg,'S',instantmph(),'G','H',instantgph(),'D',current.miles());}
It works for me! YMMV.
Last edited by rmccomiskie; 06-12-2009 at 12:55 PM..
|
|
|
|