Which thermistor?

Working on a project to chart temperatures of anhydrous ammonia. It will be flowing through plastic tubing. I was planning on taping a thermistor to the tubing and possibly wrapping it with insulation.
It's an outdoor environment so I was looking at the epoxy encased ones with wire leads already attached.
I looked at Mouser, but there are so many choices. Are there any specs that I need to look for (other than the obvious temperature ranges) to make them work with an Arduino?

I’d use a DS18B20 ( which is not a thermistor) - easier to use and more accurate . You really need the sensor in the flowing fluid to measure it’s temperature . What you propose won’t work very well

It's not really feasible to have it in the fluid. I'll have a look at the DS18B20.
I'm more interested in the difference between the tubes temperature than the actual temperature.

Stupid question, but with these sensors it says they return readings in the order they are on the bus. How is this determined? It looks like several can be connected to the same pin. I know they have unique addresses, but if you use .getTempCByIndex what order are the readings returned? Is there a specific way to wire them to know what the order is?

What is the typical temperature of that ammonia?

I believe it will be about 22 degrees F. Probably a range from 10 F to 60 F is what I'm looking for.

So that's -12°C - 15°C. Below zero so formation of ice may be an issue.

No problem for a 10k thermistor (pair it with a 20-30k resistor) or a DS18B20. The latter is easier to read; the first can be much smaller.

I like the fact that the DS18B20 only needs 1 wire for several sensors. I will be using 13 so that would simply the connections. Now I just need to figure out how the numbering works. It would be handy if there was a way to identify the sensor position on the fly in case one fails and needs to be replaced. Wouldn't have to change the code.
The Arduino and display will be mounted a fair distance away from the sensors so simple wiring will be a plus.


Note there are two programmes, one to initially get the addresses, the other uses them.. You need to know which sensors are where. In the event of failure, which does not appear to be common, you need to enter the address of the replacement sensor.

Thanks for the info. I found some discussion on reading addresses on the fly, but it appears that most people just embed them in the code. Maybe something for version 2. Now to find a good deal on some sensors...

I'm sure you can use the EEPROM to store the addresses of the sensors, so you don't have to enter them.

You'd still need to somehow figure out which address belongs to which sensor.

I was thinking of doing a configuration screen.
The sensors could be connected one at a time in sequence. Or like a tire pressure monitor system on a car, stick each one in ice water and detect the sensor with a major temperature change.
If the sensors are as durable as it seems, probably okay to just hard code.

You are just trying to make things harder than they really are by indulging in pointless side issues. You only need to read the address of the sensor once, label it, place it where you want to, and call that address up in the code. It really is that simple. I have no idea why you would ever want to use the EEPROM.

Just considering how the end user would go about replacing a failed sensor if they are unable to modify the code. I'm making this device for someone else and future serviceability might become an issue.

If you use the one-wire system and stay ignorant of the addresses, you will have to know the order in which Arduino checks the sensors and then reposition perhaps all the other sensors in order to get the output right after a replacement. This probably makes "Return to Base" a reasonable solution. Another possibility is where you (gasp!) DO use an eprom, a plug-in which is sold with replacement sensors after-market at a suitably extortionate price. Note that you are not obliged to use the one-wire system, you can use DS18B20s on individual pins.

This will probably be a one off system, but I wanted to make it easy to fix later.

I'll probably just hard code them to start with to keep things simple.

hard code them to start with to keep things simple.

That sounds like a really good idea, it is common practice, and I imagine it will not be "to start with", but permanent.

If you use thermistors and want accuracy , you will need to store calibration factors for each one .
The solution with the 1820 is to have a seperate routine to find the address and via the serial
Monitor assign these to particular points , and save in eeprom .

You can add sensors one at a time or heat up each in turn to identify them. This has come up before, the 1820’s should last for many years unless physically damaged, so prob not an issue .

Yes, hammy that’s what I was thinking on the 1820’s.
I’m not really good with Arduino code yet, so it might take some time for me to get something like this to work.

I've been working on this project, but seem to have hit a snag. I want to use 13 ds18b20 sensors, but when I hook all 13 to a single pin I can't communicate with them. If I hook 4 to a pin it will work. I have the pull up resistor in place.
I'm powering them from the 5v pin on the Arduino board connected to the USB on my computer. Right now I'm using code to detect the addresses for testing.
I believe it might be a power issue, but how do I solve it?