UPS-SIT

от C.wiki
Направо към: навигация, търсене

Мотивация

Опита ни с UPS за последните десетина години е основно с евтините модели, но маркови APC. Емпирично установихме, че след няколко години работа (или в следствие на определен брой токови удари) устройствата изгарят. Ремонта често е невъзможен, скъп, а ремонтираните се развалят отново. Цената на най-евтините APC BACK-UPS, 1500VA е около 650 лв., а ремонта около 100 лв. Към момента консумацията на CART Lab е около 2 kW нормална работа, а вече разполагаме само с три слаби UPS-а. Цената на 5-6 kW APC UPS, заедно с батериите е около 15000 лева, което е непосилен разход към момента. В същото време използването на евтини устройства за критични услуги не е добра идея и затова се насочваме към собствено разработен UPS от Стоянчо. Това се описва в тази статия по-надолу.

Кой е Стоянчо

Физик Стоян Иванов Тенев работи в катедрата по Аналитична и компютърна химия на Химическия факултет, ПУ. Той има опит с разработвани на специализирани електроники за управление на различни области - от бита до тежкотонажното производство. Стоян Тенев участва активно в хардуерната поддръжка на Лабораторията за компютърно подпомагане на обучението и научните изследвания (CART Lab). Сред колегите е известен като Стоянчо, винаги услужлив, по убеждения десен, консерватор.

Задание на проекта

Да се конструира UPS, със следните параметри:

  • време за възстановяване 20 ms
  • UPS OFFLINE
  • 6 kW мощност
  • 12 изхода
  • дисплей 4x20 символа
    • напрежение на акумулаторите
    • отдавана мощност
    • време до изчерпване капацитета на акумулаторите
  • RS232 комуникация, APC протокол

Схеми на UPS-SIT

  • Обща схема
         +-------------------------+
         |                         |
         |                         +--- IN 3 x 220V
 OUT  ---+                         |  
 220 V   |    U P S  -  S I T      | 
         |                         |                    +--------------+
         |                         +------- RS232 ------+ raspberry pi +----- protocol ----- server cloud
         |                         |                    +--------------+
         |                         |
         +------------+------------+
                      |
                      |
            batteries & (optionally) generator
  • Блок схема на UPS-SIT

Изходни стойности

mm Примерна стойност Описание Описание на Стоянчо
01 220 [V] Входно напрежение на фаза 1 Input Voltage 1
02 220 [V] Входно напрежение на фаза 2 Input Voltage 2
03 220 [V] Входно напрежение на фаза 3 Input Voltage 3
04 220 [V] Входно напрежение от дизеловия агрегат Input Voltage Diesel
05 28.8 [V] Напрежение на батериите Battery Voltage
06 300 [A] Разряден ток, само в режим на батерии Battery Current
07 mm05*mm06*0.9 Изходна мощност Battery Output Power
08 33 [°C] Вътрешна температура (в UPS-а) Internal Temperature
09 23 [°C] Стайна температура Room Temperature
10 0027 [min] Време до изчерпване на капацитета до 0% Reserve time
11 27 [V] Напрежение, при което започва зареждане Battery Start Charging Voltage
12 300 [min] Време на зареждане на батериите Charging Time
13 0900 [min] Време на работа на батерии UPS Time

Ще пазим архив/лог във времето на 11, 12 и 13 с цел разбиране на състоянието на батериите. Това е по желание на Стоянчо

Флагове за статус

ss Описание Описание на Стоянчо
01 Пропадане на поне една фаза според обхвата Line Drop
02 Превключен на батерии Forced.UPS
03 Превключен на линия Forced.Line
04 Превключен на дизел Forced.Diesel
05 На изхода не се подава мощност с команда Forced.Disconnect
06 Командата не може да се изпълни CommandReject
07 Батерията се зарежда при капацитет 80-100% Floating
08 Батерията се зарежда при капацитет под 80% Charging
09 UPS реле (0-линия; 1-UPS) RelayUPS
10 Реле за дизела RelayDiesel
11 Едноминутно предупреждение за достигнат лимит Warning Limit 2 min
12 Няма изход поради слаби батерии Output unpowered due to shutdown by low battery
13 Няма изход поради достигане на TimeLimit Output unpowered due to shutdown by TimeLimit
14 Няма изход поради прегряване Output unpowered due to shutdown by OverHeat
15 Аварийно състояние Fault
16 Изходът не е захранен Disconnect

Команди за промяна на default параметри

pp default Обхват Описание Описание на Стоянчо
01 1440 [min] 1 - 1440 Макс. време на работа на батерии Time Limit
02 21.6 [V] 19.2 - 21.6 Крайно напрежение на разряд Battery Limit
03 35 [°C] 30 - 40 Стайна температура на прегряване Temperature Limit
04 ±25 [%] ±20 - ±30 Критерий за превключване The Upper/Lower Transfer Voltage
05 3 [ms] 1, 2, 3 Чуствителност към качеството на линията The Sensitivity to Line Quality
06 UPS-SIT-2014-03-21 - Модел на устройството Model, ID

Команди за управление

cc Описание
01 Превключи на батерии
02 Превключи на линия
03 Превключи на дизел
04 Не захранвай изхода
05 Включи UPS-а, StartUp

UPS протокол

Протокола ще бъде наш, подобен, но не както Modbus ASCII. Описанието и примерите в тази секция са без HEADER, CRC/LRC и END. В последствие могат да се добавят.

Команди за четене

Засега ще четем всички параметри на веднъж. Възможно е да заложим четене на точно определена стойност, статус или параметър.

Четене на стойности

Командата RM00 идва от Read Measurable номер 00 т.е. всички. Примери:

  • Команда: RM00 CR/LF
  • Резултат: 220,220,220,000,288,300,6000,33,23,0027,270,300,0900 CR/LF
  • Команда (Hex): 52 4d 30 30 0d 0a
  • Резултат (Hex): 32 32 30 2c 32 32 30 2c 32 32 30 2c 30 30 30 2c 32 38 38 2c 33 30 30 2c 36 30 30 30 2c 33 33 2c 32 33 2c 30 30 32 37 2c 32 37 30 2c 33 30 30 2c 30 39 30 30 0d 0a

Четене на статус

Командата RS00 идва от Read Status номер 00 т.е. всички. Примери:

  • Команда: RS00 CR/LF
  • Резултат: 0,0,0,0,1,0,0,0,0,0,0,0 CR/LF
  • Команда (Hex): 52 53 30 30 0d 0a
  • Резултат (Hex): 30 2c 30 2c 30 2c 30 2c 31 2c 30 2c 30 2c 30 2c 30 0d 0a

Четене на параметър

Командата RP00 идва от Read Parameter номер 00 т.е. всички. Примери:

  • Команда: RP00 CR/LF
  • Резултат: 1440,216,UPS-SIT-2014-03-21,25,3 CR/LF
  • Команда (Hex): 52 50 30 30 0d 0aCRLF
  • Резултат (Hex): 31 34 34 30 2c 32 31 36 2c 55 50 53 2d 53 49 54 2d 32 30 31 34 2d 30 33 2d 32 31 2c 32 35 2c 33 0d 0a

Команди за запис

Командата WPppVVVV идва от Write Parameter номер pp с четири байтова стойност VVVV. Виж таблицата "Команди за промяна на default параметри" Примери:

  • Команда: WP020216 (промени стойноста на параметър 02 на 216)
  • Резултат: WP020216 (връща командата ако командата е приета или ERR ако не е приета)
  • Команда (Hex): 57 50 30 32 30 32 31 36 0d 0a
  • Резултат (Hex): 57 50 30 32 30 32 31 36 0d 0a

Команди за изпълнение

Командата EXcc идва от EXecute команда номер cc. Виж таблицата "Команди за управление" Примери:

  • Команда: EX01 (изпълни команда 01)
  • Резултат: EX01 (връща командата ако командата е приета или ERR ако не е приета)
  • Команда (Hex): 45 58 30 31 0d 0a
  • Резултат (Hex): 45 58 30 31 0d 0a

Работа

Работата на UPS-SIT може да се опише чрез 7 състояния (режима). Те са групирани в две зони: зона на автономна работа (зелено, след команда StartUp=EX05) и зона на принудителна работа (жълто, след командите EX{1,2,3,4})

Режими:

  • LineAuto: Има напрежение в мрежата
  • BattAuto: Автоматично е превключил на батерийно захранване след пропадане на една или повече фази на мрежата
  • DisconnectLimit: Автоматично не захранва товара при достигане на един от трите лимита, няма и мрежа. Причината да отиде в това състояние може да се разбере след проверка на флаговете “Няма изход поради слаби батерии” (ss12), “Няма изход поради достигане на TimeLimit” (ss13) или “Няма изход поради прегряване” (ss14). Ако тока дойде автоматично преминава в режим LineAuto
  • LineFault: Има проблем с акумулаторите. Не изпълнява команди за управление EXcc, ако бъдат изпратени такива връща отговор REJ и флаг за статус CommandReject=1. Нужен е ремонт на UPS-SIT.
  • LineForced: След команда за управление LineForced
  • BattForced: След команда за управление BattForced. Ако е достигнат някой от лимитите следва едноминутно предупреждение чрез флаг за статус Limit=1. Управляващия компютър трябва да прецени как да се действа в конкретната ситуация. Възможно е компютъра да повиши стойността на достигнатия лимит чрез команда за запис на съответния параметър. След изтичане на минутата UPS-SIT автоматично преминава в режим DisconnectLimit.
  • DisconnectForced: След команда за управление DisconnectForced

Акумулатори

UPS-SIT не включва в себе си батерии, а те са важна част от цялата иновативна система. Колкото повече акумулатори, толкова по-дълго ще захранваме системата. Избираме вариант 12MVR180. Повече информация има тук.

Възможност за агрегат

Имаме две основни опции:

  • да оживим стар дизелов агрегат, с който разполага ПУ, но никога не е ползван:

Финансова част

В таблицата са отбелязани основните колони, пропуснати са тип на артикула и параметрите, както и единичната цена. Основно от съображения за простота.

Артикул Броя Крайна цена Магазин
силов трансформатор 6kW 1 792 Димат-Ганчеви ООД
филтър-кондензатори 3 18 Маркита 1 ООД
транзистор в захранването 6 280.08 Комет Електроникс (Farnell)
радиатор 2 75 Викиват
релета 6 14.4 Комет Електроникс
трансформатор за зареждане 1 39.6 Викиват
кабели - 24 Маркита 1 ООД
изходни клейми 12 43.2 Викиват
платка 1 48 Селектра ПСБ
дисплей 1 31.33 Комет Електроникс
вентилатори 2 40 Викиват
електронни компоненти - 48 Комет Електроникс
Крайна цена на материалите 1453.61 лв.

Труда по дизайн и изработката на UPS-SIT оценяваме на 600 лева. В тази сума влиза и програмирането на софтуера на чиповете на UPS-а. Безплатна ще бъде поддръжката през годините, монтажа, както и добавянето на нови екстри ако е нужно.

Във времето нещата могат да изглеждат така:

  1. В кратък срок осигуряване на материалите необходими за сглобката. Около месец след това трябва да имаме устройството;
  2. В срок до месец/два след това да се финансира труда за изработка.
  3. В срок до една година, година и нещо да заложим закупуване на акумулатори или агрегат в зависимот от решението ни.

Допълнително участие

В проекта вземат участие:

  • Стоян Тенев - създаване на UPS-SIT, монтаж и поддръжка
  • Лъчезар Илиев - raspberry pi - дарение и конфигурация
  • Ведрин Желязков - ценни съвети, оптимизация, know-how
  • Атанас Терзийски - общ работник
  • Светослав Енков - съвети, софтуер, идеи