Sensors, noise, earthing and much more

Having recently put together 4 matching data loggers I thought I'd share some of my experiences.

The loggers themselves were based on an Arduino Mega 2560 with a SD / RT Clock memory shield. It also drove a large 4 x 20 LCD display for live monitoring.

On the sensor side each data logger was designed to monitor two low level nuclear type reactors (referred to as LENR).
Each reactor logged required:
One S or K Type thermocouple
0 - 30 Amp DC current monitoring
0 - 50V DC voltage monitoring
Geiger (Average Counts per Minute)
Ambient temperature monitoring

This list was duplicated so one Arduino monitored two reactors.

The S or K Type thermocouples were buffered using two MAX 31856 amplifiers plugged direct into the Arduino Mega and were powered directly through the digital pins. The same row provided for power and ground.

Ambient temperature was taken with a DS18B20.

DC Current was monitored with a 30 Amp ACS712 Hall effect sensor

Voltage was through a 2M ohm potentiometer wired as a potential divider with a 5 Watt 5.1Volt zena diode to protect the analogue input of the Arduino to ground. The voltage sensing uses over-sampling to increase the resolution.

The Geigers are NETIO Geiger boards that outputand a serial ASCI string and new line "\n" command every second and as such became the timing mechanism for the logger providing for a 1 second logging cycle of all the sensors. This plugs directly into Ports TX1/RX1 and TX2 / RX2 of the Arduino Mega.

I had doubs to start with that the Arduino might not be able to power this little lot but experience proved my concerns unfounded.

The programming was a challenge, educational but also fun and I received some excellent advice and guidance from forum members.

However, the real point of writing here was to describe the intricacies I experienced with power supplies, noise, earth loops, loose connections and more and how I solved the problems.

I'll write the next bit in the next post.