Tuesday, 21 March 2017

arduino - How to sense 24V AC (Thermostat) with a 5V Microcontroller


I'd like to detect thermostat events (heat, fan, ac etc) with an Arduino. I've done quite a bit of investigation but haven't found a definitive solution. Most projects I see involve controlling the thermostat however I simply want to detect on/off events.



Based on what I've gathered so far, I'd like to use an optocoupler to protect the furnace/thermostat from damage -- protecting the Arduino is important but of lesser concern. I plan to run a separate wire (cat5) from the thermostat to my project so I don't mess with the furnace wiring.


This is the optocoupler I've seen recommended http://www.digikey.com/product-detail/en/HCPL3700/HCPL3700-ND/401373 via this howto https://www.adafruit.com/blog/2012/10/04/ask-an-educator-how-can-i-measure-ac-voltage-with-my-arduino/


But where I'm confused is how to wire it altogether and what values to select for resistance.


Here's the circuit in HCPL3700 datasheet


enter image description here



Answer



The schematic for use of HPCL3700 is provided in the HP Application Note AN 1004, Figure 6:


Schematic


The same section of the application note provides the calculations for determining Rx and thus the values of the two resistors on the input side, Rx/2 each, based on the desired trigger threshold (see Example 2). A graph to directly obtain Rx values is provided in Figure 7.


For monitoring a 24V AC line and with some margin for low voltage conditions, referring to Figure 7 and considering high and low thresholds of around 25 and 15 Volts yields Rx = 20k: use 10 kOhms 2 Watts resistors to be on the safe side, one on each leg i.e. pin 1 and 4.



If you also plan to monitor 110V mains voltages, the values used would be 18k 2 Watts each. Ensure that the resistor used is rated for AC mains operation, not the common or garden variety which is not safe for mains voltage applications.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...