Nissan Leaf A/C compressor 92600-3NF0A
Re: Nissan Leaf A/C compressor 92600-3NF0A
Good morning, yes, I'd be happy to. sorry for the late response. Give me a couple of days to organize a response and I'll share the code. Hopefully I can answer any questions you have. The main idea of the code is to continuously (once every 200 ms or so) send a message to the compressor, and make the message look like a LIN signal, even though it is a UART signal. Code coming up soon...
Re: Nissan Leaf A/C compressor 92600-3NF0A
Good morning, yes, I'd be happy to. sorry for the late response. Give me a couple of days to organize a response and I'll share the code. Hopefully I can answer any questions you have. The main idea of the code is to continuously (once every 200 ms or so) send a message to the compressor, and make the message look like a LIN signal, even though it is a UART signal. Code coming up soon...joeflickers wrote: ↑Fri Sep 27, 2024 8:33 am hi,are you able to share the Arduino sketch,I also have the dream to have AC running using the leaf compressor,i have 3 compressors sitting down in my garage,im also wondering how you run and monitor the compressor pressure,how do you accomplish this?thanks
-
- Posts: 72
- Joined: Mon Oct 24, 2022 8:46 am
- Has thanked: 29 times
- Been thanked: 9 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
Excellent.. My compressor is different but from Johus but it's from a gen 2 nissan leaf.. I'll share pictures and possibly assist me in knowing the pinout tooabetanco wrote: ↑Fri Oct 04, 2024 11:55 am Good morning, yes, I'd be happy to. sorry for the late response. Give me a couple of days to organize a response and I'll share the code. Hopefully I can answer any questions you have. The main idea of the code is to continuously (once every 200 ms or so) send a message to the compressor, and make the message look like a LIN signal, even though it is a UART signal. Code coming up soon...
Re: Nissan Leaf A/C compressor 92600-3NF0A
This is awesome. I'm just starting my conversion and have everything sorted except for controlling the leaf compressor.
Very interested in the Arduino code you've got working.
Very interested in the Arduino code you've got working.
-
- Posts: 1868
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 156 times
- Been thanked: 398 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
Do you have part numbers for the compressor you have running? I am tempted to look into the 926005SA1B as these are going cheap in the UK
-
- Posts: 72
- Joined: Mon Oct 24, 2022 8:46 am
- Has thanked: 29 times
- Been thanked: 9 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
joeflickers wrote: ↑Mon Oct 07, 2024 6:39 am Excellent.. My compressor is different but from Johus but it's from a gen 2 nissan leaf.. I'll share pictures and possibly assist me in knowing the pinout
I Have two compressors with part numbers 9192000 AND 9192001
Re: Nissan Leaf A/C compressor 92600-3NF0A
Hi All,
I think my compressor is a Denso ES27C, but the tag is hard to read.
The code is as follows. Basically, it is a way to make the Arduino send a UART message that looks like a LIN message. Let me know if you have any questions!
****BEGINNING OF CODE****
#define EVAP_VOLTAGE_7_PIN 7
int brklen = 14; // 13 bits + 1 bit for break delimiter
uint8_t sync = 0x55;
uint8_t addr = 0xfb;
uint8_t buf[8] = {0xb3, 0x00, 0x00, 0x90, 0xFF, 0x00, 0x00, 0x00};
uint8_t cksum = 0xb7;
int baud = 19200;
uint16_t brk = (brklen*1000000/baud); // brk in microseconds
void setup() {
pinMode(18, OUTPUT);
pinMode(EVAP_VOLTAGE_7_PIN, INPUT_PULLUP);
Serial.flush();
Serial.begin(baud);
Serial.print(brk);
}
void loop() {
int evap_voltage_7_status = digitalRead(EVAP_VOLTAGE_7_PIN);
while (evap_voltage_7_status == HIGH) {
buf[0] = 0xb3;
buf[1] = 0x0c;
cksum = 0xb3;
} else {
buf[0] = 0xb2;
buf[1] = 0x00;
cksum = 0xc1;
}
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
digitalWrite(18, LOW);
delayMicroseconds(brk); // For 19,200 Baud, brk should be 677us for brklen of 14us
// or 729us for brklen of 13us.
digitalWrite(18, HIGH);
Serial1.begin(baud);
Serial1.write(sync);
Serial1.write(addr);
Serial1.write(buf[0]);
Serial1.write(buf[1]);
Serial1.write(buf[2]);
Serial1.write(buf[3]);
Serial1.write(buf[4]);
Serial1.write(buf[5]);
Serial1.write(buf[6]);
Serial1.write(buf[7]);
Serial1.write(cksum);
delay(200);
Serial1.end();
Serial.println(buf[1]);
Serial.println("Evaporator On");
}
buf[0] = 0xb2;
buf[1] = 0x00;
cksum = 0xc1;
Serial1.println("Evaporator Off");
}
****END OF CODE****
Let me know if you have trouble with it. I snipped portions of my code out that were specific to my application, so let me know if the above code doesn't work or if you have any questions.
I think my compressor is a Denso ES27C, but the tag is hard to read.
The code is as follows. Basically, it is a way to make the Arduino send a UART message that looks like a LIN message. Let me know if you have any questions!
****BEGINNING OF CODE****
#define EVAP_VOLTAGE_7_PIN 7
int brklen = 14; // 13 bits + 1 bit for break delimiter
uint8_t sync = 0x55;
uint8_t addr = 0xfb;
uint8_t buf[8] = {0xb3, 0x00, 0x00, 0x90, 0xFF, 0x00, 0x00, 0x00};
uint8_t cksum = 0xb7;
int baud = 19200;
uint16_t brk = (brklen*1000000/baud); // brk in microseconds
void setup() {
pinMode(18, OUTPUT);
pinMode(EVAP_VOLTAGE_7_PIN, INPUT_PULLUP);
Serial.flush();
Serial.begin(baud);
Serial.print(brk);
}
void loop() {
int evap_voltage_7_status = digitalRead(EVAP_VOLTAGE_7_PIN);
while (evap_voltage_7_status == HIGH) {
buf[0] = 0xb3;
buf[1] = 0x0c;
cksum = 0xb3;
} else {
buf[0] = 0xb2;
buf[1] = 0x00;
cksum = 0xc1;
}
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
digitalWrite(18, LOW);
delayMicroseconds(brk); // For 19,200 Baud, brk should be 677us for brklen of 14us
// or 729us for brklen of 13us.
digitalWrite(18, HIGH);
Serial1.begin(baud);
Serial1.write(sync);
Serial1.write(addr);
Serial1.write(buf[0]);
Serial1.write(buf[1]);
Serial1.write(buf[2]);
Serial1.write(buf[3]);
Serial1.write(buf[4]);
Serial1.write(buf[5]);
Serial1.write(buf[6]);
Serial1.write(buf[7]);
Serial1.write(cksum);
delay(200);
Serial1.end();
Serial.println(buf[1]);
Serial.println("Evaporator On");
}
buf[0] = 0xb2;
buf[1] = 0x00;
cksum = 0xc1;
Serial1.println("Evaporator Off");
}
****END OF CODE****
Let me know if you have trouble with it. I snipped portions of my code out that were specific to my application, so let me know if the above code doesn't work or if you have any questions.
-
- Posts: 1868
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 156 times
- Been thanked: 398 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
Can you please take pictures of your compressor and share them?
Re: Nissan Leaf A/C compressor 92600-3NF0A
These are the images from the eBay listing, since it is hard to take a photo of my compressor in my vehicle.
Re: Nissan Leaf A/C compressor 92600-3NF0A
It is a ES27C according to the listing, and it is from 2015 according to the listing.
Re: Nissan Leaf A/C compressor 92600-3NF0A
I think these are used in Nissan Leaf SV and SL editions.
-
- Posts: 72
- Joined: Mon Oct 24, 2022 8:46 am
- Has thanked: 29 times
- Been thanked: 9 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
Thanks for Sharing.. My compressor is different from thisabetanco wrote: ↑Mon Oct 14, 2024 1:32 pm Hi All,
I think my compressor is a Denso ES27C, but the tag is hard to read.
The code is as follows. Basically, it is a way to make the Arduino send a UART message that looks like a LIN message. Let me know if you have any questions!
****BEGINNING OF CODE****
#define EVAP_VOLTAGE_7_PIN 7
int brklen = 14; // 13 bits + 1 bit for break delimiter
uint8_t sync = 0x55;
uint8_t addr = 0xfb;
uint8_t buf[8] = {0xb3, 0x00, 0x00, 0x90, 0xFF, 0x00, 0x00, 0x00};
uint8_t cksum = 0xb7;
int baud = 19200;
uint16_t brk = (brklen*1000000/baud); // brk in microseconds
void setup() {
pinMode(18, OUTPUT);
pinMode(EVAP_VOLTAGE_7_PIN, INPUT_PULLUP);
Serial.flush();
Serial.begin(baud);
Serial.print(brk);
}
void loop() {
int evap_voltage_7_status = digitalRead(EVAP_VOLTAGE_7_PIN);
while (evap_voltage_7_status == HIGH) {
buf[0] = 0xb3;
buf[1] = 0x0c;
cksum = 0xb3;
} else {
buf[0] = 0xb2;
buf[1] = 0x00;
cksum = 0xc1;
}
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
digitalWrite(18, LOW);
delayMicroseconds(brk); // For 19,200 Baud, brk should be 677us for brklen of 14us
// or 729us for brklen of 13us.
digitalWrite(18, HIGH);
Serial1.begin(baud);
Serial1.write(sync);
Serial1.write(addr);
Serial1.write(buf[0]);
Serial1.write(buf[1]);
Serial1.write(buf[2]);
Serial1.write(buf[3]);
Serial1.write(buf[4]);
Serial1.write(buf[5]);
Serial1.write(buf[6]);
Serial1.write(buf[7]);
Serial1.write(cksum);
delay(200);
Serial1.end();
Serial.println(buf[1]);
Serial.println("Evaporator On");
}
buf[0] = 0xb2;
buf[1] = 0x00;
cksum = 0xc1;
Serial1.println("Evaporator Off");
}
****END OF CODE****
Let me know if you have trouble with it. I snipped portions of my code out that were specific to my application, so let me know if the above code doesn't work or if you have any questions.
Re: Nissan Leaf A/C compressor 92600-3NF0A
You should still be able to use the LIN code, but you will have to check if someone else on this forum or somewhere else has hacked your compressor. Once you have the correct message to send, you should be able to use my code.joeflickers wrote: ↑Thu Oct 17, 2024 5:41 am Thanks for Sharing.. My compressor is different from this
Good luck, and let me know if you have more questions.
-
- Posts: 72
- Joined: Mon Oct 24, 2022 8:46 am
- Has thanked: 29 times
- Been thanked: 9 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
abetanco wrote: ↑Mon Oct 21, 2024 3:09 pm You should still be able to use the LIN code, but you will have to check if someone else on this forum or somewhere else has hacked your compressor. Once you have the correct message to send, you should be able to use my code.
Good luck, and let me know if you have more questions.
- Attachments
-
- Posts: 72
- Joined: Mon Oct 24, 2022 8:46 am
- Has thanked: 29 times
- Been thanked: 9 times
Re: Nissan Leaf A/C compressor 92600-3NF0A
what is the minimum voltage required of the HV side of the compressor?abetanco wrote: ↑Mon Oct 21, 2024 3:09 pm You should still be able to use the LIN code, but you will have to check if someone else on this forum or somewhere else has hacked your compressor. Once you have the correct message to send, you should be able to use my code.
Good luck, and let me know if you have more questions.
Re: Nissan Leaf A/C compressor 92600-3NF0A
Great work! I don't know, unfortunately, but I vaguely recall finding online that some similar compressors have an operating range of between 200 to 400 V DC. You could try checking out the service manuals, specifically the HA (Heater and Air Conditioning System) and HAC (Heater and Air Conditioning System Control) portions:joeflickers wrote: ↑Wed Oct 30, 2024 1:50 pm what is the minimum voltage required of the HV side of the compressor?
https://www.nicoclub.com/nissan-service-manuals
Otherwise, Mark Lines has some teardown reports that may be available free online.