Author Topic: Thermistors  (Read 17536 times)

0 Members and 1 Guest are viewing this topic.

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #25 on: October 03, 2013, 02:01:38 PM »
It appears there's at least one plug-and-play SHT25 (with arduino libraries):
http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=152_158&products_id=2236&zenid=f5093mh88q6huhnstqrl5qokk1
I have no experience with that vendor.  Maybe there are better options....
« Last Edit: October 03, 2013, 02:04:57 PM by NeverDie »

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #26 on: October 03, 2013, 08:27:13 PM »
The SHT25 breakout vendor checks out as reliable (has 100% feedback on ebay and a two week money back guarantee).  I downloaded the "library," and it is the same as for an SHT21.  Other than fairly high cost, the biggest downside is that vendor is based in China, so it takes roughly three weeks to receive via ePacket.  Given the long leadtime, I think I'll order the SHT25 breakout board soon.  If nothing else, the SHT25 will be a decent plan B if I can't find a better plan A.  That is to say, if I can get better accuracy from a thermistor approach using an arduino, I'm still open to whatever approach that is.  I receive my arduino tomorrow.

Below is a picture of the cover removed from a DHT11.  I was surprised to see that inside is an itty-bitty humidity sensor that looks almost exactly like an el cheapo humidity sensor.   #-o
 

Is the DHT22 the same?

On closer inspection I can see that the copper traces actually are different from the humidity sensor (board 28) in an inexpensive Acurite TRH wireless sensor:

Are those differences the DHT11's "secret sauce"?
« Last Edit: October 03, 2013, 08:48:04 PM by NeverDie »

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #27 on: October 03, 2013, 11:02:10 PM »
Well, at least on paper, it looks like the am2315 sensor may beat the SHT15:

http://www.adafruit.com/datasheets/AM2315.pdf

and I wouldn't have to go to China to get it!

It's not clear though as to whether many people have gotten it to work yet.
« Last Edit: October 03, 2013, 11:04:36 PM by NeverDie »

Offline aweatherguy

  • Senior Contributor
  • ****
  • Posts: 288
    • Weather Station Data Logger
Re: Thermistors
« Reply #28 on: October 04, 2013, 02:45:45 AM »
You have it pretty well figured out.

You can get better temperature accuracy with a thermistor -- but it would take some careful circuit design -- probably including either a separate analog-to-digital converter or multiple gain amplifiers to achieve that goal on an Arduino shield.

However, the SHT25 (and SHT15) offer very good temperature accuracy PLUS very accurate humidity that you don't get with a thermistor -- plus much less work to hook up with the Arduino -- sounds like a winner to me. The bare sensor chips are a bit tricky to solder onto an Arduino shiled board (but doable with some 30ga bare wire, a small-tipped soldering iron, steady hands and a good magnifier). There is also the SHT75 which has a mounted SHT15 and is easier to solder down to a shield board (but quite a bit more expensive too). And vendors like SparkFun offer "break-out" boards for these sensors too. And you found other breakout board vendors.

One other note about accurate temperature measurements. With the Sensirion parts, you can get good humidity (and dew point) measurements with the sensor mounted directly to the Arduino shield. But the temperature won't be accurate (i.e. a true measurement of ambient air temperature) as the sensor will be warmed by heat from the Arduino. To get accurate temp measurements, the sensor needs to be located off the Arduino shield via a cable -- foot or two of telephone extension cord works well (I've seen these work with as much as 50 feet of cord if you want to get it located in a different room, outside, etc). The idea is to create a very high thermal conductivity (oops, make that) resistance path between the sensor and the Arduino. The thin "neck" on the SHT75 helps but is not entirely adequate by itself.

Re: humidity sensors, they come in two basic flavors -- resistive (like the photos you show) and capacitive (used by Sensirion). Resistive sensors work better at high humidities and capacitive units tend to be more accurate when it is dry. Sensirion has done a good job of making a capacitive sensor very accurate over a wide range of humidity values; it does not get a whole lot better than that. The photos of the interleaved fingers are resistive humidity sensors -- there is a hygroscopic gel coating the ceramic substrate -- the more water that gets into the gel, the lower the resistance. Not all resistive humidity sensors are "el-cheapo" units (but maybe these are) -- but in either case and given the current state of technology it seems like better accuracy is coming from the capacitive sensors for now.

Enjoy the Arduino -- they are easy to get started with, and a whole lot of fun!
« Last Edit: October 04, 2013, 03:44:51 AM by aweatherguy »

Offline aweatherguy

  • Senior Contributor
  • ****
  • Posts: 288
    • Weather Station Data Logger
Re: Thermistors
« Reply #29 on: October 04, 2013, 03:06:58 AM »
I looked at the AM2315 data sheet. It's a little confusing and hard to tell how much is due to poor English translation and how much is marketing hype. What I noticed is that the RH accuracy is shown in table 5.1 as being +-2% but the graph in Figure 2 seems to indicate about +-1.2% -- is this typical versus guaranteed (table 5.1) ???

Same with temperature -- table 5.2 says +-1.0C but the graph in figure 2 suggests far better accuracy. Bottom line is that this kind of stuff on data sheets makes me very suspicious -- could be poor English translation, but... Also, there is no information on here about traceability.

Compare with the SHT25 data sheet -- typical versus guaranteed specs are clearly called out and traceability is also discussed in detail (section 8.3).  Personally, I would be much more comfortable with these sensors.

That's just my never-to-be-humble, and sometimes errant opinion  :grin: ).

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #30 on: October 04, 2013, 09:14:15 AM »
I looked at the AM2315 data sheet. It's a little confusing and hard to tell how much is due to poor English translation and how much is marketing hype. What I noticed is that the RH accuracy is shown in table 5.1 as being +-2% but the graph in Figure 2 seems to indicate about +-1.2% -- is this typical versus guaranteed (table 5.1) ???

Same with temperature -- table 5.2 says +-1.0C but the graph in figure 2 suggests far better accuracy. Bottom line is that this kind of stuff on data sheets makes me very suspicious -- could be poor English translation, but... Also, there is no information on here about traceability.

Compare with the SHT25 data sheet -- typical versus guaranteed specs are clearly called out and traceability is also discussed in detail (section 8.3).  Personally, I would be much more comfortable with these sensors.

That's just my never-to-be-humble, and sometimes errant opinion  :grin: ).


Good catch!  I only looked at the graphs....  Definitely a red flag.

Offline aweatherguy

  • Senior Contributor
  • ****
  • Posts: 288
    • Weather Station Data Logger
Re: Thermistors
« Reply #31 on: October 04, 2013, 03:43:17 PM »
I'm not sure if there is an industry-wide agreed upon statistical meaning of "typical", but it is usually taken to mean just that -- this is what you should typically expect to see -- but it is by no means a guarantee. The "maximum" spec is the guaranteed number.

On page 2 of the SHT25 data sheet there are two tables, for Temp and RH. Here the typical accuracies for RH (+-1.8%) and temp (+-0.2C) are listed, but you are referred to the graphs below for maximum specs. There you can see they guarantee (the solid line) 2% on RH from 10-90% RH and it gets worse as you approach 0%RH and 100%RH. Same with temp -- the best accuracy is from 10C to 60C and is worse outside those limits.

I don't know how they sense temperature...probably not a thermistor...but that's only a guess. I think the SHT sensors have humidity measurement as a primary goal, so that probably drives the level of temperature accuracy they provide. Beyond that, you'd have to ask Sensirion.

I've not spent any time looking for a breakout that would work for the thermistor measurement. Something with a good ADC of at least 14-bit resolution (15-16 bits preferred) could perhaps be made to work. You would also want the ability to control power to the thermistor because with typical measurement current levels there will be self heating just due to that current; you want to turn the current on, take a quick measurement and turn it off again before much self-heating can occur.

Something like this http://www.osengr.org/Projects/Load-Cell-Shield/Load-Cell-Shield.html could be re-purposed, but would require a tweak to allow the Vref supply to be turned off and on by Arduino. I'll think a bit on what other options there might be.

Today, you are stuck with either trying to design with all thru-hole components for easy assembly -- but more and more manufacturers are only offering SMT parts. The problem with having someone do a run of SMT boards is organizing it, getting payments, and all the hassles that go with that. That's well beyond what I have time for these days. SeeedStudio was claiming to offer something along those lines a while back but I never went back to see if they actually pulled it off...

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #32 on: October 04, 2013, 06:10:07 PM »

I've not spent any time looking for a breakout that would work for the thermistor measurement. Something with a good ADC of at least 14-bit resolution (15-16 bits preferred) could perhaps be made to work. You would also want the ability to control power to the thermistor because with typical measurement current levels there will be self heating just due to that current; you want to turn the current on, take a quick measurement and turn it off again before much self-heating can occur.


Maybe this 24bit ADC for arduino would be useful?

http://www.ebay.com/itm/LTC2400-24bit-analog-to-digital-converter-ADC-module-temp-sensor-SPI-AVR-arduino-/111005456125?pt=LH_DefaultDomain_0&hash=item19d870d6fd

« Last Edit: October 04, 2013, 06:12:38 PM by NeverDie »

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #33 on: October 05, 2013, 01:19:22 AM »
Interestingly, there's a chip that combines both temperature sensing and 24-bit ADC to yield temperature readings with an accuracy of +-0.1C.  
http://www.meas-spec.com/product/temperature/TSYS01.aspx
It even comes with factory calibration data built into it.
It's digital and can interface to I2C.
Costs about $10 for the chip.  
I haven't yet found anything (e.g. breakout board) to physically connect it with an arduino.


Offline aweatherguy

  • Senior Contributor
  • ****
  • Posts: 288
    • Weather Station Data Logger
Re: Thermistors
« Reply #34 on: October 05, 2013, 03:03:33 AM »
Well, the 24-bit ADC module might be able to work...but it has the same problem that you cannot turn off the voltage drive to the thermistor. Here's a way you ***might*** be able to make this work:

Instead of powering the module from Arduino's 5V supply, use one of the Arduino's digital output pins. This would allow you to turn the power on and off. The concern is that the digital output pin may provide a fairly noisy 5V supply, so try connecting it through a 10-ohm resistor and hope the capacitive filtering on the ADC module is adequate. The current draw by the ADC module is small enough that an Arduion digital output can power it.

Next problem you need to deal with: Create a voltage divider with a very stable metal film resistor (I can provide Digikey p/n and they are not expensive) and the thermistor. Connect one end to ground, the other end to the ADC module's precision reference voltage -- that's the second issue as this is not available on a module pin -- you would need to solder a wire onto a SMT pad/component on the ADC module PC board.

Connect the center tap on the voltage divider to the ADC input (IN1). The capacitance associated with the thermistor connection would need to be controlled (no long cables), and you might need to remove the "C40" capacitor on the ADC module.

The ADC powers up and performs a single conversion in less than 200msec -- this is just barely fast enough to avoid self-heating problems. So the Arduino software would want to leave the ADC off most of the time, then periodically (every 5-10 sec perhaps) power up the ADC, get the reading, then turn off again.

If you want to thermally attach the thermistor to something with a larger thermal mass (chunk of brass for example), you could relax these timings quite a bit.

If you want to try this here are the risks:

1) Noise on Arduino digital output is too much and you wind up with noisy ADC data.
2) Can you make the attachment to the precision reference on the ADC module  -- soldering a small 30Ga wire onto an SMT component (IC or capacitor)?
3) Can you remove C40 from the PC board?

If you want to try this you should be willing to write off the purchase price of parts -- as there's no guarantee this will work. If you have too much capacitance associated with the thermistor connection (e.g. long cable)  there would be no way to tell that you had a measurement error other than by comparison with a known accurate temperature reference.

Sorry for the long-winded reply...hope this helps
« Last Edit: October 05, 2013, 03:07:06 AM by aweatherguy »

Offline aweatherguy

  • Senior Contributor
  • ****
  • Posts: 288
    • Weather Station Data Logger
Re: Thermistors
« Reply #35 on: October 05, 2013, 03:16:40 AM »
I realized there is a way to check accuracy -- purchase two of the stable metal film resistors and use the 2nd one as a "test thermistor", replacing the thermistor with the metal film unit.

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #36 on: October 05, 2013, 08:33:54 AM »
That sounds daunting.  I think you've convinced me it would be tough to get better accuracy than the TSYS01 with what's currently available.  i.e. +-0.1C is hard to beat, and getting a sensor which delivers that level of accuracy for ~$10 is a bargain if you consider the cost of just the thermistor alone would be about the same.

It also makes me wonder whether the accuracy numbers reported for the TSYS01 and SMT25 were derived while running the chips continuously or whether they are powered on only just long enough to take a measurement and then powered off again so as to cool off.  On the other hand, maybe their calibration accounts for the effects of self-heating, and so in actuality their chips should be run continuously? 

Unfortunately, because of its mounting style (SMD/SMT), I don't see a straightforward way to connect a TSYS01 to an arduino.  This must be a common problem.  Is there a common solution other than waiting for a vendor to put it on a breakout board of some kind?  The chips themselves are in-stock and available.  I guess hand soldering is possible (http://www.youtube.com/watch?v=3NN7UGWYmBY), but it wouldn't be my first choice if there's an easier way.  I wonder if there's a "soldering service" that's geared up to do it for prototypes?  Also, I'm not even sure what I would solder it *to*.  Would I need to fabricate a custom board just to do this, or are there off-the-shelf boards that are neatly categorized and easily found that would do?  It would make sense for the manufacturer to have evaluation boards, though I don't see any on their website.  I guess I'll have to telephone them to find out.


« Last Edit: October 05, 2013, 11:39:24 AM by NeverDie »

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #37 on: October 05, 2013, 12:01:51 PM »
I see there's at least one place that will solder the chip on for free if I buy their chip adapter board.  I could probably have the chip sent directly to them, they would solder it on, and then they ship it to me.
http://www.epboard.com/eproducts/icsoldering.htm

That sounds like a good deal to me, given that I probably need some kind of adapter anyway. 

Have you ever used an adapter or used a service like that?  Perhaps there are better vendors;It's merely the first one I clicked on. 



Offline Old Tele man

  • Singing in the rain...
  • Forecaster
  • *****
  • Posts: 1365
Re: Thermistors
« Reply #38 on: October 05, 2013, 01:06:11 PM »
I don't know how they sense temperature...probably not a thermistor...but that's only a guess.

I believe it might be via a "band-gap" temperature-sensing IC circuit, which is how it's done on the Sensirion devices.
« Last Edit: October 06, 2013, 12:09:23 PM by Old Tele man »
SYS: Davis VP2 Vue/WL-IP & Envoy8X/WL-USB;
DBX2 & DBX1 Precision Digital Barographs
CWOP: DW6988 - 2 miles NNE of Cortaro, AZ
WU - KAZTUCSO202, Countryside

Offline aweatherguy

  • Senior Contributor
  • ****
  • Posts: 288
    • Weather Station Data Logger
Re: Thermistors
« Reply #39 on: October 05, 2013, 04:15:44 PM »
Yes, these parts do have self-heating issues. The SHT25 for example only applies power to it's temperature sensing circuitry when you ask it to make a measurement. On page 5 of the SHT25 data sheet in the top-right corner they explain the limits you must observe to keep self-heating below 0.1C. The TSYS01 data sheet also specifies self-heating -- you will have 0.02C of heating if you take 10 readings/sec for one minute -- that is actually quite low; that's a nice part.

Also, don't forget that you weren't actually going to get 0.05C accuracy with the other thermistor -- you would have other contributors to error and could have kept the end result below 0.1C -- perhaps 0.06 to 0.08C, so in comparison with the TSYS01 there's not much difference.

Soldering those leadless packages is really tough by hand. That soldering service is also a nice find -- their E16-0095 looks like the right adapter -- QFN16, 4x4mm with 0.65mm pitch.

The TSYS01 will need to be powered by Arduino's 3.3V supply -- not the 5V supply. You'll also need some resistor/diode networks to make the jump from Arduino's 5V digital logic signals to the 3.3V signals from the TSYS part. Not a huge deal and you can do it inexpensively with thru-hole parts.

One thing you definitely want to do is keep the sensor away from the Arduino board. If you soldered that directly to a shield board you would probably have 3-5C of error due to heat from the Arduino. If you use the I2C interface, you will only need 4 wires to connect the chip -- Power, Ground, and two I2C lines.

Here's one way you could go: Get one shield board for Arduino; install the 5V/3.3V translation components there and mount a 4-circuit telephone jack there also; a 4-conductor phone cord makes a nice way to extend the sensor away from Arduino. Get a 2nd Arduino shield board or just a simple prototyping board; there you can mount another 4-circuit phone jack, the adapter board and a bypass capacitor for the power supply. This should allow you to extend the sensor at least 10-20 feet away from the Arduino, perhaps even longer if you keep the speed down on the I2C bus.

Are you okay with having to do some programming on Arduino to get it all working?

If you want to do this, you can PM me here on WxForum and I'll send you some part numbers for the phone jacks and information on the 3.3V/5V translation circuits, etc.

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #40 on: October 07, 2013, 04:57:12 PM »
I think I may have found an alternate chip, also accurate to .1C, which is in stock and available, which is digital and very low power AND which has the right type of packaging for use with an arduino without needing a chip-adapter or soldering: the TSIC 506F T092.

http://www.ist-usadivision.com/objects/media/data-sheets/product/temperature/tsic/TSic%20500%20Series.pdf

Also, I like the packaging better because it can be wired like a probe and is therefore better for measuring air temp than the TSYS01.  

The only wrinkle is that rather than I2C, it uses a zacwire (?) interface, but I rather suspect that's not a dealbreaker per se.  I've checked only one vendor so far, and the price was around $13 per chip.

Given all the practical considerations, my first immpression is that I like it better, and it would seem to offer a shorter path for completing the hardware part of the arduino project. How do the tech specs look to you?   Are there any reasons not to prefer it over the TSYS01?

« Last Edit: October 08, 2013, 11:29:47 AM by NeverDie »

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #41 on: October 07, 2013, 05:11:51 PM »
Is looks as though there are already some arduino libraries for interfacing to earlier generations of the chip using zacwire. 
http://playground.arduino.cc/Code/Tsic

That's very encouraging.  It's always easier to start with something than nothing.

Offline NeverDie

  • Senior Member
  • **
  • Posts: 87
Re: Thermistors
« Reply #42 on: October 07, 2013, 08:00:01 PM »
I found a source where the TSIC 506F T092 can be purchased for $10.35 in 1 unit quantities.  Lead time is 1 week.  http://buy.durexindustries.com/viewitems/all-categories-sensors/all-categories-sensors-digital-temperature-sensors?

It looks like the same manufacturer also has a lineup of humidity sensors that *are* I2C, without mounting problems, and there's even arduino code posted on the manufacturer's website.  The specs would benefit from your more informed interpretation, but on the face of it, they look comparable to the SHT25, and might even be better.  http://www.hygrochip.com/index.php?id=3854&L=1  Anyhow, I also like that I wouldn't need to order a breakout board and that maybe it could be wired like a probe so as to also help isolate against undesired thermals from the arduino.

The article has a bit more background info on the humidity sensors than what's found on the datasheet:
http://www.azosensors.com/article.aspx?ArticleID=25

The same vendor has all three flavors of the humidity sensor, also with a 1 week lead time.  http://buy.durexindustries.com/viewitems/all-categories-sensors/all-categories-sensors-digital-humidity-sensors?

Unless there's a pitfall I've overlooked, this looks like the shortest path for getting some amazing accuracy.

What other hardware/configuration would be needed to hook the TSIC 506F T092 temperature sensor and either the HYT-221 or HYT-271 humidity sensor up to an arduino?  Given a proper hardware set-up, I am betting I can handle whatever software/programming will be needed for an arduino to read the sensors.  Hopefully that part of the project won't take me as long as finding and deciding the right sensors to order!   :-)
« Last Edit: October 08, 2013, 12:06:29 PM by NeverDie »