Skip to content

Latest commit

 

History

History
184 lines (149 loc) · 12.9 KB

File metadata and controls

184 lines (149 loc) · 12.9 KB

Balanced zero feed-in with the house electricity meter

Hello everybody, I would like to present my own private system and regulation for zero feed-in.

The own consumption in the house is covered first. If there is then still power left, the battery will also be charged.

Or: settings in the timer file set other values.

Structure

scheme

The components

  • 16s LiFePO4 battery

Functionality

The system basically works like an island: PV modules, battery and the Soyosource grid inverter (as a load) are connected to the eSmart3 charge controller.

(For direct consumption recording. Some Victron controllers have no load output. Further grid inverters must be connected directly to the battery because of the 40A limit of the load output of the eSmart3. The regulation also works without an eSmart3 controller and without an inverter as a load.)

The feed-in power of the Soyosource inverters can be regulated via RS485 (Modbus). Measuring clamps are also offered for this, but you cannot balance phases with them. The Raspberry Pi, which runs the Volkszaehler software, is responsible for the regulation. The Volkszähler reads the second-accurate, calibrated! real consumption data by means of a reading head on the house electricity meter. The OBIS data record with the id "1-0:16.7.0" indicates the current balanced consumption. With negative values when feeding, even with counters with a backstop! At least that's what mine (DD3 BZ06) does. Without "16.7.0" from the meter the regulation is not possible! Check this first.

This is where my script zeroinput comes into play, it reads the consumption data from the home electricity meter via the Volkszaehler and calculates the necessary feed-in power to set the meter to zero. In principle, the script would also work without a Volkszähler and could read the reading head itself. Then it would run on much "smaller" hardware, but without monitoring it would be too risky for me. The "unusual way" of redirecting the log file instead of using the Volkszaehler's own methods (database access via network) increases the reliability considerably. Even if the database of the Volkszaehler crashes, the script continues to work uninterrupted! I already had that. If you don't want to lay a cable to the meter, you could use a WIFI read head and transmit the consumption data via the WLAN network.

In practice, the value on the meter fluctuates minimally around 0, by the way, my "smart meter" also shows feed-in without a minus sign as a positive value on its display. (there are A- and A+ with arrows, these show demand / export)

Functions

The script has these functions:

  • Time-controlled battery discharge and inverter power
  • Automatic switching between one and multiple inverters
  • Battery undervoltage protection below 48V
  • Power adjustment battery from 48 V to 51 V, using control curve, possible total power always plus PV
  • Possible export feed-in from 54.5 V, "gives away" energy to the grid
  • Minimum power
  • Maximum power
  • Automatic adjustment or permanent shifting of the zero line towards demand or export
  • Correction of battery cable loss
  • Alarm for increased external (e.g. battery) or internal temperature of the esmart3
  • Ramp mode for high changes in consumption
  • Suppression of the oscillation of the control loop

These values can and should be adjusted to the respective system and battery size! Of course you could also integrate other charge controllers, such as Epever. The battery voltage and PV power are very important values for the control! Any other grid inverter can also be used if it can be regulated. A controllable DC-DC converter on a micro-inverter is also conceivable. The "hard" limit values for undervoltage and overvoltage of the battery must be set both in all charge controller(s) and in all grid inverter(s).

Legal

As far as I can tell, you have to register the system described here in Germany with both the network operator and the market master data register, if you want to comply with all legal regulations. But you can't! Because in plain language: The mentioned Soyosource inverter may not be connected to the power grid in Germany because of the missing certification.

Examples of the regulation

The values for PV (yellow, power of the PV modules) and Soyo P (green, current fed in) are displayed negated! The script supplies the data for PV, Soyo P and battery U (red, battery voltage), whereby Soyo P is calculated. PV and battery U are read by the esmart3 controller and passed on to the Volkszähler for display. This creates a one-second time offset to the curves of the house electricity meter.

This is what a fairly good day with high consumption looks like

much consumption (2 soyosource gti) The daily values were: PV generation 7.7 kWh, feed-in 7.3 kWh, deliberately given away 0 kWh. On this day, the oven, microwave, well pump, split air conditioning, and so on were running. At the end of the day, the battery was already empty. You can see the on and off regulation in the morning and evening along the PV curve. Around 11 the maximum feed. After that and very nice at about 5:30 p.m. the power adjustment for the battery power.

A sunny day with low consumption

little consumption (2 soyosource gti) The daily values were: PV generation 6.1 kWh, feed-in 5.7 kWh, deliberately given away 0.9 kWh. The largest consumer was the split air conditioning. The battery charge lasted far into the night. Here you can see the adjustment in the morning and the night limit in the evening. The dark green area is excess current because the battery - see voltage curve - is full. (Meanwhile, the overfeed in the standard setting is much lower!)

A cloudy day

very cloudy day

As long as the power of the PV does not exceed the consumption, all power goes directly to the grid inverter. The battery is not charging. Essentially, this corresponds to the mode of operation of a module/micro-inverter.

Washing machine in heating phase

60 degrees wash (2 soyosource gti) The data in the table refer to the entire visible section. Here the "Sum L1+L2+L3" (OBIS "1-0:16.7.0") is displayed in black. Above the zero line, it corresponds almost exactly to the red line for the network reference ("1-0:1.8.0"). The part below the zero line is the actual feed into the power grid, i.e. energy that goes "through the meter into the grid". This is not "calculated" by the counter, it would be the second direction in a bidirectional counter. In total, that was 430 Wh paid purchase and 418 Wh "physical purchase". So 12 Wh were fed in without remuneration. The continuous wave from 10:10 comes from the constantly running drum motor, the script follows this increasing consumption. But since the motor also suddenly switches off again, the inertia of the control results in an actual feed-in. The ripples in the green line come from outside the heating phase due to this inertia. During the heating phase, the ripple comes from the power adjustment to the battery voltage. (The washing machine just ran too early, the battery was barely charged.) The drop in performance at around 10:33 a.m. is due to the restart of the MPP tracker in the charge controller. (Green and Yellow) The increase in PV power can also be seen at the moment when the heating phase begins. Conversely, the PV power decreases with slowly increasing battery voltage after the heating phase.

Milk coffee with microwave and induction plate - for advanced users

milk coffee (2 soyosource gti, without ramp mode!) The red areas are the purchased reference. The green areas the own feed. The gray areas are the inertial overfeed, energy fed in for free.

Another history graph with just one Soyosource

single phase (1 soyosource gti, without ramp mode!)

Clocking the battery empty

leertakten (3 soyosource gti) Here you can see how the oven clocks the battery empty. The following components of the regulation interact:

  • Limitation of the discharge current of the battery, here 2kW from the battery + PV power
  • Ramp mode, for large jumps in consumption
  • Battery voltage correction
  • Power adjustment to the battery voltage, the discharge curve of LFP falls rapidly

Fluctuations in a rather quiet phase

schwankungen_mit_zeroshift The black values show the fluctuations in consumption/feed-in. The feed-in - from one inverter - was about 150 W in this section. Purple shows the automatic "raising of the zero line" when the feed-in increases due to changing consumption.

Measurement accuracy

As for the accuracy of the data from the esmart3, the author of the esmart3 library, which I use modified, published a review. According to my observation, the power fed in by the Soyosource Inverter corresponds quite exactly with the requested value. There is also the delayed response time (ramp speed) of 400 W/s. So the Soyo takes 2+ seconds to go from 0 to 100% power. (this is intentional, not a bug) That's why I just controlled the Soyos in parallel to have the shortest possible response time, with more Soyos it is even better, but only one works also!

Efficiency

The output of the script above shows: injected power 643 W, while the esmart shows 692 W load. That gives ~93% efficiency at that moment. Of course, charging and discharging the battery also costs energy. With the example data of the days (above) an overall efficiency can be calculated:

  • PV generation 7.7 kWh, feed-in 7.3 kWh, results in ~ 95%
  • PV generation 6.1 kWh, feed-in 5.7 kWh, results in ~ 93%

The more energy goes through the battery, the worse the efficiency of the entire system.

This is what the Esmart3 configuration software, alternative link looks like. Esmart3 Software

There is something that cannot be set on the device itself: Li-Ion. The other values are of course dependent on the battery used. I have set quite high and low values because the line to the battery is not quite optimal. So far, however, they have not been used because the script operates far away from them! (Update: values reduced!)

The battery settings must also be made on Victron charge controllers! The configuration of the Soyosource Inverter is very clear

Soyosource GTN setup

Planned

  • Integrate other charge controllers. The eSmart4 should be compatible, please give feedback!
  • Integrate other inverters
  • A ready-made Volkszähler image, where you only have to adjust the reading head.

What is still missing?

Have fun rebuilding!

More information is available on the (german) forums: