Hej,
just got my hands on my second emonTx, and as to check that it's doing things correctly I hooked up all 4 CTs in series with our original emonTx, so it looks like this; (note my label CTx is the CTx-1 on the emonTx board)
mains (where the voltage samplers for both TX are placed)-->
emonTx1-CT3-->emonTx2-CT1-->emonTx2-CT2-->emonTx2-CT3-->emonTx2-CT4
-->LOAD (building fan, 2kW).
Each CT has a the 'lead' wrapped 8 times (as normally we will measure devices that draws 1--60W, and yes I ensured that the Load does not draw too much power for the 4.5kW CT).
Now, I'd expect that Tx1-CT3 and Tx2-CT[1--4] would report the same power, but I could accept differences, for instance if the power supplies were connected to two different 'mains'. But with in a Tx the power reported should be the same.. Now what we get is not quite that:
TX1-CT3: 262W
TX2-CT1: 240W
TX2-CT2: 246W
TX2-CT3: 255W
TX2-CT4: 280W
TX1-VRMS: 240V
TX2-VRMS: 238V
Some differences between the CTs would be expected, i.e. TX2-CT1 & 2 are probably ok, TX2-CT3 has slightly too much deviation, and then CT4 at 280W is not even in the correct zip code...
If I messed up the calibration (have not touched it), but as the calibration values are affecting ALL calculations, the same error would be present on all CT, does not explain the difference between the readings.
Any hints on where my though and actions are going wrong? Why 1) are not the power readings from one TX identical to each other, and 2) why does the TX:s differ so much between them?
BR/Patrik
Re: Why different values?
You've never heard of component tolerances, obviously. Read the article about it in Resources > Building Blocks.
Re: Why different values?
If I messed up the calibration (have not touched it)
That makes me think you're assuming they leave the factory calibrated. As far as I know, they all leave the factory with the exact same nominal "calibration".
Re: Why different values?
dBC:
When you stop to think about it, they cannot leave the factory calibrated to anything other than the nominal values. The calibration procedures take account not only of tolerances within the emonTx, but also in the sensors that are connected.
Re: Why different values?
Robert & dBC, thanks for your input.
Just after submitting the question, i looked in to the building blocks/calibration, and saw that the components had a 3-4% tolerance, and after some crude maths, my values are in that range, but then I already submitted the question.
I have been aware of tolerances, but perhaps not really realized how that could affect the results so massively, the 3-4% does not sound that much. So, now I got this 'brand' new clamp multimeter, so I know what to do today.
BR/Patrik
Re: Why different values?
Robert, I was making no judgment as to whether the OEM boxes should leave the factory calibrated or not. I think that's entirely a decision for the OEM crew. You assumed the OP hadn't heard of component tolerances and I merely offered an alternative explanation: he had heard of them, but he assumed that at least the internal ones were already calibrated away at the factory. FWIW, I don't think that would have been an entirely unreasonable assumption on his part. I don't think it's uncommon for vendors to do that. Something along the lines of:
We've calibrated our box to our reference CT which has the following characteristics. The more money you're prepared to spend matching that CT, the better your results will be. Here's a supplier of CTs where you're chances are likely to be good, or alternatively, source your CT from anywhere, and follow the calibration instructions if accuracy is important to you.
Your latest reply seems to be saying if you can't calibrate for everything there's no point calibrating for anything. I'm not sure I agree with that, but again, I think you can mount a good argument for it so each to their own. I think there's something to be said for being able to source a CT (no matter how far out of spec it might be) and getting the exact same reading (right or wrong) regardless of which hole and which emontx you plug it into.
Re: Why different values?
My CTs are about 20% out when compared to utility meters - both supply and solar. I was surprised but then I shrugged. I have not yet done any calibration as at the moment I am just using OEM as indicative. Once I get the 2nd optical pulse counter for the solar PV meter (on order) I will start trying to align things. There is also quite a bit of leakage between the CT inputs which makes it harder.
Re: Why different values?
When you go through the signal path and take into account all the possible factors that affect calibration, I find it truly amazing that we can get away with nominal values and still, for most users, get reasonably close to the utility meter's values (which by definition are correct even though they might be inaccurate!). It's a common assumption that because something is "digital", it is precise. That's not always valid. When that something involves several analogue quantities from various sources, then you're looking at calibration, either at source or after installation, being desirable if not necessary. Historically, OEM was a constructor's website and calibration by the user has always been assumed. Given that the 'shop' transformers (both voltage and current) between them add a possible 6% to the calibration error, the value of calibrating just the electronics is questionable. What that really means is that voltage and current transformers and the emonTx / emonPi would need to be calibrated as a set. As you say, that's a decision for Glyn and Trystan to take, but it would necessarily add significantly to the cost.
Re: Why different values?
I wonder if most users are comparing it to anything. It often seems to only be when they buy a second one and wrap two CTs around the same conductor, that they discover the inaccuracies.
I must confess I had momentarily forgotten about OEM's use of an external VT when I wrote my spiel above about the advantages of calibrating the internals. In the case where you use R-dividers for V and fairly tightly spec'd CTs, calibrating the box is pretty much all you need to do to achieve great results. But given the slop in the OEM V and I sensors, I agree calibrating the internals is probably not worth the effort.
Re: Why different values?
FWIW, I've never seen any significant difference in performance between CTs of the same type. If they have the same number of turns, they are likely to behave in a similar manner. The main source of difference between different channels will be due to the additional components that comprise each of the sensors.
In the boards that I build, I'm now using a 0.5 Watt resistor for the burden in the 'grid' channel. This is to avoid the possibility of overheating at times of high consumption. But for the channel which measures diverted power, I still use a 0.25 Watt component because the dissipation will be lower.
Until I made this change, the powerCal values for both channels were always very similar because both burdens came from the same batch (roll) of resistors,. But now, with the burdens being from different batches of resistors, I'm regularly seeing a couple of percent difference between the channels. This is well within spec' so is not a problem.
In my case, because each of the measurement channels use the same buffered reference, the only 'different' components between each of the current sensors are the CT and the burden. Everything else is common to all of the channels. For the emonTx, with its multiple independent references, there is more scope for differences between the channels.
By swapping the CTs between different ports on the emonTx, any difference between them should become apparent. I doubt whether it will be significant.
Re: Why different values?
dBC:
Just picking up on one point: "In the case where you use R-dividers for V..." That implies a galvanic connection to the mains wiring, and when you do that, isolation is required further down the chain and it becomes a regulatory nightmare. Read RobP's "GIVMon" piece to see the problems involved. That's the reason OEM is staying with type-approved transformers for the inputs that come from the mains supply. The alternative would likely be a user-untouchable sealed unit.
Re: Why different values?
By "R-divider for V", I think dBC may be referring to the pair of resistors which reduces the amplitude of the signal from the secondary of the mains transformer. A single stream of voltage data is used for each of the current sensors in turn, so any variation at this point shouldn't cause any difference between the channels.
Any variation in the other pairs of resistors, which provide mid-rail references for each of the current sensors, should not affect their AC gain. So my earlier explanation as to how inter-channel differences could be explained does not really hold water.
The burden resistor must be the most likely source of inter-channel difference, Swapping the CTs between each of the input ports should provide more insight as to the "difference contribution" between individual CTs and their burdens.
Re: Why different values?
That's the reason OEM is staying with type-approved transformers for the inputs that come from the mains supply.
Yes, I understand the constraints and am not advocating change. I did say momentarily forgot.
I've been living in a world where meters do have a direct connection to V for so long that I'd forgotten how the other half lives. With direct connection to V, and a requirement that any user-supplied CT delivers 333mV to the meter at full-scale deflection (with a specified phase error), then factory calibration of the meter makes sense. The end-user can then decide how much money they want to spend on CT accuracy (and yes, the CT requirement above pushes the burden resistor back out into the CT).
The thought of the end-user bringing their own voltage transformer to the party pretty much blows that out of the water. Given that requirement in OEM-land, I agree that calibrating the internals at the factory doesn't make much sense.
Re: Why different values?
Again, just picking up a point lest anyone reading this gets confused, a CT with an internal burden delivering 0.333 V will only load the emonTx / emonPi input to a little under ⅓ of its maximum range, and an Arduino input to only 20% of its maximum range.
Re: Why different values?
Dear all,
thank's for the information, once I calibrated the systems the results were closer, i.e.
Tx1-1,2,3,4 = 397,385,383,357 W 227V
Tx2-1,2,3,4 = 388,377,389,372 W 227V
Tx3-1,2,3,4 = 400,383,387,369 W 228V
Tx4-1,2,3,4 = 387,391,383,366 W 227V
I would have preferred that they were a bit closer (397 vs 357), however the difference is in the 2.02 vs 2.03A, and I strongly suspect that this is in the resolution range of the system. Could this be confirmed or denied?
The calibration instructions seem to target correct detection of large I (Amp) and I (Volt) values, but if my observations will be in small values, would it be bad to calibrate it towards those values and not the large values?
Second, if you 'overshoot' the 4.5kW input on CT4 (or the CT1-3), (lets say 13kW instead), would you just saturated the ADC or is the a chance of breaking/frying the system?
BR/Patrik
Re: Why different values?
You must remember that, if you're using "standard" components (CT, burden etc), the full scale measurement is 100 A, and 2 A represents 2% of that. The CT is only guaranteed to be "Non-linerity ±3% (10%—120% of rated input current)". Also, you're using a 10-bit ADC to measure the shape of the wave, and below about 2% - because you cannot define where the midpoint zero lies is in relation to ADC steps - that becomes increasingly inaccurate. So if you want to measure down below 2%, you need to alter your front-end, either by changing the burden resistor, the CT or both.
It's not a good idea to overload the input. I haven't done the sums on that particular configuration. It's difficult because I don't have an accurate Spice model of the YHDC CT, and there's disagreement over the degree of protection included within the 328P. So while no-one has reported destroying their processor, I cannot guarantee that it will survive that treatment.
Re: Why different values?
Where can I find 'non-standard' CTs; ie. equivalent with the standard one, but rated at lets say 20A instead of 100A? I found some alternatives [1], but those CTs seems to output voltage not current as the 'standard' seems to do.
And just so I dont get it wrong (again), could I replace a 100ACT with a 10 or 20A CT (with output in mA), and adjust the calibration factors (using your equation as a start), but without changing the resistors on the ardurino? Or would that also be required?
(seems that I'll be looping the wire a couple of times, to force the power to ~50A, given that I'm at 2A with 8 loops... lots of loops... )
BR/Patrik
[1] http://www.aliexpress.com/item/5pcs-High-Quality-10A-SCT-013-010-Non-inv...
Re: Why different values?
There's still disagreement? I thought Atmel cleared that up for us?
http://atmel.force.com/support/articles/en_US/FAQ/I-O-protection-in-XMEGA-devices
Re: Why different values?
You could use a 20 A : 50 mA CT - if you can find one. I cannot recollect seeing a split-core one, but I've mentioned a ring-core one many times - I believe Robin Emley uses in his energy diverter either the 20 A version here: http://www.yhdc.com/en/product/425/ or this 20A:10mA one http://eppep.com/?action-viewnews-itemid-140364 from http://www.ebay.co.uk/itm/281436762683?_trksid=p2059210.m2749.l2649&ssPa...
You'll have to change the burden resistor for either of those.
But as far as I know, you already have the alternative you've found in all but name. To the best of our knowledge, all the SCT-013 range are the same beast, with minor changes at final assembly:
The SCT-013-000 has a pair of zener diodes fitted to clamp the output voltage at around 8 V, the remainder have an internal burden resistor fitted instead.
So you most likely need to remove the SMT burden resistor in your emonTx, and fit your own wire-ended resistor instead, using the holes provided. Calculate the value to be the nearest preferred value lower than that which gives you 1.1 V at the maximum current you want to measure. (That 1.1 V is a safe maximum that takes account of supply variations and resistors with 1% tolerance, but does not allow for a crest factor greater than √2. If you have a 'peaky' waveform, you need to reduce the burden value so that the peaks do not clip.)
Re: Why different values?
dBC:
I've never managed to track that page down. On that basis, and if my sums are right, the input will probably be safe with the YHDC SCT-013-000 and the emonTX V3. The CT saturates a little below 100 mA, which means 2.2 V across the burden, or 3.11 V peak assuming an undistorted sine wave. Subtract from that the 1.65 V bias offset and 0.6 V to turn on the protection diode, and you're left with 0.86 V across the 1 kΩ series resistor, implying 0.86 mA into the diode.
(I'll check the waveform in saturation one day!)
Re: Why different values?
You could use a 20 A : 50 mA CT - if you can find one. I cannot recollect seeing a split-core one,
Wattcore makes a 25A split-core CT. Output choices available are: 20 mA, 100 mA and 1 Volt.
[Thanks Bill - another to add to my crib list. We must write a page about these. (RW)]
Re: Why different values?
Robert, why do you subtract the 1.65V bias? Doesn't the 3.11V peak sit on top of the 1.65V?
Re: Why different values?
"Robert, why do you subtract the 1.65V bias? Doesn't the 3.11V peak sit on top of the 1.65V?"
Exactly, 0 V as far as the diode conducting is concerned is +1.65 V (or -1.65 V) with respect to the CT's 0 V.
Re: Why different values?
"There's still disagreement? I thought Atmel cleared that up for us?
http://atmel.force.com/support/articles/en_US/FAQ/I-O-protection-in-XMEG...
I interpret this as, when the input is too big the diode cuts the input (protecting) the internals, and once the input is below the limit, the diode removes the cut, and the signal flows 'through'?
If so, nice, now the sampled signals should just indicate this somehow...
/p
Re: Why different values?
Well, detecting it's happening is easy enough. If you ever get 1023 or 0 back from an ADC conversion, you know it's clipping. I guess you could use that to drive an emoncms LED RED. I do something similar with my 4-20mA current loop inputs, driving an emoncms LED black, green or red depending on whether the reading is below 4mA, in-spec, or above 20mA.
Re: Why different values?
If you overdrive the input hard enough, you might NOT detect it happening. Or any other signal, ever, again!
Re: Why different values?
I've built many Atmega 328 systems where the grid sensor has a working range that is far less than the maximum flow at times of peak consumption. As far as I am aware, none of these processors has ever been damaged through over-loading of the analogue input. I do provide an extra pair of diodes at the CT, one to each of the power rails. However, in the absence of any resistance in the input path, these components may not actually be diverting any current away from the internal protection diodes.
ADC values of 0 and 1023 do not necessarily mean that clipping has occurred, but it's probably best to reduce the signal amplitude so that these limiting values are avoided.
Re: Why different values?
If you overdrive the input hard enough, you might NOT detect it happening. Or any other signal, ever, again!
That sounds like a good argument for Patrik's suggestion of flagging that clipping is occurring. You can't fix what you don't know about. There's nothing like a big RED LED to tell me that someone has put the garden shears through the tank probe cable. Although in that particular case it's totally benign. There's a 60mA current limit on that 15V supply and an op-amp between the shunt and the ADC input. It will happily run for years with a dead-short on that loop as nothing is being over-volted.
However, in the absence of any resistance in the input path, these components may not actually be diverting any current away from the internal protection diodes.
Yes, on the Atmel devices I've tested those internal diodes start conducting very early... barely over 0.5V, so your diodes probably won't see much action until the internal ones have failed.
ADC values of 0 and 1023 do not necessarily mean that clipping has occurred
True, although when measuring an AC signal I think you'd have to be very lucky to land on limits and not exceed them. If you feel really strongly about that, you could label the LED "Possible Clipping" rather than "Clipping".
Re: Why different values?
If instead of using the CT1-3, but the CT4, where the max power is rated 4500 W. I expect that the resistor on the board scales the input so to the effective Current range is 20~25A vs 100A for CT1-3. Thus enabling the ADC 1023 levels to be equivalent to 25/1023 Amps, vs 100/1023.. Hence, more sensitive, at the cost of 'peak' capability?
On the other hand, the 'variability' due to tolerance would be also emphasized...
Would using the CT4 help here?
Re: Why different values?
Your maths is a little wrong - I think the max current for CT4 is 18.3 A, bearing in mind component tolerances. The nominal maximum is 18.75 A.
You can remove the SMT burden resistor on both the emonPi and the emonTx and replace it with your chosen value of wire-ended component - there are holes provided. That enables you to set the sensitivity of each channel exactly as you choose - but mainly limited by the accuracy of the CT at low currents. The voltage to aim for across the burden resistor is 1.1 V rms, but remember to allow extra 'headroom' (i.e. use a lower voltage) if your current waveform is 'peaky'. My 1.1 V rms includes an allowance for component tolerances (1%), CT tolerance (3%) and voltage regulator tolerance, but not for current waves with a ratio peak/rms greater than √2.
You must of course change the calibration constant for each input that you change, and when calibrated properly, component tolerances are compensated for.