Mitsubishi Outlander AC Compressor: Difference between revisions
m (Adding the information that the photos in the wiki are of a 2018 model, where as the thread and 3D are of an older model) |
m (→High Voltage Connection: Adding high voltage connection information.) |
||
Line 36: | Line 36: | ||
=== High Voltage Connection === | === High Voltage Connection === | ||
The compressor is connected with a 40amp fuse to high voltage. | The compressor is connected with a 40amp fuse to high voltage. | ||
Older models don't have the HV socket as shown above, but have the wire attached. Polarity is the same as the heater. | |||
[[File:Outlander Heater HV.jpg|none|thumb]] | |||
=== Control Messages === | Newer models have a socket. [Place holder for part number] | ||
[[File:20220712 131123.jpg|none|thumb|HV connector. Left is negative, right positive.]] | |||
[[File:20220712 172319.jpg|none|thumb|AC compressor driver board.]] | |||
===Control Messages=== | |||
0x185 controls the compressor and 0x285 is also required for operation, much like other outlander components. It broadcasts a few ids, 0x388 seems to be useful and contains it's status. | 0x185 controls the compressor and 0x285 is also required for operation, much like other outlander components. It broadcasts a few ids, 0x388 seems to be useful and contains it's status. | ||
==== 0x185 - Control Message ==== | ====0x185 - Control Message==== | ||
The first byte, byte 0 controls the state of the compressor 0x08 is standby and 0x0B is start command | The first byte, byte 0 controls the state of the compressor 0x08 is standby and 0x0B is start command | ||
Line 56: | Line 63: | ||
Eighth is also unknown either 0x00 or 0x03 work | Eighth is also unknown either 0x00 or 0x03 work | ||
==== 0x388 - Status Message ==== | ====0x388 - Status Message ==== | ||
First byte, 0x01 is HV present. 0x02 is No HV present, 0x7C is startup/running. | First byte, 0x01 is HV present. 0x02 is No HV present, 0x7C is startup/running. | ||
Line 63: | Line 70: | ||
Eighth byte status 0x00 is no CAN, 0x01 CAN error, 0x02 is 0x285 receive error and 0x03 other error | Eighth byte status 0x00 is no CAN, 0x01 CAN error, 0x02 is 0x285 receive error and 0x03 other error | ||
==== Example control code ==== | ====Example control code ==== | ||
void sendCANframeE() { //AC compressor | void sendCANframeE() { //AC compressor | ||
outframe.id = 0x185; // 0x185 0B 00 1D 00 00 08 00 03 | outframe.id = 0x185; // 0x185 0B 00 1D 00 00 08 00 03 |
Revision as of 19:47, 12 July 2022
The Outlander PHEV has a CAN bus controller AC compressor. One thing to note, your old system components will likely need flushing of the old oil as it's damaging to compressor motor wiring lacquer. It can cause shorts. When getting your system refilled, it needs to contain compatible lubricating oil, POE MA68EV is listed in the manual, likely the same as other hybrids/electric cars.
Weight | 6.2kg |
Length | 19cm |
Height | 20cm |
Width | 12cm |
3D scans are here: https://grabcad.com/library/outlander-phev-ac-compressor-1 this appears to be of an older model than the one in the photos below. The photos are from a 2018 model year vehicle.
Refrigerant Connections
The part numbers for the Mitsubishi hoses are AMD45418, AMD46168. Unconfirmed, but thought that these fit https://www.evcreate.nl/shop/airconditioning/adapter-set-airconditioning-compressor/
Low Voltage Connection
The mating connector is Sumitomo 6189-0126 https://www.auto-click.co.uk/6189-0126?search=90980-10942 and the pinout is the same as the water heater. Connector also available cheap on aliexpress.
High Voltage Connection
The compressor is connected with a 40amp fuse to high voltage. Older models don't have the HV socket as shown above, but have the wire attached. Polarity is the same as the heater.
Newer models have a socket. [Place holder for part number]
Control Messages
0x185 controls the compressor and 0x285 is also required for operation, much like other outlander components. It broadcasts a few ids, 0x388 seems to be useful and contains it's status.
0x185 - Control Message
The first byte, byte 0 controls the state of the compressor 0x08 is standby and 0x0B is start command
The second byte, data[1] doesn't seem to have a function.
The third byte is unknown but 0x1D works.
The forth and fifth also seem to not do anything.
Sixth byte is RPM control, 0x08 is inactive, 0x09 to 0x54
Seventh is also unknown, 0x00 works
Eighth is also unknown either 0x00 or 0x03 work
0x388 - Status Message
First byte, 0x01 is HV present. 0x02 is No HV present, 0x7C is startup/running.
Third and Fourth bytes seem to be RPM feedback.
Eighth byte status 0x00 is no CAN, 0x01 CAN error, 0x02 is 0x285 receive error and 0x03 other error
Example control code
void sendCANframeE() { //AC compressor outframe.id = 0x185; // 0x185 0B 00 1D 00 00 08 00 03 outframe.length = 8; // Data payload 8 bytes outframe.extended = 0; // Extended addresses - 0=11-bit 1=29bit outframe.rtr=1; //No request if(digitalRead(AC_pin) == LOW) { //AC pin is active outframe.data.bytes[0]=0x0B; // status command 08 stbd, 0B start } else { outframe.data.bytes[0]=0x08; //if we sense LOW we go to standby } outframe.data.bytes[1]=0x00; // outframe.data.bytes[2]=0x1D; // 1D works outframe.data.bytes[3]=0x00; // outframe.data.bytes[4]=0x00; // if(digitalRead(AC_pin) == LOW) { // AC is active if (ACrpm <= 3800) { // Power for spinup outframe.data.bytes[5]=0x25; // RPM command 08 to 54 } else if ((ACrpm > 3500) && (ACrpm <= 4200)) { // power is reduced outframe.data.bytes[5]=0x20; // RPM command 08 to 54 } } else { outframe.data.bytes[5]=0x08; //AC pin is inactive } outframe.data.bytes[6]=0x00; outframe.data.bytes[7]=0x03; // can be 00 or 03, it does not differentiate if(debug) {printFrame(&outframe,1);} //If the debug variable is set, show our transmitted frame if(myVars.CANport==0) Can0.sendFrame(outframe); //Mail it else Can1.sendFrame(outframe);
This thread contains more detail information and is recommended reading: https://openinverter.org/forum/viewtopic.php?t=1997&start=25