О калибровке Smart-UPS поколения 3

В принципе, я все это должен был бы узнать лет 15 назад, а потом лет 10 назад, а потом лет 5 назад, но…. чтобы это узнать нужен спец-кабель, а покупать его всякий раз было лениво.

Менее ленивые люди все это уже знают – ну и не читайте, для вас текст ниже будет очевидным.

Симптомы, которые нуждаются в нижеописанном лечении:

  • Есть APC UPS старых версий (Smart, по всей видимости некоторые Back-Pro, но проверить не могу)
  • После смены батарей на новые – время работы от батарей (показываемое самим UPS и программами мониторинга) не восстанавливается в полной мере.
    У меня, к примеру, дошло до того, что 1500VA Smart-UPS с нагрузкой 200 вт показывал, что работать может 10 минут (при том, что емкость батарей ~400 ватт-часов, ну понятно КПД, но не такое же ужасное).
  • При этом реальное время работы от батарей – определяется батареями же, но при использовании софта, который все мягко гасит (Powerchute, apcupsd) эти программы будут ориентироваться на планируемое время работы – и гасить оборудование слишком рано.

Причина проблемы:

  • У UPS есть «регистр 0» в котором (в некоторых попугаях) показана емкость батареи.
  • При перекалибровке – этот регистр (постоянно/постепенно) уменьшается, потому что батарея стареет.
  • И никогда (??) не увеличивается, даже если вы поставили новую батарею и перекалибровали.
  • (кроме того, там есть другие регистры, множители у вольтметров и т.п., но в эти дебри мы забредать не будем)

Соответственно, если вы (как многие, к примеру - я) использовали полудохлую батарею, про которую UPS уже месяц мигал красной лампочкой что нужна замена, то в этом регистре будет очень маленькая константа и бесперебойник будет думать, что время работы маленькое.

Приборы и материалы для лечения:

  1. Нужен кабель, подключаемый к COM-порту UPS (через USB-порт вылечить нельзя), или APC 940-0024C или аналог (распиновка нестандартная: http://saprjkin.narod.ru/UPS_SMART.htm )
    Я купил на Ali вариант с USB-to-COM переходником, поскольку Serial-портов у меня на компьютерах давно нет, а использовать сервер не очень удобно (программы для /полу/автоматической работы все виндовые)
  2. Софт
    1. Apc-fix: в бесплатном варианте умеет вернуть нужную константу в стандартное значение, это >90% всего дела.
    2. Upsdiag: позволяет поменять константу руками.
      На том же сайте есть таблица со стандартными значениям регистра 0 и можно руками и поставить, не используя apc-fix
    3. Терминал (я использовал putty) позволяет попрограммировать это дело вручную (ТАК МОЖНО ЛЕГКО ВСЕ НАФИГ ИСПОРТИТЬ).
      Было интересно, но для данной конкретной задачи терминал не нужен.

Что касается работы через терминал, то списки команд есть на сайте автора upsdiag.

Процедура лечения

Автоматическая подстройка константы

  1. Если использовалось USB-соединение (Powerchute и проч)
    • отключаем USB,
    • выключаем и включаем UPS (если он общался по USB, то на COM он отвечать не будет, во всяком случае у меня было так)
  2. (читатели подсказали)  ВАЖНО: если в UPS стоит плата управления, то ее нужно вынуть.
  3. Подключаем кабель в DB9-порт
  4. Запускаем Apc-FIX, ставим ей в меню Options ‘Smart UPS Battery Const Auto Fix’, выбираем COM-порт в меню программы.
  5. Если UPS найден, оно пишет ‘Connection Estabilshed’, через некоторое время показывает экран с параметрами (настройки UPS, нагрузки, напряжения) и еще через некоторое время начинает увеличивать значение ‘Smart Constants/0’. UPS при этом издает щелчки, так и надо.
    • Увеличивает она его до некоего стандартного значения (например, для моих: SUA1000I – значение 0xBC, SUA1500I – значение 0xA1).

Калибровка после подстройки

Калибровку можно делать Powerchute (подключить обратно USB и откалибровать) но у меня, по непонятным причинам, она далеко не всегда проходит, достаточно часто при остатке заряде ~20% калибровка прерывается, а не завершается (судя по логам UPS).

Ручной метод калибровки, рекомендованный Шнайдером/APC не требует софта:

  • Зарядите UPS в течение суток
  • Подсоедините постоянную нагрузку в 30-40% по его показометру
  • Остановите все программы управления, чтобы ваша нагрузка не отключилась раньше времени.
  • Оторвите сетевое питание
  • И ждите полного разряда и отключения.

После калибровки имеет смысл подключить apc-fix, выключить там автоподстройку константы (до выбора ком-порта), и посмотреть, уменьшилась ли она после калибровки.

  • Если уменьшилась: емкость ваших батарей меньше «стандартной» и более ничего делать не надо.
  • Если НЕ УМЕНЬШИЛАСЬ, то (возможно) емкость ваших батарей больше – и может обеспечить время работы больше стандартного.

Во втором случае – переходим к следующему разделу

Ручная установка константы больше стандартной

Делается или программой upsdiag, или через терминал.  Через upsdiag проще:

  • Запускаем UPSdiag
    (он требует русской винды, в английской Win10 даже с Russian for non-Unicode показывает кракозябры вместо букв, я запускал в виртуальной машине с русской виндой, пробросив туда COM-порт с хоста)
  • Он перебирает все com-порты и находит UPS
  • Выбираем закладку «Калибровка», правый клик на регистре 0, изменить, увеличиваем значение.
  • Увеличивать можно банально до 0xFF, я добавлял 0x20

После этого делаем перекалибровку, я делал ручную (полный заряд, полный разряд с нагрузкой 30-40%)

После перекалибровки значение «регистра 0» должно уменьшится относительно поставленного «с запасом», но оно может быть больше «стандартного» (то есть ваше время работы от батарей тоже будет рапортоваться больше стандартного и софт сможет отключать оборудование позже).

Достигнутые результаты

У меня два UPS, батареи к которым сдохли почти одновременно (в SUA1000I – через положенные 4 года, SUA1500I я покупал с рук с, как мне сказали, новыми батареями, но эти новые были какие-то левые и проработали только два года), поэтому вышеописанные операции я проделал с обоими UPS.

SUA1500I

  • Батареи менялись на BB Battery BC 17-12, поставщик называет их «повышенной емкости» (относительно стандартных для этого UPS CSB GP 12170)
  • После замены батарей рапортовал 10 минут работы при нагрузке ~200вт (моя рабочая станция в состоянии «ничего особенного не делаем»). Константу не записал, было что-то в районе 0x6n
  • После установки стандартной константы (0xA1): рапортует 53 минуты работы с нагрузкой 200вт
  • После установки завышенной константы и перекалибровки – константа стала 0xB7 и UPS говорит, что жить будет 83 минуты.
  • Калибровал я нагрузкой 450вт, на ней батарея проработала 38 минут, 38*(450/200) = 85, то есть оценка, которую дает бесперебойник (83) очень похожа на правду.
  • Поскольку батареи – повышенной емкости, то такой результат (стандартная константа калибровки – маловата)  ожидался и подтвердился.

SUA1000I

  • Батареи менялись на CSB GPL 12120 (c увеличенным сроком службы)
  • Те же 10 минут ожидаемого рантайма (на нагрузке 220вт) после замены.
  • Стандартная константа (устанавливаемая apc-fix) 0xBC, после перекалибровки уменьшилась до 0xA5
  • Соответственно, увеличивать руками/перекалибровывать не стал.
  • Рапортуемое время после перекалибровки 48 минут при нагрузке 220вт
  • Поскольку батареи – повышенной жизнеспособности, емкость ниже стандартной константы калибровки – не удивляет.

Отказ от ответственности

Все вышеописанные процедуры вы делаете на свой страх и риск, в UPS-е много всего, что можно испортить. Особенно если ковыряться там терминалом.

Comments

Еще на возрастных APC-шках при замене батарей после полного заряда нужно обязательно проверять напряжение заряда на батарее нормальным мультиметром и изменять напряжение через полную версию apcfix (или ручками через терминал) так, чтобы мультиметр показывал при комнатной температуре не больше 27.4-27.5 Вольт (для SUA1500I), иначе батареям придет алес капут очень быстро. Они и так за последние лет 15 стали производиться с использованием все более эффективных дендро-фекальных методов.