Community
OpenEnergyMonitor

OpenEnergyMonitor Community

CT biasing voltage divider vs rectifying for analogue input

Hi All, and very happy new year to all…
I came across openenergymonitor.org while searching for info on CT’s for my next project where I need to build a “Loading Shedding” device to automatically switch out non essential equipment as the total load nears maximum available power to the premises…
While I love the tutorial on “CT sensors - Interfacing with an Arduino”…I am purely curious as to why we do not or cannot use half or full wave rectification as part of the “signal conditioning” instead of “biasing voltage divider” to eliminate the negative half cycle. We can adjust the burden resistor value to compensate for volt drop (junction potential) across the diodes, so what am I missing…or is it necessary for accurate calculations during energy monitoring and reporting…
Thanks in advance
Manie

The point is, we do not get rid of the negative half cycle. We use it. In fact, we use the complete wave, sample it approximately 50 times (in our 50 Hz world - yours might be different) and then if you want rms current, the rectification is done in the maths (the rms value is the square root of the average of the individual values squared), and then averaged. If your want average power, then each current sample and the corresponding voltage sample are multiplied together to give the instantaneous power, then these are averaged.

If you rectify with diodes, you have a big non-linearity to contend with arising from the forward drop. OK, you can largely overcome that by rectifying before the burden, but no amount of adjustment will totally eliminate that. But much more importantly if you have generation on-site, you lose the ability to discover the direction of power flow, which we know from the polarity of the average power when you do it our way.

Take a look at the two designs published here for energy diverters - those do almost exactly what you need, but they use proportional control on the power, you’d need to simplify that to one or more thresholds. (See Resources for a link.)

Thanks, love this site even more…
OK…no more “purely curious” now intrigued and pushed to think and dig deeper… and of course digest.
Must shut down now am returning home (Cape Town, SA) tomorrow and will “dig” from there…

Again big thanks…
Cheers for now

OK …am back home and have been digging…“AC Power Theory - Arduino maths” amongst others…
I now realise that the Tutorial is directed at the whole picture of POWER and not just one part, as current is in my project…monitoring total current to prevent “overload tripping” of the restaurant main Circuit Breaker.
Basically, if I have got it right, I could go with full rectification, sample these positive half cycles n times, find the average, calculate the RMS, compare this value and then react / not react…
But I do prefer the Tutorial biasing method…it’s so much more elegant …but more importantly it is more accurate and and and…
I believe I have got it right but please confirm…

Thanks again

Remember too you don’t necessarily have an accurate sine wave shape for the current, so measuring the peaks and then estimating the rms from that will be… an estimate.

One more reason to do it ‘our’ way - it is tried and tested. I don’t know the numbers, but there has to be many thousands of instances working all over the world.

You need to check what quantity represents the maximum capacity of your supply. I’d be prepared to guess that it is rms current, because that is what governs the heating effect in cables and the tripping point of circuit breakers, so the closer you get to the real rms value of current, the better.

Remember also that if you have heaters that are temperature-controlled, they will be switching on and off frequently and you need to measure often enough to be sure to catch the peaks. On your side are the characteristics of the circuit breakers, again you need to check up on the actual type you have, but they will take a short-term overload up to a certain value without tripping, and if you wish, you could arrange a ‘leaky integrator’ in the software to mimic that behaviour - so you only start to shed load after the overload has been present for a time, the time depending on the severity of the overload.

Once again thanks…it really nice to be able to share your interests and receive advice so quickly.
I live in a Fishing Village an hour outside of Cape Town, SA. Relocated here a year ago, semi retired (age 67) and am the only licensed electrician here let alone being able to share this passion I have with electronics. I taught my self the basics in C and for ide I use Arduino,… previously FlowCode… So thanks for being gentle…
I attached my Data Recorder to the restaurants main incoming supply (1 phase) and resulting graph clearly shows an instance of the Municipal Circuit Breaker tripping after a 6 second delay once the value exceeded 63 Amps rms. The graph also reveals plenty of “start up” current spikes which I assume are the air-cons, fridges etc
I intend monitoring the main incoming supply and progressively shedding the load using SSR’s to cut out non essential loads… Geyser first and if still in danger of tripping then disable cold room compressor control circuit, then the heaters / air-cons etc for “x” period each to limit “stop / start” effect…
Currently reading “Diverting surplus PV Power”, by Robin Emley…ie am having fun…

And again Thank You

So we speak the same language. I was wary of going into too much detail because I didn’t know your background or experience.

Just for information, the firm where I did my apprenticeship made an “economiser”. Similar in function to what you want, but it was tailored towards maximum demand metering and attempted to predict the maximum demand over the next half-hour, and manage non-essential loads accordingly. As I’m about the same age as you, you can probably relate to the technology in use, totally analogue - and the difficulties with analogue integrators working over half an hour.

In all likelihood, you can ignore the inrush spikes so long a they are short-lived, as they won’t carry sufficient energy to materially affect the breaker. But you clearly need to shed load within 6 s if you’re close to or above 63 A.

Our “discrete sample” sketch, measuring for 200 ms every 10 s, was aimed initially at mains or battery operation (hence low power) and reporting by radio (with limits to the spectrum occupancy there too). You’ll obviously not be interested in battery power, so the 10 s sleep between taking samples is totally wrong for you, you’d probably want to measure for something like 0.5 or 1 s, do the logic and repeat. (Just adding that in case you wonder why it’s like that.) If you’re looking at Robin’s sketches, those measure continuously, but they’re a lot more complicated than emonLib. They would be better suited for your purpose, if you can fit your prioritising and switching logic in.

I guess you’re going to be doing this inside a stand-alone Arduino - the main problem I see with an emonTx is the limited number of digital outputs available to you. The emonTx Shield will look after the analogue front-end for you, but of course you’ll need to interface the SSRs. The Arduino running at 5 V will be a big help there, as there are few SSRs that are specified to work at the 3.3 V of the emonTx. Also, beware cheap ‘knock-off’ SSRs. There’s a thread on the old forum about somebody who got caught out by one of those.

Hi there,
Project on hold due to work load…can anyone advise on “beware of cheap SSR knock-off” I can’t seem to find link on the forum. Would like to order a few while I’m tied up with work…
Cheers for now

The bit about bad SSRs starts at https://openenergymonitor.org/emon/node/2044#comment-12106