I get some curious data from my LM35DZ temperature sensor. Every minute or so I take 8 measurements 1/2-second apart and average them. The graph below shows that the accuracy of the measurements deteriorates noticeably towards the low end of the range (0°C). I connect the sensor's OUT pin to ATmega328's ADC pin directly - no resistors or capacitors - with 6 inches of unshielded hookup wire. The sensor is in the same plastic enclosure with XBee, humidity sensor, relay switching 110V-powered fan and a 12V to 5V voltage regulator.
Here's the graph illustrating the problem:
As you can see, at 20°C the accuracy is worse than ±2°C. I have a similar sensor connected to another ATmega328. With no other sensors or fans attached to it. And the accuracy is as expected (half a degree or so). So I'm positive it's my circuit (and not the sensor or the micro code).
Any ideas what could be affecting the accuracy and how I can improve it?