Components and supplies
Arduino UNO
Honeywell MT8-230-NC Small Linear Thermoelectric Actuator (230v AC)
Keyes 8 channel 5Volt relay board
Project description
Code
Devices.h
c_cpp
ProjectCV.ino
c_cpp
ProjectCV.ino
c_cpp
Devices.h
c_cpp
Downloadable files
The device mounted
Inspirational
The device mounted
Multiple Controllers
Example of wiring multiple 'cascaded' controllers. One controller per Floor Unit
Multiple Controllers
Example of the Logging
Some real logging of the Serial Monitor to understand the fuctionallity. The timestamps show e.g. a delay of 5 minutes between opening valves and actually starting the floor unit pump.
Example of the Logging
Schematics
Detailed wiring of periferals (Pump, Valves, Thermostats, LED's)
Schematics
Multiple Controllers
Example of wiring multiple 'cascaded' controllers. One controller per Floor Unit
Multiple Controllers
Example of the Logging
Some real logging of the Serial Monitor to understand the fuctionallity. The timestamps show e.g. a delay of 5 minutes between opening valves and actually starting the floor unit pump.
Example of the Logging
The device mounted
Inspirational
The device mounted
Comments
Only logged in users can leave comments
forgipali
2 years ago
Hello, I have one request for you, I downloaded this program but it doesn't work, Mr. Erik, it is no longer on his own page, I can't download the program, you don't have it downloaded by chance, and if you can, we can send it, thank you Forgacs
Anonymous user
2 years ago
Hi Can You please upgrade project and add zone 4 please.
Anonymous user
2 years ago
Hello Erik, I'm trying to get this piece into the UNO, but by compiling I get an error on the device.h part. I get the message the file cannot be found. It's my first project so maybe therefor difficult to find. Can you give me a hand? regards, Mark , Hoor graag van je.
erkr
2 years ago
Hi Mark Somehow the upload to arduino create altered the Arduino file names. If I download them myself, the project doesn't compile either. Even if I renamed back the files. So please copy the zip file from my website: www.kreuwels.com/ProjectCV.zip Don't forget to select the right board type. Succes Eric
Anonymous user
2 years ago
Hi Erkr, Thank you for this very elegant piece of work. I'm not used to C so please forgive my ignorance. I would really like to modify your program to include a second floor and pump. The floor and stat are simple , just a matter of renaming one of the original zones, but including the second pump is more difficult, as there's cooldown and maintenance runs to be included.BTW, the 36 hr run is a great idea, I know from experience that circulating pumps always need a little twist to start, after a while not in use.. Thanks in advance David.
bpanco
2 years ago
Hi Erik I made the system with your project. I have a gas boiler and a manifold with 5 heating circuits with which I heat two houses and a warehouse. For the project, I used five Arduino nano in the main substation and 2 more in the second house for separate floors. Each room has its own thermostat. The heating is with fan coils and each has a motorized valve on it. In the summer, it is also used for cooling, so I fill the system with cold groundwater at a constant temperature of about 16 degrees Celsius, which when heated through the system comes out and serves to irrigate vegetables in the garden. And I can say that my system works without errors, the only thing that sometimes happens to me is that there is no delay in using the temperature in the pipes, but when the room thermostat turns off the boiler, the fan coil turns off immediately, even though I set a 3 minute delay. The system has been working constantly for over a year because it also serves me for cooling and I am really satisfied. When I use it for cooling instead of the boiler it opens the valve at the water outlet of the system. At the inlet I have a control valve that leaks pressure at 2 bar and at the outlet 1 bar. Thanks for a great project!
Anonymous user
2 years ago
Hi Erik, First of all great work! I have a question, how do you make sure the honeywell thermostats keep working? Because as I understand this Honeywell thermostat gets his power from the CV. Thanks already! Greetings, Pim
Anonymous user
2 years ago
On the comment of project not compiling: when copying the code, pasting in recent Arduino IDE (2.something), it did compile. So or the copying instead of downloading, or the recent version did the trick. But on the connection with the thermostat: pls check upfront whether your thermostat is simple on/off, or OpenTherm. As OpenTherm operates at 20V, your Arduino output voltage of 5V will then never be enough to power your thermostat, and probably needs some extra coding (for who likes to take it on: https://create.arduino.cc/projecthub/jiripraus/connect-your-central-heating-to-arduino-7818f5). Let me know when you succeeded :)
mcclosdav
4 years ago
Hi Erkr, Thank you for this very elegant piece of work. I'm not used to C so please forgive my ignorance. I would really like to modify your program to include a second floor and pump. The floor and stat are simple , just a matter of renaming one of the original zones, but including the second pump is more difficult, as there's cooldown and maintenance runs to be included.BTW, the 36 hr run is a great idea, I know from experience that circulating pumps always need a little twist to start, after a while not in use.. Thanks in advance David.
forgipali
2 years ago
Hello, I have one request for you, I downloaded this program but it doesn't work, Mr. Erik, it is no longer on his own page, I can't download the program, you don't have it downloaded by chance, and if you can, we can send it, thank you Forgacs
Robarco
4 years ago
Hi Can You please upgrade project and add zone 4 please.
forgipali
2 years ago
Hello, I have one request for you, I downloaded this program but it doesn't work, Mr. Erik, it is no longer on his own page, I can't download the program, you don't have it downloaded by chance, and if you can, we can send it, thank you Forgacs
bpanco
4 years ago
Hi Erik I made the system with your project. I have a gas boiler and a manifold with 5 heating circuits with which I heat two houses and a warehouse. For the project, I used five Arduino nano in the main substation and 2 more in the second house for separate floors. Each room has its own thermostat. The heating is with fan coils and each has a motorized valve on it. In the summer, it is also used for cooling, so I fill the system with cold groundwater at a constant temperature of about 16 degrees Celsius, which when heated through the system comes out and serves to irrigate vegetables in the garden. And I can say that my system works without errors, the only thing that sometimes happens to me is that there is no delay in using the temperature in the pipes, but when the room thermostat turns off the boiler, the fan coil turns off immediately, even though I set a 3 minute delay. The system has been working constantly for over a year because it also serves me for cooling and I am really satisfied. When I use it for cooling instead of the boiler it opens the valve at the water outlet of the system. At the inlet I have a control valve that leaks pressure at 2 bar and at the outlet 1 bar. Thanks for a great project!
forgipali
2 years ago
Hello, I have one request for you, I downloaded this program but it doesn't work, Mr. Erik, it is no longer on his own page, I can't download the program, you don't have it downloaded by chance, and if you can, we can send it, thank you Forgacs
Anonymous user
5 years ago
Hi Erik, First of all great work! I have a question, how do you make sure the honeywell thermostats keep working? Because as I understand this Honeywell thermostat gets his power from the CV. Thanks already! Greetings, Pim
forgipali
2 years ago
Hello, I have one request for you, I downloaded this program but it doesn't work, Mr. Erik, it is no longer on his own page, I can't download the program, you don't have it downloaded by chance, and if you can, we can send it, thank you Forgacs
Anonymous user
6 years ago
I have been searching a solution like this since so many time, I'm beginner on this but I'm pretty interesting. I think you use a wired thermostat but I need to use wifi. I think I can use some wemos + thermometer + humidity sensors to say to the arduino "Hey I need some heat" And then the system starts. Is this possible? How will be the code? Maybe this will be helpful. Thank you very much and congratulations.
Anonymous user
7 years ago
Hi Erik, Complete n00b here. Its been 20 years or so the last time I coded in C. Im currently working my way through the world of Arduino as I want to do almost exactly the same as you created (although I *do* want it connected over wifi; partially to have a central control and overview and partially because of the lack of wiring...) I'm going through you code and its very insightful. One snack however that I simply don't get is this part: void setCoolDownNeeded() { cooldownCount = ; } I get the feeling that this should be: void setCoolDownNeeded() { cooldownCount = COOLDOWN_TIME ; } is that correct? Else it makes little sense to me. I'm going to dig further so its possible that you'll see more posts from me.
mrood
7 years ago
Hello Erik, I'm trying to get this piece into the UNO, but by compiling I get an error on the device.h part. I get the message the file cannot be found. It's my first project so maybe therefor difficult to find. Can you give me a hand? regards, Mark , Hoor graag van je.
erkr
2 years ago
Hi Mark Somehow the upload to arduino create altered the Arduino file names. If I download them myself, the project doesn't compile either. Even if I renamed back the files. So please copy the zip file from my website: www.kreuwels.com/ProjectCV.zip Don't forget to select the right board type. Succes Eric
erkr
1 Followers
•4 Projects
+1
Work attribution
23
21
Anonymous user
2 years ago
Hi Erik, Complete n00b here. Its been 20 years or so the last time I coded in C. Im currently working my way through the world of Arduino as I want to do almost exactly the same as you created (although I *do* want it connected over wifi; partially to have a central control and overview and partially because of the lack of wiring...) I'm going through you code and its very insightful. One snack however that I simply don't get is this part: void setCoolDownNeeded() { cooldownCount = ; } I get the feeling that this should be: void setCoolDownNeeded() { cooldownCount = COOLDOWN_TIME ; } is that correct? Else it makes little sense to me. I'm going to dig further so its possible that you'll see more posts from me.