Maker Pro
Maker Pro

Current transformer

bertus

Moderator
Hello,

With the circuit given in post #21, the voltage on the arduino input may go from +9.4 to -4.4 Volts, as the voltage ts clamped at 6.2+0.7 Volts, higher or lower as 2.5 Volts.
This will likely distroy the arduino.
This would likely be an better option:
flippineck_current clamp diodes.png

Bertus
 

hevans1944

Hop - AC8NS
Just found this highly integrated solution, any comments welcome?

http://www.farnell.com/datasheets/2950532.pdf
The datasheet describes an Allegro Hall Effect in-line current sensor that does not require a current transformer, whereas the LEM CKSR series device is a true current-transformer with either one, two, three or four primary turns, as determined by how circuit-board traces are connected when the device is mounted. Neither device requires, nor supports, a separate current transformer.

The LEM CKSR series also uses a flux-gate (a form of saturable reactor) modulated at a high frequency to detect primary current in the core. This allows dynamic negative feedback of the sensed current, thereby offering increased sensitivity and accuracy as well as response extending down in frequency to include DC... according to LEM Technologies, Inc.

I have no reason to doubt the LEM claims, and the interface to an Arduino appears to be as simple as it is for the Allegro device. Given my druthers, and no need for exceptional accuracy or sensitivity, I would favor the Allegro Hall Effect current sensor. The Allegro Hall Effect current sensor was extensively discussed here several years ago and two of them were used in a project and thread that @chopnhack started.

Both the Allegro and the LEM sensors provide a DC output of about 2.5V DC when there is zero current. The output swings toward 5V DC when the current is in one direction, and swings toward ground (common) when the current is in the other direction. Therefore, for a sinusoidal AC current, the output will be a sinusoidal AC signal with a DC offset component. This DC offset is easily subtracted in software after digitization by the Arduino, leaving only the sinusoidal variations to be measured.

This was a big "sticking point" when @chopnhack and I were discussing how to measure the AC current. He was interested in "measuring" a certain AC current when either of several motors used in his woodworking shop was energized. This required two Allegro devices because there was both a 120 VAC as well as a separate 240 VAC motor circuit. If either Allegro was "triggered" it would result in energizing a vacuum sawdust extraction system for the duration of the triggering event, followed by a programmable delay when both Allegro devices were no longer triggered to allow sawdust to clear from the collection hoses.

Problem was, the Allegro devices produced an AC signal with a DC offset, just like the LEM CKSR series. Even with software removing the DC offset, sampling of the AC signal by the Arduino was asynchronous. So, for any given rms current, the AC signal would be sinusoidal with upper and lower limits on the amplitude. Samples would be taken and digitized anywhere between the upper and lower limits, including the zero-crossings of the AC signal.

I don't remember how @chopnhack solved this problem in software, but there are several different approaches that will work. The point is, you will have the same problem whether you use the Allegro or the LEM sensor: the output for any AC input current will be sinusoidal, with a DC offset representing zero current. We could discuss that further here, after you decide which current sensor you want to use. Or, if you insist on using your existing current transformer, continue with this tread, paying particular attention to what @Harald Kapp has posted. If it were my project, I would perform some experiments to see what burden resistor to use and what voltages to expect across the burden resistor. A Variac auto-transformer and an oscilloscope would be handy for making these measurements.
 
Bertus - as far as I can figure it out, if your annotation uses ordinary diodes then whatever is coming out of the coil and burden resistor, is clamped to no more than 0.7V above or below the supply, so the Arduino will never see lower than -0.7V or higher than 5.7V on it's input pin - I *think* I understand?

Regards the AC signal from the CT, I've only gone so far as to look inside the Emon project's library for inspiration

https://github.com/openenergymonitor/EmonLib/blob/master/EmonLib.cpp

Thus far I've just been using their code to try and read the current
 
Last edited:

Harald Kapp

Moderator
Moderator
With the circuit given in post #21, the voltage on the arduino input may go from +9.4 to -4.4 Volts, as the voltage ts clamped at 6.2+0.7 Volts, higher or lower as 2.5 Volts.
@bertus your could be right if not for the reason why I inserted the diodes? These diodes are meant to be directly next to the current sensor and should limit the output voltage in case of e.g. an open circuit of the burden resistor.
The diodes you inserted will limit the voltage to a level suitable for the Arduino, but they'll force the full 16 mA into the power supply.

A two-pronged approach will be the most prudent solution to both issues:
upload_2021-2-25_5-56-5.png
Zener diodes limit overvoltage next to the ct.
1 k series resistor limits current.
Diodes next to Arduino limit overvoltage at the Arduino's input.
 
Top