LDU Rotor Temperature Monitor

Toyota Rav4 EV Forum

Help Support Toyota Rav4 EV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

asavage

Well-known member
Supporting Member
Joined
Aug 7, 2017
Messages
547
Location
Oak Harbor, Wash.
After modifying my LDU to no longer circulate liquid coolant through the rotor, I would like to know just how hot this rotor is getting. I figure that it now can't dissipate much heat anywhere except to the stator, and to the rotor bearings, and I'm a bit worried about the latter; I think the rating for the bearings' grease is only 160°C, according to Howard.

Data! I don't have "before modification" temperatures, which is a shame, but I'm working on "after" temp data now.

So far I have:
  • Installed a Melexis MLX90614 IR temperature sensor in the rotor end cap, pointed to the edge of the rotor.
  • Test connected it to an Arduino Pro Mini microcontroller
  • Test connected it to a OLED display, 0.91"
  • Assembled code to initialize and read the sensor data, display the result on the OLED, in either °C or °F, updated once per second
  • Ruined my lab power supply by using it more than its rated service life of 6 hours per 23 months.
It's working on the bench, and the sensor is now installed in my RAV4; I have yet to build the "extension harness" that allows me to put the display inside the car, but the sensor and display/microcontroller/DC-DC converter can plug together without the extension harness, so it's tested and ready for install. I just need more time, lol.

---

The MLX90614 can read up to 380°C (720°F), and I sure hope that the rotor isn't going to get hotter than that.

This is an early pic, but I don't have an updated one available. Trust me that the spacing has been corrected:
IMG_7933.jpg IMG_7945.jpg


The silver box is a 12v->5v DC-DC Converter with an input range to 30v, so safe for automotive "12v".
The blue circuit board is the Arduino Pro Mini, which measures ~3/4" (19mm) x 1.25" (32mm).
The harness connector is Deutsch DTM04-4P.
IMG_7946.jpg

All connections off-board are crimped.

It's wired something like this:
Arduino-MLX90614-Circuit.jpg

The specific variety of MLX906014 is MLX90614ESF-ACF-000-SP, which works well with 5V, has a relatively narrow 10° field of view, and does internal gradient compensation. Importantly, this version is fairly long, which worked into my mounting idea at the time.
MLX90614ESF-ACF-000.jpgMLX90614xCF_dimensions_01b.pngIMG_7875.jpgIMG_7876.jpgIMG_7877.jpg

MLX90614_Pinout_Bottom_View_01b.png
(cont'd next msg.)
 
Last edited:
How to mount an IR sensor such that it can see the rotor, and be also be serviced? I chose a location, and a mounting technique that I'm not 100% happy with, but will serve as a first-pass attempt.

IMG_7936.jpg

Prepping the rotor cap housing, I removed part of an internal rib, and drilled/tapped for 3/8" NPT.
IMG_7886.jpg

I used a 3/8" MNPT x 1/8" FNPT reducing bushing to form a mount for the sensor.
The IR sensor is ~9mm OD (.199"), I used drill 'T' (.201"). 23/64" (.203") would probably work as well. As you're drilling a threaded surface, the bit wanders a little and the actual hole size is a bit larger than you'd expect from looking at those figures, but as the epoxy used to fix the sensor to the bushing needs some space, this worked out well.
IMG_7887.jpgIMG_7888.jpgIMG_7889.jpgIMG_7890.jpgIMG_7891.jpg

Sensor epoxied in the bushing, leads soldered:
IMG_7894.jpg IMG_7893.jpg

(cont'd next msg.)
 
Last edited:
I potted the leads with a different epoxy, using a copper reducer 1/2" x 3/8":
IMG_7896.jpg


I first used RTV very sparingly at the outside of the base:
IMG_7897.jpg


Then, the next day, I poured epoxy from the top to pot the leads:
IMG_7901.jpg


After that set up, I carefully ground off flats on the reducer, to allow an open-end wrench to access the bushing later. The OD of the base of the reducer was just slightly larger than the hex bushing across the flats.
IMG_7900.jpg

I attached a Deutsh plug connector to the sensor's leads:
IMG_7934.jpgIMG_7935.jpg

IMG_7910.jpgIMG_7911.jpg

The aim of the sensor is not ideal, but this location was the best I could locate.
IMG_7913.jpg

(cont'd next msg)
 
IR sensors work via . . . IR radiation ;) An ideal black body emits the most IR per unit of temperature. Shiny surfaces emit the least. Emissivity is measured on a scale of [0..1], with 1 being "ideal" (I am simplifying, and I also wasn't a physics major).

Copper of average polish has an emissivity index of around 0.05: not very good. I sprayed the end of my rotor with high-temp oil-based paint, flat black, which has an emissivity of 0.94:
IMG_7829.jpgIMG_7830.jpgIMG_7831.jpgIMG_7832.jpgIMG_7874.jpg

Next was wiring the mess up. It looks simple, right?
Here's a reference for the microcontroller. Bear in mind that I'm only using FIVE of the solder pads (plus six for programming only):
Arduino Pro Mini,  ATmega328, 16MHz,  5V.png

There was a time when my dining room could have theoretically been used for . . . dining . . . but that was only a passing fantasy:
IMG_7930.jpg

After beating on the code for a few hours, and learning the hard way the difference between Serial.print("foo"); and Serial.print(F("foo"));, the code is reliable enough to disconnect the FTDI adapter and package the wiring (see in the first post but repeated here):
IMG_7945.jpg

I put a layer of clear-ish RTV on the DC-DC, then after that set up firm I strapped the Arduino to it.

It works on the bench.
Working code is here. Of note, the emissivity index, and temperature scale of °C or °F can be configured in code at the top, without fussing with anything else. If you change the emissivity, it's written to the sensor's EEPROM, and the sensor has to be powered down to use the new index. I tried out code that was suggested to reboot the Arduino and it didn't appear to work, and I gave up on that feature for now.

I consider this a fairly amateurish project, but I have little experience with these tiny things; my background is in servicing stuff that better engineers defined. I'm sure that you can do better, and if I ever do this again I'm going to improve that IR sensor mount, it's too fragile. And my coding skills are appalling and way out of date; try not to judge me based on what you read.

But it works.

Current spreadsheet on this project (including some extra Deutsch terminals that won't be used here):
Spreadsheet_20240504.png

Resources:
https://how2electronics.com/infrared-thermometer-using-mlx90614-arduino-oled/
Very useful guide on Pro Mini & MLX90614, including a good code skeleton (though loaded with Serialprint() functions which store strings in SRAM (2k) instead of Flash RAM (32k), which is a serious problem if you use many of them, as I did).
Pinout of bare sensor is incorrect, though, don't use it.

https://media.melexis.com/-/media/files/documents/datasheets/mlx90614-datasheet-melexis.pdf
Melexis MLX90614 datasheet. Correct pinout of bare sensor is on pg. 8.

https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors?view=all
Project overview using IR sensor with an Uno
Shows the 10k pull-up resistors for use with 5V!

https://www.sparkfun.com/products/11113
Arduino Pro Mini 328 - 5V/16MHz DEV-11113 $11 overview & some specs

https://learn.sparkfun.com/tutorials/mlx90614-ir-thermometer-hookup-guide/all
Mostly about their breakout board, not all that useful
---
I'll post more on this when I get the non-sensor stuff stuffed into the car; the weather has turned and this is outdoor work for me.
 
Last edited:
I do not like running wiring from the engine compartment into the passenger area on modern cars, so I've been putting it off, but today was the day . . .

The firewall wiring bundle on the passenger (right) side has an oversized grommet with a pre-molded empty nipple. I cut the end of the nipple off and routed my four-conductor cable through it. It looks simple, but I explored several different locations before deciding on this route.

Similarly, I took off the plastic cowl to see if removing the metal "shelf" on the engine bay side was reasonable. I decided that it would have to be re-sealed upon reinstallation and I was able to work my arm close enough to the firewall wiring grommet (from the engine bay side) to feed the cable via Braille. To be clear, it is not necessary to remove the cowl/wiper arms etc. to access this grommet, but I didn't know the answer when I began.

From the engine bay side (plastic cowl removed: not necessary):

IMG_8031.jpg IMG_8033.jpg

IMG_8041.jpg IMG_8044.jpg

Feeding the cable in, you will want the person with the smallest forearms; mine aren't quite small enough:

IMG_8047.jpg

But don't even think of trying to push cable through that nipple until you cut the end of it off, from the passenger compartment side of the firewall.

From the interior, I removed the glovebox (as if changing the cabin filter), then I had to remove around five modules from behind the glovebox, in order to see what I was doing. If you are young/limber/dexterous, you might be able to cut the nipple's end off without removing the modules; it might be possible. But you'd never be able to see it clearly enough to know what it is, without the modules out of the way.

IMG_8034.jpg



IMG_8037.jpg

I snipped the end off of this nipple:
IMG_8038.jpg

I can't fix the focus; the phone refuses to do far focus if there's something in the foreground, but here's the 4-conductor cable installed through the grommet. This cable is ~5mm dia and fits, though larger would not fit nearly so well.
IMG_8048.jpg
 

Attachments

  • IMG_8033.jpg
    IMG_8033.jpg
    1.8 MB · Views: 1
Last edited:
I do not like running wiring from the engine compartment into the passenger area on modern cars, so I've been putting it off, but today was the day . . .

The firewall wiring bundle on the passenger (right) side has an oversized grommet with a pre-molded empty nipple. I cut the end of the nipple off and routed my four-conductor cable through it. It looks simple, but I explored several different locations before deciding on this route.
...
It will be quite curious to know the temperature of the rotor when the stator temperature reaches 170°F ÷190°F.

Temperature of inverter, stator and HV battery current while driving RAV4EV
 
Last edited:
Back
Top