Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

False values O2-Lambda-Sensor #173

Closed
Artur-debug opened this issue Sep 17, 2021 · 8 comments
Closed

False values O2-Lambda-Sensor #173

Artur-debug opened this issue Sep 17, 2021 · 8 comments
Labels

Comments

@Artur-debug
Copy link

Untitled 1

Hi, how is the lambda value O2 sensor calculated? I think the app miscalculates this value (Service 01 PID 24). The values that AndrODB shows me do not match a turbo diesel and other.

It looks like AndrOBD calculates the lambda value (Service 01 PID 24) like this:

EQ_RAT = 2/65535 * Byte_A_B_PID24

However, if Byte_A_PID4F (Service 01 PID 4F) is set, then this must be included in the calculation:

EQ_RAT = Byte_A_PID4F / 65535 * Byte_A_B_PID24

For me the Byte_A_PID4F = 32_ (10) and therefore has to multiply the AndrOBD values by 16 so that it fits.

photo_2021-09-17_14-17-38
photo_2021-09-17_14-17-46

Important details on your environment:

  • Android OS version 10
  • AndrOBD version 2.2.4
  • OBD adapter type
  • Audi A3 Sportsback (8PA) 2005 2L TDI 140 PS
@Artur-debug
Copy link
Author

Artur-debug commented Sep 17, 2021

Additional info:

->ATZ
ELM327 v1.5
->0120
41 20 90 00 00 01

@Artur-debug
Copy link
Author

Small supplement:
The picture above was taken with the engine idling. 16 * 0.217 would result in a lambda value of 3.472. I would say that this is a normal value for turbo diesel. The values can also be far higher in idle mode.
Engine at full load, AndrOBD measures values around 0.08 and would produce a correct lambda value of 16 * 0.08 = 1.28. In the range Lambda 1.05 - 1.5, turbo diesels work at full engine load according literature.

@fr3ts0n
Copy link
Owner

fr3ts0n commented Sep 18, 2021

HI @Artur-debug
Thank you for your detailled report.

You are absolutely correct.
Currently AndrOBD does only use a static calculation for PID's $24... data.
The values of PID $4F are not considered yet.

I'll try to implement this and inform you when a test version is availabe.

@fr3ts0n fr3ts0n added the bug label Sep 18, 2021
@fr3ts0n
Copy link
Owner

fr3ts0n commented Sep 19, 2021

Test version (V2.4.2) is available here for your tests:
https://t.me/AndrOBD_dev/235

@fr3ts0n
Copy link
Owner

fr3ts0n commented Sep 19, 2021

Sorry, I didn't mean to close the issue before you can confirm the BugFix ...

@fr3ts0n fr3ts0n reopened this Sep 19, 2021
@Artur-debug
Copy link
Author

Artur-debug commented Sep 19, 2021

Works great.

In the picture you can see the lambda warm-up phase. With broadband probes, the lambda value is generated by a pump current in the probe. 0 mA pump current means lambda = 1. During the warm-up phase the pump current is also 0 mA and shows me lambda = 1. The later values also fit.

I was only able to test PID 24. Other lambda probes are not installed in the vehicle. Thank you!

screen-2021-09-19-16-21-31

@Artur-debug
Copy link
Author

Artur-debug commented Sep 26, 2021

Often the first two values do not go into the new calculation with the new scaling factor 32.

0.062 x 16 = 0.992

CSV-Data:
screen-2021-09-26-20-54-27

@Artur-debug Artur-debug reopened this Sep 26, 2021
@fr3ts0n
Copy link
Owner

fr3ts0n commented Sep 27, 2021

Looks like these are requests of PID $24 before PID $4F got requested and conversion factors got updated
Currently there is no way to define dependencies between PIDs and ensure requests in order of dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants