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

Cummins Can bus messages

 

 

I need some help decoding these messages.  I’m not sure about the timing command it requests 25*BTDC at idle as soon as

it is started when cold then comes down after a long warm up to about 15*. That seems very high.

 Could it really be going that high?

 

// 24 Valve Cummins CAN bus messages. How to decode them ?
// Arduino Uno and MCP2515 CAN module (no name) from Asia.

 

22 40 8 4 30 98 23 96 6 11 13       P >> E 74158432 diff 25256 idle val sw acc pedal up   timing error  counter 2 RPM range 3 Fuel temp F 46
A2 40 8 AE FF 0 0 B8 2 10 3       P >> E 74158904 diff 472 Offset? -82 Volts 13.9
20 0 8 12 1 0 0 3 6 2B D        E >> P 74159476 diff 572 cylinder 2 Fuel percent 6.7 Timing deg 15.4 RPM 842
A0 0 8 F8 2 0 0 16 1 42 1       E >> P 74159868 diff 392 ACK 
22 40 8 4 30 9D 43 96 6 11 13       P >> E 74182240 diff 22372 idle val sw acc pedal up   timing error  counter 3 RPM range 3 Fuel temp F 46
A2 40 8 AE FF 0 0 B0 2 C 3       P >> E 74182720 diff 480 Offset? -82 Volts 13.8
20 0 8 1B 1 0 0 FA 5 21 D       E >> P 74183292 diff 572 cylinder 4 Fuel percent 6.9 Timing deg 15.3 RPM 840
A0 0 8 F8 2 0 0 16 1 42 1       E >> P 74183688 diff 396 ACK 
Bytes 2 and 3 are for 29 bit CAN IDs and are not shown. Byte 4 is the data length. Long numbers and 'diff' are timestamps
I took manual control of the VP's timing solenoid that causes the timing lock bit to set (P0216)

<<pseudo code>>

         //Not sure about this compute fuel temp in Inj Pump >> message ID 0x22 DEC 34    
      fuelTemp = (dataBuff[y][12] << 8) | dataBuff[y][11];
      fuelTemp = (fuelTemp / 100) - 40;
      fuelTemp = ((fuelTemp * 9) / 5) + 32;
      Serial.print(" Fuel temp F ");
      Serial.print(fuelTemp);

 

          // compute timing advance >> message ID 0x20 DEC 32
      Timing = (dataBuff[y][10] << 8) | dataBuff[y][9]; //convert from little endian. 100 bits per degree.
      Timing = (float)((Timing) / 100);      // 
      Serial.print(" Timing deg ");
      Serial.print(Timing, 1);

 

      //Fuel compute >> ID 0x20
      FuelPCT = (dataBuff[y][6] << 8) | dataBuff[y][5];
      FuelPCT = (float)(FuelPCT*100) / 4096;    // 4095 is max fuel allowed by pump
      Serial.print(" Fuel percent ");
      Serial.print(FuelPCT, 1);


    //second message from IP (0xA2 DEC 162) has other stuff in it.
    //looks like a +/- offset or +/- error. 
    // hangs around 0x0001 - 0xFFFE
    if(dataBuff[y][0] == 0xA2)
             {
          offSet = (dataBuff[y][6] << 8) | dataBuff[y][5];
          Serial.print(" Offset? ");
          Serial.print(offSet);


        // This byte changes from 0 to 1 after a delay. Seems to check if the timing advance mechanism is
        // able to match the commanded timing value
    //0x22 message ID
      (dataBuff[y][6] == 0x00) ? Serial.print(" timing locked ") : Serial.print(" timing error ");

 

      //compute RPM from ID 20xx bytes 11 and 12 
      RPM = (dataBuff[y][12] << 8) | dataBuff[y][11];     //convert from little endian
      RPM = RPM/4 ;                           //divide by 4
 

  • Replies 5
  • Views 2.5k
  • Created
  • Last Reply

Top Posters In This Topic

Featured Replies

Cold trucks idle up to 19* of timing.   

 

Idle of 15* happens if you let the truck sit to long.

 

warm trucks idle at ~12-13*

 

 

I wish I could help more, but I signed my life away to hold the secrets of the code.

 

 

Edited by Me78569

  • Owner
On 12/19/2019 at 8:39 PM, Great work! said:

I’m not sure about the timing command it requests 25*BTDC at idle as soon as

it is started when cold then comes down after a long warm up to about 15*. That seems very high.

 

Normal. Mine in cold weather initially can be way up in timing but as it idles for a bit it drops rather fast. The VP44 can go as far as 32* BTDC for timing. 

I have seen up to 19 degrees as @Me78569 said. 25° BTDC at idle sounds crazy. I live in some harsh cold winter climates, down to -40 negating windchill sometimes, and I have never seen mine that high. But now I'm really curious, next time I get a really cold morning I'll see what the quad says is being commanded.

  • Author

Thank for the replies.  Those data logs are very interesting. I never realized  how active the timing is on our trucks. I was used to setting up P7100 pumps at 15 degrees. My calculations  are probably  wrong. I think I'll try dividing  the raw command by 128 instead of 100 and see if it agrees  more with the  data logs.

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.