Dumb thermostat to Arduino

Heating unit (existing) is controlled by a dumb thermostat (existing) - set temperature, send on/off, no other smart functions.
Using a simple voltmeter, I was able to gather that the thermostat is sending an on/off 18V DC signal to the unit. Main power in my country is 220V (I found from my research that some thermostats work at 24V).
18V = temperature is OK, no heating needed
0V (or thereabouts) = temperature is too low, start heating
Now, I want to use this existing setup in order to control some other devices (this part is OK).
So, I thought to use this Voltage Sensor Module and that base script:

Also check attached image.
Is this OK, has anyone tried this?!
Thank you.

1 Like

Is that 18V AC or DC? The Arduino can be damaged by the negative-half of an AC cycle, so if it's AC you might need a diode. (A diode and capacitor can give you "smooth" DC).

That "voltage sensor" looks like a Voltage Divider (2 resistors).

There are Over-Voltage Protection Circuits that can protect against over-voltage and/or negative voltages. (You can increase the current-limiting resistor to 1K or more.)

Alternatively, you could use a relay with an 18V coil. (A relay is an electrically-operated and electrically-isolated switch.)

1 Like

Check your system, I would be surprised if it is not 24VAC sourced by maybe a 40VA transformer. Using the wrong interface will probably turn it on and get the place very warm or possibly destroying your Arduino. Set your meter on AC and see if you get about 23 - 26 volts.

2 Likes

A much better choice would be an optoisolator (optocoupler).

Get an AC input module, which you can use either on DC or AC, and don't forget to use the appropriate current limiting resistor for the input, and a pullup for the output.

A DC module like this one will work on AC, if you add a diode across the LED input.

1 Like

Dumb thermostat is usually just an ON/OFF switch (in older thermostats a mercury switch), and often a small resistor to heat the thermostat itself, so that it turns off slightly before the room reaches the desired temperature (referred to as a heat anticipator). Thermostat is usually connected to a relay so that the coil is energized when the thermostat switch closes.

1 Like

As far as I know, the voltmeter was set to DC.
It showed 18 and -18 V (when reversing the the leads on the 2 wires).
Relay was our second option, but voltage sensor seemed more elegant to me.

The optocoupler option came up during my research.
We already ordered the voltage sensoer, let's see how that works out.

So why are you showing 3 wires?

The guys measured some more, after I left.
I looks like there are 3 signal wires: on, ground, off
But we actually need just 2, only one signal is enough - I think.
Of course, more testing will follow.
The Voltage Sensor should arrive tomorrow, maybe testing over the weekend.

See if this helps;

Common thermostat wiring reference:
R = 24V power
W = Call for heat (fan on)
Y = Call for cool (fan on)
G = Call for fan only
C = Common for powering thermostat
Connecting R to any of the other terminals is how the thermostat makes the command to the furnace.

This one has 5 wires:

  • first 2 = 220 V
  • +18V, ground, -18V - going to the heating unit - as far as we measured.

Post the brand name, full, exact part number and a picture of that thermostat. 220V to a thermostat don't sound right.

It's a wireless Conter or something very similar - Termostat de ambient fara fir CONTER CT3W
The receiver plugs in directly to wall socket, and has another 3 wires that go to the heating unit.
And indeed, it's 24V, but that is pretty much irrelevant:

  • Switching voltage: 24V DC / 250V AC
    We will take more measurements, of course.

I see now, it's a plug-in controller for portable electric space heaters up to 1900 Watts, your scheme should work, just be careful with voltage (<= 5) and polarity (+ / -).
NOTE: connect the +5V wire to a digital input pin(2 ~ 19), not analog (A0 ~ A7), it's an ON / OFF signal.

Thanks for your input.
Like I said, we'll do proper testing, polarity, voltages, pins.
Right now we have (and will use) a flame sensor: Arduino Modules - Flame Sensor | Arduino Project Hub
I see now it has both analog and digital output pins, but we have connected the analog pin to the digital input pin and it sort of worked (lots of zeros and ones, but manageable).
We'll be more careful nex time.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.