|12-11-17, 08:17 AM||#1|
Join Date: May 2011
Location: Tortosa, Spain
Thanked 70 Times in 42 Posts
IOT heat pump controller - thermostat
Well my heat pump controller is functioning really well these days, a lovely warm house and although the defrost is still using a fairly basic algorithm it is working. The critical temperature in my case is -10C on the evaporator when the RH is above 65%. I'm still keeping records..
Anyway, what is missing in the whole setup is a thermostat to control the system. I do have a web based interface but there's nothing better than a room thermostat to be able to control what's going on.
I did investigate a lovely thermostat that is designed to control fan coils (take a look at Beca Coils BAC1000). This has an RS422 (theoretically MODBUS compatible) output that should be able to be used to read the thermostat settings and to also set settings. I tried various times to get the RS422 interface working but it was not particularly successful. 95% of the time I was unable to communicate with the thermostat. As far as I could see (analysing the data with a logic probe) everything was correct, speed, data frames etc. but no, it wouldn't respond reliably so I sadly abandoned that route.
So what other options? Well build my own thermostat of course.
I have actually ended up with 2 versions. One is physically hard wired to the controller with an I2C interface using 4 wires, the other is wireless operating via my WiFi network (and a bit more interesting).
I managed to re-use a pcb from a previous project (with a few mods including some shaping of the pcb to get it to fit in the wall box). The main problem with building your own stuff, especially when it is on show, is the case. I've asked Father Christmas for a 3D printer - I live in hope :-) Meanwhile it's use what's available and modify accordingly. Below are photos of a (available in Spain) standard wall mounted fitting. I used a version that has a blanking plate as this has nothing inside and has a flat mounting faceplate I could cut to fit the display.
The hardware is pretty straightforward in reality. I use an SSD1306 OLED display, a PCF8591 analogue to digital converter for the 10K thermistor for temperature measurement and also, using a resistor ladder, for the 4 button keyboard. The board processor is and ESP8266 that has on board WiFi. Power comes from one of the smallest switching PSU's I think I've come across and provides 5V from the 220VAC.
There are other possible ways of obtaining the same results with different hardware such as a BME sensor that could include humidity and using the ESP analogue input for the keyboard or even some of the spare I/O pins. This would enable me to get rid of the PCF8591. Maybe I'll build one that way as well to see how it operates.
If you investigate the IOT world you'll probably find everyone is talking about MQTT to send/receive messages and using a 'hub' for all their 'bits' to communicate. Using MQTT implies running some form of message broker/server/hub on your network or risking using an off site server such as Amazon to host your server (no internet and it all stops communicating ). In my case I didn't want this so opted for using a protocol called UDP to enable the thermostat and controller to communicate across my local network. If you look up my post on the Dew point monitor you'll find I use it there too. The great thing about UDP is you don't need a hub or broker. Ok there are downsides but in this particular application the loss of the odd packet of data isn't important.
Anyway it's all up and working on the bench so now to install it.