Hair dryer mystery

Hi OpenEnergy, first post here.

Before I take my DIY energy monitor to production, I’m running many tests in my bench. I’m using 3-different multimeters + market ac volt/ampere meter.

All good, EXCEPT by the two hair dryers that we have, when in ‘half power mode’ (full mode gave consistent readings on both).

All mathematics seems to be okay, so I believe the error is caused by a heavy distortion in the AC wave. The screenshots are from the Arduino ADC pin, with the hairdryer in full and half-power mode.

I tried different phase corrections between 0 and 2, with no significant change in the results.

Maybe someone already experienced it or could advise?

My setup:
Arduino Mega (5V VREF)
22R burden
HWCT004 CT, 50A 50ma 1000 turns
AC 220V 60Hz (Brazil)

Code setup:
ct1.voltage( 3 , 220.0D / 0.803D , 1.0D ); // ADC pin , calibration 270.08 , phase shift
ct1.current( PIN_CT1 , 1000.0D / 22.1D )

Main loop:
ct1.calcVI( 300 , 2000 )

Irms (multimeter)
2.42A = ~482W

Sketch output:
Supply Voltage:213.8
Real Power:354.57
Apparent Power:748.62
Power Factor:0.47
Irms:3.501

That doesn’t surprise me. You should set the phase error compensation on as high powered as possible resistive load (e.g. an electric kettle - nothing with a motor or clever control gear in it) and then leave it alone.

What you appear to have there is a “leading edge dimmer”. A power transistor appears to be switching on at the start of the negative-going half wave and it is allowing power through for only about 20% of the mains cycle. But there is no corresponding power in the positive half-cycle, so your current has a d.c. component. It’s a sometimes forgotten fact that d.c. doesn’t pass through transformers, so your Arduino is measuring the wrong waveform (the transformer has removed the d.c.).

So yes, you are correct:

And there’s nothing you can do about it and remain safe. You must have the current transformer to isolate your Arduino and you from the mains supply. If you don’t have it and there’s a fault in the supply - maybe outside your house - you would be in danger of electrocution and your Arduino and anything connected to it could be damaged or destroyed.

Thanks a lot Robert! It is clear enough to me. I will proceed with final installation + software setup now.