Datalog Measuring Oil Level through MHD

fstbtstr

Specialist
Apr 14, 2024
50
48
0
tried to log with this custom channel file:

<?xml version="1.0" standalone="yes"?>
<ActualValues>
<ActualValue ReqBlock="20,89" Size="1" DataA="1" DataB="0.0" Prefix="C0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">C0002089_O_niveau</Text>
</ActualValue>
<ActualValue ReqBlock="20,89" Size="1" DataA="1" DataB="0.0" Prefix="D0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">D0002089_O_niveau</Text>
</ActualValue>
<ActualValue ReqBlock="31,A3" Size="1" DataA="1" DataB="0.0" Prefix="D0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">ozniv</Text>
</ActualValue>
<ActualValue ReqBlock="31,A3" Size="1" DataA="1" DataB="0.0" Prefix="C0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">ozniv_C0</Text>
</ActualValue>
</ActualValues>

downloaded this file on my phone after naming it as 98G0B_UserChannels.xml, clicked on import custom user channels and after MHD said these were imported successfully, they never showed up in a channel list. What could be a problem?
 

fstbtstr

Specialist
Apr 14, 2024
50
48
0
Okay, I was able to figure out why my custom channels didn't show up. I needed to put DataA="1.0" instead of DataA="1". I have logged potential ozniv variable's address (no conversion applied) by driving the car in the area with lots of very steep hills. I'm attaching some logs, seems that this var kind of follows the terrain and sometimes dips a lot when braking hard on the incline.
 

Attachments

  • 2024-05-17 01_00_14 98G0B Stg0-1.csv
    202.3 KB · Views: 15
  • 2024-05-17 01_06_29 98G0B Stg0-1.csv
    92.7 KB · Views: 10
  • 2024-05-17 01_10_06 98G0B Stg0-1.csv
    56 KB · Views: 6
  • Like
Reactions: houtan

houtan

Lieutenant
Nov 2, 2017
650
331
0
Ride
135i N55 DCT; PS2
nice job. Are you thinking it could be nmot? I don’t see that variable in your prior post, but I’d be glad to test it out and see what it does on my car.
 

fstbtstr

Specialist
Apr 14, 2024
50
48
0
nice job. Are you thinking it could be nmot? I don’t see that variable in your prior post, but I’d be glad to test it out and see what it does on my car.
no, nmot is just engine speed (rpm), I just didn't scale it, was just trying to test some of the other vars I have cross-ref'd from the S55. ozniv is probably what we want, it's an unflitered (meaning not averaged over time) oil level. I have logged the raw memory value, but it just needs to be multiplied by 0.2929 to get the right scale.
Here's a custom channel file with scaling applied to ozniv and nmot (probably don't want it, there's already Engine RPM option)
<?xml version="1.0" standalone="yes"?>
<ActualValues>
<ActualValue ReqBlock="D,CB" Size="1" DataA="39.9" DataB="0.0" Prefix="D0" Units="rpm" RoundingDigits="2">
<Text xml:lang="en">$nmot</Text>
</ActualValue>
<ActualValue ReqBlock="31,A3" Size="1" DataA="0.2929" DataB="0.0" Prefix="D0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">$ozniv</Text>
</ActualValue>
<ActualValue ReqBlock="D,F7" Size="1" DataA="1.0" DataB="0.0" Prefix="D0" Units="" RoundingDigits="2">
<Text xml:lang="en">$B_brems</Text>
</ActualValue>
</ActualValues>
 

houtan

Lieutenant
Nov 2, 2017
650
331
0
Ride
135i N55 DCT; PS2
Thanks. Had a chance to log ozniv today.

Log 1, starting the car and letting it idle then shutting it off: https://www.spoolstreet.com/graphs/log-05-19-2024-04-29-30.36297/?series=12,15,28&zoom=-4,360

Log 2, a quick wot pull: https://www.spoolstreet.com/graphs/log-05-19-2024-04-30-59.36298/?series=12,15,28&zoom=-2,209

Log 3, driving around: https://www.spoolstreet.com/graphs/log-05-19-2024-04-31-21.36299/?series=12,15,28&zoom=-19,1899

Seem like the value would go down when slowing down.

Before starting the car, the value would be around 74, but would drop into the 60s idling in place.

I will compare to the live readings on my obd tool to see if they values are similar and report back.
 

fstbtstr

Specialist
Apr 14, 2024
50
48
0
Thanks. Had a chance to log ozniv today.

Log 1, starting the car and letting it idle then shutting it off: https://www.spoolstreet.com/graphs/log-05-19-2024-04-29-30.36297/?series=12,15,28&zoom=-4,360

Log 2, a quick wot pull: https://www.spoolstreet.com/graphs/log-05-19-2024-04-30-59.36298/?series=12,15,28&zoom=-2,209

Log 3, driving around: https://www.spoolstreet.com/graphs/log-05-19-2024-04-31-21.36299/?series=12,15,28&zoom=-19,1899

Seem like the value would go down when slowing down.

Before starting the car, the value would be around 74, but would drop into the 60s idling in place.

I will compare to the live readings on my obd tool to see if they values are similar and report back.
This is "live" unflitered oil level, so might be different from what you will get from the tester. Try d0009a11 and c0001ffd as well, these seem to be the equivalents of short-term and long term averaged oil levels for the diag tester. I.e.,
<?xml version="1.0" standalone="yes"?>
<ActualValues>
<ActualValue ReqBlock="9A,11" Size="1" DataA="0.2929" DataB="0.0" Prefix="D0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">$short-term</Text>
</ActualValue>
<ActualValue ReqBlock="1f,fd" Size="1" DataA="0.2929" DataB="0.0" Prefix="C0" Units="mm" RoundingDigits="2">
<Text xml:lang="en">$long-term</Text>
</ActualValue>
</ActualValues>
I think it makes sense that the oil level reading drops slightly after the engine start, oil pump starts to pull it from the pan. When you brake, oil sloshes to the front of the pan away from the sensor.
 
  • Like
Reactions: wheela

fstbtstr

Specialist
Apr 14, 2024
50
48
0
Did some more logging today and couldn't help but try to play with fuel cut:
Triggered it with brake and throttle pedal.
 
  • Like
Reactions: houtan

wheela

Captain
Jun 4, 2021
1,400
816
0
Twin Cities, MN
Ride
2015 e84 X1 35i Msport
Did some more logging today and couldn't help but try to play with fuel cut:
Triggered it with brake and throttle pedal.
Sorry for the potentially ignorant question, but what exactly is this? Are you holding down WOT and the brake at the same time and the fuel cut keeps you at 2600 rpm until you let off the brake? Is this using that WOT box from the thread in the other forum?
 
  • Like
Reactions: houtan

fstbtstr

Specialist
Apr 14, 2024
50
48
0
you are right, I am holding the accelerator pedal at WOT while pressing the brake while stationary, and the rpms are kept at about 2,600.
No, this is not using WOT box, this is just my small DME patch. Pretty sure WOT box only works with ignition and doesn't work with DI. I would do the ignition cut, too, but still have a stock cat on.
 
  • Like
Reactions: houtan and wheela

wheela

Captain
Jun 4, 2021
1,400
816
0
Twin Cities, MN
Ride
2015 e84 X1 35i Msport
you are right, I am holding the accelerator pedal at WOT while pressing the brake while stationary, and the rpms are kept at about 2,600.
No, this is not using WOT box, this is just my small DME patch. Pretty sure WOT box only works with ignition and doesn't work with DI. I would do the ignition cut, too, but still have a stock cat on.
Very cool! Do you have any logs? What do load% and AFR do when it's holding at 2600rpm? I'd have thought such a function would either be purely load-based, or load & timing-based.
 
  • Like
Reactions: houtan

wheela

Captain
Jun 4, 2021
1,400
816
0
Twin Cities, MN
Ride
2015 e84 X1 35i Msport
@fstbtstr. This got me thinking - if the DME sees AFR going lean because it can't supply enough fuel (for whatever reason), will it automatically cut load request back in an effort to keep AFR in check? I had always assumed it would just compensate through fuel trims, bit until reading your post it hadn't occurred to me that it may also limit load% to hit AFR if it was unsuccessful via increasing fuel trims.
 
  • Like
Reactions: houtan

fstbtstr

Specialist
Apr 14, 2024
50
48
0
you need to look at this in terms of how DME limits the engine speed, not how the load can limit the speed. Say, you either hit a redline really quick or the DSC or EGS are requesting to limit the engine speed (i.e., EGS wants to shift etc). In that case, reducing load may be too slow, plus, you'll need to get that load back after that request is done which also takes time. Look up "fast torque intervention path" or something like this. What we are doing here is we are activating some of the steps happening when the DME chooses that path. usually, that path is either fuel injection cut or ignition angle reduction/ignition cut. I didn't log the load or AFR, I didn't think it would be too relevant. AFR probably would be all over the place, and not sure what would be a correct comparison for load. However, boost, boost target and WGDC would probably be good indicators.
 

Attachments

  • fuel_cut_log.csv
    8 KB · Views: 5
Last edited:
  • Like
  • Informative
Reactions: houtan and wheela

wheela

Captain
Jun 4, 2021
1,400
816
0
Twin Cities, MN
Ride
2015 e84 X1 35i Msport
Thanks for that explanation👍 Very interesting to see that log, boost actually goes negative for the first half second or so, and slowly builds up to around 3psi after about 1.5 seconds. It think it would be really interesting to see what the throttle plate, load request & actual, and AFR are doing during those 1.5 seconds.
 
  • Like
Reactions: houtan

houtan

Lieutenant
Nov 2, 2017
650
331
0
Ride
135i N55 DCT; PS2
Tested oil level with my obd tool, which also reads live data. I’m pretty sure ozniv is oil level. My live data starts around 74 mm with the car turned off. When I turned the car on on a cold start it drops into the 30s, and then recovers back into the 65 or 66 mm range. I then loaded mhd and pulled up and ozniv and it had a similar oil level read out. Nice job dood!

IMG_0171.jpeg

IMG_0172.jpeg

IMG_0174.jpeg

IMG_0175.png
 

Attachments

  • IMG_0176.png
    IMG_0176.png
    542.5 KB · Views: 3
  • Like
Reactions: fstbtstr and wheela

fstbtstr

Specialist
Apr 14, 2024
50
48
0
Yes, I probably should have looked at the throttle angle as well. I did look at what I think is requested Valvetronic valve lift (Valve lift req. warm (mm)), it seems to be maxxed out at 9.8 - 9.9mm
 
  • Like
Reactions: wheela

fstbtstr

Specialist
Apr 14, 2024
50
48
0
Tested oil level with my obd tool, which also reads live data. I’m pretty sure ozniv is oil level. My live data starts around 74 mm with the car turned off. When I turned the car on on a cold start it drops into the 30s, and then recovers back into the 65 or 66 mm range. I then loaded mhd and pulled up and ozniv and it had a similar oil level read out. Nice job dood!

View attachment 94891
View attachment 94892
View attachment 94893
View attachment 94895
I am happy to help and thanks for taking the time to test this! I also didn't come away empty-handed, I have learned how to define custom logging channels for MHD.
 
  • Like
Reactions: wheela

wheela

Captain
Jun 4, 2021
1,400
816
0
Twin Cities, MN
Ride
2015 e84 X1 35i Msport
Yes, I probably should have looked at the throttle angle as well. I did look at what I think is requested Valvetronic valve lift (Valve lift req. warm (mm)), it seems to be maxxed out at 9.8 - 9.9mm
Timing too (and modeled torque) I'm guessing that's being retarded from the torque limits that are tripping?

Edit: I also noticed boost spikes up when you let off, it would be neat to see how these other parameters may be influencing that👍
 

fstbtstr

Specialist
Apr 14, 2024
50
48
0
Timing too, I'm guessing that's being retarded from the torque limits that are tripping?
Yes, probably would be a good idea to do the next time I make the changes and log. Right now, the revs are at around 2600-2700 rpm, which is right around or slightly higher than the converter's stall speed. I need to be lower than the stall speed otherwise this will never get triggered. I'd say I was getting about 5 psi of boost requested when I just brake-torqued the car in D, so we'll probably not gain much with this function on the AT car cause damn the torque converter and its stall speed. But idk, maybe setting the boost target in the code might help. But this should be very useful for the MT and maybe DCT cars. I haven't seen any logs of DCT N55 cars sitting at launch control rpm, could be useful to see.
P.S. well, BMS says it's useful for the automatics, so who am I to argue:
 
Last edited:
  • Like
Reactions: houtan and wheela

fstbtstr

Specialist
Apr 14, 2024
50
48
0
just to keep this going - does anybody know how to log signed variables like angles etc? what if that variable is 2 byte?
 
  • Like
Reactions: houtan