This circuit provides different ways to measure the current-voltage phase displacement of a line-powered ac load. The classic approach for sensing an ac load's current requires a transformer or sensing resistor. The transformer may be expensive, though, especially if you don't need to measure the current intensity, but just its phase. And, a sensing resistor doesn't provide line isolation. If the load current ranges from milliamps to amperes, it must be sized to the maximum current. Front-end electronics must be added as well.
The approach here can be used instead to sense an ac load's voltage and current phase. It also offers several ways to measure V-I phase displacement. Current-phase measurement is performed using three diodes instead of a transformer or a sensing resistor (see the figure). This provides line isolation and a wide current range. There's no need for additional components, either.
Basically, the load current flows into diodes D3-D4 and D5. When D3 and D4 are forward-biased, their forward voltage causes optocoupler U2 to turn on. This generates a square wave at output, OI, that corresponds to the load current's zero crossing. Note that the circuit is completely isolated from the line. Moreover, the output signal doesn't depend on current magnitude, even if it ranges from some milliamps to hundreds of amperes. Diodes D3, D4, and D5 must, of course, be sized on the maximum load current.
If jumper JP1 is in position "A," the network D1, D2, R1, and U1 supply a similar signal on output OV, indicating the line voltage's zero crossing. OV and OI can be sent to a start-stop counter, or to a microcontroller to calculate the current-voltage phase shift.
If precise phase measurements aren't required, and you don't need to know the phase sign (i.e., whether the load is capacitive or inductive), the circuit can be operated with JP1 in position "B." This way, output OV supplies a "composite" signal whose duty cycle is proportional to the phase displacement. A 50% duty cycle means the load is purely resistive, while a 75% duty cycle indicates a purely reactive load. A continuous voltage means no load is present.
An analog output, ODC, is also available for easier measurements. The output level is 0.5 × VCC in case of a resistive load, and 0.75 × VCC for a purely reactive load. If no load is present, then ODC = VCC.