Hacker News new | ask | show | jobs
by amluto 1118 days ago
I think this works for discharge, possibly with some extra cleverness needed if the batteries are at different SoCs. But I’m not sure how it could handle being tied to the grid intelligently or how charging could be managed without some additional controls.

Also, can a pure frequency-based scheme handle the case where a whole bunch of inverters are in parallel and a load that’s much larger than any one of them can handle individually starts up?

2 comments

> handle the case where a whole bunch of inverters are in parallel and a load that’s much larger than any one of them can handle individually

Yes, but with caveats... The grid will startup, smoothly (ie. gradually), but during startup every inverter will be at its maximum configured load (with the maximum load config ramped during startup). When the maximum load is hit, the frequency sits at the minimum design frequency (59.9 Hz in this case), and voltage drops instead.

So your large device will see a sine wave at 59.9 Hz that starts at zero volts, and increases in amplitude to 230 volts gradually over many seconds, and as soon as it hits 230 volts, the frequency will almost immediately become 60 Hz.

For large motors, thats a problem. Large motors typically don't like line frequency at a reduced voltage - they can end up not having enough torque to turn, and will just rapidly heat up. They would do better without the gradual startup ramp - but that startup ramp is necessary to ensure the inverters stay in sync.

In reality, this scheme works for AC type motors rated up to about 30% of the capacity of the inverter set, or up to 100% as long as another motor is already running on the same grid.

> extra cleverness needed if the batteries are at different SoCs

The scheme as presented keeps the inverters under equal fraction load, but does not guarantee the batteries end up at equal state of charge. The formula can easily be modified to over time achieve this too:

X = 60 + (fraction load of inverter)*0.1 + per_battery_factor

The per_battery_factor would be set based on the batteries state of charge and/or any user instructions from buttons to charge or discharge a specific battery.