You can drive the onewire interface directly from the RPi, and there
are libraries and kernel drivers available to help. Also, the
DS2480B is a serial-to-onewire driver that might be of use to you.
You can buy DS18B20 devices pre-packaged in waterproof housings.
Phil
On 12/01/2016 16:16, Ryan Pierce wrote:
Does
"cost effective solution" apply to parts only or include labor?
Are you willing to build your own solution, or are you looking for
something that works out of the box? If the former:
I've worked with voltage-based analog temperature sensors (TMP36)
before. In that case, I designed a Raspberry Pi shield board that
included an 8-channel 10-bit ADC addressable via SPI. See
http://www.mackenziegems.com/2013/03/14/chillmon-board/ I imagine
you could do the same thing with resistance-based PT100's if you
set up a voltage divider for each input. The board fabrication and
component price was $22 for 8 channels, although you'd need to add
in a Raspberry Pi, SD card, power supply, etc. For your
application, I might consider dispensing with the Pi altogether,
making a shield board for an AVR microcontroller, and have that
communicate the channel data with an IOC via USB or TTL serial.
I'm amazed at how small, inexpensive, and powerful these AVRs have
become, in particular the Teensy: https://www.pjrc.com/teensy/
Does it have to be PT100? I strongly prefer digital sensors if
possible. I'm currently using DS18B20 OneWire temperature sensors
for my brewing project. They are individually addressable and can
be strung together in a bus. Resolution is 1/16 degree C if you're
willing to wait 750 ms for a conversion; you can configure them to
use lower precision which will reduce the conversion time. I don't
know how far these 100 sensors are spaced out; you may run into
bus length limitations with OneWire, but I've seen documents that
talk about improving OneWire performance for long or noisy buses.
I'm using an AVR microcontroller to bit bang the OneWire bus, and
this is queried via USB serial. OneWire has the ability to detect
a broken bus, a non-reporting device, or a transmission error via
a CRC. The AVR can check this and raise an EPICS alarm if the
output becomes invalid. You could also use one microcontroller to
run several independent OneWire buses. This approach is likewise
very inexpensive.
Ryan
--
Pixel
Analytics is a limited company registered in England.
Company number: 7747526; Registered office: 93A New Road,
Haslingfield, Cambridge CB23 1LP
|