Emulate CT clamp output

First of all, thank you jhaine , DrDiettrich , aarg dlloyd and TomGeorge for your replies, I can't express as someone trying to grasp the factors involved here how valuable it is to read your thoughts.

Apologies for not providing enough data @anon57585045 - as an amateur it's hard to gauge to what information to supply without padding out the question with superfluous data.

My goal is to digitally emulate the output of the TOP_90-S10_SP4 CT clamp so that I can arbitrarily control my 2x Growatt Inverter's power output to prevent exporting too much power back to my local grid, whilst allowing them to heat my water tank using a solar diverter prior to limiting the export function.

My lack of electronics knowledge in how to emulate the CT output is what brought me here. There seems to be a lot of posts around the Internet asking similar questions and none of them have come as close as this topic to actually answering the question.

My specific use case: I have 2 inverters and a solar power diverter that heats my hot water tank with excess energy. Because of the multiple inverters and the diverter, the traditional solution of plugging a CT clamp in to a single inverter (which is oriented to measure grid export) does not work. It just shuts down the inverter attached to the clamp and prevents the solar diverter from heating the water.

I already have ~real-time monitoring of all of the necessary data points feeding into a local MQTT server (export power for each inverter, solar diverter state, hot water tank state, grid export power etc). Using this data I have already built a (very rough but functional) software management interface that can calculate when, and by how much I need to limit the export for each inverter dynamically.

My solar installation includes 2 inverters, both are Growatt MIN 3600TL-XE - this is the most detailed data-sheet I could find. The CT clamp data-sheet is here.

My (very amateur) understanding of a CT-Clamp is that it outputs power at a ratio of the actual power flowing through the measured source. E.g if the source power is 90A at 240VAC the CT output would be 90mA (assuming a 1000:1 ratio). And because this is AC, that output mA will be in the form of a sine wave. However, I see that many CT clamps output power in the form of measurable DC voltage too, which would have been far easier to emulate.

If my understanding is correct (big if), my goal is to emulate that mA sine wave using an Arduino and feed it into my inverters CT Clamp port. In my particular case I will never require 90mA, the most I ever export is 7.2kW which, at 240v is 30A, so I need a 0-30mA output as a sine wave from an Arduino or ESP32.

That inverter includes a COM port which should be the easiest way to communicate with an Arduino.

It looks like you are intending to do this. You also have the option of emulating the Eastron SDM230-Modbus smart meter https://www.metermarket.co.uk/assets/product-downloads/Eastron-SDM230-Series-Datasheet.pdf instead of a current transformer.

Do these inverters also work off grid or must a mains supply always be available? A bank of inverters must be synchronised to something.

Hi @DrDiettrich that was the first thing that I attempted before taking the CT-clamp emulation approach. I can connect to the 'export control' modbus and dump the registers but the register map is unknown so I have no idea what data to push to where in order to activate dynamic export control.

These inverters have two modbus interfaces, each has a different register set. The main modbus interface is well understood and I already have a working interface for this outputting all of the real-time inverter stats.

Page 27 of the manual references the RRCR (Radio Ripple Control Receiver) and that's another option that I'm exploring. I looks as though it's a just a case of shorting various pins in order to activate 0,30,60 or 100% of export control.

It's fully grid tied.

I think you're right, putting my efforts into emulating the Eastron or the RRCR interface is going to be easier than emulating a CT clamp.

I honestly thought that emulating a simple device like a CT clamp would be simple, I had no idea how many variables would need to be accounted for!

Thanks for the further information. The key thing we don't know is the configuration of the CT interface in the inverter. The website I referred to above is this: Diverting surplus PV Power, by Robin Emley — OpenEnergyMonitor 0.0.1 documentation
...which gives details of a DIY solar diverter. Somewhere in that there's a schematic showing how the CT input is arranged. In that design he uses a "burden" resistor of 150R (but also says that later information suggests this is too high and 10R would be better). The datasheet for the CT you reference gives a range of values as low as 4R and up to 20R. So the actual input of your inverter is going to be in this range, I wouldn't be surprised if it was 10R. But how do you check?

One of the advantages of a CT is that at DC it's a short circuit, which means that you can play games with how you interface to it. It's quite likely that the two inverter input pins are actually directly connected to the internal burden resistor, so an easy thing to check is just to disconnect any mains or solar panel supplies and measure across the pins on the low ohms range of your DMM. If you see a low resistance the that's great and you will know what the burden resistance is.

The other question is how the input is referenced. An obvious approach for a CT, used in the above DIY design, is to connect one side of the input to a reference voltage which corresponds to the half-scale voltage of the ADC - in this case it's 2.5v. The other approach is just to earth one side and deal with the offset in some other way. If you do measure a low burden resistance in the above test, then the easy way to see what they do is to power up the unit and measure the DC voltage on each pin relative to 0v (ground). If one of them is a finite value like 2.5v they have taken the first route.

The other issue is how the inverter processes the signal. The DIY inverter, and quite probably yours, does this by digitising the signal, sampling it at a suitable frequency to get a stream of digital samples for processing. This allows it to compare the phase of the measured current with the mains to measure power factor. The other approach would be to just rectify the AC signal to get a voltage but this throws away the phase information.

So there's a key question here: does the inverter do any phase angle (power factor) measurement of the current? If so your synthesised sine wave would have to (a) be at exactly the same frequency and (b) at an appropriate phase angle. Both of these would make the job much harder.

So I think there are a couple of questions for you here.

  • Do you need to get the right phase angle? If so I think it makes the synthesis job a lot harder.

  • Can you measure the input characteristics to determine the burden resistance and any biasing?

@jhaine thank you for your detailed explanation, I really appreciate you taking the time.

I'll take the inverter offline tonight and measure the resistance across the appropriate pins to determine if there's a burden resistor.

Something that confused me when I looked at the manual is that the CT pins are the same as the the ones used to connect the RS485 modbus inputs from a smart meter. There is a setting within the Inverters GUI to switch it from OFF / Smart Meter / CT Clamp.

It seems to me that if the input requires a synced phase this is going to be a dead end.

This is somewhat off-topic (I could start a new topic?), on page 27 of the manual it references the Power Reduction Interface Connection.

Whilst not very granular, it looks like a simple interface to emulate as it only requires the shorting of different pins to control the Inverters power output as a percentage (of current generated power?)

Would I be right in thinking that I could emulate this with 4 relays attached to an Arduino?

Hi,

This does not make sense, how does fitting a CT clamp make the inverter shutdown.
Where are you clamping?
Input or output of inverter?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

I'm not sure I understand either. I have a single inverter and an "iBoost" diverter which has an additional CT clamp which has to be fitted closest to the meter output. That clamp feeds a Zigbee transmitter which signals that energy is being fed to the mains and ensures that as much as possible is consumed by the water heater instead. Maybe instead of having two inverters, what you really need is just one and something like the iBoost - there is a DIY one described in the link I posted above. No connection or interaction with the inverter - as long as any power is available from the solar system the iBoost arranges for it to be fed to the water heater (even though this means that often it's only being fed 100W or even less), rather than being fed to the grid. The inverter also charges a local battery, so the priority is solar power stored or used locally; or used to heat water; or finally fed to grid.

Though the iBoost works I am currently on the third one the first two having been replaced under warranty, and I had to fix this one myself already! So I'm considering using the design above next time.

I have what you describe above, including a solar iBoost (which I'm now concerned about :grinning:) plus an additional inverter.

The Sun shines, power is generated (lets say 7000W) and the building consumes around 500W. Next the battery is charged until full, then the solar iBoost kicks in detecting export power and diverting it to heat the water tank.

Now I'm back to generating 7000W again, my building base load consumes 500W and, given that the battery is now full and the water tank is hot, I'm exporting 6500W to the grid (which exceeds my power utility providers limit). On a cloudy day i never reach this point but on particularly Sunny days by 4pm its an issue.

At this point I could run two extremely long CT clamps around to the same location as the iBoost CT clamp location and attach one to each inverter to control the export of power. However i would like to control this process electronically, hence the reason for this thread.

I think that i now have it figured out using the PCI port that i described above.

Don't you just need another battery or something else to consume the power?

The iBoost I think is mainly designed for using excess solar energy, but has an additional function to give timed boost overnight using off-peak power. On solar the power involved is usually quite low, but when operating from the grid it can stay on for long periods at full whack and I don't think it was really properly designed to cope with that. The problem I fixed was a solder joint which had lost all its solder on the pin of a big bridge rectifier. I re-soldered it and the unit sprang back into life. People using it just to control solar seem to have fewer problems.

I have a 10kWh battery already, and it drains nicely in the winter, but in the Summer we only consume 2-3kWh overnight so it re-charges fairly quickly.

The next purchase will be an EV which will fill the gap nicely, but financially that's a little way off.

For now I need to deal with the over production issue on Sunny days - to offer some perspective this is maybe 15-20 days each year.

I think the PCI interface looks promising, I'm not at home right now so I can't try it.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.