12V Low Voltage Disconnect with Display and SD Card Datalogger

12V low voltage disconnect with display and sd card dataloggerPictured above is a low voltage disconnect device which we recently made for a client. It offers all of the battery monitoring, protecting, and datalogging functions and features of our REUK Programmable Low Voltage Disconnect with Display and Datalogger, but with the added benefit of an on board microSD card to store the measured battery voltage once per minute.

low voltage disconnect sd card datalogger

The voltage data is written to a simple text file on the SD card. When the battery is connected to the low voltage disconnect and powers it, POWER CONNECTED is written to the log file. Then each subsequent minute, the battery voltage is written to the file preceded by the number of minutes since the power was last connected. For example the line 6,13.98 indicates that 6 minutes after the power was connected, the battery voltage was measured to be 13.98V.

While the pre-existing basic datalogging of the LVD is useful for constantly displaying the minimum, maximum, and average measured voltages, every now and then it is good to have the option to copy the data from the SD card to a PC for more detailed analysis and plotting etc.

If you need any kind of datalogger, please email neil@reuk.co.uk with details of your requirements.

Low Voltage Disconnect for Glacial Movement Research GPS in Greenland

Pictured below is a special low voltage disconnect (LVD) device which we have been supplying for a few years for use by academic researchers in glaciology.

low voltage disconnect for glacial movement monitoring with GPS in Greenland

Solar charged batteries are being used to power GPS dataloggers on glaciers in Greenland. These GPS devices accurately record the movement of glaciers, and this (velocity) data can be used in a wide range of polar and climate change research.

The specific set up for which these LVD devices were designed has a 48 Watt PV solar panel charging a 60-100Ah 12V battery via a Sunguard solar charge controller.

In high polar regions, in the summer, the sun is in the sky 24 hours day, but in the winter is is below the horizon 24 hours per day. Therefore, during the winter months the battery cannot be charged. For the battery to still be usable in the spring it must retain some charge, so the GPS has to be disconnected before it overly discharges the battery.

The GPS modules have their own built in low voltage disconnect circuitry, but a step-up voltage regulator is fitted between the 12V battery and the GPS modules (which need 15+V to operate), so the GPS sees a steady consistent good voltage right up until the 12V battery is virtually dead.Glacier in Greenland - monitoring glacial moevement

In our standard low voltage disconnects, the output is turned off when the battery voltage falls and remains below a user set low voltage for 10 seconds. The output turns back on when the battery voltage reaches and remains above a user set cancellation voltage for 10 seconds.

For a solar powered system and often very limited daylight hours, this can see the output being turned on and off multiple times per day. This is not a problem for an LVD used with lighting for example, but the GPS modules used for this project create a new datalog file each time the power to the module is connected, and there is a 512 file limit. If over the course of the many months that the GPS module remains on the glacier unattended, the power to it is cut and restored more than 512 times, data will be lost which is not acceptable.

In order to prevent this problem, our low voltage disconnect engages as usual after 10 seconds of low voltage being measured ensuring that power to the GPS is rapidly cut if the voltage is low, but then the voltage has to remain consistently over the cancellation voltage for one hour before the power to the GPS module is restored. Doing this ensures that the GPS is only powered up when the battery is known to hold enough charge to make it worthwhile taking up one of the 512 available file spaces.

If you need any kind of special low voltage disconnect or voltage monitoring device, email neil@reuk.co.uk with details of your requirements.

Five Channel Digital Thermometer

Pictured below is a five channel thermometer which is destined to be used as a part of a ground source heat pump heated underfloor heating system in Cyprus.

five channel thermometer for ground source heatpump

display for five channel digital thermometer

This system has an 11kw ground source heat pump with a 160 litre hot water cylinder (HWC). Soon 4 square metres of solar thermal panels will be added to heat a 300 litre thermal store (TS). The whole system has been put together by an experienced plumber using tapstats to control the flow of heated water depending on its temperature – no electronic controllers at all. He did however have the need for a way to easily monitor the temperature of the water in the two large vessels.

The two vessels have been made with pockets in them for temperature sensors – two for the hot water cylinder (one at the top and one at the bottom), and three for the thermal store (for sensors at the top, middle, and bottom).

We used our usual waterproof DS18B20 temperature sensors for this thermometer as they have proven to be accurate and very reliable.

If you need any kind of digital thermometer, thermostat, or data monitoring / datalogging device, email neil@reuk.co.uk with details of your requirements.

Solar Swimming Pool Heating Controller with Datalogger and Display

Our 2016 Solar Water Heating Pump Controller is one of our most popular products. Pictured below is a derivative recently requested by one of our clients.solar pump controller for swimming pool heating with datalogger and lcd displayThis controller will be used to control the operation of a pump circulating water through a solar thermal panel. Our standard controllers have at least two sensors – one for the pool/tank and one for the solar panel – but for this particular project only one sensor could be used: at the solar panel.

Therefore, instead of using the temperature differential between the solar panel and the pool to decide when the pump should be turned on or off, the user sets a high temperature threshold above which the pump will turn on, and a low temperature threshold below which it will subsequently turn off.

Sensible starter values would be 70 degrees C at the panel to turn on the pump, and around below 35-40 degrees at the panel to turn off the pump. With experimentation and analysis (this device has a built in datalogger) it will be possible to refine these thresholds to maximise efficiency. The pump should not be turning on and off too frequently and running for very short times, but the panel should also not be left at very high temperatures for a long time or it will radiate heat away before it can be transferred to the water.

If this device was to be used in a small pool or hot tub, and if the arriving hot water from the panel is pumped straight in without pre-mixing, a lower pump turn on temperature would be essential so that no-one gets burned on the incoming hot water.

If you need any kind of pump controller, email neil@reuk.co.uk with details of your specific requirements.

Testing Arduino Low Power Library with Pro Mini

In general when using an Arduino Pro Mini in one of our projects or products, we use an external LP2940CZ-5.0 voltage regulator instead of the on board regulator. This is because most things we make are for 12V battery systems, and the voltage from a 12V battery can get to well over 12V which is the specified upper input voltage for a Pro Mini. We have measured that one of these regulators with a 10uF capacitor across its 5.0V output, draws a quiescent current of only 0.079mA.

We have found that an Arduino Pro Mini, whether powered as described above, or with the on board regulator draws around 20mA @ 12.0V. This is very high for an always on battery powered device – it will use 500mAh (0.5Ah) of battery charge per day. Therefore, we are always interested in testing ways to minimise power consumption.

breadboard test of low power library for arduino pro mini

We set up the above test circuit with a 12V input, and our usual LM2940CT-5.0 regulator connected to an Arduino Pro Mini (16MHz / 5V). With a sketch containing just delay(8000); in the loop() function – i.e. the Arduino will wait 8 seconds, then wait another 8 seconds, then wait another 8 seconds, etc – we measured a current draw of 19.793mA @ 12.0V input voltage.

We downloaded and installed the following Lightweight low power library for Arduino – LowPower.h, and modified our test sketch as shown below to power down the microcontroller for 8 seconds within the loop.

arduino-pro-mini-low-power-testing

This time we measured the current draw to be just 6.265mA @ 12.0V input voltage – a huge reduction of around 70% power consumption obtainable just by replacing the delay function with the powerDown function from the LowPower library.

We make a lot of dataloggers and monitoring devices which spend most of their time doing nothing – just waiting to take the next measurement. Therefore this low power library is a quick and easy way to reduce power consumption.

(Note that 8 seconds is the maximum power down duration that can be set with this library, but by using loops of multiple 8 second intervals in your sketches, you can create a low power consumption delay of as long as you want.)

A standalone arduino in a low power consumption circuitIf you use a Standalone Arduino on a breadboard directly powered by a battery pack of the correct voltage (i.e. no voltage regulation required), it is possible to run your Arduino off less than 50uA @5V (<1000th the power consumption of our tests above) and therefore power something for years with a AA cells or smaller. See here for an excellent article How to Run An Arduino For Years on a Battery from the Open Home Automation website where they use the JeeLib low power library with a standalone Arduino.

Solar Water Heating Pump Controller with SD Card Datalogger

Pictured below is a controller we recently made for a solar water heating system including a full datalogger.

solar water heating pump controller with sd card datalogger

This controller is based closely around our 2016 Solar Water Heating Pump Controller which already has basic datalogging functionality – minimum, maximum, and average temperature sensor readings displayed on the LCD.

To this we have added a micro SD card reader and a high accuracy DS3231 Real Time Clock (RTC). Every 15 seconds, the temperature of each of the sensors, the status of the controller, and the date and time are appended to a logging text file on the micro SD card.

arduino data log file from sd cardThe collected data can then be copied over from the SD card to a computer for detailed analysis, graph plotting, and so on.

This controller is based around an Arduino Pro Mini coupled with an LCD module, DS3231 RTC module, micro SD card module, and DS18B20 temperature sensors – all of which are readily available and economically priced. The only difficulties with this project came from the limitations of having only 32KB of flash memory (program space) on the Arduino Pro Mini – not a lot when including so many code libraries for the various modules and sensors as well as 750 lines of of project specific code for this complex datalogging controller.

running out of sram arduino

If you need any kind of datalogger, please email neil@reuk.co.uk with details of your exact requirements.

Saving Arduino Collected Data to Text File on Windows

We are often asked how to log data from an Arduino to a text file saved on a Windows PC. This is very simple with Linux and Mac OS, but it can be also be achieved on Windows with minimal effort.

We make a lot of dataloggers, the majority of which either store data internally and then output a summary to an LCD display, or dump all collected data to an SD card for later processing and analysis on a PC. However, it is relatively simple to collect data from any number of sensors connected to an Arduino board and send that data over a serial connection directly to a text file on a PC.

There are many software options available, but we typically use CoolTerm (available free of charge here: download CoolTerm) which is a serial monitor which will also capture transmitted data to a text file and automatically add time stamps to each line of data which are essential for a good datalogger.

As an example we slightly modified the code for our 2016 solar water heating pump controller so that every time data is taken from the two connected digital temperature sensors, those measurements and also the system status (pump ON or OFF) are output through the serial port to a connected PC. (Full details on generating Serial output from an Arduino are available here: Arduino Serial from the official Arduino Reference site.)

Download CoolTerm from the link already provided above. You will end up with an approximately 10MB zip file which needs to be extracted. When that is done, go into the folder created, and double click on the CoolTerm application.

Launch CoolTerm applicationClick on Connection > Options and then in Serial Port Options select the Port you would like to use. If you are using the Arduino IDE, in the bottom right hand corner of the window will be shown the type of board you are using followed by COM# where # is the number of the port your Arduino is currently set up to use and is also the port you should select within CoolTerm).

Selecting the serial COM port to use with CoolTerm with ArduinoAt the same time set the baudrate to 9600 (making sure that in the sketch you have uploaded to your Arduino, you have also included Serial.begin(9600); in the setup() function.

CoolTerm connection options

Assuming that you would like all data to be timestamped (adding the date and time to every line of data sent), do Connection > Options > Receive and check the ‘Add timestamps to received data’ box.

timestamp serial data from Arduino and store in text file on PC

Then to have any serial data from your Arduino automatically stored in a text file on the PC, do Connection > Capture to Text File and then click on Start. You then just have to set the name for the file that you would like your data to be stored in, and your datalogger is complete.

arduino coolterm serial monitor showing arduino collected data

To stop collecting data, you can either click on the large Disconnect icon, or if you want to stay connected to the Arduino board, do Connection > Capture to Text File > Stop.

Once you have either disconnected the Arduino board or Stopped the capture, you cannot then restart and append data to the same file – you can only overwrite the original file or start a new one. If you want to pause capture and then restart it to append to the same file, do Connection > Capture to Text File > Pause to pause, and then Connection > Capture to Text File > Resume to resume it at a later time.

Data collected from solar pump controller from Arduino via Serial and CoolTerm to PC

When you have finished capturing data, you will end up with a text file of everything captured which can be processed and visualised using Excel or a similar application.

24V Low Voltage Disconnect with SD Card Datalogger

Pictured below is a low voltage disconnect device we recently made for use with a 24V battery system. In addition to the user-programmable low voltage disconnect functionality and LCD display of our standard Programmable 12V LVD with Display, this modified 24V device also includes a full datalogger, storing measured battery voltages at regular intervals to a micro-SD card for later analysis.

24V Low Voltage Disconnect with SD Card DataloggerThis particular unit is destined to be used by a company specialising in the maintenance of the UK’s transport infrastructure; with the low voltage disconnect used to protect batteries from being overly depleted, and the datalogger used to track the rise and fall of battery voltage over time.

If you need any kind of low voltage disconnect and/or datalogging solution, please email neil@reuk.co.uk with details of your requirements.

Voltage Measuring Datalogger with micro SD Card

Pictured below is an Arduino-based datalogger we recently made for measuring the voltage output of induced EMF in coils through which a magnet is passing. The voltage output needs to be logged once per second for up to a few hours.

SD card dataloggerThis particular datalogger is 12VDC powered, and will measure and log voltages up to 15VDC. (The induced voltage to be measured in this project has been measured with an oscilloscope not to exceed 5V).

Each time the datalogger is connected to the power source and to the coil to be measured, a new log file is created on the supplied 2GB micro-SD card. An on board reset button can also be used to start a new log file.

On start up or when reset, the SD card is initialised and checked to ensure that it is present and working properly. If it is not, the red LED turns on and stays on to warn the user – there are few things worse than running an experiment only to find that no data was collected. If all is well with the SD card, then once every second the coil voltage is measured and appended to the latest log file.

When the experiments are complete, the SD card can be removed from the datalogger and accessed via a PC for processing and analysis. The generated datalog files are simple text files with each measured data point on a new line in chronological order.

If you need a datalogger,  email details of your exact requirements to neil@reuk.co.uk.