Jump to content

Great work!

Expired Member
  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Unskilled

Personal Information

  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. The wires that have any significant current are the positive non switched wires and the lift pump. If the lift pump is upgraded with it's own power and relay like many aftermarket pumps then the wire size is not an issue
  2. The old saying a picture is worth a thousand words. Now that you can see what the tone wheel is and that it bolts to the crank you should re-check it through the hole before wrestling that oil pan out. It is very rare for the tone wheel to come off. Has the motor ever been out of the truck and rebuilt or messed around with?
  3. The overhead display (if equipped) is connected to the same bus. If the outside temp works and the overhead trip mileage increments while driving then the PCM is probably ok and its a wiring issue..
  4. With the sensor out of the hole and plugged into its connector turn on key and have a helper watch the tach. Rub / wave a small screwdriver or metal object over the end of the sensor briskly if the tach bounces around or you hear relays click and other signs of life it's probably good. Use a camera or mirror to peek in the hole make sure the tooth wheel is there and turns with the crank
  5. Good ECU >> Key off for 30 seconds or more. Turn to on not start. Wait To Start light must light within a second or two then stays on briefly then turns off no matter what the temperature is. Then try starting. A delayed wait to start light of more than a couple of seconds after turning on the key means ECU is dying.
  6. Can your probe or logger support external triggers? Tap a switch or a door lock motor (with some protection circuitry of course) and then look at the messages that occur around that time. Also try something similar but inject dummy message on external trigger event or even repeated at fixed time intervals. Try disconnecting nodes like the radio and instrument panel too.
  7. 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.
  8. 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
  9. Rot box the ECM outputs a 5 volt square wave at twice the engine RPM about 30 Hertz at idle. It is on the gray with black wire going from the engine harness to the cab harness. Pin 10 on a 1999. The signal tells the PCM the engine is running which will turn on the alternator and powers the transmission controls and also AC clutch. It is NOT the tach. The tach oil and temp are sent from the ECM to the chrysler CCD bus as coded messages. It may be possible to fool the PCM by wiring the cam sensor signal straight to it. I haven't tested it. You could isolate the cam sensor from the ecm and supply the 5volts and ground from the PCM. Example 5 volts supplied to govenor pressure sensor in the transmission. Wait the sensor is gone because its p-pumped. You will need the harmonic balancer with a notch and the sensor from a 12 valve. Same idea though.
  10. Great work!

    Great work!

  • Create New...