Last update: Nov 20 2016
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 program code 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 10°C (50°F) at the C position to 110°C (230°F) at the H position.
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.