Multiple thermocouples logging using arduino

Hi,

I am building a reactor and would like to use arduino for the data logging (temperature, pressure (voltage) and current) and ideally would like the option to automate the process to operate it remotely in good time.

Has anyone done any projects with multiple thermocouples, for example 8 or 12? The thermocouples will be K type and I know you can buy the cold reference junctions (MAX31855) but figuring this is only an option when using one or two thermcouples? Has anyone done any projects with more than two and how did you set it up?

Thanks

Aidan

They're SPI devices so it's quite easy.

The SCLK, MOSI and MISO pins are all shared.

Then each device has its own select pin that's normally high but then goes low whenever you want to access it.

This link shows how to do it with two devices but it's easy to extend. Just keep adding more and more select pins.

If your temperature is between -55 and +150 C then it is significantly better to use DS18B20 sensors.

The only reason to use thermocouples or thermistors is to measure outside those limits.

Edit: i just remembered another reason. Sometimes you need small sensors. Then the DS18B20 starts to look like a big ugly brick.

I have done this with 4 DS18b20 sensors. Works perfectly. The data is displayed on a LCD screen. Here is how I did it:

Logging should be fairly easy as well and depends on how you want to log: on a SD card or dump the data in a database on a server. Question is how to send the data then: do you have access to wifi of can you use an ethernet shield?

building a reactor

Yes, please give us more information on the range of temperature and other variables..

You CAN do 8-12 MAX31855 breakout boards but you need to keep the wires short, and if data corruption occurs, reduce SPI bus speed. Even 10cm wire per MAX31855 will lead to over 1M long total wire on clock and data pins, leading to problems. If wires are causing you problems, make a printed circuit board so you can mount the MAX31855 break out boards on your PCB, minimizing the wire length.

Hi,

Thanks for the replies. The reactor will be running up to 300 C so DS18B20 sensors would not be suitable, a couple of degrees error is also acceptable. In addition I will be using four peizoelectric pressure gauges with voltage as an output. The equipment will also have three 3-phase pumps so logging of frequency would also be great as they are controlled using frequency converters. I will try and do temperature and pressure first

There are other other experimental rigs which I would like to build all of which will need temperature logging and applications such as actuated valves would be great. It is because of this I want to start using arduino as by the time you have three of four applications setup use of pico-loggers and NI Instrumetns becomes very expensive!

It is very encouraging to know multiple breakout boards can be used and I will probably look to getting a few circuit boards printed as I could do with a few and I am sure I would not be the only one with a use for them!

Thanks

Aidan

pjcvdpol:
I have done this with 4 DS18b20 sensors. Works perfectly. The data is displayed on a LCD screen. Here is how I did it:

https://www.instructables.com/id/Thermometer-With-Temperature-Relative-Data-Display/

Logging should be fairly easy as well and depends on how you want to log: on a SD card or dump the data in a database on a server. Question is how to send the data then: do you have access to wifi of can you use an ethernet shield?

Sorry missed this question, I am hoping to send the data to a computer via usb/ ethernet cable to a PC in the lab which has team viewer, enabling access remotely. A memory dump onto a SD card would be very useful, just in case something happens to the PC. I am not sure yet whether the Arduino usb port would be suitable or whether a ethernet shield would be required. Being a university wifi and ethernet access maybe challenging due to bureaucracy.

AidanSmith:
Sorry missed this question, I am hoping to send the data to a computer via usb/ ethernet cable to a PC in the lab which has team viewer, enabling access remotely. A memory dump onto a SD card would be very useful, just in case something happens to the PC. I am not sure yet whether the Arduino usb port would be suitable or whether a ethernet shield would be required. Being a university wifi and ethernet access maybe challenging due to bureaucracy.

Don't think of it as a memory dump. More likely you will want to write the data as e.g. comma delimited lines in a text file. You can easily analyse the data with a computer this way. Using this technique will also force you to break the data in logical chunks you can write to a external database linked to your setup. If wifi or ethernet is an issue you can write the data to any computer using serial communication (usually through usb)

pjcvdpol:
Don't think of it as a memory dump. More likely you will want to write the data as e.g. comma delimited lines in a text file. You can easily analyse the data with a computer this way. Using this technique will also force you to break the data in logical chunks you can write to a external database linked to your setup. If wifi or ethernet is an issue you can write the data to any computer using serial communication (usually through usb)

Here is are two examples:

https://www.tigoe.com/pcomp/code/arduinowiring/1043/

I suggest that you build such a setup to learn how things work and take it from there. Adding more sensors or networking capabilities follow after these basics IMHO

Adafruit offers the super easy one-wire interface for thermocouples.

Regarding ethernet/USB, what is the expected distance between arduino and the viewing PC? If it's not too far, such as 30 meters, you can use this adapter:

Logically you're still opening serial port on PC. Physically the adapter boosts signal voltage and transmits it via cat-5 wires.