Last update: Apr 2 2017
The engine coolant temperature gauge is driven by a microcontroller circuit so that it displays a useful temperature range for the electric motor.
The exisiting coolant temperature gauge does not faithfully report temperature but instead responds to the coolant temperature sensor for three ranges - low, normal and high. The relationship between voltage and needle position is shown in the graph below. The needle remains at a fixed position (40%) for a range of normal internal combustion engine temperatures. The needle moves slowly in the low range and quickly in the high range.
To make the gauge useful for electric motor temperatures, a custom microcontroller circuit is used. The circuit reads temperature from a thermistor mounted in one of the electric motor exhaust ports. The microcontroller converts the temperature to a voltage, compensating for the shape of the curve in the graph above so that the needle moves linearly with temperature. The scale is 15°C (59°F) at the C position to 90°C (194°F) at the H position. These temperatures are the exhaust air, which is lower than the armature temperature.
A ten turn 2 watt 500 ohm potentiometer takes the place of the coolant temperature sensor in the wiring to the gauge. The circuit rotates the potentiometer with a small gear motor to send the desired voltage to the gauge.
Source code is here.