Welcome back to Sipa's garage for more lessons about ms41 tuning.
But before we can tune it we need have some way to log what is happening inside the engine control unit.
Without possibility to log what is happening in the engine the tuning capability if the ecu is quite useless.
Because you can't see what is happening in each situation and what changes you need to do.
So if you really want to tune your engine, you need to take logs what is happening in there.
For logging every bmw with siemens ms41 has the round diagnostic connector inside the engine compartment
Wait until I open this.
And I will stick the cable in here.
At least try to.
And now from this usb cable we can log what is happening in the engine.
But I have found out that probably the ignition coils are creating so much interference.
That the connection to the car cuts out while logging.
So this not the best way to do the logging.
Normally when the car is standing still this works just fine but when you start driving it loses connection in some point.
Even if you move this adapter cable out of the engine compartment.
So this isn't very good setup for logging.
Which is quite bad because most cars only have this.
Some cars with M52 engine also have the OBDII port inside the car.
But for example the Euro e36 don't have it.
But the US models which are OBDII compliant do have the port inside the car.
So you can log through that.
I'm not exactly sure if e39 or z3 with m52 have it or not.
But the car owners probably know if they have it.
Well. But because my car doesn't have the OBDII connector inside.
And i can log from this round connector because the connection gets lost all the time.
I did my own OBDII connector inside the car.
Normally with cars that have the OBDII connector inside from factory, you will leave this cap on.
But with this version I did I have to leave this cap of I I want to use the connector inside the car.
And lets go inside the car.
Hopefully this shows on the camera.
But there you can see the OBDII port that I made inside the glove box.
I don't know where the factory OBDII port is located.
But it was quite handy to put it here where the charging port of the flashlight would be.
And back her is the EWS box which has all the wires needed.
Which are switched +12v, ground and K-line.
So those can be split to this OBDII connector.
But that is there so I will plug the cable in.
And if you can see the led did light up.
So it's good to go.
And then we can go to the PC and see what is going on.
So now we are in the windows.
And I will first start the car.
Or wait. Not yet.
Traditionally if you wanted to see what is happening inside the engine you would use the INPA.
So now I will turn the ignition on.
And then the INPA opens.
I will pres Shift + F7 for old BMW models.
From here I will choose e36 and ms41.0 for m52.
So that one.
And it's now connected.
Here you can see the ECU-id.
And this is quite handy at least for one thing because if I press F1 now.
And we can see the data connection and it shows now MS410DS3
These ms41 units can use ds0, ds1, ds2 and ds3 protocol.
I I know correctly the US OBDII units have all ds2 protocol.
But the euro models for example can be anything of those four.
And my unit seems to use ds3 and I will later tell why ti's good to know that.
But now I will.. should I close this..
Fuck no. That was wrong button.
So Shift + F7 again.
And again choose the engine.
Like that.
hmmmnn...
Was it "status lesen"
F5
And F1.
Nooo.. Maybe we need to choose analog 1.
And now the INPA is currently reading the live data from the engine.
So you might be able to do logging with this.
Because as you can see it reading several values at the same time.
So I will crank the car now.
Like that and it's now showing the RPM for example.
But as you can see this is dead slow of updating those values.
If I for example flip the throttle.
It managed only show one value when the RPM got higher.
So in practice these values that it shows are quite useless.
This INPA works in quite stupid way because it asks for response that has all the values shown here at the screen.
But it only reads one value from that report and then it asks for next report and reads he second value from that.
So the reports form the engine are updated several times in second, these values are updated dead slow.
So for example the RPM is updated only once in few seconds.
And I don't even I you could record these values so lets close the INPA.
Yes I want to end. Thank you.
Then I have this program made by Finnish guy called testo.
This is very handy tool.
This uses same connection than the INPA uses.
So as ecu I will choose ms41 fuer... Which was it..
This says the same ms410DS3
So this is the same connection as INPA uses.
And here I can choose the engine speed like this.
And choose that for the graph.
And as you can see this is updated much faster.
And it can show several values when I flip the throttle.
This can record these values to the file.
But this has the same problem as INPA because if I choose the next value.
Which I will take. Maybe TPS.
The update speed will now get slower. As in INPA because this uses same system.
So I will not use this.
But I will use the mode made by the Pheno who made this whole software.
Which is called serial.
Here is serial modes for ds1 or ds3 and so on.
You need to choose the serial mode for your ECU and mine was that DS3.
So I will choose DS3 serial and read general values from motor.
And now we can see that the RPM is updated quite fast.
And in addition to that we can choose all these values in the list like this.
And I will make this bigger.
And the update speed doesn't get slower when you log more values.
As you can see.
I think this is even faster than single value updating in INPA mode so this is very fast updating.
And you can log many values at the same time.
I will add lambda integrators as well.
And then you want to log more than this.
For example these lambda 1 and 2 signals etc.
So choosing those will slow the update speed. But all in one window can be used without slowing down.
And then if you want to record a log.
We can choose file logger from here.
And now all values that we had choose here are show in the logger.
And are written to log file.
So for example if I click start.
It starts recording and the lines count up.
So now we can take a short drive.
And after that we can take a look at the log.
I will move this aside.
Now.
Yeah. That kind of log file.
I will now stop the recording.
Then if we want to see the log that we recorded it's easy by using the mega log viewer.
So I will open it from here like this.
This is vintage PC so it will take time.
Now and I will open the log.
Where it saves those.
Was it C and testo..
I will take the log form today.
Which is this one here. So open.
And then the values that are important.
Which are for example engine load.
And then from the other recorded values we can take the RPM..
What should we put here. Should I take...
maybe...
Ignition advance.
Then....
And the lambda integrators are important so lets show those.
And lets zoom.
And this is how the log file looks.
On the top at red is the engine load and below that in green is the RPM.
Then is the ignition advance.
Now we can see what is happening inside the engine.
For example the lambda integrators are important if you want to see how well your base fuel map is working.
Which is 14.7 AFR map.
And as you can see this very high resolution data.
For example we can take a look at that last throttle flips I made.
Lets look at that.
The engine speed has been and 5,5k at max.
Ignition advance at 30 degrees.
My engine currently runs on e85 so the the advance is quite high.
So it ok.
Now we can clearly see that with steady throttle the lambda integrators have been in use.
And when I press throttle more, it comes out of the closed loop and the integrators are disabled.
What has been the max load.
It looks to be 72.
Now the testo still uses the connection like INPA.
Which causes that the load is not the same as in RomRaider.
This load value has to be multiplied by 10 to get it same as in RomRaider.
So the load has been at about 700.
Even thought it shoes 72 something.
Then there was something else strange also.
The fuel adaptations have to be divided by 2 to be close to the real percentage values.
But this is how you can log with testo. It's very easy to get working and it's good for all kinds of things.
But the RomRaider also has it's own logger software.
Which should be here somewhere.
RomRaider.
There we can open the logger.
No I don't have the cars definition file.
This also needs own definition file like the RR editor.
Oh yeah I need to close the testo at the background
Yeah ok.
Lets see if the connection will work..
No... I will unplug this...
Oh it just started working before I unplugged it.
Will you work now.
No..
lets start that again.
Yeah now it works.
As I said this needs also definition file like the RomRaider editor.
For US model ECU ID's which you could see here or check with INPA as we did previously.
There is currently official definition files for ECU ID's for the the ms41.1 and ms41.2 at the RomRaider site.
These US models use the DS2 protocol and the RR logger works well for those ECU models.
But mine uses DS3
And the only difference that I found was that there isn't lambda sensors after katalysators. Which are called downstream lambda probes.
Or what ever.
So after I tried to use the definition file for DS2 US ECU ID's and just add my ECU ID to there it didn't work.
At all.
But I got this logger working after I removed my ECU ID from the secondary lambda sensors lines at the definition file.
So even though this is not a official RR logger definition file, I will add link for this in the Video description. So you can get the MS41.0 with ECU ID 1432401
And that should also work for other EURO ms41.0 ECU ID's like 1429861.
Those fixes I made will probably be updated to the official definition file in some point. But the time I made this video, for EURO ECU's you will need to use my modified definition.
So I will put the links to the video description and update that when needed.
But back to the logger itself. Like in Testo there is these same values which are marked with *
So these marked with * can be logged without slowing down the update rate.
So as you can see it now updates quite fast.
And from here you can see the graphs in same way as in Testo.
And from this list you choose what graphs to show.
But to record the log file itself I can put some name for it.
I name this "example"
And click start file log.
And I will make a short drive to show how this works.
Yeah. That kind of stupid skids.
But we have now log file.
I will just stop this. Not that... Stop file logging.
I pressed wrong button first but hopefully that is ok.
Now we can go back to MegLogViewer.
Like this.
Open... And I need to look for the logs from different place.
C.. users.. And my name and...
RRlogger. Are those here.
Ok I will open the example from here.
In here we can see the same information as previously.
I can again put here...
Engine speed. So RPM here.
Integrators here..
Ignition advance here.
The locations and colors are now different than before.
But the information is the same.
But now for example the load can be compared to the RomRaider Editor.
And that has been at the 720.
RPM is ok also.
Integrators also... So in this way you can see the logs in MegaLogViewer.
But there is one more really handy feature in the RomRaider Logger.
Which is adaptation tables for knock and for other things also.
And I can show those from here. Yes interrupt.
Lets wait it to read those.
Now it shows those.
In here we can see the fuel adaptations.
It has now made my bank 1 4.68% richer and bank 2 7.50 % richer.
My bank 2 lambda is in bad condition so that's why these differ because these should be pretty much the same.
If everything is ok.
But because both adaptations are at the plus side it means that my base fuel map is still bit too lean. I have to make it about 5% richer.
So these are good for that.
These additive values are mostly used at idle.
So for example if the injector dead time is off much it may be seen here.
Because at idle the dead time makes biggest effect and this is used then.
This multicaptive is then used in normal driving condition when closed loop is in use.
And then here at the bottom are the knock adaptation tables which are very important when driving with regular pump gas.
So this shows how much it has reduced timing for certain load and RPM because of knock.
And this is for every cylinder.
I have these at zero even with high advances because I drive with e85.
It has heard something here and there. But these are probably just some random things.
Because it shouldn't knock when using e85.
But from these tables you can see that for example if here is 2 to 3 degrees of retard for every cylinder.
Shown here for every table. Like you see these random values here.
But some kind of area here.
Then you would go to the ignition base map in RR editor and drop the ignition advance from the area where this shows knock retard.
Then flash it in and go for drive.
If you drop enough advance the knock retards shouldn't come back.
So if you want to fine tune your ignition map, you can raise the advance until you see knock retard here.
So if the engine retards the advance, you should go back from there.
So you will want to aim as high advances as you can without seeing any knock retard in here.
And these maps should look like this that there is no knock retard anywhere.
Some random small values here and there don't matter.
But no knock retard is the goal.
And this is really handy for that.
But for EURO ms41.0 this is bit problematic because with US ms41.1 and ms41.2 the logger definitions work and this table reading also works just fine.
But this table reading wont work with EURO MS41.0 at the moment.
That is because in the RR editor definition file there is no ECU id for this ID41 maps. Which is used for MS41.0
So I had to add my ECU ID also for the RR editor definition file.
I can add also link for that and this is version 0.43 where I have added my ECU id.
Problem is that this CAL ID 41 is used also with other ECU ID's so those still wont work.
If you have different ms41.0 ECU id than me, you have change it by hand.
At least at the moment I made the video, this is the situation.
So if you for example have the 1429861 ECU id you will need to change that in the places you see this my ID. (No need. I added second file for that also).
But if you don't have correct ECU ID defined the table reading wont work.
But yes.
But this is pretty much how you can log ms41 engine control units.
Very important when trying to tune your engine. You can't do much without.
So I had to go through that first.
We will continue in the next video and hopefully in that we can start the tuning itself.
So subscribe if you want to know more.
No comments:
Post a Comment