Jump to content

Welcome To Mopar1973Man.Com LLC

We are privately owned, with access to a professional Diesel Mechanic, who can provide additional support for Dodge Ram Cummins Diesel vehicles. Many detailed information is FREE and available to read. However, in order to interact directly with our Diesel Mechanic, Michael, by phone, via zoom, or as the web-based option, Subscription Plans are offered that will enable these and other features.  Go to the Subscription Page and Select a desired plan. At any time you wish to cancel the Subscription, click Subscription Page, select the 'Cancel' button, and it will be canceled. For your convenience, all subscriptions are on auto-renewal.

Posted
  • Owner

Ok gang... I'm going to share a few tidbit of information for advance OBDII tinkering.

 

If you happen to have a OBDLink or ELM327 tool you should be able to tag along here. I will have to give a bit of thanks to @Me78569 for getting me started with the Bluetooth terminal on Android. Once I had that I could directly communicate with the OBDLink and pass commands to it. So starting out I passed the command...

 

ATSP0

This basically tells the tool to communication with the detected protocol of the vehicle ours happens to be ISO 9141-2 protocol. After that I passed the command...

0100

Which happens to be PID Mode 01 with the PID 00 which tells the vehicle to report back which ODBII PID are available. It returns back.

41 00 98 3A 80 14
41 00 90 18 80 14

Screenshot_2016-05-27-15-44-30.png

 

At this point the hexadecimal bytes you want are 98, 3A, 90, 18...

 

So now you need to take these 4 bytes on convert them to binary.

 

98 = 1001 1000

3A = 0011 1010

90 = 1001 0000

18 = 0001 1000

 

So now lay it all out in one long string. This is counting 20 hex (32 dec) from left to right.

 

1001 1000 0011 1010 1001 0000 0001 1000

 

So you have counting only the high bit (1's)...

 

01 - MIL Status Light

04 - Engine Load

05 - Coolant Temperature

(11) 0B - Manifold Pressure

(12) 0C - RPM

(13) 0D - MPH

(15) 0F - Intake Temperature

(17) 11 - APPS Sensor

(20) 14 (Unknown yet)

(28) 1C - OBD Compliance should report 05 hex.

(29) 1D - (Unknown yet)

 

NOTE: (number) is decimal... Just for the human side for counting placement. ECM/PCM use the hexadecimal values only.

 

Now if you want to add any of these as a custom gauge.

 

Module/Header: 486

OBD Mode: 01

PID Number: (Any of the above will work use only the Hex number not the decimal)

Priority: Leave on High

Equation: Look it up on Wikipedia at https://en.wikipedia.org/wiki/OBD-II_PIDs

 

Screenshot_2016-05-27-15-46-44.png

 

 

 

Edited by Mopar1973Man

  • Replies 102
  • Views 18.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Well, since I've taken it upon myself today to solve the mystery of my truck's poor performance on 2-stroke oil (see cumminsforum), as a side effect I solved the mystery of the boost formula.  

  • boost fooling from the ez.  Remember the obdlink is showing you what the ECM is seeing, the Edge is limiting what hte ecm sees.

  • Mopar1973Man
    Mopar1973Man

    Hunting for hidden data that the VP44, ECM, PCM, ABS, SRS, etc might be talking over the bus and being able to read this hidden data. Later on like after 04.5 it seem most OBDII PID data is consistent

Posted Images

Featured Replies

The PIDS just are not there.  take Boost for example, I read it from the canbus string in a PNG.  It's where it should be and makes sense, BUT say baro, which is in the same PNG is not reported.

 

The slot is there but no info is reported to it.

  • Author
  • Owner
9 hours ago, jag said:

This is a very interesting subject, & the knowledge is outstanding,

But what I don't understand is that the PID's are all relating to something. For instance, say the boost reading is in a PID group under pressure's, so why can't we read the rest of the headers under the pressure PID group like trans gov pressure, or oil pressure?

Same goes for temps, if we can read IAT & ECT, why can't we read the rest  of the PID'S under say the temp PID group. I myself would love to see the Injection pump fuel temp. 

I see on Mads they use PID groups, PID short name & PID long name, but don't use numbers.

OK, now I'm really lost!

 

When you manually call the PID's from the OBDII port the ECM and PCM report exactly what information is available. Remember this is only for smog reasons. Also remember the classification of our truck is "NON-OBD Compliant" (05 Hex) So the rest of the data does not have to exist for public use. 

Spacehiker, I play guitar (20 yrs) and I'm a recording engineer (by hobby) and understand your logic. That's called making the room flat or tuning the room by sweeping frequencies 20-20k hz and notching with an eq. It's usually corrected bc the room generates unwanted noise at certain frequencies. 

These guys were using some formula's to try and convert from abs pressure to gage pressure with no luck.

For me to understand the problem (so I can ask one of these smart people I work with at Virginia Tech to help us, is the issue in that the map reading the scan tool is giving us in correct for a conversion to gage pressure? I would like to think that some formula should be able to convert this to psi for us. I have no idea what it should be but I could ask some smart math people to help us.

 

 

 

  • Author
  • Owner

Problem is its actually a 2 byte value. The MAP sensor is capable of seeing up to 40 PSI. So you have to work with A and B byte value and figure out to do the math on it. The PID standard only sees 1 byte value so this why it terminates premature. 

Could you combine a 2 byte value to one with a formula you think? Like an if, then, type thing? 

If pressure reaches x value then use B byte value? 

  • Author
  • Owner

Got to use a outside program like OBDLink or similar that can work with two bytes formulas. @Me78569 managed to figure out the formula for the early series MAP sensors but never quite got the later series quite right. Offset numbers are different and range of bytes is different too.

@Mopar1973Man 

 

My truck reports map values as a 1 byte string.  So long as the max value is under 255 in whatever format it is you shouldn't need more than 1 byte.

 

 

To read a 2 byte string you would just do

 

A + (B * 256)

Edited by Me78569

Yea, if the ecm reprots boost in KPA you would be allowed 255 in a 1 byte value, which translated to psi would be 72.xx 

 

(kpa * 2) / 7 = psi.

 

It's actually 6.93492728 or something like that but you get the point

On 1/14/2017 at 10:04 AM, Me78569 said:

@Mopar1973Man 

 

My truck reports map values as a 1 byte string.  So long as the max value is under 255 in whatever format it is you shouldn't need more than 1 byte.

 

 

To read a 2 byte string you would just do

 

A + (B * 256)

 

 

I tried this formula and MAP just read 0 the whole time. I'm wondering if that was because I had something else set up wrong though. 

 It should have output something...hmm

I very much doubt the truck uses 2 bytes. It is prob ((a * 2) /7) - 11 for map

  • 3 weeks later...

Sorry for the disappearance, but what I'm finding with the map sensor, at least on the early ones, is that it doesn't register anything below standard atmospheric pressure. Apparently Cummins doesn't care if we're at 14,000 feet, the sensor will read sea level anyway and consider boost to be 0. If any of you have had your trucks at 14,000 feet, let the engine cool off and try to restart it, you know how badly these trucks run up in the rare air anyway, at least until they can build boost. You literally have to drive one foot on the throttle and one on the brake to get some boost going before they will run right.

 

So readings start at 100kpa which is approximately the average sea level pressure, then go up from there as boost builds. This makes sense if all Cummins is trying to do is measure relative boost above standard pressure. It's actually the same thing our gauges do, as I described previously.

10 minutes ago, SpaceHiker said:

Sorry for the disappearance, but what I'm finding with the map sensor, at least on the early ones, is that it doesn't register anything below standard atmospheric pressure

That's not what I am finding.  

 

When I read boost from the ECM I see it come off "bottom" right away.  It might send boost over obd differenly, but canbus at least seems to read boost at 0+ at idle regardless of altitude,  same is true when I take my truck to sea level.  My truck is a 00 tho so maybe there is a ambient pressure sensor being used where as 98-99 dont?

 

late trucks however seem to read boost differently and I cannot explain it yet. I will know more in the summer when temps come up again.

9 minutes ago, Me78569 said:

That's not what I am finding.  

 

When I read boost from the ECM I see it come off "bottom" right away.  It might send boost over obd differenly, but canbus at least seems to read boost at 0+ at idle regardless of altitude,  same is true when I take my truck to sea level.  My truck is a 00 tho so maybe there is a ambient pressure sensor being used where as 98-99 dont?

 

late trucks however seem to read boost differently and I cannot explain it yet. I will know more in the summer when temps come up again.

 

That's very interesting because I see the opposite. My truck will read 100-102 for a long time before it starts picking up. That might be the difference between the early sensors and the late sensors. It seems I might have bought the wrong truck for high altitude operation lol. But after 9 years I guess I'm stuck with it.

My truck uses a early sensor though....  

 

All I can say is our trucks electronics are very much a testing groudn for dodge /cummins to figure out the Electic injection control system on a diesel.  

Well, since I've taken it upon myself today to solve the mystery of my truck's poor performance on 2-stroke oil (see cumminsforum), as a side effect I solved the mystery of the boost formula.

 

The correct boost formula that works 100% accurately at any elevation is: (A/6.8947)-14.6

 

This means that in any OBD software, you need to add a custom PID for boost. For the mode and pid, enter 010b or 01 0b (depending on your software's format). For the minimum value enter 0, for maximum value enter 100 or 60 or whatever you want (22 suffices for my stock truck lol). For equation, enter the above formula: (A/6.8947)-14.6

Then for decimal point precision, just use 1 decimal point.

 

This formula does not depend on atmospheric pressure at all. And in fact, the whole discussion about atmospheric pressure is completely overblown because it really only concerns our trucks when they are at idle. You have to keep in mind the function of a turbocharger. It is by it's nature a perfect altitude compensator and will always try to achieve a certain equilibrium within it's mechanical limits. This means that as soon as we begin applying fuel with a press of the throttle, intake pressure comes up above standard atmospheric pressure anyway. It just takes slightly longer at 10,000 feet than it does at 2,000 feet.

 

For the above reason, and since I'm at 9,240 feet, I see my boost sit at 0.0 for a little while before it starts coming up. That time where it's at 0.0 is when the turbo is reaching 14.6psi. It's a very short period of time, but it is noticeable at my elevation (lasts about 2 seconds after applying throttle). My mechanical boost gauge shows the same thing.

 

Hopefully that clears up some of the issues that have been bubbling in this thread for a while. Just keep in mind that my truck is a 98.5, I don't know if the newer trucks report a different data format on 010b, but I can't see why they would.

Edited by SpaceHiker

Intersting to say the least.  The ecm reports boost as 2 bytes per kpa over canbus not 1 byte per kpa.  Good work.  

Oh yes, then there's that conversation. I forgot to mention that one. The people who were discussing that were making some important mistakes at various points in that conversation:

 

1. Some were thinking the ECM handles boost as psi rather than kpa.

2. Pretty much everyone assumed the ECM handles map readings as an integer, when it is almost certainly floating point.

3. People were confusing the canbus with obd.

 

So on the canbus, the ecm is taking raw voltage readings from the output of the map sensor and converting them to a floating point (decimal) number in kpa. What we see on obd is the rounded output, because decimal precision is not necessary and the obd spec doesn't have the space for it.

 

Logically then you would need 2 bytes on the canbus for the floating point value and 1 byte on the obd for the rounded integer.

Edited by SpaceHiker

sorry typing to fast thinking too slow.

 

The ecm reports it in as 1 byte, but the ECM reports it as 1 = .5 kpa  or A = .5 kpa in the obdlink stuff.  Still only 1 byte.   The conversion I have for the quad is (A * 2) / 7 = psi

 

I would have figured that the ecm would report values the same, but every time I assume something the ecm proves to not follow that.  

Did This Forum Post Help You?

Show the author some love by liking their post!

Welcome To Mopar1973Man.Com LLC

We are privately owned, with access to a professional Diesel Mechanic, who can provide additional support for Dodge Ram Cummins Diesel vehicles. Many detailed information is FREE and available to read. However, in order to interact directly with our Diesel Mechanic, Michael, by phone, via zoom, or as the web-based option, Subscription Plans are offered that will enable these and other features.  Go to the Subscription Page and Select a desired plan. At any time you wish to cancel the Subscription, click Subscription Page, select the 'Cancel' button, and it will be canceled. For your convenience, all subscriptions are on auto-renewal.