# Prius AC compressor controller



## 4logic (Jun 4, 2010)

Hi Everyone,

I'm looking to use a Prius A/C compressor (ES18C) in my Miata. I'm running 108v and know that the Prius compressor runs higher but I'm thinking that it should work. My question is does anyone know of a 3 phase brushless controller that does not require the use of tachometer or encoder feedback?
I also have a newer version of the Denso compressor that has the controller built into it (ES27C) but I can't find any data on the communication protocol for it. This compressor is used in many other brands other than Toyota so the control protocol must be published somewhere. If I could find someone with a 2010+ Prius in my area I could use my o-scope to reverse it out too.

Thanks for any help you can provide.

Chris


----------



## cpct (May 31, 2012)

4logic said:


> Hi Everyone,
> 
> I'm looking to use a Prius A/C compressor (ES18C) in my Miata. I'm running 108v and know that the Prius compressor runs higher but I'm thinking that it should work. My question is does anyone know of a 3 phase brushless controller that does not require the use of tachometer or encoder feedback?


There exist many cheap sensorless BLDC controllers (feedback by measuring back EMF over unpowered phase), e.g. Kelly controls. Sensorless BLDC control is also popular in the RC community, but the power (and voltage) requirements for the AC compressor are probably higher?


----------



## 4logic (Jun 4, 2010)

Thank for the info, I did not know about Kelly Controls. I looked at hobby motor controllers for some time but never did find any in my voltage range.


----------



## Kurtdiver (Aug 7, 2011)

I was thinking about going the same route - did you ever get any diagrams or control information for this AC compressor?

Thanks,
-K


----------



## skeyes (Dec 3, 2016)

Anyone ever get this to work? Interesting concept


----------



## Emyr (Oct 27, 2016)

I've just ordered an ES27C, cost 40GBP inc postage from an eBay seller. 

Haven't planned my next step yet but I want to try to use the built in inverter first.


----------



## Emyr (Oct 27, 2016)

It arrived today in a bag in bubblewrap in a large shoe with 8 postage stamps totalling £21.25. I didn't know Royal Mail even offered 5GBP stamps.

My ES27C has a tag on it saying 1195899, Google found that number on a partsgateway.co.uk listing by Motorhog, at £92 inc VAT and delivery. It was removed from a 2007 Lexus GS450h (3rd gen S190 2005-2011).

The plugs seem to match those indicated on a Prius Gen3 wiring diagram I found last night, though I can't properly unwrap and inspect it where it was delivered. I haven't yet worked out what what it expects on the 5-pin connector. If BEAN/MPX I've found some info on the frame format (0v/12v signals).


----------



## Emyr (Oct 27, 2016)

The number written on the top cover corresponds to this listing:
https://www.motorhog.co.uk/breaking...us-gs-hybrid-2005-to-2010-4-door-saloon/2313/

(according to the Prius Gen3 wiring diagram...) 

The tall connector (B) is for the E1 orange 2-pin plug, orange shielded HV DC cable to the Converter Inverter Assembly (D) connector, with an E2 White 2-pin plug.
1: "PE" to pin 2 "ACPE"
2: "PB" to pin 1 "ACPB"

Not sure which of "B" and "E" are positive or negative. Don't want to connect 200+ volts backwards.

The lower wider connector (A) is for the D12 black 6-pin (I misremembered above) plug. 
The matching connector is a Sumitomo TS-series 6189-1083. This links to the DA1 panel connector then 4 wires to plug A21(A) on "Power Management Control ECU".

1: "CLK" green to DA1:19 to PMC:19 "CLK"
2: "DIN" yellow to DA1:20 to PMC:31 "ETI"
3: "DOUT" red to DA1:21 to PMC:30 "ITE"
4: "STBI" white to DA1:22 to PMC:20 "STB"
5: "GND" white-black to DA1:17 to ground point A4
6: "IG1" violet to DA1:18 to share a 10A fuse in (IG)

The diagram also shows a connection labelled "IDH" at both ends, between Converter Inverter Assembly and A/C Amplifier Assembly. I don't know what A/C Amplifier Assembly does.

I'm not sure what protocol is used between the PMC ECU and the Compressor. PMC ECU has two CAN pairs, but the ITE-DIN and DOUT-ETI naming doesn't match the naming of all the other CAN pairs on the diagram. Everything I've read about BEAN describes it as a 1-wire simplex connection with daisychaining, so it shouldn't need a clock signal and I have no guesses for what STB means.


----------



## Emyr (Oct 27, 2016)

Emyr said:


> The lower wider connector (A) is for the D12 black 6-pin (I misremembered above) plug. This links to the DA1 panel connector then 4 wires to plug A21(A) on "Power Management Control ECU".
> 
> 1: "CLK" green to DA1:19 to PMC:19 "CLK"
> 2: "DIN" yellow to DA1:20 to PMC:31 "ETI"
> ...


I found this question, with some musing but no answers;

SPI normally uses 4 wires: select (device pulls it low to become master), clock (drives the slave's reading so it can tell the difference between a long 1 and two adjacent 1s), data one way, data the other.

SPI doesn't define the protocol or the voltages. I might be able to learn something by removing the cover and tracing from the pins to a chip, hopefully a dedicated interfacing chip.


----------



## Emyr (Oct 27, 2016)

To quote Dave Jones _Don't turn it on, *take it apart!*_

Two cross-head screws hold down the metal plate. Mine also has white silicone sealant around the edge. The black plastic under the metal has a notch near each of the screws so you can get in between the plastic and metal.

Under the cover, there is a sticky transparent gloop.

The plastic casing is attached to the main casting by four T25 Torx screws, plus there are a number of Torx and cross-head screws within the gloop.


----------



## Emyr (Oct 27, 2016)

Should have posted this earlier: Two stickers on the compressor cap.

The upper sticker has Toyota's part number: 042000-0241
The lower sticker has Denso's "OE Number": 88370-30021

I think this means this is a DCP51005 "Old ES27", rather than an "ES27", though the Denso catalogue doesn't explain the difference.


----------



## Emyr (Oct 27, 2016)

If you're interested in using the Denso ES compressor for its original purposes, this post won't help you much. I'm interested in the ES27 and ES34 as drive motors for lightweight vehicles, with 6.0kw and 7.4kw ratings respectively. I don't know what the ratings are for the "Old ES27" I have.

The cap is held on by 6 screws, 10mm hex heads, no washers.

Inside, there is an M-shaped rigid flap held on very firmly by a screw with a 5mm Allen head. This is part of what regulates the output pressure of the compressor. Ignore it. The block it's attached to just lifts out to reveal an off-centre bearing with a counter weight. That lifts out too.

The next machined lump should be (from what I've seen here) just a bearing carrier which locates the rotor within the stator. The face is about 31mm in from the surface where the cap seals.

The not-old ES27 motor has a max speed of 8600rpm, but this limit might be because of the radial loading generated by the scroll assembly. Even so, it would be great to fit some amount of reduction gearing inside the original casing, especially given the casing is designed to run the R134a and the ND 11 oil (non-conductive, POE-based) past the stator, so I could use an oil-cooling circuit to keep the motor cool.


----------



## CitroCees (Oct 2, 2010)

The Nissan Leaf uses the same compressor. 
I'm keen to use its motor for different purposes. 
The compressor uses 1-wire LIN protocol to communicate to the A/C auto amp.
Has anyone sniffed it and decoded it?


----------



## Emyr (Oct 27, 2016)

It seems it's not possible to remove the controller board from the compressor without desoldering some connections. I've succeeded in separating them by brute force, since I haven't been able to identify the sticky transparent gloop and won't be able to document both sides of the board properly without cleaning it off.

There are 6 discrete transistors that are screwed down to use the main housing as a heatsink, but it looks like there are multiple soldering steps during assembly.

Current plan is to retain the 3 fat pins (5-6mm?) which connect the board to the phases as the mount for these pins closes one of the housing openings and I'd like to run coolant through the housing as it originally did, but with an external pump.


----------



## arber333 (Dec 13, 2010)

CitroCees said:


> The Nissan Leaf uses the same compressor.
> I'm keen to use its motor for different purposes.
> The compressor uses 1-wire LIN protocol to communicate to the A/C auto amp.
> Has anyone sniffed it and decoded it?


Do you have any data on the Leaf A/C compressor motor? I need pole count, max rpm and max continuous power. 

I have one unit here on my desk and i am trying to run it with Lebowski controler. I tried to get something from control bus, but it works on a signal level that my computer cant determine. I can see signal on a scope, but i cant talk to it... So i decided to do it the hard way. To build controller designed for that.

Now motor does not want to run since i cant get relevant data for auto tuning code. I think its because i use Volt inverter which is much to big to measure such a small motor. 

I can provide results when i am able.


----------



## Emyr (Oct 27, 2016)

arber333 said:


> Do you have any data on the Leaf A/C compressor motor? I need pole count, max rpm and max continuous power.
> 
> I have one unit here on my desk and i am trying to run it with Lebowski controler. I tried to get something from control bus, but it works on a signal level that my computer cant determine. I can see signal on a scope, but i cant talk to it... So i decided to do it the hard way. To build controller designed for that.


From research I was doing last year
ES14
power 3.4kW
nominal	202v
voltage range 140-281v
rpms 1k-10k
dry 4.7kg

ES27
6kW
nominal 288v
voltage range 140-400v
rpms 1k-8.6k
dry 5.9kg

ES34
7.4kw
nominal	288v
voltage range	200v-420v
rpms	1k-8.6k
dry 6.7kg

Those power figures are lower than I remember and I didn't note the sources. I'll update later if I find anything.


----------



## arber333 (Dec 13, 2010)

Well i have this one that came off a 1st gen leaf. 
I managed to run it on 50Vdc and ebike controller just fine. But run with propper power controler doesnt work just yet. I need to know what is the pole count.


----------



## Dxta (Oct 2, 2017)

This is an interesting project. Getting to run the compressor with that inverter off ofa Prius car, has being the problem I see.
Isn't it possible for you to get both the compressor and inverter of the prius, and figure out how your voltage source can power it?
I'm just being curious here.


----------



## Emyr (Oct 27, 2016)

Dxta said:


> Isn't it possible for you to get both the compressor and inverter of the prius, and figure out how your voltage source can power it?


The Denso ES compressors have their controller and inverter built into the same casing as the motor and compressor. There are two problems:

1. The control signals aren't documented.
2. If you want to the the motor for something other than spinning the AC compressor, the standard controller will only spin the motor in one direction.


----------



## xp677 (Oct 15, 2017)

I'm planning to use one of these compressors for my own conversion. I have a 2007 GS450h which I'm using to sniff data between the various systems, I'll have a look at reading the AC compressor data tomorrow.

Edit: Wiring scheme is here. You can see which is in / out.

There is a bit more info here on page 97 onwards: http://stuff.jaygroh.com/prius/Priu...ation/Repair Manual/AC - Air Conditioning.pdf

Looks like a synchronous serial communication.


----------



## xp677 (Oct 15, 2017)

As promised..


Here's the expected waveform from the service manual:










I access the wires from part of the engine harness.

I didn't get any sensible data from ETI or STB, so the attached files just have CLK and ITE.

Data is raw, I haven't looked at it yet. Looks like SPI or some variant of it.

Attached files can be opened in Sigrok Pulseview (free software, no hardware required). Just set file type in the Open dialog to all, as I have to save them as .txt to attach them.


----------



## xp677 (Oct 15, 2017)

I went through some of the data, here are some of the data frames. All are 10 bytes long, and synced to a clock. Very slow data rate on this, each clock cycle is 3.2ms, each byte of data takes 26ms to receive, and each packet of 10 bytes is received over 315ms, with a 80ms gap in between. So less trhan 3 packets per second.


```
First frames after startup									
11111111	11111111	11111111	11111111	11111111	11111111	10100111	11101001	11111111	01000001
11111111	11111111	11111111	11011111	11111111	11111111	10100110	11001001	11111111	01010000
11111111	11111111	11111111	11011111	11111111	11111111	01000111	11001001	11111111	01110001
11111111	11111111	11111111	11011111	11111111	11111111	01000111	01001001	11111111	01110001
11111111	11111111	01111111	11011111	11111111	11111111	10100110	10001001	11111111	10110000
11111111	11111111	01111111	11011111	11111111	11111111	10000111	10001001	11111111	10001001
11111111	11111111	01111111	11011111	11111111	11111111	10100110	10001001	11111111	10110000
11111111	11111111	01111111	11011111	11111111	11111111	10000111	11001001	11111111	11110001
11111111	11111111	01111111	11011111	11111111	11111111	10100110	01001001	11111111	00110000
11111111	11111111	01111111	11011111	11111111	11111111	10000111	10001001	11111111	10001001
11111111	11111111	01111111	11011111	11111111	11111111	10100110	11001001	11111111	11010000
11111111	11111111	01111111	11011111	11111111	11111111	10000111	01001001	11111111	00001001
11111111	11111111	01111111	11011111	11111111	11111111	10100110	10001001	11111111	10110000
									
									
Typical frames approx 30 sec after startup									
11111111	11111111	01111111	11011111	11111111	11111111	10100110	01001001	11111111	00110000
11111111	11111111	01111111	11011111	11111111	11111111	10000111	01001001	11111111	00001001
									
									
Typical frames when driving with AC on									
11111111	11111111	01111111	11011111	11111111	11111111	11011011	10101001	11111111	11001001
11111111	11111111	01111111	11011111	11111111	11111111	00000110	10101001	11111111	01110000
```
Bytes 3,4,7,8 seem to change contents, byte 10 looks like a checksum of some kind but I can't figure out how it is generated.

This data could easily be reversed, of course. i.e. 11111111 may be 0, not 255.

Doesn't look like much change in this data between the various states. Next is to feed it into a compressor and see what happens?


----------



## aderavanessian (Mar 7, 2020)

Hi, I'm interested in running the compressor on a table. Since the controller is integrated into the compressor, I'm trying to figure out what I'd need to do to to drive the motor. 
Did any of you make any headway on what you'd need to do to operate it?
Thanks in advance.


----------



## xp677 (Oct 15, 2017)

I got a little further with the ES27C compressor from the GS450h, here's as far as I got.

https://openinverter.org/forum/viewtopic.php?f=14&t=258

If you're able to finish this off and get a compressor running, that would be great.


----------



## Nacho (Oct 11, 2019)

Hi all, not sure if I will confuse more with this, but we open the Nissan Leaf compressor... of course broken the board  so we are now trying to just move the motor. We saw the motor works in 3-phase so we need a PWM from 350VDV to 3-phase and controlling by 12v, looks easy but a month and I couldn't find any circuit done already.

Actually this is the last step converting our Mini R50


----------

