Page 1 of 1

Prius Gen3/Auris/Yaris inverter coolant temperature sensor

Posted: Tue Jan 31, 2023 6:53 pm
by bexander
I've done measurements on the coolant sensor that exist in the Prius Gen2, Auris and Yaris inverters.
I can conclude that it is a 2kohm NTC with a beta of 3664 according to measurements done at 25degC and 50degC.

The sensor is connected to the logic board but doesn't go anywhere after the input filter. I will attempt to modify the board and connect it to the Uaux input, which again, on the board is just connected with a pull-up to 3,3v rail, hence always reading 16,43V. The Uaux signal can be sent out on the CAN-bus without modifications to the OpenInverter SW.

Re: Prius Gen3/Auris/Yaris inverter coolant temperature sensor

Posted: Tue Jan 31, 2023 6:57 pm
by Pete9008
Is this the one that's mounted on the coolant pipe connected to the two pin connector on the logic board?

Re: Prius Gen3/Auris/Yaris inverter coolant temperature sensor

Posted: Wed Feb 01, 2023 4:23 am
by bexander
Yes, that the one.

My plan is to connect it like this, where TMPCO goes to the ADC:
image_2023-02-01_052232236.png
image_2023-02-01_052232236.png (8.88 KiB) Viewed 1288 times
EDIT: Using a gain of 4 on the Uaux signal in the OI CAN-interface and then rxBuf is the CAN-data:

Code: Select all

const int8_t tempMap[49] = {-20,-18,-17,-15,-13,-11,-10,-8,-7,-5,-4,-2,-1,0,2,3,5,6,7,9,10,11,13,14,
                            16,17,19,20,22,23,25,26,28,30,32,34,36,38,40,42,45,47,50,53,57,61,65,70,76};

uint8_t tempRaw = rxBuf[6];
if(tempRaw < 10) {
tempRaw = 10;
}
if(tempRaw > 58) {
tempRaw = 58;
}
inverterStatus.coolantTemp = tempMap[tempRaw - 10];

Re: Prius Gen3/Auris/Yaris inverter coolant temperature sensor

Posted: Wed Feb 01, 2023 4:51 am
by bexander
Just realized the the above wount work.
The Uaux pin is the same as the mprot and if you pull this pin "low" it will trigger PWM stop in the inverter => no good.

Re: Prius Gen3/Auris/Yaris inverter coolant temperature sensor

Posted: Wed Feb 08, 2023 5:51 am
by bexander
I think this will work:
image_2023-02-08_065011709.png
Always keeps input above 2V, hence reads as digital high but still enough room to measure coolant temperature with enough accuracy.