August 28, 2009

Basic Data Log Recording, And A New Tuning Approach

Filed under: Uncategorized — NefMoto @ 2:02 pm

I found some time to write a simple data recorder for my data logging interface. Currently it dumps the entire log to a CSV file to make it easy to load into Excel. Once in Excel I am able to create graphs, charts, and what not. At the moment I have about 40 variables defined, and I am working on getting all of the ones needed for performance tuning defined. Once I have that setup, I will go back to tuning my car in the next few days hopefully.

In doing some bug fixes to my data logger, and writing my simple data recorder, I ran into some problems with my asynchronous multi-cast delegates that I use for handling messages from the OBD port on the car. Turns out the entire problem came from an unhandled exception in one of my asynchronous worker threads. It took me a while to realize this was the problem, because when you don’t handle an exception, the thread which executed the exception terminates, which caused my worker thread to disappear without doing any work. Once I had tracked the problem down it was an easy fix, but still a painful few hours of debugging.

I also had a chance to spend some time speaking with one of my friends who is a very knowledgeable Audi tuner. I asked him about the problems I was having using the enrichment tables to control the air fuel ratio. He told me that my problem most likely came from the underscaled MAF and injector settings I was using. Since the ME7 ecu is load based, and the fueling tables are all load based, if I had screwed up the load calculation, then all of the fueling calculations would be off. So I then spent some time going through the assembler code for the fueling calculations.

What I found was the ME7 ecu does all of its fueling calculations assuming an air fuel ratio of 14.7:1, always. The way it achieves different air fuel ratios is by scaling the load value that is used as a reference for the fueling calculations. So if the ecu wants to run lean, it scales the reference load down, and if it wants to run rich, it scales the reference load up. After I had that sorted out I went back to some of the air flow to load calculations I had looked at previously. The ecu uses many different maps and correction factors to convert air flow to load, and this makes the conversion non-linear. This causes my air fuel ratio problem when trying to control the ratio using the load based enrichment maps. Underscaling the MAF and injectors to avoid dealing with the load or air flow limits, assumes a linear relationship between air flow and fuel. But, because the amount fuel to inject is based on load, and load does not have a linear relationship with air mass the MAF reads, you end up with the wrong air fuel ratio.

My approach going forward is not to underscale the MAF and injectors, but instead raise any of the necessary limits to allow more load, and air in the system. This means starting from scratch with a new tune, but that is fine, since my current one is more a beta test.

August 24, 2009

Let’s get started with some dev talk

Filed under: Uncategorized — NefMoto @ 1:12 pm

The goal of the NefMoto blog is to involve the user community in the development of my engine tuning products. Hopefully this way I can deliver a product that the community values and which meets the users needs.

As the website becomes more functional I will be adding more information about the products I am working on. Until then, I will try to share some of my thoughts on what I am working on as the project moves from the proof of concept phase and into the consumer product creation phase.

Currently I am dividing my time between setting up this website, and creating a proper tune for my car. I am currently having some trouble with the air fuel ratio under high boost. As far as I can tell everything is working properly, and the car is requesting the correct air fuel ratio, but my wide band sensor is saying I am running to lean. I am using the lambda enrichment tables to achieve the air fuel ratio, rather than hacking the injector calibration tables like most tuners do.

So I have decided I am going to put some more work into my custom data logger. The data logger I have written can read or write anything from the memory in the engine computer. I am going to spend some time logging some of the intermediate values that are used in calculating the fuel injection values, and see if I can figure out why the requested air fuel ratio is not being achieved. Currently the data logger I have written only allows me to display values, and doesn’t support recording to a log file. Hopefully I can get some basic recording written in a few days, and start figuring out my fueling problems.

I am hesitant to put to much effort into the data logger though, since my plan is to completely redo all of the user interface as I start creating the consumer version of my software. Hopefully I can get some data recording put together quickly.

August 20, 2009

Yay blog!

Filed under: Uncategorized — NefMoto @ 6:06 pm

Hello everyone!

Welcome to the NefMoto blog and its first amazing post!

Please stay tuned as I get this whole internet thing figured out, and start adding some cool content to the site.



Powered by WordPress