Author Topic: Cummins Engine controll via CAN  (Read 5361 times)

Offline Li Yang

  • PLUS+1 Novice
  • *
  • Posts: 1
  • Karma: +0/-0
Cummins Engine controll via CAN
« on: February 11, 2019, 03:40:37 PM »
hello everyone,

we have a problem with plus+1(MC050) to control Cummins Engine via CAN.  If we send a constant output speed to ECU e.g. 1200 rpm, the engine speed vibrates between 800 and 1200 rpm. It seems like there is another signal source (ID) which also control the ECU with 800 rpm and there is conflict between the two or even more signals.

The CAN Transit schema is shown in the picture. Does some have an idea so solve the problem?

Thanks very much.

BR

Yang

Offline FluidPowerTom

  • PLUS+1 Guru
  • *****
  • Posts: 363
  • Karma: +33/-0
Re: Cummins Engine controll via CAN
« Reply #1 on: February 11, 2019, 05:38:05 PM »
Perhaps do a CAN trace and filter for just the TSC1 message so you can verify whether or not another command is being sent to set it at 800 RPM.  In doing that you can also verify it's getting a good 10ms transmit rate.
Controls Engineer
Hydra-Power Systems

Offline oiltronic

  • PLUS+1 Guru
  • *****
  • Posts: 170
  • Karma: +15/-0
Re: Cummins Engine controll via CAN
« Reply #2 on: March 03, 2019, 06:08:54 AM »
Did you get this one figured out?  The code looks okay, but if you can't figure it out with FluidPowerTom's suggestion then I would suggest using the Danfoss TSC1_Tx transmit function from the J1939 library, or remove the "Pending" logic to always force the transmission just to see what happens.  This is because the engines I've controlled have a TSC1 timeout where they return to the preset idle speed if no valid TSC1 is received after a certain timeout, usually a few seconds.

Normally TSC1 overrides all other control modes, meaning the engine should ignore other inputs until the TCS1 times out.