We fitted Honeywell evohome in our last house and it remains one of our much-loved smart home heating systems. now Automated home reader Kevin smart has created his own diy weather Compensator for evohome…
This project adds weather compensation support to an Evohome OpenTherm Intergas setup by modifying the OpenTherm Gateway photo firmware.
I was frustrated that both the Intergas HRE SB boiler and Evohome controller neglect the outside temperature reported by a connected external sensor when using OpenTherm. The Intergas manual states…
The outside temperature sensor can be used in combination with an on/off room thermostat or an OpenTherm thermostat.
In fact, the boiler only performs weather-compensation adjustment when using an on/off room thermostat. With an OpenTherm thermostat such as Evohome, the thermostat is responsible for any weather compensation. Although the Evohome controller fetches the outside temperature from the Internet it does nothing with it other than displaying it.
The Hardware
I bought an OpenTherm Gateway, Soldering Service, Enclosure and FTDI cord from nodo-shop.nl out of curiosity, to monitor communication between the Evohome R8810A OpenTherm bridge and boiler. It turns out that the bridge does read the outside temperature from the boiler. Also, I learned that the boiler does not report the Max CH water setpoint set by the front panel but overriding this does influence the control setpoint temperatures sent by Evohome.
The Strategy
Basically, the Evohome OpenTherm bridge calculates the control setpoint temperature from the aggregated height percentage demand from all zones, and this is ranged within any received Max CH water setpoint. By default, with my boiler, the Max is 90C despite the maximum CH temperature being set to 60C at the boiler front panel. The boiler will clamp the maximum to the boiler setting though e.g. 60C. For domestic hot Water heating I have a DHW priority setup which makes sure the boiler fires at 70C overriding the control setpoint, so this will be unaffected by weather compensation.
The consideration was which weather compensation method to use:
1. get the OpenTherm Gateway to modify the Max CH water setpoint based on a heat curve calculation, or 2. Cap the control setpoint based on a heat curve calculation
The difference will be that for 2) a % demand will be mapped to a consistent temperature if that temperature is below a weather compensated maximum. but for 1) the % demand will map to a different temperature based on the outside temperature, lowering as the outside temperature increases.
As an experiment I used the Opentherm monitor application to modify the Max CH setpoint. right away the control setpoint was seen to minimize proportionally, but I found that some of the temperatures were likely to be too low for my system, so I selected method 2) Cap the control setpoint.
Now in terms of weather compensation calculation I made a decision to carry out the default heat curve A in the Intergas manual.
รหัส
Since the photo microcontroller does not support division or multiplication, only bit shifting, I simplified this equation Y = 25+(25-X)(80-25)/(25+7) = 67.97-X1.72 to 68-X*1.75 = 68-(X+X/2+X/4), which is only two ideal rotations, two additions and a subtraction.
We need to manage below zero outside temperatures (as two’s complement) adding a little a lot more complexity to the photo assembly code, the first time I had written assembly code in lots of years!
movfw byte3 ;Outside temperature integer
movwf TMax ;TMax = outside
clrc ;Support -ve temperatures by shifting in 1 rather than 0
btfsc byte3,7
setc
rrf TMax,F ;TMax = outside/2
addwf TMax,W ;W=outside+outside/2
clrc ;Support -ve temperatures
btfsc byte3,7
setc
rrf TMax,F ;TMax = outside/4
addwf TMax,W ;W=outside+outside/2+outside/4
sublw 68 ;W=68-(outside+outside/2+outside/4) based on Intergas default heat curve
movwf TMax ;Calculated max setpoint
This code is called around once per minute when the gateway fetches the outside temperature (MessageID27).
Then all there is left to do is to make sure that a control setpoint temperature write does not exceed the calculated max setpoint temperature, by adding some code to the MessageID1 handler, which already supports overriding the control setpoint:
btfss byte1,4 ;WriteData request?
กลับ
clrf controlsetpt1 ;Clear any previous override
clrf controlsetpt2
movfw byte3
subwf TMax,w ;If setpoint is higher than TMax, clamp it at TMax
skpnc ;In photo for sub, C flag is opposite to what I would usually expect!
กลับ
movfw TMax
movwf controlsetpt1
The Results
For efficiency I have set my boiler’s maximum central Heating temperature to 60C, by means of its front panel, so this will be the maximum flow temperature even if a higher setpoint is requested. With this setup, the max flow tอุณหภูมิจะลดลงต่ำกว่า 60C เท่านั้นเมื่ออุณหภูมิภายนอกสูงกว่า 5C แน่นอนว่า Evohome จะลดอุณหภูมิเพิ่มเติมเมื่อความต้องการเปอร์เซ็นต์จากโซนลดลงและหม้อไอน้ำจะปรับเปลี่ยนตาม
ฉันตรวจสอบการดำเนินการในอีกไม่กี่วันข้างหน้าโดยใช้ซอฟต์แวร์ OpenTherm Monitor และ Intergas มีการแกว่งครั้งใหญ่ในอุณหภูมิภายนอกระหว่าง 9C (Max SetPoint 53C) และ -1C (Max SetPoint 72C ซึ่งต่อยอดโดยหม้อไอน้ำที่ 60C) และตัวเลือกดูเหมือนจะทำงานได้ดี การทดสอบที่ใหญ่กว่าจะเป็นเมื่อเรามุ่งหน้าสู่ฤดูใบไม้ผลิและอุณหภูมิเฉลี่ยเพิ่มขึ้น
อุณหภูมิภายนอก -1c, การควบคุมการแทนที่ 72c, หม้อไอน้ำ 60C
อุณหภูมิภายนอก 5C, การควบคุม setpoint แทนที่ 60C
ดังนั้นคุณมีมันสำหรับฉันโครงการวันหยุดคริสต์มาสที่ดีที่สุดสำหรับฉัน!
Kevin สามารถติดต่อได้ที่ – Kevin
1 บทวิจารณ์
Honeywell Evohome การทำงานโซนเดี่ยว
รับ Amazon
แบ่งปันสิ่งนี้:
Facebook
Twitter
สีแดง
LinkedIn
Pinterest3
อีเมล
มากกว่า
whatsapp
พิมพ์
Skype
tumblr
โทรเลข
กระเป๋า
อัปเดตล่าสุดเกี่ยวกับลิงค์ / รูปภาพในเครือ 2021-10-04 / Affiliate จาก API โฆษณาผลิตภัณฑ์ Amazon