Sensing relay state or current flow

Hi everyone,

I have an application that is currently running good... My arduino UNO controls water pumps, lights and fans in my reef tank... I recently ran with a problem with my relay board... It got severely rusted and stuff was not turning on... I'm adding internet capability to monitor the state of the tank and would like to monitor if the relays are on... Any ideas how I could sense if the relay is ON and better yet if current if flowing?

Some ideas were:

  1. Sensing the LED on the relay state (photo transistor or
  2. current sensor (found a couple on pololu (IC device) and sparkfun (coil)) but they were like 10+ a piece making sensing 8 relays a bit costy...

Any other ideas?? or should I just stick with the ones above?

You could try a Hall-effect magnetic field sensor to detect the magnetic field caused by current flow.

http://playground.arduino.cc/Code/HallEffect

Do you think the magnetic field will be strong enough? I guess for the lights it should work fine, 3A but what about the smaller pumps with less than 1A? What is the minimum current you think will do the trick?

Great idea btw! simple and cheap! Thanks

You can always coil the power wire to get more magnetic flux. Give it a try!

Ok I will! I'll place an order for some hall effect sensors... There seems to be a lot of them, any particular reason to use the A1301? I was also looking at the OPTEK Technology OH090U which has schmitt triggers...

Did I recommend an A1301? I just pointed you at a tutorial. You should ask the tutorial author why they used the A1301 in their tutorial.

My understanding is that you have a choice between a "Hall Effect Sensor" and a "Hall Effect Switch". The "Sensor" gives you a signal proportional to the magnetic field. The "Switch" gives you a simple HIGH/LOW signal based on some threshold.

I would think you would want a "Sensor" instead of a "Switch". That way you could detect when the fans or pumps were drawing more than the usual current: a possible sign of a bad bearing or blockage of some kind.