Each current transformer is connected across a burden resistors, yielding an AC voltage proportional to the AC current. The value of the burden resistor (100 ohms) was selected according to the CR3110-3000 datasheet so as to keep the transformer in its linear region of operation to 50+ amps. The AC voltage is then covered to DC via an interface circuit consisting of a precision half-wave rectifier followed by a low-pass filter w/ 8:1 gain (schematic below). The output is approximately 0-5V DC for 0-50 Amps AC. A 12-bit A/D results in a resolution of ~.01 amps or 1.5W for 120V circuits, 3W for 240V. The line voltage is monitored with a similar interface circuit connected to a 8V AC wall transformer instead of a current transformer/burden resistor. The output of this circuit is approximately 3V DC for 120V AC, with 12-bit resolution of ~.05V.
The DC voltages are fed into the A/D (TLC2543CN) which is interfaced to a 486/66 PC via parallel printer port. I used a PC (vs PIC or other) because I had an old one on hand and could use its P/S to power the interface circuits. The 486/66 is plenty fast enough for the task. A Borland C program running under MS-DOS continuously reads the values from the A/D (approximately 75 times a second). They are further averaged and scaled (to match hand held meter), and then displayed (though normally this PC is "headless" - ran without monitor or keyboard). The C program also calculates the power for each circuit, W = V * A. This is doubled for 240V circuits (more below). Every 5 seconds, the values are transmitted out the COM1 serial port to my home automation PC, a Pentium III running WinXP. Here, a Visual Basic program captures the data from the serial port and stores it in an Access database. The database can then be read from any PC on my home network and used to create graphs/reports. As I collect enough data, I will compare it against the energy use reported on my electric bill.
A GIF schematic of the interface circuits is here .
The C program that runs on the 486/66 PC is here .
Inside of fuse box - current transformers snapped on individual circuits. Leads from current transformers terminate at the blocks on either side. Hard to see are the 100 ohm burden resistors located at the terminal blocks. These were soldered on to the ends of the transformer leads to insure they don't come off. A transformer without a burden resistor across it's leads will induce a large voltage and begin arcing to other things - ask me how I know! Cat 5 cable runs from the terminal blocks to the interface circuitry inside -
The "panel" (piece of particle board) on the left has all the interface circuitry. Cat 5 cables from fuse box terminate at the 3 PC boards running down the center. These are the AC to DC voltage converters (4 per board). AC wall transformer at top/left connects to bottom PC board for AC line voltage monitoring. PC board on right/center of panel holds the A/D converter and connects to LPT1 of 486/66 PC on the right. Terminal block above the A/D PC board is connected to the PC's P/S and provides the power for the interface circuits. On the screen is a display showing raw A/D values, computed current/voltage/watts and some other stuff. Normally, no screen is connected to this PC.
Instead, I placed the current transformer on the leg with the higher draw. Since
the motor & timer are always on whenever the dryer is running, the "first" 4.25
amps are 120V. Any additional current is the heater running @ 240V. So
the power calculation for the dryer circuit is -
if (A< 4.25)
W = V * A; // all current draw is 120V
else W = (V * 4.25)
+ ((V * 2) * (A - 4.25)); // first 4.25A 120V, rest is 240V
On one of the 240V furnace circuits, there is a .17 amp continuous drawn on one leg - most likely the result of the 24V AC thermostat P/S being powered by 120V. This is handled the same as the dryer.
The stove could also have an imbalance in the 240V legs due to the oven light and timer being 120V. However, there is really no way to know when this 120V draw is occurring. So I ignore this for the stove, and assume all current draw is 240V.
All the other 240V appliances appear to be drawing current equally on both legs.
Above is the "instantaneous" power consumption. Updated every 10 seconds. Spans the previous 1.5 hours. Numbers between graphs are minutes (right edge is current). Top graph is total watts (green) and average over previous hour (yellow). Bottom graph is voltage. Values in 120 & 240 frames are watts for individual circuits. Note Amps in lower right is total line (240V).
Above is "instantaneous" power graph for 120V circuits. Square wave in yellow is fridge cycling. Microwave produced the yellow spikes @ 30 & 45. Green spikes are toaster oven. Drop in yellow @ 40 is computer monitor going to sleep. Drop in blue @ 47 is water bed heater turning off. Remaining blue is TV. Pulses in red between 00 to 07 are lights turning on/off.
Above is "instantaneous" power graph for 240V circuits. Yellow is heat pump. Green is water heater (looks to have 2 stage heater). Blue is furnace blower motor.
Above is an averaged total power graph. Top graph is watts averaged over previous hour (green) and averaged over previous day (yellow). Over the last 3 days, the average hour usage has been hovering around 3kWh, or 72kWh per Day. I can also view graphs for average usage on individual 120V, 240V circuits.
Bottom graph is voltage averaged over previous hour. Interesting is the regular fluctuation in line voltage, with peak at 9p and dipping overnight. This snapshot was taken on Sunday, so first two days are weekdays (Thu & Fri) which always seem be mostly flat from 8a-5p. Weekend days seem to usually have extra peeks in the day, as shown above with the peek at 12p on both Sat & Sun.
I've had some inquires on creating graphs in VB. So here's is a VB6 sample - Scroll.zip
Column C, "kWh Billed", is the power usage from the electric bill for the period in cols. A & B. Clicking the button "Calc" in cell A1 runs a VBscript that fills in the rest of the columns from my database. Col. D, "kWh Measured", is my kWh number for the period & Col. E compares it to electric company's. Cols. F-O displays the average Wh per Day for each circuit - allows comparison of usage between circuits and periods.
Looks like my numbers where 20% high, then this dropped to 14% - interesting as I had not changed anything. This error may the result of -
For another residential power monitor, visit http://www.edcheung.com/automa/power.htm
This page has been hit times.
Last updated 12/04/03 Some
of my other projects