It's about time I understood analogref(Internal)

mearsy:
The code is for a differential temperature controller so its not a question of it being too sensitive. As the temperature rises to a certain point the relays are switched on to activate a pump. But this causes the values read by the sensors to jump.

Sorry if I wasn't clear. What I had in mind is that the change in value due to the relay going on could be within a range that does not cause any change in the relay setting. Another possibility is that you give time for the relay current to settle before taking another temperature reading.

I had assumed you would have separated power supplies, but if not, do so.

Using the internal 1.1v ADC reference voltage is as simple as analogReference(INTERNAL) on a Uno. Of course you then need a voltage divider on your input signal so that its range is 0-1.1v

...R