View Full Version : SHT11 Sensirion temperature problem

02-14-2007, 03:07 AM

Hey! - I'm using the sensirion demo program slightly modified to display RH and Temp on a
LED Reader board (BETABRITE), got the reader board working great!, got the propellor chip
and SHT11 working GREAT!

Problem, I changed the sensirion.spin program to turn off the heater (bit2 - the 4's position)

and still the SHT11 reports a consistent 82degrees farenheit when allowed to 'sit' for more than a minute.

I'm thinking my heater is still not turning off - any ideas? http://forums.parallax.com/forums/emoticons/confused.gif

I can post the code....

Thanks! John

Post Edited (johnnyairplane) : 2/13/2007 8:13:18 PM GMT

03-14-2007, 12:12 AM
Well...progress report!

I've installed a very small - used CPU fan over the SHT-11, turned off the Internal heater and...

Well, the SHT-11 now reports consistent temperature information!,
it sits in a 69degree room, reports 73degrees (F)...., without the fan blowing on it
constantly it climbs right up to 82F - over and over and over again!

I also added 330 ohm resistors on the data lines (series)....

All of this helped, so did a PS decoupling capacitor!

Strange, it seems people are using these sensors with the heater on, nobody can be getting accurate results with these! - yet I've found very few people that have really done their homework!?


03-14-2007, 12:43 AM
Why are you explicitly turning off the heater? According to the datasheet, the heater is default off, so you don't need to touch it at all. The driver code posted in the object exchange does not even touch the status register, thus meaning it doesn't even fiddle with the heater by default.

My guess is you changed the cmd constants without knowing exactly what they were. These constants are command constants, not status constants. That is, these are the raw commands that are used by the sht11 sensor so it knows what mode the user wants. So by changing these command constants, you are probably causing the sensor to enter some debug mode or making it read a bad value from some reserved command register.

So use the code as is and you should get perfect results. I use the sht11 in a weather station running on another microcontroller in which I specifically wrote the driver and made sure not to enable the heater (that is, never ever touch the status register). It works perfectly, and gives me results that are better than any other thermometer I own (I can tell this by averaging the readings over time, etc).

Post your code if you are sure you are doing it right and are not accidentally changing the mode constants.