Barotrauma

Barotrauma

Not enough ratings
Контролер живлення Battery-flex
By cawa2998
Контролер акумулятора для захисту розподільних коробок і для стабілізації електромережі в цілому
   
Award
Favorite
Favorited
Unfavorite
Теорія
Щоб цей контролер працював, батареї повинні бути завжди підключені до мережі.

Основна ідея цього контролера полягає в тому, щоб певною мірою імітувати реальні конденсатори та стабілізувати потужність у мережі.

Попит/виробництво електроенергії може перебувати в 3 станах:
1. стабільний – різниця між потужністю та навантаженням ~=0
2. голодування – реактор не працює t виробляє достатньо енергії та переналаштовується, щоб виробляти більше енергії
3. Перевиробництво – реактор виробляє занадто багато енергії, і цей надлишок розсіюється через розподільні коробки (вони отримують пошкодження та згоряють).

Батареї є гнучкими, щоб дещо пом’якшити стани 2/3.
стан 2 - у разі голодування батареї зменшують швидкість свого заряджання, щоб забезпечити споживання енергії обладнанням
стан 3 - у разі перевиробництва батареї збільшують швидкість перезаряджання, щоб допомогти накопичити втрачену в іншому випадку енергію (і зберегти сполучні коробки на цьому шляху)


Основна крива заряджання:
Визначте стабільну (1) криву заряджання, залишаючи деякий простір для поглинання можливого перевиробництва електроенергії.
Наприклад,
CR_Main = (90-C%)[0,100] (лінійна швидкість заряду, що зупиняється на 90% C%)

Відхилення:
D = ((PWR - LD)/10,5) [-100, 100] (різниця ділиться на максимальну швидкість заряду акумулятора * кількість акумуляторів /100 плюс деяке "гальмування", щоб уникнути коливань, для 2 акумуляторів із максимальною потужністю 500 кВт за замовчуванням це 1000/100 +,5 опору)

MixIn
CR_Final = (CR_Main + D) [0,100]

значень у [*,* ] є значеннями фіксації кінцевої операції,
напр
((PWR - LD)/10.5) [-100, 100] - означає, що компонент ділення має діапазон [-100, 100]
CR_Final = (CR_Main + D) [0,100] - компонент додавання mixin має діапазон [0] , 100]


PWR - power_value_out (ви можете використовувати значення з найближчої розподільної коробки, але значення з реактора є кращим)
LD - load_value_out (ви можете використовувати значення з найближчої з'єднувальної коробки, але значення з реактора є кращим)
C % - carge_% (% заряду батареї, чи то від однієї батареї, чи то агреговано/нормалізовано від усіх батарей)

Я виявив, що канал turbine_output контролера Bang-Bang дає найбільш чутливу криву реактора, ми можемо використовувати частину PWR - LD із компонентом RegEx, щоб наслідувати таку поведінку
Практика
Основна крива:
CR_Main = (90-C%)[0,100]
Відхиленя + bang-bang турбіна:
PWR-LD
Турбіна bang-bang:
regex expression: -.* (minus-point-asterisk)
Відхилення:
D = ((PWR - LD)/10.5) [-100, 100]
MixIn:
CR_Final = (CR_Main + D) [0,100]
2 Comments
Одяг з Європи 14 Mar, 2024 @ 10:14pm 
Если быть точнее - значение этого параметра у реактора - это конкретно то, что выдает реактор, а вот значение в коробке - это то, что получает коробка. Другими словами - в коробке учитывается энергия, которая идет от аккумуляторов, а в реакторе нет.
Одяг з Європи 14 Mar, 2024 @ 10:12pm 
PWR - power_value_out (ви можете використовувати значення з найближчої розподільної коробки, але значення з реактора є кращим) - энергия, которую показывает коробка и энергия, которую выдает реактор - это 2 совершенно разных значения. А с учетом того, что речь идет об аккумуляторах - критически важно подключить с правильного места.