4

I am looking into a project to measure the temperature inside a water heater and turning it on based on: time, temp, etc.

I am only on the theoretical phase since I am not sure it is possible.

I will probably need a middle device to send the actual current to the heater but I am not sure how to tackle this.

I would like to send a 'true' signal through the Pi based on specific conditions, which in turn will turn on the water heater.

Avio
  • 1,239
  • 2
  • 15
  • 27
raam86
  • 143
  • 1
  • 5

3 Answers3

2

You should use a transistor driven relay, and for the temperature measurement you should use a thermocouple.

You should not connect the relay directly to the PI for two reasons 1: it might not be able to source enough current 2: safety, when you turn the relay off the collapsing magnetic field, see https://electronics.stackexchange.com/questions/51744/how-to-control-4-relays-with-a-not-chip-7404

The thermocouple: as I don't know what accuracy you don't need ill just guess that you don't need capabilities much over 100 degrees Celsius. Also your accuracy wont be crucial so i would say just get the cheapest one, K-type probably.

Gunnish
  • 136
  • 5
1

You will probably have to use a Relay that is powered by the Pi's GPIO to turn on the power to the heater.

This may be something like what you want, although it is a little expensive.

Of course the voltage may be important, and you need to know the amperage of your water heater. Also, mains electricity can be dangerous, so be very careful if working with it, or better, hire somebody who is qualified to.

hifkanotiks
  • 1,901
  • 3
  • 16
  • 28
0

You can use a relay. I'm assuming if you plan to do this, that you know the basic working of what relays are and how they apply to your use. Although i think you may not be able to find a relay that can handle high enough current for a water heater that the RPi can trigger, so you may need a relay to switch a bigger relay. (much like a darlington transistor pair)

hifkanotiks
  • 1,901
  • 3
  • 16
  • 28
Alexander
  • 600
  • 6
  • 18