# What is the easiest way to monitor a 120v line via software?

I'm wanting to count how often a water pump turns on, how long it's on for and when it turns off for an extended period of time. My plan was just to monitor the pressure switch, which is at 120v on 1 leg and write the data into a MSSQL database. What's the best way to get this data safely?

-
–  tyblu Jan 23 '11 at 23:50

My plan was just to monitor the pressure switch, which is at 120v on 1 leg

The most common methods would be to use current (I) sensor to detect current flow when the pressure switch is activated (engaged). Such as Hall effect IC sensor, current transformer, or high voltage input Opto-isolator.

What's the best way to get this data safely?

Using a current detection method that also provides circuit isolation from the AC mains to your digital interface. Basic isolation methods include galvanic isolated (no current flow between isolated sides), opto-isolation (optical), and capacitor-coupled isolators.

I believe the most basic, yet low cost and non-invasive method of monitoring would be to use a split-core current transformer such as SCT-013-000 (US) (or UK). As you only are interested in on/off you can use a voltage divide circuit to meet digital logic level thresholds or make use of an ADC if available on the microcontroller assuming you are using one.

The load resistor (R_burden in the voltage divide circuit) value is based upon the current range, which depends on your motor. If the motor is 1 HP (horsepower) 110-120V motor, let's assume it is rated at 750 Watts (replace with actual specs from motor), so the current range is less than 8 Amps, let's round that to 10 Amp. Using the previously suggested current transformer sensor, with a turn ratio of 1:1500, that would be:

10 Amp (rms) * sqrt(2) = 14.142... Amps (peak-peak)

14.142 A / 1500 turn ratio = 0.0094 A = 9.4mA (secondary coil)

2.5 V / 0.00942.. A = ~ 265 Ohm R_burden so as to provide a mid-point (2.5 V) output at 5 Amp, or full-range (5 V) at 10 Amp for 5 V dc logic level.

Since the power (P = I*V) is 0.01 Watt, a 1/4 Watt resistor would be fine.

From there you should be able to interface a low-level (voltage & current) signal to whatever device you wish to use to send such data to the computer with the (logging) database. Typically a microcontroller with an ADC (analog to digital converter) and a serial, Ethernet, or USB interface would be the "glue" device between the sensor's circuit and the database computer. (IMHO MS-SQL is overkill (and expensive), SQLite would be fine)

If you are not familiar with microcontrollers, I would suggest using one with a friendly high-level easy to user interface, and hobbyist-oriented presentation such as the Arduino or PIC-AXE. They are more expensive than a stand alone or "naked" microcontroller per device or board, but the development environment is more newbie friendlier and for an one-off the one unit cost may be offset by the not having to purchase a SDK, reference documentation, or 3rd-party tools (high level language compilers) for a more traditional device such as the Atmel AVR or Microchip PIC microcontrollers.

-

These pages contain very interesting information on how to sense voltage and current in a non-invasive way. Have a look at it :)

-
Those pages do have good information right now (two months after you posted), but it will be better if you can summarize/quote (use the " button) the relevant parts of those pages. If that link goes dead, your answer is pretty useless as is... –  Kevin Vermeer Mar 19 '11 at 5:01

I'd put a current transformer in the supply to the pump, and monitor the rectified output with a suitable MCU, sending the data with a time stamp to the data base.

-

I'd connect this switch through optocoupler to DCD pin on PC serial port or one of the data pins on the parallel port

-
Interesting. Then you just write an app that listens on that port? Would I need a resistor in serial of the 120v side? –  asp316 Jan 24 '11 at 0:18

mctylr briefly mentions a Hall effect sensor, and that's a good solution. Allegro is a well-known supplier of Hall sensors, like the ACS712.

"Rectified Output. 3.3 V scaling and rectification application for A-to-D converters. Replaces current transformer solutions with simpler ACS circuit. C1 is a function of the load resistance and filtering desired. R1 can be omitted if the full range is desired." (from the datasheet)

In this and this answer I extensively describe how to use this.

-

I know I'm late but for those that follow, the Fairchild HCPL-3700 will directly take AC or DC from 5 to 240 volts and produce a logic output.

-