GB2605102A - Radiator thermostatic control - Google Patents

Radiator thermostatic control Download PDF

Info

Publication number
GB2605102A
GB2605102A GB2208914.8A GB202208914A GB2605102A GB 2605102 A GB2605102 A GB 2605102A GB 202208914 A GB202208914 A GB 202208914A GB 2605102 A GB2605102 A GB 2605102A
Authority
GB
United Kingdom
Prior art keywords
temperature
valve
radiator valve
environment
radiator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB2208914.8A
Other versions
GB2605102B (en
GB202208914D0 (en
Inventor
Hart-Davis Damon
Erbilgin Deniz
Daniel Bard Andrew
Jason Hill Mark
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Secure Meters UK Ltd
Original Assignee
Secure Meters UK Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Secure Meters UK Ltd filed Critical Secure Meters UK Ltd
Priority to GB2208914.8A priority Critical patent/GB2605102B/en
Priority claimed from GB2006828.4A external-priority patent/GB2594749B/en
Publication of GB202208914D0 publication Critical patent/GB202208914D0/en
Publication of GB2605102A publication Critical patent/GB2605102A/en
Application granted granted Critical
Publication of GB2605102B publication Critical patent/GB2605102B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K31/00Actuating devices; Operating means; Releasing devices
    • F16K31/002Actuating devices; Operating means; Releasing devices actuated by temperature variation
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H15/00Control of fluid heaters
    • F24H15/20Control of fluid heaters characterised by control inputs
    • F24H15/254Room temperature
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H15/00Control of fluid heaters
    • F24H15/10Control of fluid heaters characterised by the purpose of the control
    • F24H15/174Supplying heated water with desired temperature or desired range of temperature
    • F24H15/175Supplying heated water with desired temperature or desired range of temperature where the difference between the measured temperature and a set temperature is kept under a predetermined value
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H15/00Control of fluid heaters
    • F24H15/30Control of fluid heaters characterised by control outputs; characterised by the components to be controlled
    • F24H15/305Control of valves
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D23/00Control of temperature
    • G05D23/19Control of temperature characterised by the use of electric means
    • G05D23/1917Control of temperature characterised by the use of electric means using digital means
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24DDOMESTIC- OR SPACE-HEATING SYSTEMS, e.g. CENTRAL HEATING SYSTEMS; DOMESTIC HOT-WATER SUPPLY SYSTEMS; ELEMENTS OR COMPONENTS THEREFOR
    • F24D19/00Details
    • F24D19/10Arrangement or mounting of control or safety devices
    • F24D19/1006Arrangement or mounting of control or safety devices for water heating systems
    • F24D19/1009Arrangement or mounting of control or safety devices for water heating systems for central heating
    • F24D19/1015Arrangement or mounting of control or safety devices for water heating systems for central heating using a valve or valves
    • F24D19/1018Radiator valves

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Thermal Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Temperature (AREA)

Abstract

A system for controlling a radiator valve by using a sensor to obtain a current temperature measurement, and then operating a motor to change a valve position based on the temperature measured. If the temperature is within a first range of a target temperature, the valve is maintained in the current position and if the temperature is outside the first range but within a second range greater than the first then the valve position is adjusted by a first amount or at a first speed. The system may obtain measurements of light intensity in the environment or detect if the environment is occupied or not and change the first and second ranges based on these factors. A method where the system also can determine if the temperature is outside the first and second ranges but within a third, even greater range to adjust the valve position by a third amount or speed that is greater than the second amount or speed.

Description

Radiator Thermostatic Control
TECHNICAL FIELD
The present invention relates to devices and methods for controlling radiator valves.
BACKGROUND
Smart heating management systems have developed over the last decade and while there are many benefits to integrated and networked systems, there are many problems associated with present solutions available to consumers. The advancement of wireless network technologies and Internet of Things (loT) devices has resulted in smart heating systems being difficult for a user to use, due to additional complex features and laborious installation procedures present in such systems which can sometimes require specialist installers with appropriate certification to complete in part or in full.
The over-engineered aspect of such smart heating management systems can result in a system too complex for end users to operate, and which can be unaffordable, or at least uneconomical, sometimes resulting in the payback time being excessively long.
Excessive complexity often means that end users do not get all the energy savings that they should be able to..
One contributing factor to energy waste in domestic and commercial settings is the use of radiators in unoccupied areas, such as unoccupied rooms within a house. Energy can be wasted when heating unoccupied rooms.
SUMMARY
Accordingly, there is a need for a device for radiator valve control that does not compromise ease of use for energy savings and user comfort. There also is a need for a device for thermostatic radiator valve control that provides optimal energy savings and user comfort and does so in a compact and cost-efficient package that is easy to use A variety of innovations are discussed herein, including improvements in temperature control to adapt to user activity and room occupation in order to achieve energy savings without excessive loss of comfort, methods for calibrating devices to determine the range of motion of a radiator valve being controlled (e.g. where such devices are retrofitted to radiator valves) and responding dynamically to such valve gamut and temporary changes in behaviour such as obstruction due to dirt, methods for learning when a boiler is active or inactive to prevent inefficient valve movement during periods of boiler inactivity and methods for distinguishing artificial light from natural sunlight in order to assist in the determination of room occupation. These improvements are particularly advantageous for implementation in a simple and inexpensive device that avoids the need for complicated and costly wireless communication to other devices within a home (such as boiler control systems).
The present invention seeks to provide a system for controlling radiator valves.
According to an aspect of the invention there is provided a device for controlling a radiator valve, wherein the device comprises: a power supply; a coupling portion configured to be coupled to the radiator valve; a motor, powered by the power supply, and configured to actuate the coupling portion to open or close the radiator valve; and a processor that is configured to: output a control signal to instruct the motor to open or close the radiator valve; detect a decrease in a voltage of the power supply as a result of actuation by the motor becoming restricted from attempting to open or close the radiator valve; and determine that the radiator valve is at a limit of mechanical travel based on the decrease in the voltage of the power supply.
The power supply may power a motor driver to drive the motor and the motor may actuate the coupling to open or close the radiator valve thereafter.
Detecting a decrease in the voltage of the power supply as a result of actuation by the motor becoming restricted from opening or closing the radiator valve ensures that, once the decrease in the voltage of the power supply is detected, the device may stop further driving of the radiator valve by the motor once the device has determined that the radiator valve is at limit of mechanical travel.
The avoidance of further movement of the radiator valve may prevent the motor or the radiator valve becoming damaged from forceful actuation of the motor at a limit of mechanical travel. The avoidance of further movement of the radiator valve may prevent redundant motor actuation and save power supply energy. The avoidance of further movement of the radiator valve may reduce noise associated with actuation of the motor for radiator valve movement at a limit of mechanical travel.
Determining that the radiator is at a limit of mechanical travel allows the device to know the movement range of the radiator valve. The determination allows the device to be implemented on (e.g. retrofitted to) any radiator valves without prior knowledge of the limit of mechanical travel of the radiator valve that the device is to be installed. Accordingly, installation of the device may be completed efficiently with less user input.
The decrease in the voltage may be measured over the power supply and may represent an increase in current drawn by the motor or a temporary surface charge depletion or ion mobility. The decrease in the voltage being measured over the power supply may avoid the need for an external circuit to detect an increase in current drawn by the motor more directly or to detect a stall through other means, thereby providing a simpler and more cost-effective means of detecting end points.
Advantageously, the power supply may have a non-negligible internal impedance. This makes is easier to detect changes in voltage over the power supply. The non-negligible internal impedance may be varied to adjust a required decrease in the voltage of the power supply as a result of actuation by the motor becoming restricted from attempting to open or close the radiator valve. In one embodiment, The power supply has an internal impedance of at least 25mOhms. The internal impedance may be adjusted based on the amount of current drawn by the motor.
The limit may be one of an opening limit or a closing limit of the radiator valve.
The motor may be a stepper motor. A stepper motor divides a full rotation of a shaft into discrete uniform steps and the precise change in angular position of the shaft may be known without an external circuit. A stepper motor may be powered by a train of digital pulses which corresponds to the number of steps the shaft of the stepper motor is to rotate.
It can be difficult to detect stalls for stepper motors, relative to other types of motors. Accordingly, the methodology described herein is particularly well suited to stepped motors.
Using a stepper motor allows the device to determine the position of the radiator valve accurately without an external component or circuit such as an optical rotary encoder. Moreover, particularly with unipolar stepper motors, the direction of angular rotation may be easily reversed to move the radiator valve in the opposite direction. For example, magnetic poles of the stepper motor may be simply reversed without switching the power supply polarity.
In one embodiment, in response to the decrease in the voltage of the power supply exceeding a voltage threshold, the processor is configured to determine that the radiator valve is at the limit.
The voltage threshold allows sensitivity control of when the radiator valve is at the limit. This is particularly advantageous as the motor may experience varying levels of mechanical resistance when opening or close the radiator valve along the full range of movement of the radiator valve. For example, the motor may be restricted from attempting to close the radiator valve; however, may not be at a limit of mechanical travel but just at a region of the radiator valve movement range where there is unexpectedly large amount of resistance.
In one embodiment, the processor is further configured to: in response to determining that the radiator valve is at a limit of mechanical travel at one or more unexpected points within the range of travel of the radiator valve, increase the voltage threshold; or in response to not determining that the radiator valve is at a limit of mechanical travel after instructing the motor to fully open or fully close, decrease the voltage threshold.
Increasing the voltage threshold at one or more unexpected points or decreasing the voltage threshold, in response to not determining that the radiator valve is at limit, allows the voltage threshold to correspond to the correct decrease in the voltage of the power supply from actuation by the motor becoming restricted from attempting to open or close the radiator valve at the limit.
In one embodiment, the processor is configured to determine that the radiator valve is at a limit of mechanical travel at one or more unexpected points within the range of travel of the radiator valve in response to one or more of the following being detected: a limit of mechanical travel being detected within a predefined distance from the valve being fully open; a limit of mechanical travel being detected within a predefined distance from the valve being fully closed; and multiple limits of mechanical travel being detected across a full range of motion either from fully open to fully closed or fully closed to fully open.
Determining that the radiator valve is at a limit of mechanical travel being detected within a predefined distance from the radiator valve being fully open or fully closed ensures that the voltage threshold is adjusted to correspond to the radiator valve being fully open or fully closed. This allows the motor to control the movement of the radiator valve through its full range of travel.
In one embodiment, the control signal is to instruct the motor to open or close the radiator valve at a first speed; and the processor is further configured to, in response to determining that the radiator valve is at the limit, output a further control signal to stop the motor or to drive the motor at a reduced speed that is less than the first speed.
In one embodiment, the further control signal is to drive the motor at a reduced speed in response to the control signal being to instruct the motor to fully open or fully close the radiator valve; and the further control signal is to stop the motor in response to the control signal to instruct the motor to partially open or partially close the radiator valve.
The further control signal may stop the motor at least until another further control signal is output by the processor to instruct the motor to open or close the radiator valve.
In one embodiment, the processor is configured to: obtain a current temperature measurement indicating a current temperature of the environment; in response to the current temperature being within a first range of a target temperature, maintain a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, control the motor to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; and in response to the current temperature falling outside of the first and second ranges but within a third range of the target temperature, the third range being greater than the first and second ranges, control the motor to adjust the current valve position by a second amount that is greater than the first amount, or at a second speed that is greater than the first speed.
The motor may drive the radiator valve to adjust the current valve position at different speeds based on whether the radiator valve is opening or closing. Accordingly, first and second speeds may be for closing, when opening, third and fourth speeds may be used, the third and fourth speeds being faster than the first and second speeds, the third speed being applied when the current temperature falls outside of the first range but within the second range of the target temperature, the fourth speed being applied when the current temperature falls outside of the first and second ranges but within the third range, the fourth speed being faster than the third speed.
In one embodiment, adjusting the current radiator valve position comprises closing the radiator valve at least partially in response to the current temperature being above the target temperature and opening the radiator valve at least partially in response to the current temperature being below the target temperature.
Adjusting the current radiator valve position based on the current temperature of the environment accounts for the temperature changes in the environment due to external factors. Closing the radiator valve at least partially in response to the current temperature being above the target temperature and opening the radiator valve at least partially in response to the current temperature being below the target temperature ensures that the current temperature of the environment is close to target temperature.
In one embodiment, the method comprises: coupling a coupling portion to the radiator valve; powering a motor to actuate the coupling portion to open or close the radiator valve by a power supply; outputting, by a processor, a control signal to instruct the motor to open or close the radiator valve; detecting, by the processor, a decrease in a voltage of the power supply as a result of actuation by the motor becoming restricted from attempting to open or close the radiator valve; and determining, by the processor, that the radiator valve is at a limit of mechanical travel based on the decrease in the voltage.
According to another aspect of the invention there is provided a computer implemented method for controlling a radiator valve, wherein the method comprises: determining an occupancy state of an environment in which the radiator valve is situated, wherein the occupancy state indicates whether the environment is occupied or unoccupied, wherein the determination is based on sensor data from a device configured to control the radiator valve; determining a setback, wherein the setback depends on the occupancy state; reducing a target temperature of the environment based on the setback to reduce energy expended for space heating; and outputting a control signal to control the radiator valve to adjust the temperature of the environment to attempt to reach the target temperature.
Determining the setback depending on the occupancy state permits the temperature of the environment to drop lower when the environment is not occupied by a user. This allows a reduction of energy expenditure for space heating and thereby reduces space heating demand when it is not likely to be needed. The setback may be a setback temperature, that is, the setback might be an amount that the target temperature is to be reduced by in order to adapt to the occupancy state. The target temperature may be setback from a desired temperature in that the target temperature may initially be equal to the desired temperature and may then be adapted by subtracting the setback from the target/desired temperature. The desired temperature might be set by a user (e.g. via inputting a temperature or comfort level into the device via a user interface such as a dial).
In one embodiment, the occupancy state of the environment comprises an active occupancy state indicating that the environment is occupied by a person that is awake.
The active occupancy state is based on an active state of the user, wherein the active state of the user includes a wakefulness state or sleep state of the user. This accounts for situations where the environment may be perceived as being unoccupied but there are clear indicators that the environment is being occupied. For example, the device may initially determine that the environment is unoccupied as the environment is dark; however, the device may receive an input from the user interface whilst the environment is dark, which means that the environment is currently actively occupied. Conversely, the environment may have sufficient light levels; however, if there has been prolonged inactivity by the user, this may indicate that whilst the user may be occupying the environment, the environment is not actively occupied, as the user is asleep. This allows further reduction of energy expenditure for space heating.
In one embodiment, the occupancy state represents a likelihood that the environment is occupied and the setback is determined to be a larger value for a lower likelihood that the environment is occupied.
In one embodiment, the method further comprises storing the occupancy state in a memory; and the setback is based on an expected future occupancy state based on previous occupancy states stored in the memory.
The setback being based on the expected future occupancy state may reduce the need for additional user input and therefore improve user experience. Additionally, this may allow the device to change the temperature of the environment just before an expected change in the occupancy state, which may reduce or remove the processing time required to determine if the environment is occupied using only current environment conditions.
In one embodiment, in response to the occupancy state indicating that the environment is currently occupied and the expected future occupancy state indicates that the environment will be occupied at least a predefined period after a present time, the setback is determined to be a first value. In response to the occupancy state indicating that the environment is currently occupied and the expected future occupancy state indicates that the environment will be unoccupied at least the predefined period after the present time, the setback to be a second value that is greater than the first value.
The first value may be zero where a setback is not required.
In one embodiment, in response to the occupancy state indicating that the environment is currently unoccupied and the expected future occupancy state indicates that the environment will be unoccupied at least a predefined period after a present time, the setback is determined to be a third value. In response to the occupancy state indicating that the environment is currently unoccupied and the expected future occupancy state indicates that the environment will be occupied at least the predefined period after the present time, the setback to be a fourth value that is less than the third value.
Accordingly, the setback may be adapted according to expected future occupancy. The third value may be greater than the second value.
According to another aspect of the invention there is provided a device for controlling a radiator valve, wherein the device comprises: one or more sensors for sensing an environment in which the radiator valve is situated; and a processor configured to: determine, based on sensor data from the one or more sensors, an occupancy state of the environment, wherein the occupancy state indicates whether the environment is occupied or unoccupied; determine a setback, wherein the setback depends on the occupancy state; reduce a target temperature of the environment based on the setback; and output a control signal to control the radiator valve to adjust the temperature of the environment to attempt to reach the target temperature.
According to another aspect of the invention there is provided a computer implemented method for determining a state of a boiler, wherein the method comprises: monitoring a valve position of a radiator valve that controls a flow rate from the boiler to a radiator; in response to the valve position being changed, obtaining a measurement of a current temperature of the environment when the valve position is changed and a measurement of a later temperature a predefined period after the valve position was changed; determining, in response to the later temperature not being more than a predefined amount greater than the current temperature, that the boiler is likely to be inactive; and determining, in response to the later temperature being more than a predefined amount greater than the current temperature, that the boiler is likely to be active.
Determining the state of the boiler may inhibit redundant radiator valve movements when the boiler is likely to be inactive. This saves battery energy of the device and removes the need for the user to adjust a setting of the device depending on the state of the boiler. Additionally, inhibiting redundant radiator valve movements when the boiler is likely to be inactive may remove noise associated with radiator valve movements when it is not needed. The temperature may be determined from a temperature sensor of the device.
The change in valve position may be determined by monitoring a state of the radiator valve (e.g. via sensor or via monitoring of motor that actuates valve) or by the processor itself controlling radiator valve movement and keeping a record of valve position, and thereby knowing each time the valve is instructed to be moved.
In one embodiment, the method further comprises: storing in memory a determined state indicative of whether the boiler is determined to be likely to be active or likely to be inactive at the time of the change in valve position; determining for a subsequent period of day, a likelihood that the boiler is inactive at that time of day based on, during the equivalent period for previous days, a number of times that the boiler has been determined to be likely to be active or a number of times that the boiled has been determined to be likely to be inactive; and inhibiting one or more valve movements during the subsequent period of day based on the determined likelihood.
In one embodiment, inhibiting one or more valve movements during the subsequent period of day based on the determined likelihood comprises inhibiting a fraction of valve movements over the period, wherein the fraction is based on the determined likelihood.
In one embodiment, inhibiting one or more valve movements during the subsequent period of day comprises, detecting a command to move the valve during the subsequent period, obtaining a random number, determining whether the random number exceeds a threshold determined based on the determined likelihood and in response to the random number being greater than the threshold, inhibiting the command to move the valve during the subsequent period.
In one embodiment, the method implements a stochastic decay function to reduce over time the likelihood that the boiler is inactive for the subsequent period over time. In one embodiment, implementing a stochastic decay function comprises: each time a command to move the valve is detected, determining whether to reduce the likelihood that the boiler is inactive for the subsequent period based on a current value for the likelihood that the boiler is inactive for the subsequent period.
The stochastic decay function allows the device to continue learning new behaviour and prevents the device becoming locked into a certain set of behaviours by encouraging exploration. This avoids any accidental errors with other modules of the device and conserves memory usage of the device.
In one embodiment, determining whether to reduce the likelihood that the boiler is inactive for the subsequent period comprises: setting a threshold based on the current value for the likelihood that the boiler is inactive for the subsequent period; obtaining a random number; and determining whether the random number exceeds the threshold and, if so, reducing the likelihood that the boiler is inactive for the subsequent period.
In one embodiment, a count of a number of times the boiler is determined to be active or inactive is maintained for each hour within a 24 hour cycle. This 24 hour cycle need not be synchronised to any conventional time zones.
According to another aspect of the invention there is provided a device for determining a state of a boiler, the device comprising: a temperature sensor; and a processor configured to: monitor a valve position of a radiator valve that controls a flow rate from the boiler to a radiator; in response to the valve position being changed, obtaining a measurement of a current temperature of the environment when the valve position is changed and a measurement of a later temperature a predefined period after the valve position was changed; determining, in response to the later temperature not being more than a predefined amount greater than the current temperature, that the boiler is likely to be inactive; and determining, in response to the later temperature being more than a predefined amount greater than the current temperature, that the boiler is likely to be active.
According to another aspect of the invention there is provided a computer implemented method for detecting artificial light, wherein the method comprises: obtaining a set of light measurements over time, each light measurement being indicative of an intensity of light sensed by a light sensor; calculating, from the set of light measurements, a value indicative of a variability the intensity of the light over a period of time; calculating a confidence level that the light is artificial from the value; determining if the light sensed by the light sensor is artificial light, based on whether the confidence level exceeds a confidence threshold; and determining an increased likelihood of occupancy of an environment in which a radiator valve is situated based on the determination of whether the light sensed by the light sensor is artificial light to control the radiator valve.
Determining the increased likelihood of occupancy of the environment based on the determination of whether the light sensed by light sensor ensures that the radiator valve is controlled when the environment has a high likelihood of active occupancy. This ensures that the radiator valve is only controlled only when heating of the environment is required.
In one embodiment, the period of time is less than or equal to 0.1 seconds. In a further embodiment, the period of time is greater than or equal to lms. By limiting the period over less than or equal to 0.1 seconds, variations in light levels due to other causes, such as movement within the environment, can be excluded.
In one embodiment, the value indicative of a variability of the intensity of the light over a period of time is determined based on ten or more light measurements over the period.
In one embodiment, the confidence level is determined based on a predetermined function mapping the value indicative of variability of the intensity of the light to confidence that the light is artificial.
In one embodiment, the confidence level is determined through reference to a look-up table mapping the value indicative of variability of the intensity of the light to confidence that the light is artificial.
In one embodiment, the value indicative of variability of the intensity of the light is: a variance of the intensity of the light over the period of time; or a sum of squared differences of successive light measurements from the set of light measurements over the period of time.
In one embodiment, controlling the radiator valve based on the determination of whether the light sensed by the light sensor is artificial light comprises: in response to determining that the light sensed by the light sensor is artificial light, opening the radiator valve at least partially based on the determination; in response to determining that the light sensed by the light sensor is not artificial light, closing the radiator valve at least partially based on the determination.
According to another aspect of the invention there is provided a device for detecting artificial light, wherein the device comprising a processor configured to: obtain a set of light measurements over time, each light measurement being indicative of an intensity of light sensed by a light sensor; calculate a value indicative of a variance of the light signal over a period of time; calculate a confidence level that the light is artificial from the value; determine if the light sensed by the light sensor is artificial light, based on whether the confidence level exceeds a confidence threshold; and control a radiator valve based on the determination of whether the light sensed by the light sensor is artificial light.
According to another aspect of the invention there is provided a device for controlling a radiator valve, wherein the device comprises a processor configured to: obtain a current temperature measurement indicating a current temperature of an environment in which a radiator supplied by the radiator valve is situated; in response to the current temperature being within a first range of a target temperature, maintain a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, control a motor configured to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; In response to the current temperature falling outside of the first and second ranges but within a third range of the target temperature, the third range being greater than the first and second ranges, the motor may be controlled to adjust the current valve position by a second amount that is greater than the first amount, or at a second speed that is greater than the first speed The second amount may be an instruction to fully close or fully open the valve, depending on whether the temperature is above or below the target temperature.
In one embodiment, adjusting the current radiator valve position comprises closing the radiator valve at least partially in response to the current temperature being above the target temperature and opening the radiator valve at least partially in response to the current temperature being below the target temperature.
In one embodiment, the device is further configured to: obtain a light measurement indicating a current light intensity within the environment; and in response to the current light intensity being less than a threshold light intensity, increase the size of one or both of the first and second ranges; or in response to the current light intensity being greater than or equal to the threshold light intensity, decrease the size of one or both of the first and second ranges.
In one embodiment, the device is further configured to: obtain a measure of confidence that the environment is occupied; and in response to the confidence being greater than a threshold confidence, increase the size of one or both of the first and second ranges; or in response to confidence being less than or equal to the threshold confidence, decrease the size of one or both of the first and second ranges.
In one embodiment, the processor is further configured to, in response to the current temperature falling above the target temperature, outside of the first range but within the second range, the second range being greater than the first range: control the motor configured to close the radiator valve by the first amount and at the first speed; obtain a subsequent temperature measurement of the temperature of the environment after the radiator valve has been closed; in response to the subsequent temperature measurement indicating that the temperature of the environment has not decreased by more than a given temperature difference, controlling the motor to drive the radiator valve to close the radiator valve by a further amount at a third speed that is less than the first speed. The first amount may be to close the radiator valve to a half open position.
In one embodiment, the device further comprises, in response to the subsequent temperature measurement indicating that the temperature of the environment has moved towards the target temperature by more than a given temperature difference, inhibiting a valve movement.
In one embodiment, the processor is configured to: in response to the radiator valve being closed at least partially, inhibiting any opening of the radiator valve for a predetermined period of time; and in response to the radiator valve being opened at least partially, inhibiting any closing of the radiator valve for a predetermined period of time.
According to another aspect of the invention there is provided a method for controlling a radiator valve, wherein the method comprises: obtaining a current temperature measurement indicating a current temperature of an environment in which a radiator supplied by the radiator valve is situated; in response to the current temperature being within a first range of a target temperature, maintaining a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, controlling a motor configured to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; in response to the current temperature falling outside of the first and second ranges but within a third range of the target temperature, the third range being greater than the first and second ranges, controlling the motor to adjust the current valve position by a second amount that is greater than the first amount, or at a second speed that is greater than the first speed.
BRIEF DESCRIPTION OF THE DRAWINGS
Arrangements of the present invention will be understood and appreciated more fully from the following detailed description, made by way of example only and taken in conjunction with drawings in which: FIG. 1 shows a diagram for a thermostatic radiator valve control system for controlling a radiator valve according to an embodiment; FIG. 2 shows a diagram for various modules for the device for controlling a radiator valve according to an embodiment; FIG. 3 shows a flow chart for detecting a mechanical limit of the radiator valve according to the end stop detection method according to an embodiment; FIG. 4 shows a flow chart for a method for artificial light detection performed by the artificial light detection module according to an embodiment; FIG. 5 shows a flow chart for determining a target temperature of the environment in which the device is situated according to an embodiment; FIG. 6 shows a flow chart for the calculate setback process of FIG. 5 according to an embodiment; FIG. 7 shows a diagram showing temperature bands of the device controlled by the valve position control module according to an embodiment; FIG. 8 shows a flow chart for the valve position control module to control the movement of the radiator valve according to an embodiment; FIG. 9 shows a diagram for interactions of the boiler learning module within the device for controlling the radiator valve according to an embodiment; FIG. 10 shows a finite state machine diagram of the boiler learning module according to an embodiment; and FIG. 11 shows a flow chart for the process in the make decision state of the boiler learning module according to an embodiment;
DETAILED DESCRIPTION
Embodiments described herein relate to a device for controlling a radiator valve. The device is retrofitted over an existing radiator valve to adjust the position of the radiator valve based on certain conditions of an environment in which the device is situated.
The device and methods carried out by the device described herein provide a simple interface, low energy consumption and low cost solution. The device and methods carried out by the device described herein do not rely on network connectivity or external sensors to control the radiator valve.
Excessive radiator valve movement may generate noise especially when the radiator valve movement experiences heavy inertia. Accordingly, the device and method carried out by the device described herein provide solutions to control a radiator with minimal noise and minimal energy expenditure. The methodology described herein adapts not only to user occupancy but also to patterns in boiler activation to ensure that movement of the radiator valve is controlled to save energy whilst providing desired comfort to the user.
FIG. 1 shows a diagram for a thermostatic radiator valve control system 10 for controlling a radiator valve 20 according to an embodiment.
The thermostatic radiator valve control system 10 comprises a device 100 to control a radiator valve 20, a radiator valve 20, a pipe 30 and a radiator 40.
The pipe 30 supplies hot water from a boiler to the radiator 40 to heat up the radiator 40. The device 100 controls the opening and closing of the radiator valve 20 to control the amount of hot water flowing into the radiator 40. When the radiator valve 20 is fully closed, no hot water will flow into the radiator 40. When the radiator valve 20 is fully open, the maximum amount of hot water will flow into the radiator 40.
The device 100 for controlling the radiator valve 20 is fitted to the radiator valve 20 to adjust the position of the radiator valve 20. The device 100 can be retrofitted to the radiator valve 20 or can be provided as an integrated system with the radiator valve 20.
The device 100 comprises: a battery 130; an analogue-to-digital converter (ADC) 160; a user interface (UI) 190; memory 140; a controller 150 (in this case, a microcontroller (MCU)); a motor driver 170; and a motor 180. The device also includes a light sensor 120 and temperature sensor 110. The controller 150 might be a microcontroller (MCU). In this case, the memory 140 may be integrated within the microcontroller.
The battery 130 powers the systems of the device 100, including the ADC 160, MCU 150, memory 140, motor driver 170, user interface 190 and sensors 110, 120. For clarity, connections for this power supply are not depicted in FIG. 1.
The Ul 190 provides a means for the user to input preferences, including a desired environment (room) temperature. The Ul 190 may, for instance, be a dial, set of buttons, digital display, or any other form of input device.
The MCU 150 monitors the measurements from the light 120 and temperature 110 sensors as well as the voltage over the battery 150 (as determined via the ADC 160) in order to control the motor 180 to adjust the radiator valve 20 to affect the temperature of the environment according to the methods described herein. The MCU 150 adjusts the radiator valve 20 position in order to maintain the temperature of the environment within at least a range of the user's desired temperature or a target temperature dependent on the desired temperature.
The battery 130 powers the MCU 150 so that the MCU 150 receives signals from the ADC 160 and output signals to the motor driver 170. The ADC 160 converts an analogue voltage signal of the battery 130 into a digital signal representative of the voltage over the battery 130. This battery 130 signal is used by the MCU 150 to determine the range of motion over the radiator valve 20, as shall be discussed below.
The battery 130 powers the motor driver 170 with sufficient power such that the motor driver 170 can actuate the movement of the motor 180 according to the output signal of the MCU 150. Alternatively, the battery 130 may power the motor 180 directly. The motor 180 is connected to a coupling portion that is configured to couple to the radiator valve 20 such that the motor 180 can drive the radiator valve 20 to open and close.
The degree that the radiator valve 20 is opened or closed is indicated by a valve open percentage. The output signal of the MCU 150 comprises instructions to open or close the valve to the valve open percentage. An MCU 150 output signal comprising of instructions for a 0% valve open percentage actuates the motor 180 to fully close the radiator valve 20. An MCU 150 output signal comprising of instructions for a 100% valve open percentage actuates the motor 180 to fully open the valve. An MCU 150 output signal comprising of instructions to a 50% valve open percentage actuates the motor 180 to open or close the radiator valve 20 to a half open state, depending on the present valve open percentage. The valve open percentage is an internal logical state percentage that is maintained and processed by the MCU 150 to actuate the movement of the motor 180 to open or close the radiator valve 20.
The light sensor 120 measures the amplitude of ambient light (the brightness) of the environment. The temperature sensor 110 measures the temperature of the environment. The light measurements are used to determine whether the environment is likely to be occupied. The temperature is used to provide feedback to the system to allow the system to control the environment temperature to a desired range.
Memory 140 is provided not only to hold executable instructions for causing the MCU 150 to perform its processes, but also to store historical data for use by the system 10.
For instance, environment occupancy data and data relating to when the boiler is active can be stored and used when determining how to control the radiator valve 20.
The light signal from the light sensor 120 and temperature signal from the temperature sensor 110 can be received by the MCU 150 via the ADC 160. The ADC 160 can convert any analogue signal required by the MCU into a digital signal representative of the analogue signal and may be internal or external to the device 100. Alternatively, one or both of the light and temperature sensors may output digital signals that can be received directly by the MCU.
Whilst the embodiments discussed herein describe a device powered by a battery, it will be appreciated that other types of power supply might be utilised. For instance, for the purposes of end stop detection, the power supply may be any power supply with a non-negligible internal impedance such that the motor stalling at an end stop is detectable through a change in voltage. For example, in one specific embodiment, the internal impedance is at least 25 mOhms.
The power supply may also be any power supply that can supply sufficient power to power the systems of the device 100. Examples of power supplies include, but are not limited to batteries and energy harvesting devices such as solar cells, thermoelectric power modules and pyroelectric power modules.
FIG. 2 shows a diagram for various modules for the device 100 for controlling a radiator valve 20. The device 100 comprises sensors (at least light 120 and temperature sensors 110), an occupancy determination module 230, an artificial light detection module 220, a memory 140, an aggregator 240, an energy saving module 250, a boiler learning module 270 and a valve position control module 260, wherein the valve position control module 260 comprises an end stop detection module 265. The modules are implemented by the controller 150, whilst the sensors 210 are implemented in separate hardware. The memory 140 may be integrated within the controller 150 (e.g. as part of a microcontroller) or may be a separate piece of hardware.
The sensors 210 include a light sensor 120 and a temperature sensor 110. The sensors 210 detect and output changes and states of an environment in which the radiator valve 20 is situated to produce signals to be manipulated by the device 100 for controlling a radiator valve 20.
The light sensor 120 detects light of the environment in which the radiator valve 20 is situated and outputs a light signal comprising at least one measurement of the intensity of the light in the environment. The light signal from the light sensor 120 is input into an artificial light detection module 220. The artificial light detection module 220 determines whether or not the light is artificial and outputs a signal indicating whether the light is artificial to the memory 140 and to the energy saving module 250. Light is artificial if the light is not natural sunlight, that is, light is artificial if is artificially generated, such as by an electric light. The light signal is also stored in the memory 140 to be used in the energy saving module 250, as described in further detail in relation to FIG. 6.
The temperature sensor 110 measures a temperature of the environment in which the radiator valve 20 is situated and outputs a temperature signal. The temperature signal is input into the valve position control module 250 which adjusts the valve position to obtain a temperature that falls within a target temperature range (as shall be discussed in more detail below).
The light signal and Ul output signal is input into the occupancy determination module 230. The occupancy determination module determines and outputs whether or not the environment is actively occupied by a user from the temperature signal.
The determination of the occupancy of the environment is based on the light measurements, output of the artificial light detection module 220, valve movement history, interaction with the Ul 190 (e.g. movement of the dial) and an active state of the user. The active state of the user includes a sleep state of the user. For example, if the user is determined to be asleep in the environment, the occupancy determination module 230 determines that the environment is unoccupied (not actively occupied).
This can be inferred from the light sensor 120 (e.g. an artificial light being turned off, the environment being too dark for the user to be safely active in, a lack of movement within the environment as determined based on changes in light levels, current time of day, etc.). The environment being too dark to be actively occupied may be indicated, for example, by an illuminance that is less than a corresponding threshold (e.g. less than 51x).
The temperature of the environment is stored in the memory 140 so that it is used by the energy saving module 250, as described in further detail in FIG. 6. Light measurements and environment occupancy states are also stored in the memory 140 so that they may be accessed by the energy saving module 250. The temperature of the environment, light measurements and occupancy states of each hour is stored in the memory 140, along with an averaged value for each of these measurements over the week.
The memory 140 stores outputs from the sensors 210 as data, wherein the output includes light signals and temperature signals. Data stored in the memory 140 is read by the energy saving module 250. This allows measurements to be used to learn user behaviour over time and adapt accordingly. For instance, the system 10 learns when the room in which the radiator 40 is located is likely to be occupied and adapts to begin heating the room before this point. Conversely, the system 10 learns when the room is likely to become unoccupied, and so can begin to reduce the temperature in anticipation even before the user leaves the room.
The boiler learning module 270 receives the current temperature of the environment every minute. The boiler learning module 270 also receives a notification from the valve position control module 260 each time (e.g. for each minute) the valve position is changed. The boiler learning module 270 stores these events and keeps track of times when a valve movement does not result in an increase in temperature. This allows the boiler learning module 270 to learn when the boiler is likely to be active and when the boiler is likely to be inactive so that unnecessary valve movement (when the boiler is inactive) can be avoided.
The output of the artificial light detection module 220 and the output of the occupancy detection module 230 are input into an aggregator 240. The aggregator 240 uses these two outputs to calculate and output an occupancy confidence score. The occupancy confidence score indicates the likelihood that the environment is currently actively occupied by the user.
The user interface 190 (UI) allows the user to set their desired temperature and comfort preferences. These can be set separately, but in specific embodiments, these are set as a single input (e.g. ranging from 0 to 5). A low value represents low temperature, low comfort and high energy savings. A high value represents higher temperature, higher comfort but lower energy savings. The Ul also comprises frost (very low) and flame (maximum, e.g. above 5) positions. This allows the user to set the device into corresponding frost and bake modes.
Frost mode sets a minimum threshold for temperature and only heats the room (opens the valve) when the temperature drops below this minimum temperature. This allows the system to avoid heat expenditure but whilst preventing the heating system from freezing over. Conversely, bake mode sets a temporary (e.g. 30 minute) period during which the target temperature is uplifted such that the environment is heated more quickly.
The energy saving module 250 uses the data in the memory 140, the user's heating preferences, as input from the user interface 190, and the output from the aggregator 240 to determine a temperature setting that balances desired user comfort and energy use. The energy saving module 250 aims to reduce energy consumption of the radiator 40 and reduce energy consumption of the device 100 for controlling the radiator valve 20. For instance, the energy saving module 250 can output a control signal to the valve position control module 260 to reduce the temperature within the room based on historical data stored in memory 140, user comfort preferences and based on an output from the aggregator 240. For instance, the room temperature can be reduced when the room is determined to be likely to be unoccupied. The amount of reduction can be reduced as the user's desired comfort level increases. A more detailed description is provided with regard to FIG. 7 and FIG. 8.
Although the FIG. 2 shows the aggregator 240 as a separate block from the energy saving module 250, the aggregator 240 may form part of the energy saving module 250 such that the energy saving module 250 takes the inputs of the aggregator 240 and carries out the functions of the aggregator 240.
The boiler learning module 270 determines the state of a boiler and outputs a suppression percentage. The boiler learning module 270 uses data in the memory 140 to determine and output the suppression percentage. The data includes temperature data and valve movement data. The suppression percentage is used to determine when to inhibit radiator valve 20 movement to save energy. Driving the motor 180 to move the radiator valve 20 when the boiler is off would not change the temperature of the environment and therefore causes unnecessary noise and battery 130 energy use. A more detailed description is provided with regard to FIGs. 9-11.
The valve position control module 260 controls the movement of the radiator valve 20 for the temperature of the environment to meet a target temperature or at least to be within a target temperature range. The valve position control module 260 outputs a control signal to a motor 180 or motor driver 170 to actuate a movement of the radiator valve 20. The control signal which actuates the movement of the radiator valve 20 is based on the outputs of the energy saving module 250 and boiler learning module 270.
The valve position control module 260 comprises an end stop detection module 265. The end stop detection module 265 is configured to detect a movement range of the radiator valve 20. The movement range is indicated by the motor becoming mechanically restricted from attempting to open or close the valve (e.g. reaching an end point in the range of motion for the valve). For clarity and succinctness, the motor 180 becoming mechanically restricted from attempting to open or close the radiator valve 20 shall be described as the motor 180 having "stalled", is "stalling" or at "stall" throughout the remaining parts of the description. The end stop detection module 265 shall now be described in further detail with reference to FIG. 3.
FIG. 3 shows a flow chart for detecting a mechanical limit of the radiator valve 20 according to the end stop detection module 265.
The device for controlling a radiator valve 20 can be implemented on third-party valve bases, without prior knowledge of the gamut of its pin that controls water flow. The end stop detection module is able to determine when the radiator valve 20 has reached a mechanically restricted limit, also referred to as an "end stop" or "end stops", and therefore allows the system to be calibrated to the range of motion for the radiator valve 20 to which it is fitted. By correctly calibrating the system 10, the system 10 can avoid attempting to open or close the valve past the end stops, which would cause unnecessary noise and energy expenditure.
The end of the range of motion is detected through monitoring the voltage over the battery 130 powering the device. When an end stop is reached, the motor 180 stalls and applies its maximum torque when attempting to drive the radiator valve 20 past the end stop. At this point the motor 180 draws its additional current, which can be easily detected as a change in voltage over the battery 130. Accordingly, the device 100 can detect that an end stop has been reached by detecting a decrease in the voltage over the battery 130. This allows end stop detection to be implemented without additional sensors beyond a voltage sensor over the battery 130, which doubles up as a means of measuring the power supply. Accordingly, this provides an elegant and zero-Bill-ofMaterials-cost means of determining the range of motion over a radiator valve 20.
The end stop detection module 265 is processed by the MCU 150. In step 310, the end stop detection module 265 begins with the device 100 for controlling a radiator valve 20 reading the voltage over the battery 130 at a first time. This is implemented by the MCU 150 receiving an output signal from the ADC 160, wherein the ADC 160 converts an analogue battery 130 output signal to a digital voltage signal for the MCU 150. The voltage of the battery 130 at the first time is determined when the motor 180 is not moving, i.e. when the motor 180 is not drawing current.
In step 320, the radiator valve 20 is moved to open or close. In step 330, this is caused by an instruction from the valve position control module 260 to adjust the radiator valve to ensure that the temperature falls within a required temperature range. Alternatively, this might be instructed by the end stop detection module 265 as part of a calibration run.
The device 100 comprises a coupling portion configured to be coupled to the radiator valve 20. The coupling portion couples the motor 180 and the radiator valve 20 such that a movement of the motor 180 corresponds to a movement of the radiator valve 20.
In step 340, the device 100 for controlling a radiator valve 20 reads the voltage of the battery 130 at a second time, during the operation of the motor 180 (i.e. when the motor 180 is drawing current).
In step 350, the motor 180 is turned off. This is implemented by the MCU 150 outputting a control signal to the motor driver 170 to stop the motor driver 170 or the motor 180 itself directly. In an example, the control signal may be a 0-voltage signal.
A decrease of the voltage between a first time and a second time is compared against a threshold voltage. An internal resistance of the battery 130 causes the difference when a load such as the motor 180 is present. The decrease in the voltage of the battery 130 indicated by the difference between the first time and second time represents an increase in current drawn by the motor 180. The decrease in the voltage is at a maximum when the motor 180 is stalled as, at this point, the motor 180 is drawing the maximum current.
In step 360, if the decrease in the voltage of the battery 130 exceeds the threshold voltage, the end stop detection module 265 determines that the motor 180 is mechanically restricted from further attempting to open or close the radiator valve 20.
In step 360, if the decrease in the voltage of the battery 130 does not exceed the threshold voltage, the end stop detection module 265 determines that the motor 180 is not mechanically restricted from further attempting to open or close the radiator valve 20.
However, the fact that the end stop detection module 265 determines that the motor 180 is mechanically restricted from further attempting to open or close the radiator valve 20 may not always accurately indicate that the radiator valve 20 is at a mechanically restricted limit (that the radiator valve 20 is fully open or fully closed). For example, the force of the motor 180 movement may have been large enough to overcome inertia experienced by the motor 180 even if the device 100 has erroneously detected an end stop. This may occur if the voltage threshold has been set too low. If an end stop is detected at an unexpected point, the device may recalibrate by adjusting the voltage threshold.
If closing from the fully open position (100% valve open) and a stall is detected, the voltage threshold is increased. This works under the assumption that, if the radiator valve 20 is fully open, there should be no restriction to closing the radiator valve 20. Accordingly, if an end stop is erroneously detected when attempting to close the radiator valve 20 from a fully open position, then the voltage threshold is too small and thereby causing the erroneous detection of end stops. Accordingly, the voltage threshold is increased to avoid this issue.
If opening to the fully open 100% valve open percentage and a stall is not detected, the stall current threshold is decreased. In this instance, the motor 180 opens the radiator valve 20 further to make sure it is truly reaching the fully open valve position. Having driven the motor 180 to completely open the radiator valve 20, if no end stop is detected then the sensitivity of the end stop detection mechanism is too low, and accordingly the voltage threshold is decreased to increase the sensitivity.
In step 380, a calibration run may be implemented, driving the motor 180 to adjust the radiator valve 20 position across its full range from 0% up to 100% and from 100% down to 0%. In other embodiments, the calibration may be implemented across a selected reduced range to and from the 0% and 100% positions. For instance, to avoid the additional noise incurred when closing the valve fully, the calibration may run over a range to and from the fully open point, but may not extend all the way to fully closed. Accordingly, the calibration may be run over a reduced range at the open end of the valve range, as less noise is incurred when fully opening the valve relative to fully closing the valve.
The calibration may be implemented in steps of 2%, or any other appropriate step size. In addition, as the valve approaches the expected end point (e.g. fully open), the speed of valve movement may be reduced. This may be implemented by reducing the step size for each valve movement. This allows the calibration of the end point to be implemented more accurately.
The battery 130 voltage is monitored throughout this process. If no end stop is detected when opening or closing, then the threshold is lowered, conversely if an end stop is detected at an unexpected point, or if multiple end stops are detected along the range of motion, then the threshold is increased. The above calibration 380 repeatedly runs towards and away from a fully open (100% valve open percentage) and closed valve position (0% valve open percentage) respectively until an appropriate voltage threshold is acquired.
When opening or closing towards less than fully open (100% open) or fully closed (0% closed), the system pauses the opening or closing upon detection of an end stop. That is, if the open percentage is set to anything other than 0% or 100%, then the motion is stopped at detection of an apparent end stop. Conversely, if the control signal of the MCU 150 comprises instructions to move to 0% (fully closed) or 100% (fully open) valve open percentages, the system 10 controls the motor to move to the required valve position (fully open or fully closed) without stopping. Accordingly, even if an end stop is detected, the system 10 continues to drive the radiator valve 20 to the required radiator valve 20 position. The motor 180 in this case therefore opens or closes the radiator valve 20 until the radiator valve 20 has reached a mechanically restricted limit due to the radiator valve 20 being fully open or fully closed regardless of the voltage levels being measured. This removes any uncertainty regarding whether the radiator valve 20 has reached a mechanically restricted limit, allowing the radiator valve 20 to be forced fully open or fully closed.
When the MCU 150 output signal comprises instruction for 100% valve open percentage, the motor 180 will open the radiator valve 20 at full speed, regardless of whether an end stop is detected as it is opening the radiator valve 20. Less force is required to open the radiator valve 20 relative to closing the radiator valve 20 as the opening of the valve is assisted by the valve spring within the valve 20. It therefore does not cause as much noise opening the radiator valve 20. Accordingly, the motor 180 may open the radiator valve 20 at full speed when the MCU 150 output signal comprises instruction for 100% valve open percentage to complete the operation more quickly, thereby providing a means of overriding the end stop detection.
A relatively large amount of noise can be caused by the motor 180 attempting to close the radiator valve 20 beyond its end stop. Accordingly, when the MCU 150 output signal comprises instruction for 0% valve open percentage (fully closed), the motor 180 will close the radiator valve 20 at a reduced speed if a stall is encountered during closing of the radiator valve 20. When a stall is encountered during closing to 0% valve open percentage, the motor 180 will close the radiator valve 20 at a reduced speed thereafter to increase torque so that the movement of the motor may overcome the reactionary force of the spring inside the radiator valve 20, which urges the radiator valve 20 towards its fully open position. When a stall encountered during closing, before the 0% valve open percentage is reached, a large inertia may be experienced by the radiator valve 20. Accordingly, closing the radiator valve 20 at a reduced speed will increase torque induced by the motor 180 trying to overcome this inertia.
When the MCU 150 output signal comprises an instruction for a valve open percentage that requires the radiator valve 20 to close from its current valve open percentage, and a stall is detect while closing, a stall flag is set for the valve open percentage where the stall occurred. No further close is done below the valve open percentage set by the stall flag, until the MCU 150 outputs a subsequent control signal comprising instructions with a lower valve open percentage. This prevents noise and energy expenditure when an end stop is encountered, but still allows the valve position control module 260 to attempt to further force the valve closed beyond the possibly-false detected end stop, if necessary. This can be considered a ratcheting close, where the valve is closed lightly at first to avoid excessive noise, but additional effort can be applied to further close the radiator valve 20, if needed.
The radiator valve 20 opening and closing speeds and the stall flag condition saves energy consumption and reduces noise. For instance, if the device 100 is incorrectly calibrated and is unaware that it has reached an end stop, it might continue to attempt to move the radiator valve 20 beyond the end stop, causing unnecessary noise and energy expenditure. By preventing this movement at the detection of an end stop, this excess noise and energy use is avoided. Nevertheless, it is still possible to override this is in certain situations where it is important to ensure that the radiator valve 20 is fully opened or fully closed. This can be implemented when a full open (100%) is instructed or a full closed (0%) is instructed. In this case, the motor 180 continues to drive the radiator valve 20 movement even after detecting an end stop, but might do so at a reduced speed to increase torque or force available.
The method carried out by the end stop detection module is performed during every radiator valve 20 movement, which is controlled by the output of the MCU 150, which actuates the motor 180 to open or close the radiator valve 20.
The motor 180 may be any electric motor where its stall can be detected by changes in voltage. Examples include, but are not limited to: stepper motors, brushed DC motors and brushless DC motors. Specific embodiments implement a stepper motor, for which it is particularly difficult to detect stalls. This method therefore provides a simple and effective zero-BoM-cost method for detecting stalling, particularly for stepper motors.
FIG. 4 shows a flow chart for a method for artificial light detection performed by the artificial light detection module 220.
The light sensor 120 detects light present in an environment (e.g. room) in which the device 100 for controlling a radiator valve 20 is situated and the artificial light detection module 220 determines if the light present in the environment is artificial or not. The presence of artificial light in the environment can be used to help determine an occupancy state of the environment. For example, the presence of artificial light provides a strong indication that the environment is occupied by a user of the device 100. The occupancy state of the environment can be used to determine the required temperature of the environment. For example, if the environment is unoccupied, the device 100 fully or partly closes the radiator valve 20 to reduce excess energy consumption by the radiator 40.
Artificial light can be distinguished from non-artificial light, as the amplitude of artificial light fluctuates more than non-artificial light. This can be caused, for instance, by the lights being supplied by alternating current (AC) or LED lights driven by a high-frequency constant-current switch-mode power supply, but the methods are not limited to detecting such lights. Specifically, artificial light has a higher variability when measured over short timescales or high frequencies compared to non-artificial light. It is important to measure this variability over short timescales or high frequencies in order to avoid erroneous artificial light detection due to movement within the room (e.g. by a person walking between the light and the light sensor 120).
The method for artificial light detection comprises capturing light measurements by a light sensor 120 in step 410. Preferably, at least 16 samples should be captured over a period of less than 0.1 seconds and more than or equal to 1ms. The minimum number of samples may be dependent on the desired accuracy of the artificial light determination. The maximum number may be, for example, dependent on factors such as light sensor 120 response time, maximum ADC frequency, memory 140 and processing properties.
Samples are captured over a sampling period of typically less than 0.1 seconds, which minimises the chances of light levels changing for reasons other than the light being artificial, for example due to occlusion from moving objects blocking the light source. The length of the period may range from 1ms to 100ms. In one embodiment, the samples are captured over a period of more than 3ms. The minimum sampling period may depend on the type of light and light sensor used. However, the sampling period should be long enough to observe the fluctuations in brightness of the light. Additionally, resolution of the samples must be high enough to observe the fluctuations in brightness of the light.
A value, indicative of the variability of the brightness of the light signal is calculated, and a confidence level is calculated from the value in step 420. The value, for example, may be the variance of the light, or at least the sum of squared differences of successive light measurements over a period of time. For example, the sum of squared differences between successive light measurements may be: N-1 SD =I( xn+1)2 n=1 such that SD = -x2)2 + (x2-x3)2 + . + (xN -wherein: SD is the sum of squared differences; xn is the nth light measurement; N is the total number of light measurements over which the sum of squared differences is being calculated.
Conversely, the variance may be utilised. The variance is average squared difference from the mean.
By making use of the sum of squared differences between successive light measurements, the device can obtain a value indicative of the variance without calculating the variance, per se, thereby reducing the number of computations necessary. This is useful for saving energy and reducing the memory burden for storage of the programming instructions for performing these acts.
The confidence score can be calculated using logistic regression. For instance, in one embodiment the confidence is calculated using the following equation, known as the "logistic function": f (a + bx) - 1 ± e-(a+lox) where x is the value indicative of variance of the brightness of the light, a and b are parameters calculated from light data, using a logistic regression. The resulting value f (a + bx) is a function that is evaluated to arrive at the confidence score, which is a probability that the light is artificial.
The confidence level may be calculated from logistic regression from pre-existing data but may be calibrated to fit the needs of the device. The data may be stored in the memory of the device to speed up calculation by the MCU. That is, instead of directly implementing logistic regression in the device, instead the logistic function can be learned in advance and then stored in the device, either algebraically or in the form of a look-up table so that the value indicative of variance can be more efficiently mapped to confidence.
If the confidence level exceeds a confidence threshold in step 430, the light is determined to be artificial in step 440; otherwise, the light is determined to be non-artificial.
The artificial light detection module 220 subsequently outputs a Boolean value indicating whether the light is determined to be artificial or not and a confidence score of whether the light is artificial.
FIG. 5 shows a flow chart for determining a target temperature of the environment in which the device 100 is situated.
The device 100 reduces energy wastage and carbon footprint of the radiator. The energy saving module 250 reduces heat flowing into an unoccupied environment that does not contribute to user comfort. The energy saving module 250 aims to maximise energy savings while minimising user discomfort.
Energy consumption by the radiator 40 is reduced by reducing a desired temperature (as required by the user) by a setback to arrive at a target temperature. The desired temperature is a temperature of the environment when the environment is occupied. This might be set by the user.
In addition to reducing energy consumption by reducing the temperature when the environment is unoccupied, the device 100 can also predict when the environment is likely to become unoccupied in the near future and prepare for this by beginning to turn the temperature down during an optimum off time. The converse is also true, with the device beginning to bring the temperature up towards the desired temperature in anticipation of an unoccupied environment becoming occupied, during an optimum on time.
The optimum on time and optimum off time are determined using learnt occupancy patterns of the environment. Optimum on time aims to bring the environment close to the desired temperature just before the environment becomes occupied. Optimum off time aims to avoid adding new heat to the environment just before the environment becomes unoccupied.
The device for controlling a radiator valve may operate in three different temperature modes: frost protection mode; warm mode; and bake mode. In step 510, using the sensor data stored in the memory, as described above, the energy saving module determines the temperature mode of the device. Alternatively, the user may select the temperature mode manually.
First, in step 520, the energy saving module determines if the device is in warm mode. If the device is not in warm mode, the device 100 sets the target temperature as a frost protection mode temperature 550. The setback is not applied when the device 100 is frost protection mode. Specifically, the setback during frost protection mode is zero.
Frost protection mode prevents the temperature of the environment from dropping below a frost temperature. For example, the frost temperature may be around 6 °C to prevent the water within the radiator and remaining central heating system from freezing and damaging the system.
If the device is in warm mode then the method determines whether the device 100 is in bake mode in step 530. If the device 100 is in bake mode, the device 100 sets the target temperature as the sum of the desired temperature (also referred to as a warm mode temperature when the device is in warm mode) and a bake mode uplift temperature 560. The bake mode uplift temperature may be around 10°C. Bake mode may be temporary and the device 100 may revert back to warm mode after a period of time, for example 30 minutes. The user may manually set the device 100 to bake mode to heat the environment quickly or above normal comfort levels temporarily, for example the user is feeling colder than usual.
If the device 100 is in warm mode and not in in bake mode in step 530, the device 100 calculates the setback that is required and sets the target temperature as the warm mode temperature minus the setback. The magnitude of the setback is adjusted based on the current occupancy and expected future occupancy of the environment, and current light levels.
FIG. 6 shows a flow chart for the calculate setback process of FIG. 5.
The amount of setback is dependent on the user's desired comfort level. This is input by the user via the user interface 190. This describes not only the target temperature but also a level of comfort, as users wanting a higher temperature also tend to desire better comfort, whereas users wanting lower temperature tend to favour energy savings. This therefore allows the system to adapt the amount of energy saving setback being applied based on the user's desired comfort level.
In addition to inputting a comfort level, the user may turn on or off various temperature modes, including warm mode, bake mode and frost mode. For simplicity, many of these modes may be controlled via a single input (e.g. a dial) that the user uses to define a level of comfort and/or temperature. For instance, if the input is set to its lowest comfort/temperature setting then the device 100 may activate frost mode and deactivate warm mode. Conversely, if the device is set to a comfort/temperature setting above the lowest setting, then frost mode may be deactivated and warm mode may be activated. Alternatively, if the device 100 is set to its highest setting, the device 100 may activate bake mode; although in specific embodiments, this is set via a corresponding bake mode input (e.g. a button for the user to trigger bake mode). Bake mode may be activated for a predefined period (e.g. 30 minutes) from when it is first activated before being deactivated. This allows the user to request a short-term increase in heat to quickly heat the environment.
A table depicting the Ul 190 dial behaviour and various ECO/comfort levels in the current embodiment is provided below.
Dial Position 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Flame Temperature °C 6 14 15 16 17 18 19 20 21 22 23 24 24 Frost Y Extreme ECO Y Y ECO bias Y Y Y Y Y Y Extreme Y Y Y Comfort Accordingly, various comfort or energy settings are provided, corresponding to dial positions. These include Frost, extreme ECO, ECO bias and Extreme comfort. These settings relate to an inferred level of comfort (or conversely, an inferred level of energy saving) that is desired by the user.
Various thresholds these dial settings may be applied relative to the dial position. These thresholds may vary. These dial settings then are input into the various modules, including the energy saving module, for determining appropriate setback based on the user's desired comfort.
Frost corresponds to the lowest dial setting (in this case, position 0). All dial positions above the lowest dial position but below a first dial position correspond to extreme ECO. In the present case, this is all dial positions at or below position 1 (that is not frost) is 'extreme EGO'.
All dial positions above the lowest dial position but at or below a second dial position correspond to 'EGO biased'. In the present embodiment, this second dial position is 3.
Furthermore, all dial positions at or above a third dial position correspond to 'extreme comfort'. In the present case, the third dial position is 5.
The determination of the setback is based on the output of the aggregator, data in the memory 140, the user's desired comfort level, the light levels in the environment (from the light sensor) and a temperature mode. The determination uses a tiered, partly risk-based approach.
The energy saving module 250 first determines if setback is allowed in step 610. If the environment is unoccupied or is likely to become unoccupied in the near future (as determined by the aggregator) and the environment is dark or would benefit from precooling, the energy saving module 250 determines that a non-zero setback is allowed and proceeds to determine if a sub-eco setback is required. If not, a setback is not allowed and the setback calculation process terminates by setting the setback to zero 650.
A Boolean expression for determining whether setback is required is given below: allowSetback = isLikelyVacant OR ((isDark OR precool) AND notConfidentlyOccupied) Where allowSetback is a Boolean output for whether a setback is allowed.
isLikelyVacant is a Boolean variable for whether the environment is likely to be vacant.
isDark is a Boolean variable for whether the environment is dark. precool is a Boolean variable for whether precooling should take place and is based on learnt occupancy patterns and is dependent on whether the environment is occupied in the current hour, the next hour and whether the device is in eco mode. notConfidentlyOccupied is a Boolean variable that represents if the environment is not confidently occupied above an occupancy probability threshold.
The determination of the occupancy of the environment is based on the output of the artificial light detection module 220, valve movement history, interaction with the Ul 190 (e.g. movement of the dial) and an active state of the user. The determination of whether the environment is dark is indicated by the output of the light sensor 120. The determination of whether the environment would benefit from precooling is based on learnt occupancy patterns from past occupancy states of the environment and aims to cool down the temperature of the environment in advance of the environment becoming unoccupied.
The determination of whether a setback is required avoids unnecessary heating of the environment that could waste energy. The darkness condition also reduces noise that may disturb the user if a quiet environment is desired when the lights are turned off by inhibiting unnecessary radiator valve 20 movements, for example the user watching TV or going to sleep.
If setback is required, the energy saving module 250 determines if an eco setback is required (620). If the environment is dark or is not usually occupied at this hour, and the device 100 is not in extreme comfort mode and preheating is not required, the energy saving module 250 proceeds to determine if a sub-eco setback is required in step 630. If not, a default setback 660 is set as the setback. The default setback may be 1°C.
The Boolean expression for determining if an eco setback is required is provided below: allowECOSetback = (isDark OR notUsuallyActiveThisHour) AND NOT(isExtremeComfort AND preheatRequired) allowECOSetback is a Boolean output to determine whether an eco setback is required. isDark is a Boolean variable for whether the environment is dark. notUsuallyActiveThisHour is a Boolean variable for whether the environment is not usually active (is occupied) this hour based on learnt occupancy patterns.
isExtremeComfort is a Boolean value for whether the device is in extreme comfort mode, which may be set as the dial being greater than or equal to an upper threshold. preheatRequired is a Boolean variable for whether pre heating of the environment is required, this is based on three other factors using learnt occupancy patterns: if the user is getting up or returning home; if pre heating is required for this hour; and if pre heating is required for the next hour.
The energy saving module 250 determines if sub-eco setback is allowed in step 630. If eco setback is permitted and the device 100 is not set to an eco mode and preheating is required, or the device 100 is in an extreme comfort mode (i.e. has a comfort level above a predefined threshold) and the environment is not dark, a sub-eco setback is set as the setback 660. The sub-eco setback may be the default setback + 1°C, for example, 2 °C. If not, the energy saving module 250 proceeds to determine if a full setback is required in step 640.
A Boolean expression for determining whether sub-eco setback is required is given below: allowSUBECOSetback = allowECOSetback AND ((NOT(isExtremeEco) AND preheatRequired) OR (isExtremeComfort AND NOT(isDark))) allowSUBECOSetback is a Boolean output to determine whether a sub-eco setback is allowed. allowECOSetback is a Boolean output to determine whether an eco setback is allowed, as described in further detail below. isExtremeEco is a Boolean variable specifying whether extreme Eco mode is active, which may be set as the dial being within a corresponding range. preheatRequired is a Boolean variable for whether pre heating of the environment is required, this is based on three other factors using learnt occupancy patterns: if the user is getting up or returning home; if pre heating is required for this hour; and if pre heating is required for the next hour. isExtremeComfort is a Boolean value for whether the device is in extreme comfort mode, which may be set as the dial being greater than or equal to an upper threshold. isDark is a Boolean variable for whether the environment is dark.
The determination of whether a sub-eco setback is required allows finer control between the minimal default setback and the eco setback, which constitutes the majority of the energy savings to improve comfort. The sub-eco restricts the setback to less than the eco setback, which would normally be applied in an environment light enough to be occupied but apparently vacant. Where the device 100 is at the comfort end of the dial (greater than or equal to an upper threshold, e.g. 4.5 and above) this keeps the environment slightly warmer and more comfortable than otherwise would be the case. Where the environment is not at the cool/eco end of the dial (less than or equal to a lower threshold, e.g. 1.5 or under), preheating is allowed if useful.
The energy saving module 250 determines if a full setback is required in step 640. If the environment is dark and it is unlikely the user is present or awake or precooling is required, the full setback 690 is set as the setback. If not, eco setback 680 is set as the setback. Eco setback may be 3 °C. Full setback 690 may be 6 °C.
The Boolean expression for determining if a full setback is required is provided below: allowFULLSetback = isDark AND (precool OR notConfidentlyOccupied) AND notUsuallyActiveThisHour AND notGettingUpOrComingHome AND notIsExtremeComfort allowFULLSetback is a Boolean output to determine whether a full setback is allowed.
isDark is a Boolean variable for whether the environment is dark. precool is a Boolean variable for whether precooling should take place and is based on learnt occupancy patterns and is dependent on whether the environment is occupied in the current hour, the next hour and whether the device is in eco mode. notConfidentlyOccupied is a Boolean variable that represents if the environment is not confidently occupied above an occupancy probability threshold. notUsuallyActiveThisHour is a Boolean variable for whether the room is not usually actively occupied in this hour slot. NotGettingUpOrComingHome is a Boolean variable for whether this hour is not a slot in which we expect the user to be getting up or returning to the environment (as indicated by prior user activity, which can be determined by prior occupancy), notIsExtremeComfort is a Boolean variable for indicating that we are not at the extreme comfort end of the dial, i.e. a full setback is not allowed when the user's comfort setting is at or near maximum.
Full setback 690 must be large enough to avoid heating rooms overnight when the user might be asleep. Full setback cannot be set as the setback when the environment is expected to be occupied soon. Full setback 690 may be set as the setback if the environment is dark and if precooling is required, even if there is a low possibility that the environment is actively occupied.
In an example, the above mentioned setbacks can be overridden by external factors. For example, with high relative humidity (over roughly 75% with some hysteresis) in the environment, the setback may not be below 14 °C in order to reduce the risk of condensation. In one embodiment, the setback never allows the temperature of the environment to go below the frost temperature.
The setback, for example, may range from 0 °C, if the environment in which the device is situated is actively occupied, to 6 °C, if it is late at night and a user of the device 100 is not present or is asleep. A maximum setback may be based on the humidity of the environment sensed by a humidity sensor. This maximum setback may be decreased as humidity increases. Setting a maximum setback avoids the temperature of the environment from dropping too low, thereby avoiding condensation of the surrounding moisture in the environment.
In addition to the setback, the device 100 may implement hysteresis within the control loop by only adjusting the radiator valve position when the temperature is not within a certain deadband around the required temperature (as determined by the methods of FIGs. 5 and 6) The device can apply a widened deadband in certain conditions, such as when the environment is dark, to further cut energy use, to reduce radiator valve noise and improve battery 130 life. The widened deadband sets a maximum and minimum temperature that the device 100 will allow the temperature of the environment to drift between without attempting to intervene.
FIG. 7 shows a diagram showing temperature bands of the device 100 controlled by the valve position control module 260.
The valve position control module 260 controls the temperature of the environment by controlling the valve open percentage of the radiator valve 20. The temperature of the environment is categorised into four bands: inner band; normal band; safety limit; and outside safety limit.
If the temperature of the environment is above the safety limit (above the upper temperature limit), the valve position control module 260 fully closes the radiator valve 20. If the temperature of the environment is below the safety limit (below the lower temperature limit), the valve position control module 260 fully opens the radiator valve 20. Due to the variability of the target temperature and the target temperature, depending on the setback and the user's temperature and comfort preferences input on the Ul 190, the safety limit range may vary accordingly.
Instead of setting the temperature to precisely equal the required temperature, the temperature of the environment may instead be set to 0.5 °C above the target temperature and/or setback. For instance, if 20 °C is required, the device will aim for 20.5 °C, so that the range of temperatures for a given temperature (e.g. 20 degres Celsius) is greater than or equal to the given temperature (greater than or equal to 20.0 °C) and less than the given temperature + 1 °C (less than 21 °C). This ensures that the temperature should nominally always be at least the target temperature and/or setback and always within 1 °C above the target temperature and/or setback. This is to meet user's expectations for a given temperature setting (i.e. that it shouldn't be less than the set temperature).
The target temperature may be compared against a filtered temperature. The filtered temperature may be the mean of temperature samples captured over a temperature-measuring period. This is to take into account rapid changes in the temperature of the environment, or at least near the temperature sensor. For example, the temperature sensor 110 may detect a sharp rise in temperature because a slug of hot water has just been admitted to the radiator 40. This may produce a temporary sharp rise in the temperature sensed by the environment, in such situations (e.g. where the temperature changes relative to the mean by more than a predetermined amount over a given period of time), the device 100 stores a filtered temperature (e.g. the mean temperature over a preceding number of temperature measurements, e.g. 16) in the memory 140 (rather than the current temperature) for further calculations related to the temperature of the environment, such as the range of dead bands and the setback.
The target temperature may also be actively filtered to detect a sharp rise in temperature with, or without, calculating the mean of temperature samples captured over a temperature measuring period. When the target temperature is actively filtered, a low pass filter may be used to neglect any sharp rises in temperature above a temperature filter threshold.
The normal band range may be defined within a range around the target temperature that is smaller than the range of the safety limit. In this case, the normal range is 6/16 °C above and below the target temperature. The valve position control module 260 aims to keep the temperature of the environment within the normal band range (within the half normal band ranges) by controlling the valve open percentage of the radiator valve. That is, in general, the radiator valve 20 is opened at least partly when the temperature drops below a lower limit of the normal range and is closed at least partly when the temperature exceeds an upper limit of the normal range. It should be noted that the normal range is made up of upper and lower half normal band ranges (the upper being above the target temperature and the lower being below the target temperature), and that the upper and lower half normal band ranges need not be the same size.
For instance, when applying the setback, the setback may be applied to the lower boundaries of the various ranges (e.g. the inner and normal bands) but not to the upper boundaries (or vice versa). Applying setback only to the lower boundaries allows the temperature to be maintained at a comfortable level if the temperature of the environment is somewhat stable. This maintains user comfort.
An inner band is defined within the normal band, over a lower range than the range of the normal band. In this embodiment, the inner band is between 1/4 °C above and below the target temperature. If the temperature of the environment is within the inner band, the radiator valve 20 position is not moved (for instance, all signals to change the valve open percentage are ignored) In some instances, the valve position control module 260 may adopt a widened deadband, for example when the room is dark or a setback is being applied as a result of the environment being unoccupied. The valve position control module 260 may also adopt the widened deadband when the target temperature is compared against a filtered temperature as a result of a sharp rise in temperature. The widened deadband may increase the half normal band range and inner band range by a certain factor. For example the half normal band range and inner band range may be doubled On this case to 12/16 °C and 1/2 °C respectively). This is to allow for environment conditions or occupancy states where variability of the temperature of the environment is permitted.
The widened deadband avoids unnecessary radiator valve 20 movements which could disturb the user when the user and saves heating energy by allowing the temperature of the environment to fall when a high temperature is not required. If the device 100 detects that the user has interacted with the Ul 190, for example by adjusting the dial, the valve position control module 260 may not adopt a widened deadband as it is desirable to give as rapid and accurate response to the user instruction as possible.
If the temperature of the environment is below the lower range of the half normal band (either default or adapted by the widened deadband) and above the lower range of the safety limit, the temperature of the environment is categorised as well below target.
If the temperature of the environment is above the upper range of the half normal band (either default or adapted by the widened deadband) and below the upper range of the safety limit, the temperature of the environment is categorised as well above target.
The valve position control module may place a temporal constraint on movements of the radiator valve to prevent the valve movement from being reversed too early. For example, a minimum temporal constraint period of 10 minutes may be applied by the valve position control module to not allow any movements of the radiator in the reverse direction from its previous movements. This is to take into account the time it takes for the environment to be heated or cooled following a change in valve position. In addition, this prevents excessive valve movement, reducing the energy use of the device and reducing the noise produced by the device.
The upper range of the safety limit is between the target temperature (Td) and an upper temperature limit. In the present embodiment, this is 7 °C above the target temperature. The lower range is between the target temperature and a lower temperature limit. In the present embodiment, this is 7 °C below the target temperature.
The upper range and lower range of the inner band, half normal band, safety limit and outside safety limit may be relative to the desired temperature instead of the target temperaure, resulting in an asymmetric band. For example, for the safety limit, the upper range of the safety limit may be 7 °C above the desired temperature whilst the lower range safety limit may be 7°C below the target temperature, wherein the desired temperature is the target temperature without the setback. This is applicable to all four bands.
FIG. 8 shows a flow chart for the valve position control module 260 to control the movement of the radiator valve 20.
The device 100 controls the position of the protruding pin from a radiator valve 20 base to control the flow of hot water into the radiator 40, and thus control the temperature of the environment.
The valve position control module 260 allows some degree of proportional control. The valve position control module 260 models the central room temperature rather than a temperature close to the radiator. This provides a model that is more representative of the temperature that the user is experiencing in the environment. The model accounts for the ballistic temperature trajectory of the environment given the thermal capacity of the environment and the radiator. In an example, the model allows for nominal temperature overshoot to take into account the close proximity of the device to the radiator 40 and the delay in the radiator 40 filling up with hot water and heating up the environment.
The valve position control module 260 uses temperature data of the environment and nominal radiator valve 20 position data to thermostatically regulate the temperature of the environment.
Multiple conditions are used to minimise unnecessary radiator valve 20 movements, which may cause discomfort to the user, either through large temperature fluctuations or through excess noise from radiator valve 20 motion, and to reduce battery energy expenditure. For example, movement of the radiator valve 20 may be suppressed when the environment is dark. In another example, described in further detail in relation to FIGS. 9 -11, movement of the radiator valve 20 may be suppressed if the device 100 determines that the boiler is off.
The valve position control module 260 determines if the temperature of the environment is well below target. As discussed above with reference to FIG. 8, the temperature is well below target if it is at least below the bottom limit of the half normal band. If so, the radiator valve 20 is opened fully. If not, the valve position control module 260 determines if the temperature of the environment is well above target.
The temperature is well above target if it is between the upper limit of the safety range and the upper limit of the half normal band (i.e. greater than the half normal band but still within the safety range), wherein the upper limit of the safety range and the upper limit of the half normal band is relative to the target temperature (i.e. the target temperature without a setback). If the temperature of the environment is well above target, the valve position control module 260 closes the radiator valve 20 until no call for heat. No call for heat may be a valve open percentage of less than 50%. It then determines if the temperature of the environment is falling. If so, the valve position control module 260 takes no further action. If the temperature is not falling, then the radiator valve 20 is closed further, at a slower rate than the default rate for closing until the temperature starts falling. It should be noted that if the temperature is above the safety range then the temperature is deemed to be exceedingly above target, and the radiator valve 20 is closed fully, whereas below the upper safety limit, the radiator valve is closed in increments to prevent overshoot.
If the temperature of the environment is not well above target and the not well below target, the valve position control module 260 enters a regulation band. In the regulation band, the valve position control module 260 controls the radiator valve 20 in the half normal band and inner band as described in the description corresponding to FIG. 7. That is, corrections are made when the temperature leaves the inner band but is within the half normal band, and no valve movement is made within the inner band. The valve movements within the half normal band might be in smaller increments than outside of the half normal band.
It should be noted that, in general, the valve position is moved towards the target temperature when the temperature falls outside of the normal or safety ranges; however, movements may be inhibited when temperature measurements indicate that the temperature over time is moving towards the target temperature. For instance, where the temperature falls outside of one of these ranges, the valve position may be adjusted to bring the temperature towards the target temperature unless the temperature is already moving towards the target temperature. In this case, the valve position may be kept the same (the movement may be inhibited) to see whether the temperature moves back within acceptable levels of its own accord. This reduces the number of valve movements required, thereby reducing battery energy expenditure and noise.
FIG. 9 shows a diagram for interactions of the boiler learning module 270 within the device 100 for controlling the radiator valve 20.
The boiler learning module 270 infers when the boiler is not running to avoid redundant radiator valve 20 movements that would waste battery 130 power and produce unnecessary noise.
The boiler learning module 270 uses the temperature of the environment and radiator valve 20 movement history stored in the memory 140 to determine a likely state of the boiler. The boiler learning module 270 samples from a random distribution when determining the current state in order to allow for random exploration that allows the device 100 to adapt to changes of behaviour (e.g. to adapt to seasons and timer changes). The boiler learning module 270 also forgets boiler non-running times over time without the need for repeated reinforcement to further allow the module to adapt to changes in boiler behaviour.
The boiler learning module 270 is particularly useful for a low-cost device that is not networked into other heating control systems, such as the boiler control system, and therefore cannot obtain information about the boiler timings directly from the boiler control system.
Large storage and high processing power is not required to suppress unnecessary radiator valve 20 movement when the boiler is not running. This is particularly advantageous as the device may be low-cost and battery-powered.
Periodically the boiler learning module 270 receives the current temperature of the environment and stores it in memory 140. In one embodiment this occurs every minute, however in other instances the current temperature of the environment may be received and stored according to a different time interval. The current temperature may be received directly from the sensor. The boiler learning module 270 is also notified whenever the radiator valve 20 has moved in any direction. As shall be discussed in more detail below, the boiler learning module 270 keeps a count of how many times the radiator valve 20 is moved within an hour and there has been no sufficient rise in temperature (therefore indicating that the boiler is not active at that time).
The boiler learning module 270 stores in memory 24 slots representing 24 one hour time frames. Therefore, each slot is set as a current slot for a slot duration, wherein the slot duration is an hour. Upon the slot duration elapsing, the next slot is set as the current slot. Each slot stores an integer count value for the number of times the boiler has been determined to be off. For example, if a slot has a counter value of 2, the boiler was determined to be off twice during the hour that the slot represents. The 24 slots do not have to be calibrated to the conventional hours of the day. Instead, the device 100 implements its own internal clock that may be independent of the actual time of day and learns the boiler activation and deactivation times with respect to its own internal clock.
When the device 100 is first activated (e.g. first coupled to the radiator valve), all 24 slots will have count values of 0. As time goes by, the slots will increase their count values if the boiler is determined to be off during their respective hours and decrease their count values if the boiler is determined to be on during their respective hours.
A Pseudo-Random Number Generator (PRNG) is used by the boiler learning module 270. The PRNG is used as a stochastic parameter to stochastically reduce the count values in each slot back to zero over time to ensure that boiler off times will be forgotten over time. Stochastic decay in the count values of each slot avoids any conflicts with the other modules and allows fewer bits to be used in each slot. This also reduces RAM usage of the device 100. Implementing a function for forgetting behaviour over time also allows new behaviour to be learnt.
When the boiler learning module 270 is notified of a radiator valve 20 movement, the current temperature of the environment at the time of the radiator valve 20 movement is recorded and stored in memory 140. If the temperature has risen by at least a boiler temperature change threshold after a boiler temperature change period, the boiler is determined to be on and the count for the current slot is decreased by one. If not, the boiler is determined to be off and the count for the current slot is increased by one. The boiler temperature change threshold may be at least 3/16 degree Celsius. The boiler temperature change period may be 15 minutes. Once one valve movement has been registered, any other valve movement within the boiler temperature change period is ignored.
The maximum count value for a slot may be is defined by the number of boiler temperature change periods within the hour. In the present embodiment, having 15 minute periods over an hour slot, the maximum count value is 7. The count value of a slot will not be decreased if the count value is 0. The count value of a slot will not be increased if the count value is at its maximum On this case 7).
The boiler learning module 270 outputs to the valve position control module 260 a suppression signal representative of the percentage likelihood of the boiler being off over the current slot. A low value suppression signal is used to suppress some movements less likely to be useful, and a higher value to suppress further higher-utility movements. This ensures that the valve position control module 260 can suppress movement when the boiler is expected to be off to ensure that valve movement that would cause no benefit is avoided to avoid excess noise and energy use. By implementing suppression as a percentage, exploration can be encouraged to allow learning and adaption to new behaviours.
In one embodiment, the boiler learning module outputs a decision with regard to whether full suppression is to be implemented (as a Boolean, true or false, signal) and a suppression percentage value that is used when full suppression isn't being utilized. The suppression percentage can be determined through a predefined mapping of the count value to suppression percentage.
Full suppression may mean that all moves are suppressed. Nevertheless, in certain alternative embodiments, full suppression does not necessarily mean that all moves are suppressed, but instead means that, in certain circumstances when the temperature is within an acceptable range (for instance, within the normal band range), all, or at least a large percentage, of moves are suppressed. Outside of these temperature ranges, or where full suppression is "False", the suppression percentage is used to suppress or adjust movements. For instance, a fraction of movements may be suppressed based on the suppression percentage, or multiple movements may be consolidated (e.g. combined into a single, larger movement) where the suppression percentage is higher.
Regardless of the mechanism, the general rule is that the higher the count value, the higher the likelihood of suppression (either through full suppression or through a higher suppression percentage).
With a zero count value for a given slot, the boiler learning module 270 will output a suppression signal to the valve position control module stating that no movements are to be suppressed and will therefore allow any movement of the radiator valve 20. With a high count for a given slot, the boiler learning module 270 will output a suppression signal to the valve position control module 260 indicating a higher likelihood of suppression to stop a movement of the radiator valve 20.
The suppression percentage can be determined through a predefined mapping of the count value to suppression percentage. The valve position control module 260 can use this percentage to limit movements by sampling from the pseudorandom number generator and applying a threshold according to the percentage (e.g. 0.6 threshold for 60% chance, with a random sample in the range 0 to 1). If the random number exceeds the threshold, then the radiator valve 20 is moved, otherwise the movement is suppressed.
It should be noted that the boiler learning module 270 monitors for increases in temperature regardless of whether a movement is an open movement or a close movement. When the radiator valve 20 is opened, an increase in temperature is expected if the boiler is on as a greater amount of hot water will be entering the radiator 40.
Whilst a motion to close the radiator valve 20 would result in less hot water entering the radiator 40, it has been found that close movements are also associated with an increase in temperature when the boiler is active. This is because the close action is only implemented when the temperature is too high. If the boiler is active then the temperature in the environment will continue to rise even after the radiator valve 20 has been closed, as the radiator 40 continues to radiate heat. Conversely, if the boiler is not active when a valve is closed, then a large increase in temperature is not expected, as large increases in temperature are usually associated with radiator 40 heating.
Accordingly, the embodiments described herein monitor for increases in temperature after either a close or an open valve movement and record whether the boiler is active depending on any detected increase in temperature. Whilst the embodiments described herein monitor the number of times the boiler is found to be inactive, alternative embodiments can equally monitor the number of times the boiler is found to be active. In this case, a higher suppression likelihood for a lower count, as a lower count is indicative of the boiler being less likely to be active.
FIG. 10 shows a finite state machine diagram of the boiler learning module 270.
The boiler learning module 270 comprises five states: make decision 280; idle 272; update buckets 278; valve movement 274; and detecting temperature rise 276.
When the boiler learning module 270 is in the idle state 272, the boiler learning module 270 waits for a transition condition to transition into another state.
Whilst in the idle state 272, when the boiler learning module 270 is notified of a radiator valve 20 movement, the boiler learning module 270 transitions into the valve movement state 274. In the valve movement state 274, the boiler learning module 270 receives the current temperature of the environment and transitions into the detecting temperature rise state 276.
In the looking for temperature rise state 276, the boiler learning module 270 detects whether the temperature of the environment has increased by at least the boiler temperature change threshold during the boiler temperature change period. If so, the count value for the current slot is decremented by one unless the count value is zero.
Otherwise, the count value for the current slot is incremented by one unless the count value is already at its maximum permitted value. Subsequent radiator valve 20 movements during the boiler temperature change period are ignored. Once the boiler temperature change period has elapsed, the boiler learning module 270 transitions back to the idle state 272.
Whilst in the idle state 272, when the slot duration for the current slot has elapsed, the next slot is set as the current slot. Note that this wraps around from the last slot back to the first slot in a cycle. When the next slot is set as the current slot, the boiler learning module 270 transitions into the make decision state. The make decision state happens every time the next slot is set as the current slot. Using the count value of the current slot and a random number, the boiler learning module 270 determines if radiator valve 20 movements should be suppressed for the slot duration of the current slot.
FIG. 11 shows a flow chart for the process in the make decision state of the boiler learning module 270.
The suppression percentage is set as the count value (C) multiplied by a multiplier (M). The multiplier may vary according to the desired range of the suppression percentage or the desired range of the random numbers. In alternative embodiments, instead of applying a multiplier (a linear relationship) an alternative mapping function might be applied, provided that the percentage increases with the count value (where the count value represents the likelihood of the boiler being inactive).
The suppression percentage is output by the boiler learning module 270 to instruct the valve position control module 260 to suppress a proportion of valve movements based on the suppression percentage. The valve position control 260 module might suppress the percentage indicated by the suppression percentage, or may suppress another amount, provided that the amount increases with increasing suppression percentage.
Next, the boiler learning module determines whether the counter falls within a predefined range between a minimum constraint value (Cmin) and a maximum constraint value (C.). If not, then the value (V) used for determining whether to apply full suppression is set to a minimum (Win) or maximum value (Vmax) respectively. That is, if the counter value C is less than a minimum constraint value (Cmin) then the minimum value Win is used. If the counter value C is greater than a maximum constraint value (Cmin) then the maximum value Vniin is used. In a particular embodiment, Cmin is 3, Win is zero, C. is 6, V. is 6 and the counter value can range between 0 and 7 The range of the constraint value may be described using the expression below.
< c < cmax The method then generates a first random number (Randi) and determines whether it is greater than the value, V. If so, then suppression is set to True. If not, the suppression is set to False. The first random number may have the same minimum but a larger potential maximum value than the range for V. For instance, Randi may range from 0 to 7, inclusive.
Then the count value is compared to a second random number Rand2. This second random number controls the probability of decaying the counter. The probability of decay can be controlled by changing the potential range of the second random number.
If the second random number is less than the counter, then the counter is not decayed.
If the second random number is greater or equal to the counter, then the counter is decayed. The second random number may be generated to, on average, fully decay the counter over one week. In a particular embodiment, the second random number ranges between 0 and 63, inclusive.
It should be noted that whilst FIG. 11 refers to a suppression percentage, there is no need for this to be a percentage per se. Instead, general embodiments suppress movement based on the size of the count vs the random number. The percentage may be represented by any number over any range (e.g. a value ranging from 0 to 1 or 0 to 100). The value that the random number is compared to may be either a multiplied version of the count, may be a value that is mapped from the count (e.g. from a predefined distribution, function or look-up table) or may be the count itself. The range of the random number may be less than the maximum potential value it is compared to such that there is no scenario where 100% of the movements are inhibited.
While certain arrangements have been described, the arrangements have been presented by way of example only, and are not intended to limit the scope of protection. The inventive concepts described herein may be implemented in a variety of other forms. In addition, various omissions, substitutions and changes to the specific implementations described herein may be made without departing from the scope of protection defined in the following claims.
Further embodiments are provided in accordance with the following further clauses: 1. A device for controlling a radiator valve, wherein the device comprises: a power supply; a coupling portion configured to be coupled to the radiator valve; a motor, powered by the power supply, and configured to actuate the coupling portion to open or close the radiator valve; and a processor that is configured to: output a control signal to instruct the motor to open or close the radiator valve; detect a decrease in a voltage of the power supply as a result of actuation by the motor becoming restricted from attempting to open or close the radiator valve; and determine that the radiator valve is at a limit of mechanical travel based on the decrease in the voltage of the power supply.
2. The device of clause 1 wherein the power supply has a non-negligible internal impedance.
3. The device of any preceding clause wherein the limit is one of an opening limit or a closing limit of the radiator valve.
The device of any preceding clause wherein the motor is a stepper motor.
5. The device of any preceding clause, wherein, in response to the decrease in the voltage of the power supply exceeding a voltage threshold, the processor is configured to determine that the radiator valve is at the limit.
6. The device of any preceding clause, wherein the processor is further configured to: in response to determining that the radiator valve is at a limit of mechanical travel at one or more unexpected points within the range of travel of the radiator valve, increase the voltage threshold; or in response to not determining that the radiator valve is at a limit of mechanical travel after instructing the motor to fully open or fully close, decrease the voltage threshold.
7. The device of clause 6 wherein the processor is configured to determine that the radiator valve is at a limit of mechanical travel at one or more unexpected points within the range of travel of the radiator valve in response to one or more of the following being detected: a limit of mechanical travel being detected within a predefined distance from the valve being fully open; a limit of mechanical travel being detected within a predefined distance from the valve being fully closed; and multiple limits of mechanical travel being detected across a full range of motion either from fully open to fully closed or fully closed to fully open.
8. The device of any preceding clause wherein: the control signal is to instruct the motor to open or close the radiator valve at a first speed; and the processor is further configured to, in response to determining that the radiator valve is at the limit, output a further control signal to stop the motor or to drive the motor at a reduced speed that is less than the first speed.
9. The device of clause 8 wherein: the further control signal is to drive the motor at a reduced speed in response to the control signal being to instruct the motor to fully open or fully close the radiator valve; and the further control signal is to stop the motor in response to the control signal to instruct the motor to partially open or partially close the radiator valve.
10. The device of any preceding clause wherein the processor is configured to: obtain a current temperature measurement indicating a current temperature of an environment; in response to the current temperature being within a first range of a target temperature, maintain a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, control the motor to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; in response to the current temperature falling outside of the first and second ranges but within a third range of the target temperature, the third range being greater than the first and second ranges, control the motor to adjust the current valve position by a second amount that is greater than the first amount, or at a second speed that is greater than the first speed.
11. The device of clause 10 wherein, adjusting the current radiator valve position comprises closing the radiator valve at least partially in response to the current temperature being above the target temperature and opening the radiator valve at least partially in response to the current temperature being below the target temperature.
12. A method to control a radiator valve, wherein the method comprises: coupling a coupling portion to the radiator valve; powering a motor to actuate the coupling portion to open or close the radiator valve by a power supply; outputting, by a processor, a control signal to instruct the motor to open or close the radiator valve; detecting, by the processor, a decrease in a voltage of the power supply as a result of actuation by the motor becoming restricted from attempting to open or close the radiator valve; and determining, by the processor, that the radiator valve is at a limit of mechanical travel based on the decrease in the voltage.
13. A computer implemented method for controlling a radiator valve, wherein the method comprises: determining an occupancy state of an environment in which the radiator valve is situated, wherein the occupancy state indicates whether the environment is occupied or unoccupied, wherein the determination is based on sensor data from a device configured to control the radiator valve; determining a setback, wherein the setback depends on the occupancy state; reducing a target temperature of the environment based on the setback to reduce energy expended for space heating; and outputting a control signal to control the radiator valve to adjust the temperature of the environment to attempt to reach the target temperature.
14. The method of clause 13 wherein the occupancy state of the environment comprises an active occupancy state indicating that the environment is occupied by a person that is awake 15. The method of clause 13 or clause 14 wherein the occupancy state represents a likelihood that the environment is occupied and the setback is determined to be a larger value for a lower likelihood that the environment is occupied.
16. The method of clauses 13-15 wherein: the method further comprises storing the occupancy state in a memory; and the setback is based on an expected future occupancy state based on previous occupancy states stored in the memory.
17. The method of clause 16 wherein: in response to the occupancy state indicating that the environment is currently occupied and the expected future occupancy state indicates that the environment will be occupied at least a predefined period after a present time, the setback is determined to be a first value; in response to the occupancy state indicating that the environment is currently occupied and the expected future occupancy state indicates that the environment will be unoccupied at least the predefined period after the present time, the setback to be a second value that is greater than the first value.
18. The method of clause 16 or clause 17 wherein: in response to the occupancy state indicating that the environment is currently unoccupied and the expected future occupancy state indicates that the environment will be unoccupied at least a predefined period after a present time, the setback is determined to be a third value; in response to the occupancy state indicating that the environment is currently unoccupied and the expected future occupancy state indicates that the environment will be occupied at least the predefined period after the present time, the setback to be a fourth value that is less than the third value.
19. A device for controlling a radiator valve, wherein the device comprises: one or more sensors for sensing an environment in which the radiator valve is situated; and a processor configured to: determine, based on sensor data from the one or more sensors, an occupancy state of the environment, wherein the occupancy state indicates whether the environment is occupied or unoccupied; determine a setback, wherein the setback depends on the occupancy state, reduce a target temperature of the environment based on the setback; and output a control signal to control the radiator valve to adjust the temperature of the environment to attempt to reach the target temperature.
20. A computer implemented method for determining a state of a boiler, wherein the method comprises: monitoring a valve position of a radiator valve that controls a flow rate from the boiler to a radiator; in response to the valve position being changed, obtaining a measurement of a current temperature of the environment when the valve position is changed and a measurement of a later temperature a predefined period after the valve position was changed; determining, in response to the later temperature not being more than a predefined amount greater than the current temperature, that the boiler is likely to be inactive; and determining, in response to the later temperature being more than a predefined amount greater than the current temperature, that the boiler is likely to be active.
21. The method of clause 20 where the method further comprises: storing in memory a determined state indicative of whether the boiler is determined to be likely to be active or likely to be inactive at the time of the change in valve position; determining for a subsequent period of day, a likelihood that the boiler is inactive at that time of day based on, during the equivalent period for previous days, a number of times that the boiler has been determined to be likely to be active or a number of times that the boiled has been determined to be likely to be inactive; and inhibiting one or more valve movements during the subsequent period of day based on the determined likelihood.
22. The method of clause 20 or clause 21 wherein inhibiting one or more valve movements during the subsequent period of day based on the determined likelihood comprises inhibiting a fraction of valve movements over the period, wherein the fraction is based on the determined likelihood.
23. The method of clause 22 wherein inhibiting one or more valve movements during the subsequent period of day comprises, detecting a command to move the valve during the subsequent period, obtaining a random number, determining whether the random number exceeds a threshold determined based on the determined likelihood and in response to the random number being greater than the threshold, inhibiting the command to move the valve during the subsequent period.
24. The method of any of clauses 21-23 further comprising implementing a stochastic decay function to reduce over time the likelihood that the boiler is inactive for the subsequent period over time.
25. The method of clause 24 wherein implementing a stochastic decay function comprises: each time a command to move the valve is detected, determining whether to reduce the likelihood that the boiler is inactive for the subsequent period based on a current value for the likelihood that the boiler is inactive for the subsequent period.
26. The method of clause 25 wherein determining whether to reduce the likelihood that the boiler is inactive for the subsequent period comprises: setting a threshold based on the current value for the likelihood that the boiler is inactive for the subsequent period; obtaining a random number; determining whether the random number exceeds the threshold and, if so, reducing the likelihood that the boiler is inactive for the subsequent period.
27. The method of any of clauses 21-26 wherein a count of a number of times the boiler is determined to be active or inactive is maintained for each hour within a 24 hour cycle.
28. A device for determining a state of a boiler, the device comprising: a temperature sensor; and a processor configured to: monitor a valve position of a radiator valve that controls a flow rate from the boiler to a radiator; in response to the valve position being changed, obtaining a measurement of a current temperature of the environment when the valve position is changed and a measurement of a later temperature a predefined period after the valve position was changed; determining, in response to the later temperature not being more than a predefined amount greater than the current temperature, that the boiler is likely to be inactive; and determining, in response to the later temperature being more than a predefined amount greater than the current temperature, that the boiler is likely to be active.
29. A computer implemented method for detecting artificial light, wherein the method comprises: obtaining a set of light measurements over time, each light measurement being indicative of an intensity of light sensed by a light sensor; calculating, from the set of light measurements, a value indicative of a variability the intensity of the light over a period of time; calculating a confidence level that the light is artificial from the value; determining if the light sensed by the light sensor is artificial light, based on whether the confidence level exceeds a confidence threshold; and determining an increased likelihood of occupancy of an environment in which a radiator valve is situated based on the determination of whether the light sensed by the light sensor is artificial light to control the radiator valve.
30. The method of clause 29 wherein the period of time is less than or equal to 0.1 seconds.
31. The method of clause 29 or clause 30 wherein the value indicative of a variability of the intensity of the light over a period of time is determined based on ten or more light measurements over the period.
32. The method of any of clauses 29-31 wherein the confidence level is determined based on a predetermined function mapping the value indicative of variability of the intensity of the light to confidence that the light is artificial.
33. The method of any of clauses 29-31 wherein the confidence level is determined through reference to a look-up table mapping the value indicative of variability of the intensity of the light to confidence that the light is artificial.
34. The method of any of clauses 29-33 wherein the value indicative of variability of the intensity of the light is: a variance of the intensity of the light over the period of time; or a sum of squared differences of successive light measurements from the set of light measurements over the period of time.
35. The method of any of clauses 29-34 wherein controlling the radiator valve based on the determination of whether the light sensed by the light sensor is artificial light comprises: in response to determining that the light sensed by the light sensor is artificial light, opening the radiator valve at least partially based on the determination; in response to determining that the light sensed by the light sensor is not artificial light, closing the radiator valve at least partially based on the determination.
36. A device for detecting artificial light, wherein the device comprising a processor configured to: obtain a set of light measurements over time, each light measurement being indicative of an intensity of light sensed by a light sensor; calculate a value indicative of a variance of the light signal over a period of time; calculate a confidence level that the light is artificial from the value; determine if the light sensed by the light sensor is artificial light, based on whether the confidence level exceeds a confidence threshold; and control a radiator valve based on the determination of whether the light sensed by the light sensor is artificial light.
37. A device for controlling a radiator valve, wherein the device comprises a processor configured to: obtain a current temperature measurement indicating a current temperature of an environment in which a radiator supplied by the radiator valve is situated; in response to the current temperature being within a first range of a target temperature, maintain a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, control a motor configured to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; 38. The device of clause 37 wherein, adjusting the current radiator valve position comprises closing the radiator valve at least partially in response to the current temperature being above the target temperature and opening the radiator valve at least partially in response to the current temperature being below the target temperature.
39. The device of clause 37 or clause 38 further configured to: obtain a light measurement indicating a current light intensity within the environment; and in response to the current light intensity being less than a threshold light intensity, increase the size of one or both of the first and second ranges; or in response to the current light intensity being greater than or equal to the threshold light intensity, decrease the size of one or both of the first and second ranges.
40. The device of any of clauses 37-39 further configured to: obtain a measure of confidence that the environment is occupied; and in response to the confidence being greater than a threshold confidence, increase the size of one or both of the first and second ranges; or in response to confidence being less than or equal to the threshold confidence, decrease the size of one or both of the first and second ranges.
41. The device of any of clauses 37-40 wherein the processor is further configured to, in response to the current temperature falling above the target temperature, outside of the first range but within the second range, the second range being greater than the first range: control the motor configured to close the radiator valve by the first amount and at the first speed; obtain a subsequent temperature measurement of the temperature of the environment after the radiator valve has been closed; in response to the subsequent temperature measurement indicating that the temperature of the environment has not decreased by more than a given temperature difference, controlling the motor to drive the radiator valve to close the radiator valve by a further amount at a third speed that is less than the first speed.
42. The device of any of clauses 37-40 further comprising, in response to the subsequent temperature measurement indicating that the temperature of the environment has moved towards the target temperature by more than a given temperature difference, inhibiting a valve movement.
43. The device of any of clauses 37-41 wherein the processor is configured to: in response to the radiator valve being closed at least partially, inhibiting any opening of the radiator valve for a predetermined period of time; and in response to the radiator valve being opened at least partially, inhibiting any closing of the radiator valve for a predetermined period of time.
44. A method for controlling a radiator valve, wherein the method comprises: obtaining a current temperature measurement indicating a current temperature of an environment in which a radiator supplied by the radiator valve is situated; in response to the current temperature being within a first range of a target temperature, maintaining a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, controlling a motor configured to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; in response to the current temperature falling outside of the first and second ranges but within a third range of the target temperature, the third range being greater than the first and second ranges, controlling the motor to adjust the current valve position by a second amount that is greater than the first amount, or at a second speed that is greater than the first speed.

Claims (10)

  1. CLAIMS: 1. A device for controlling a radiator valve, wherein the device comprises a processor configured to: obtain a current temperature measurement indicating a current temperature of an environment in which a radiator supplied by the radiator valve is situated; in response to the current temperature being within a first range of a target temperature, maintain a current valve position of the radiator valve; and in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, control a motor configured to drive the radiator valve to adjust the current valve position by a first amount or at a first speed.
  2. 2. The device of claim 1 wherein, adjusting the current radiator valve position comprises closing the radiator valve at least partially in response to the current temperature being above the target temperature and opening the radiator valve at least partially in response to the current temperature being below the target temperature.
  3. 3. The device of claim 1 or claim 2 further configured to: obtain a light measurement indicating a current light intensity within the environment; and in response to the current light intensity being less than a threshold light intensity, increase the size of one or both of the first and second ranges; or in response to the current light intensity being greater than or equal to the threshold light intensity, decrease the size of one or both of the first and second ranges.
  4. 4. The device of any of claims 1-3 further configured to: obtain a measure of confidence that the environment is occupied; and in response to the confidence being greater than a threshold confidence, increase the size of one or both of the first and second ranges; or in response to confidence being less than or equal to the threshold confidence, decrease the size of one or both of the first and second ranges.
  5. 5. The device of any of claims 1-4 wherein the processor is further configured to, in response to the current temperature falling above the target temperature, outside of the first range but within the second range, the second range being greater than the first range: control the motor configured to close the radiator valve by the first amount and at the first speed; obtain a subsequent temperature measurement of the temperature of the environment after the radiator valve has been closed; in response to the subsequent temperature measurement indicating that the temperature of the environment has not decreased by more than a given temperature difference, controlling the motor to drive the radiator valve to close the radiator valve by a further amount at a third speed that is less than the first speed.
  6. 6. The device of any of claims 1-4 further comprising, in response to the subsequent temperature measurement indicating that the temperature of the environment has moved towards the target temperature by more than a given temperature difference, inhibiting a valve movement.
  7. 7. The device of any of claims 1-5 wherein the processor is configured to: in response to the radiator valve being closed at least partially, inhibiting any opening of the radiator valve for a predetermined period of time; and in response to the radiator valve being opened at least partially, inhibiting any closing of the radiator valve for a predetermined period of time.
  8. 8. The device of any preceding claim wherein the device further comprises a temperature sensor for measuring a current temperature of an environment and a motor driver for actuating the movement of the motor.
  9. 9. The device of any preceding claim wherein the processor is further configured to supress a movement of the radiator valve if the device determines that a boiler for heating the radiator is off.
  10. 10. A method for controlling a radiator valve, wherein the method comprises: obtaining a current temperature measurement indicating a current temperature of an environment in which a radiator supplied by the radiator valve is situated; in response to the current temperature being within a first range of a target temperature, maintaining a current valve position of the radiator valve; in response to the current temperature falling outside of the first range but within a second range of the target temperature, the second range being greater than the first range, controlling a motor configured to drive the radiator valve to adjust the current valve position by a first amount or at a first speed; and in response to the current temperature falling outside of the first and second ranges but within a third range of the target temperature, the third range being greater than the first and second ranges, controlling the motor to adjust the current valve position by a second amount that is greater than the first amount, or at a second speed that is greater than the first speed.
GB2208914.8A 2020-05-07 2020-05-07 Automatic, motorised control of a radiator valve Active GB2605102B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB2208914.8A GB2605102B (en) 2020-05-07 2020-05-07 Automatic, motorised control of a radiator valve

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2208914.8A GB2605102B (en) 2020-05-07 2020-05-07 Automatic, motorised control of a radiator valve
GB2006828.4A GB2594749B (en) 2020-05-07 2020-05-07 Radiator thermostatic control

Publications (3)

Publication Number Publication Date
GB202208914D0 GB202208914D0 (en) 2022-08-10
GB2605102A true GB2605102A (en) 2022-09-21
GB2605102B GB2605102B (en) 2023-02-22

Family

ID=83005800

Family Applications (1)

Application Number Title Priority Date Filing Date
GB2208914.8A Active GB2605102B (en) 2020-05-07 2020-05-07 Automatic, motorised control of a radiator valve

Country Status (1)

Country Link
GB (1) GB2605102B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019129800A1 (en) * 2017-12-31 2019-07-04 Vito Nv Smart thermostatic radiator or convector valve for a heating system and control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019129800A1 (en) * 2017-12-31 2019-07-04 Vito Nv Smart thermostatic radiator or convector valve for a heating system and control method

Also Published As

Publication number Publication date
GB2605102B (en) 2023-02-22
GB202208914D0 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
US12013136B2 (en) Apparatus and methods for controlling a ventilation mechanism
CA2885868C (en) Radiant heating controls and methods for an environmental control system
US20170168511A9 (en) Hvac controller configurations that compensate for heating caused by direct sunlight
JP5702027B2 (en) How to allow thermostats and thermostats to enable the absence feature
US7992630B2 (en) System and method for pre-cooling of buildings
US9989266B2 (en) Automatic set point detection for water heaters operating in a demand response
CA2633121C (en) Simplified user interface and graduated response in a programmable baseboard thermostat incorporating an occupancy sensor
US20160313022A1 (en) Smart-home device that self-qualifies for away-state functionality
US20120226388A1 (en) Controllers and Related Methods
WO2007052050A1 (en) Environmental temperature control system
WO2002054165A2 (en) Thermal comfort controller having an integral energy savings estimator
RU2752115C2 (en) Method for regulating the circulation pump with variable speed, as well as the circulation pump
EP3557365B1 (en) Dynamic scanning of remote temperature sensors
US10895509B2 (en) Dynamic scanning of remote temperature sensors
EP2743442B1 (en) Automatic roller blind for roof windows and a method of controlling thereof
WO2021224586A1 (en) Radiator thermostatic control
US20240053044A1 (en) Thermostat for conveying expected thermal responses to users
GB2605102A (en) Radiator thermostatic control
GB2605101A (en) Radiator thermostatic control
GB2508238A (en) Apparatus arranged to control a space heating/cooling system
EP3674620B1 (en) Method and apparatus for processing information
EP3112972B1 (en) Smart-home device that self-qualifies for away-state functionality
CN114877518A (en) Temperature control adjusting device for gas heating water heater
CN114542790A (en) Method for finding a parameter setting of a controller of a heating or cooling system actuator
CN115789956A (en) Method and device for controlling water dispenser