To obtain an estimate of the ambient temperature, the device measures the flow temperature every 5 minutes and performs a moving average across the last 30 minutes. It then performs the following computation:
Mathblock |
---|
\frac {\text{Ambient Sensor Raw Value}^{2.2}} {\text{Flow Sensor Raw Values Moving Average}^{1.2}} |
Having established an estimate of the ambient temperature, the device then compares this estimate to the ambient temperature requested by the user. If they are the same, or if the ambient temperature is already moving towards the requested temperature, the device does not move the motor. Otherwise, the device applies a Proportional Controller Gain algorithm to compute the motor movement:
Mathblock |
---|
(P * \text{Temperature Difference} * 4) \text{ %} |
The default value of P is 3. It can be modified via the downlink packetIt is recommended to use an external temperature sensor to measure the room temperature, and to send the room temperature to the MLR003 device in FPORT 0x01.
In the following situations, the device will estimate the room temperature:
The device has never received an external sensor temperature
The last communicated external sensor temperatur was “0”
It has been a long time since the device last received communication of an external sensor temperature (see FPORT 0x09 for adjustment of this expiry time)
The device has become disconnected from the Gateway
See FPORT 0x08 for the Temperature Estimation Algorithm, and for adjustment of the algorithm.
To achieve the instructed room temperature, the device applies the PID algorithm.
Mathblock | ||||
---|---|---|---|---|
| ||||
--uriencoded--e = \text%7BSetPoint Temperature%7D - \text%7BAmbient Temperature%7D
|
Mathblock | ||||
---|---|---|---|---|
| ||||
\text{Valve Percent} = K_p * e(t) + K_I * \sum_{}^{} e(t) + K_d * \Big( e(t)-e(t-1) \Big) + \text{Offset Percent} |
See FPORT 0x07 for adjustment of the PID coefficients and Offset Percent.
The device considers moving the motor every 5 minutes.