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
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
-
140.5 KB Views: 81