Multi Level Low Voltage Disconnect with Display

Pictured below is a special multi level low voltage disconnect controller which we recently made. As with our other low voltage disconnect products, this device is designed to automatically disconnect loads from a battery when the battery voltage drops below a user set threshold. The loads are then reconnected when the battery voltage has risen above a second higher threshold.

Three level low voltage disconnect (LVD) controller with relays and display

What makes this low voltage disconnect special is that it can be programmed with three independent pairs of voltage thresholds, and control three sets of loads. If you have a selection of devices powered from your 12V battery, some will be more important than others, and some will use more power than others. Having multiple LVD voltage thresholds allows you to choose which devices should have their power cut first as the battery charge level goes down. Cutting the power to high consumption low importance devices leaves more charge available to keep the more critical devices going for as long as possible.

If the battery was powering a large amount of lights for example, one light could be connected to the lowest voltage threshold output to stay on as an emergency light, while the rest of the lights could be turned off at a higher threshold. On a boat, the fridge and navigation system would be connected to the lowest threshold output, while the television and most lighting could be connected to a higher threshold.

display for three level low voltage disconnectThe standard display shows the voltage measured on the battery, as well as the status of the three outputs corresponding to the Bot (Bottom), Mid (Middle), and Top ranges. In the image above, at a battery voltage of 12.32V, the Top range is off while the other two remain on.

all outputs off low voltage disconnect

At a lower voltage (10.55V shown above), all three outputs are off.

all outputs on low voltage disconnect

…and then with the battery voltage fully restored (13.53V while being charged), all three outputs are on.

By pressing the View Thresholds button, the user set voltage ranges are shown on the display.

Showing the voltage ranges for the multi threshold low voltage diisconnectAbove for example the bottom range has the low voltage disconnect at 11.0V and the cancellation voltage (at which the output will be turned on again) at 12.2V.

programming the multi threshold low voltage disconnectProgramming the six voltage thresholds is done using the two on board buttons. These thresholds are stored in non-volatile (long term) memory and are therefore not lost when/if it is disconnected from the battery.

When the battery voltage is measured to have moved above or below a threshold which will result in an output status changing, the back light of the display flashes on and off. The voltage has to remain constantly on the new side of the threshold for 10 seconds before the output status will actually change so that any spikes and dips in measured voltage do not result in devices being turned on or off unnecessarily.

Six Level Low Voltage Disconnect

Pictured below is a similar device we made in July 2018 with six user programmable low voltage disconnects and six outputs to be connected to external relays. six level six output low voltage disconnect lvd

This particular device was made to be used with a 12v immersion comprising 6 individual 100 watt elements which had been controlled by 6 individual programmable relays to dump off excess battery charge and gain hot water.

programmable relays used to control elements of an immersion to use surplus battery charge

The display for this version shows the status of each of the outputs.

display for multi level low voltage disconnect

And the different thresholds programmed can still be viewed two at a time on the display.

viewing-the-low-voltage-disconnect-thresholds

Programming this device is done in the same way as the original three output version using the up and down buttons on the device to change and set each of the 12 thresholds.

Programming thresholds for low voltage disconnect

Nine Level Low Voltage Disconnect

A further development of this is the below pictured 9 level low voltage disconnect from August 2018 with nine independently programmable on board relays to switch various loads.

9 level low voltage disconnect with display

Twelve Level Low Voltage Disconnect

Pictured below is a unique device with twelve independently programmable low and high voltage thresholds.

12 level low voltage disconnect lvd with thermostat control

This device has its twelve outputs (relays) split into two banks of six for use with two hot water tanks and twelve heating elements. When the temperature of the first tank reaches a user programmed high value, the second bank of elements is used to heat up the second tank of water. As with the nine level LVD shown earlier, this device has a display and it shows the battery voltage, tank 1 temperature, and the status of tank 1 or tank 2’s heating elements (depending on which tank is to be heated).

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

Intel Curie tinyTILE – Mini Arduino 101

intel curie tinyTILEPictured above is the new tinyTILE development and production platform featuring the Intel Curie module. This board is a miniature version of the Arduino 101 and measures in at just 35 x 26mm (1.38 x 1.02 inches), and has been designed to fit on prototyping breadboards.

The tinyTILE board can be programmed using either the Arduino IDE or Intel’s own software – the Intel Curie Open Developer Kit (ODK), and the I/O connections are functionally identical to those on the Arduino 101.

With its small size, low-power consumption, array of motion sensors (6-axis sensor with accelerometer and gyroscope), and Bluetooth Low Energy (BLE), tinyTILE should be ideal for battery powered wearable devices and any other IoT projects involving motion monitoring.

tinyTILE has a 32-bit 32 MHz Intel Quark SoC, 384 kB flash memory, and 80 kB SRAM. It also includes a digital signal processor (DSP) offering quick pattern matching identification of actions and motions.

tinyTile can be USB powered via its micro-USB connector. The board has its own internal 3.3V regulator and 3.3V (but 5V tolerant)  I/0 connections.

tinyTILE is available now from element14.com (US+) and cpc.farnell.com (UK) amongst others.

Timer for Poultry Egg Incubator

Pictured below is a timer we built to accompany a Poultry Egg Incubator Controller we made recently.

timer for poultry egg incubatorWhen incubating eggs it is very important to keep track of the time since they were laid since, for example, eggs must be turned regularly until the last few days before hatching, and for some eggs the temperature and humidity ranges need minor adjustments during the incubation period.

Our timer is 12VDC powered like the incubator, and has a display to show the elapsed time since it was last manually reset. The time is shown in days:hours:minutes:seconds format.

Since eggs take anything up to 6 weeks to hatch, the time elapsed is stored in memory on the timer microcontroller every 15 minutes so that if the power to the timer is cut for any reason (e.g. flat battery or accidental disconnection of one of the power leads), when the timer is reconnected to power, it will restart from within no more than 15 minutes of where it was before the power cut.

After incubation has finished, a reset button (Reset Button 1) must be pressed for 1 second to reset the timer to 0:00:00:00 ready for the next lots of eggs to go into the incubator.resetting poultry egg incubator timer

This timer is built around an Arduino Pro Mini. The microcontroller with its on board crystal keeps time well enough for this application. (If more accuracy was required we would have added a real time clock (RTC).). Reset Button 2 on the timer resets the internal clock which is limited to 4,294,967,295 milliseconds (just under 50 days) – plenty of time for pretty much everything up to ostrich eggs, but not long enough for emperor penguin, albatross, and some cuckoo eggs. For exotic eggs with very long incubation periods, an RTC would need to be added.

If you need a timer or a poultry incubator controller, email neil@reuk.co.uk with details of your requirements.

Poultry Egg Incubator with Humidity Sensor

Pictured below is a controller we recently made for use in a poultry egg incubator, designed to keep eggs within a very narrow specific temperature and humidity range for a few weeks. This is achieved using a heater, a fan, and a humidifier.egg incubator with humidity sensor, fan, heater, and humidifierThe eggs need to be turned at least three times per day every day except for the last few days before hatching. Previously we made a Controller for Poultry Incubator which had a motor which was turned on and off at different times of the day to turn the eggs. For this new incubator, the motor used is a very slow turning 12 VAC device makes 6 full rotations every 24 hours. That motor therefore did not need to be controlled with a timer – it is just left running at all times.

egg incubator controller status summary displayThe display for this controller shows the current measured temperature from the waterproof DS18B20 digital temperature sensor (read at 12 bit resolution = 0.0625°C resolution), and the humidity from a DHT11 sensor (within 5% accuracy). The DHT11 actually has a built in thermistor, but its temperature measurements are nowhere nearly accurate enough for this type of project.

The bottom line of the display shows the three devices being controlled – heater, fan, and humidifier respectively. In the image above, the heater is marked as being on. If the humidity level gets too low, the humidifier will be switched on. If the temperature gets too hot, the fan will turn on (and of course the heater will already be turned off by then).

Setting humidity range for poultry egg incubator

The user has full control over the thresholds at which the heater, fan, and humidifier will turn on and turn off. The temperature thresholds for the heater and fan can be set in steps of 0.2°C, and the humidity thresholds in steps of 2%.

For example, the heater could be set to turn on at or below 36.4°C and off again at or above 38.4°C. Then the fan could be set to turn on at or above 38.6°C and off again at or below 37.4°C. Humidity should ideally be around 60% (raising to 65% just before hatching), so the humidifier could be set to turn on at or below 56% and off again at or above 64% relative humidity.

display for egg incubatorWith all the thresholds programmed in by the user according to the requirements of the particular type of eggs to be incubated, a button can be pressed to show in turn the values programmed in – for example, above the humidifier is shown to be set to turn on at or below 43% RH and turn off at or above 70% RH.

Feb 2020 – We have now released the full Arduino sketch (source code) for this device here: http://www.reuk.co.uk/wordpress/full-arduino-code-for-poultry-egg-incubator-with-humidity-sensor/

If you need any kind of egg incubator controller (or the electronics for a temperature and humidity controlled humidor – functionally pretty much identical to an incubator!) – please email neil@reuk.co.uk with details of your specific requirements.

User Programmable Target Shooting Controller with Display

Pictured below is a target shooting controller which we recently made for a shooting club in Australia.

programmable shooting target controllerWe had previously made them a controller with fixed time series – for example, Standard Pistol 150s, 30s, and 10s, Centre Fire face target 3s then away for 7s repeating 5 times, and Rapid Fire 8s, 6s, and 4s. Other clubs in the area required something similar, but with flexibility in the timings.

shooting target controller display - start seriesWe therefore enhanced the software written for the original controller so that all of the different time series could be modified, reducing or increasing the time that the target faced the shooter by the operator at the range to meet specific and potentially changing needs.

shooting target controller display modify series timingWhen the start button is pressed, the target turns away from the shooter. After 7 seconds the on board buzzer sounds for half a second and the target faces the shooter. (An external 12V buzzer or siren can be connected to the terminals on the controller board if a louder sounds is required). After the user programmed time, the target turns away from the shooter (again accompanied by the sound of the buzzer), and then a further 7 seconds later, the target is turned back to face ready for the next shooter.

NEW – We now also produce a modified version of this controller which allows the operator to set the edge times of the target independently for each of the series instead of using a fixed 7 seconds for all of them.modify edge times for shooting target controller modify face and edge time for shooting timer controller

Order a Controller

If you need any kind of shooting target timer controller, please email neil@reuk.co.uk with your specific requirements. (Click here to view some of the turning target and other shooting timers we have supplied in the past.)

 

Target Shooting Timer Example Instructions

programmable target shooting controller with display

Pictured above is the version of this shooting target timer controller which we currently sell. It is physically smaller, but otherwise functionally identical to the original, and the connections are the same as per the photographic diagram at the top of this post.

On the controller there are two buttons. Press button1 (Down) to run the currently displayed series. Press and hold button2 (Up) for more than half a second to be able to select from the seven saved series (using button1 to go down and button2 to go up through the list).

The device is fitted with a 10A rated SPDT relay with NO, COM, and NC connections. It has the relay energised when the target is to be faced, and de-energised when the target is to be edged. You can therefore wire things up whether your solenoids need to be powered to face the target, or need to be powered to edge the target using the NO-COM or NC-COM connections respectively.

When a series has run to completion, the target will edge, the screen will go blank for 7 seconds and then the target will face with the controller reset and ready to be run again.

In order to modify any of the timings of the seven pre-programmed series, press and hold button1 for 5 seconds or longer. Then, use button1 to decrease the number of seconds for the selected series, or button2 to increase the number of seconds. The value will be shown on the screen as you increase or decrease it. After five seconds of inactivity (no button presses), the new displayed value will be saved under the name of the selected series – e.g. Standard Pistol 150s could become Standard Pistol 125s or whatever you have set it as.

The maximum time limit is 254 seconds for any series – e.g. you could set Standard Pistol 254s, but you could not set Standard Pistol 255s or higher.

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.

Arduino Thermostat with Full Code

We are often requested to build simple thermostats – devices to turn something on or off depending on a measured temperature. Pictured below is an example of one such thermostat we made recently using an Arduino Pro Mini.

arduino thermostat

This particular thermostat was designed to keep a 12V 2A output turned on unless the temperature measured on a waterproof DS18B20 digital temperature sensor reaches above 80°C. The output must then remain off until the measured temperature has fallen to below 70°C.

The thermostat was designed to control a low voltage pump, turning it off if the water in a hot water tank fed by a solar water heating panel gets to be too hot. The 10°C temperature difference between the turn off and turn back on temperatures is hysteresis to prevent the pump being turned on and off rapidly multiple times.

In the image above a MOSFET is used to switch the small pump on and off, but typically a relay would be used in most pump controlling thermostats so that high currents and high voltages can be switched by the low voltage powered thermostat. Therefore, in the Arduino sketch, all references are to a relay. The relay will need to be connected to the relevant Arduino pin via an NPN transistor.

Here is a poorly drawn and badly photographed circuit diagram of the thermostatic relay controller. Click on the image to view it in larger size.

circuit diagram for arduino thermostat relay controller

We used an Arduino Pro Mini because of its small size and price, but any Arduino board could be used for this type of controller.

While the Arduino Pro Mini has an on board 5V regulator, we prefer to use an external low drop 5V regulator (lp2950cz-5.0) because they are much more robust and will cope with higher input voltages – for example 12V batteries while they are being heavily charged.

The red LED shown on the circuit board at the top of this page is not used in this project.

Here is the full sketch (source code) for this thermostat

/*
 * REUK.co.uk - 2017
 * This is a thermostat which will keep a relay closed
 * until the temperature measured reaches 80 degrees C, and then will then
 * then re-close the relay only when the temperature falls to 70 degres or below.
 */

// For the temperature sensors
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire plugged into pin 3 on the arduino
#define ONE_WIRE_BUS 3

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensor1(&oneWire);

const int relay = 5;

// Fixed temperature thresholds - turn off output at >80C, and turn back on again when <70C
const float onTemp = 70.0;
const float offTemp = 80.0;

// Keep track of whether the relay is energised/closed (1) or open (0). Start with closed (1).
int relayStatus = 1;

void setup(void)
{ 
 // Start up the library
 sensor1.begin();
 //set the resolution to 10 bit ADC
 sensor1.setResolution(10);
 
 // Set up the relay output for the arduino, and start with it high
 // since the thermostat only turns off at >offTemp degrees.
 pinMode(relay, OUTPUT);
 digitalWrite(relay, HIGH);
}

void loop(void)
{ 
 // Read in the temperature of the sensor
 sensor1.requestTemperatures(); // Read temperature of sensor1
 float sensorOneTemperature = sensor1.getTempCByIndex(0);

if(relayStatus == 1 and sensorOneTemperature >= offTemp-0.00001){
 // Relay is currently closed, but the temperature exceeds offTemp - therefore open the relay
 digitalWrite(relay, LOW);
 // Remember the new status
 relayStatus = 0;
 }

if(relayStatus == 0 and sensorOneTemperature <= onTemp+0.00001){
 // Relay is currently open from a previous high temperature event, but now the temperature 
 // is below the threshold so close it again
 digitalWrite(relay, HIGH);
 // Remember the new status
 relayStatus = 1;
 }

// Wait 1/10th of a second before we measure the temperature again.
 delay(100);
}

Hen House Door Controller for Dawn/Dusk or Timer Operation

Pictured below is a controller we recently made to open and close the door of a hen house automatically.

hen house door controller with light detector for dawn/dusk operation and a programmable digital timerWe make a lot of door controllers for a range of different needs, and in general they either open and close the door depending on times programmed into a timer, or automatically detect dawn and dusk with a light detector and open or close the door accordingly.

With this particular controller, the user can select between two modes – dawn/dusk mode or timer mode. If timer mode is selected, the door will open when the timer turns ON and close when the timer turns OFF. In this way the door can be made to open and close at times convenient to the owner – for example opening the door later on weekend mornings so that the poultry do not disturb neighbours.

If instead the dawn/dusk mode is selected, the door will open at dawn and close at dusk, with the ambient light level for the day-dusk and night-dawn thresholds calibrated by the user when setting up the controller and light detector in its location.

If you need any kind of automatic door controller, email neil@reuk.co.uk with details of your specific 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.

Turning Shooting Target Controller

Pictured below is a controller we recently made to control a shooting target for competitive shooting.target-turning-timer-crowleBased around an Arduino Pro Mini, this device is used to edge or face a shooting target according to preset and user-set timings.

Display for a shooting target controller

By default, the target is edge on to the shooter. When the start button is pressed, a relay closes which turns the target face on to the shooter. An accurate timer then starts and counts down the number of seconds the shooter has until the target is turned edge on again.

There are five preset modes – 165 seconds, 35s, 8s, 4s, and 2s. There is also a sixth mode which the user can programme to be any duration from 1 to 999 seconds.

Buttons are fitted to the circuit board, but there are also connectors to which external buttons can be connected so that the device can be fitted in a box with just the two external buttons and display visible.

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