DIY Electric Car Forums banner
1 - 16 of 16 Posts

· Registered
2008 VW Beetle
Joined
·
25 Posts
Discussion Starter · #1 ·
Dodge/Chrysler/Jeep EPS Pump


Still a work in progress but I am using a atmega328 mcp2551 mcp2515 and a handful of passive

Basically connect the 2 main power wires to fused battery voltage connect the CAN lines to pin 1 and 3 on the pumpr

Connect the center wire on the pump to switched ignition 12v



Arduino code

#include <can.h>
#include <SPI.h>

#define mode NORMAL // define CAN mode
#define bitrate 500 // define CAN speed (bitrate)

MCP CAN1(4); // CAN CS

void setup() {

Serial.begin(115200); // Initialize Serial communications with computer to use serial monitor
CAN1.begin(mode, bitrate);

if ((CAN1.readMode() == mode) && (CAN1.readRate() == bitrate)) // Check to see if we set the Mode and speed correctly. For debugging purposes only.
{
Serial.println("CAN Initialization complete");
Serial.print("CAN speed set to: ");
Serial.print(bitrate);
Serial.print("kbit/s");
}
else
{
Serial.println("CAN Initialization failed");
Serial.println("CAN speed failed");
}
}

void standardMessage() {

unsigned long ID = 0x308; // Random Extended Message ID
byte length = 8; // Data length
byte data[] = { 0x54, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00 }; // data message with an added counter
CAN1.send(ID, stdID, length, data); // Load message and send

}

void loop() {
standardMessage();
delay(1000);

}


// fuses must be set to

//avrdude -c usbtiny -p atmega328p -U lfuse:w:0xBF:m
//avrdude -c usbtiny -p atmega328p -U hfuse:w:0xDE:m
//avrdude -c usbtiny -p atmega328p -U efuse:w:0x05:m




it sends 0x308 0x54 0x01 0x40 0x00 0x00 0x00 0x00 0x00 and the pump will start. I believe it's running at about 80%





Still looking for the commands to control the speed.. if anyone has a 2011-15 dodge or jeep with the EPS if you could log the can data at highway speeds for a few seconds probably can solve that and make it controllable with vehicle speed
 

Attachments

· Registered
Joined
·
244 Posts
Is this the style of EPS you are using?

 

· Registered
Joined
·
2 Posts
I'm sending the aforementioned Code to my 2015 jeep pump, but the pump doesn't whir to life. It doesn't seem to be responding to the CAN code, but it did spit out some codes back at me. Was there any additional components or CAN messages sent to the pump? A different forum mentioned needing to send a vehicle speed message to the pump for it to turn on. Thanks
 

· Registered
2008 VW Beetle
Joined
·
25 Posts
Discussion Starter · #6 ·
Are you clocking the MCP2515 from the atmega328?

Are you loading the configuration bits? (needed to use the clock out pin from the 328)

It should respond if your baud rate is correct

I ended up going away from the dodge circuit and using a 60 amp ESC controller and controlling the pump speed via the can bus (vehicle speed) and works great
 

· Registered
Joined
·
2 Posts
Are you clocking the MCP2515 from the atmega328?

Are you loading the configuration bits? (needed to use the clock out pin from the 328)
I am using RaptorCAN (CAN message simulator) to interface the CAN messages to the pump. Is there something significant about "clocking" the MCP2515 that makes the pump actuate?

Are there additional CAN codes being sent to the pump other than 308? Would you mind explaining how you're utilizing the ESC to interface with the pump? Were you able to actuate the pump with the 308 code alone? Is posting the CAN log possible?

I really appreciate all your time and help with my project, Rod. Would you be willing to continue this conversation over email? Thanks again.
 

· Registered
2008 VW Beetle
Joined
·
25 Posts
Discussion Starter · #8 ·
Sure if you want to email me (my user at Gmail.com)

The ESC controller I used


Had to modify it and change the battery voltage sense resistor divider (kept thinking batteries were too high or low voltage.. this makes it happy)
Passive circuit component Circuit component Hardware programmer Microcontroller Electrical wiring

Passive circuit component Circuit component Light Hardware programmer Electrical wiring

Passive circuit component Circuit component Hardware programmer Red Computer hardware



Then it's as simple as using pwm to control speed

Thx
Passive circuit component Circuit component Hardware programmer Red Computer hardware
Passive circuit component Circuit component Light Hardware programmer Electrical wiring
Passive circuit component Circuit component Hardware programmer Microcontroller Electrical wiring
 

· Registered
Joined
·
5,795 Posts
I am using RaptorCAN (CAN message simulator) to interface the CAN messages to the pump. Is there something significant about "clocking" the MCP2515 that makes the pump actuate?

Are there additional CAN codes being sent to the pump other than 308? Would you mind explaining how you're utilizing the ESC to interface with the pump? Were you able to actuate the pump with the 308 code alone? Is posting the CAN log possible?

I really appreciate all your time and help with my project, Rod. Would you be willing to continue this conversation over email? Thanks again.
This isn't a social club where you make buddies and f*ck off with 1:1 behind the scenes help and CAN logs after getting 80% of the way there.

Why are you taking the conversation off line? National security at stake? Canada's sovereignty could be compromised by, omg, you continuing the conversation here so others can see the thought process and solutions and build on the info being disclosed? That's how another EPS got cracked.

Don't you think that's a selfish d*ck move where someone else in future, with the same problem, doesn't get the benefit of the time someone put into solving the problem?

One on one...solve my problem and I'm good?

If you need help with your project, people are more than willing to help on here, even follow you offline without thinking about why that's not so great for this group of ne'erdowells, present and future. But, they are also helping everybody that comes along subsequently by sharing knowledge, enabling others to build on the information.

Divert it offline like you proposed to do and all of that gets rekd. You came here to get answers. There weren't any. Maybe someone took a previous conversation to gmail? What if everybody did that? What value would be inherent in this forum vs trolling for a free expert on Facebook each and every time you needed info?

In any case, it's nice to see that someone has managed to get a 3 phase esc to run the pump motor. It's an approach that eliminates the factory CAN, but potentially destroys the ingress rating of an automotive safety system.

Maybe someone else will come along now and write some Arduino code to run it based on reading OBDII info. And add some fault tolerance to it that people DGAF about in an R/C car.
 

· Registered
2008 VW Beetle
Joined
·
25 Posts
Discussion Starter · #10 ·
Wow get a life Remy
If you read back I pposted the CAN commands packet to get it to move. Posted schematics and arduino code
I attempted to read out the MC9S12XS128 that they use in the pump to disassemble it to post the packets here publicly but unfortunately it was locked.
Posted the esc controller work around and the mods needed.
Use it if you want, or don't

But if you have nothing constructive to add to this thread I suggest you shut up.
 

· Registered
Joined
·
25 Posts
Maybe someone else will come along now and write some Arduino code to run it based on reading OBDII info. And add some fault tolerance to it that people DGAF about in an R/C car.
Sorry to revive an old thread, but have relevant shilling to do! In 2 weeks time Chrysler EHPS will be added to my controller. Universal PSC/NMS-PSC – NMStec

Down side is, it is relevant to a form of security! My financial security lol. I have released the code to run Volvo pumps, and may release more assist systems later on in the future. Gt86 columns are up next on my opensource list.
NMSTEC/Volvo_EPS_FREE (github.com)
 
1 - 16 of 16 Posts
Top