====== Контроллер UPS "Nano" ======
Контроллер питания UPS "Nano" является вспомогательным устройством, работающем совместно с ПЛК на базе jroboplc. Основное назначение устройства - мониторить работу блока питания и в случае, если идет работа от батареи, информировать об этом ПЛК, чтобы тот корректно завершил свою работу, а по завершении работы ПЛК устройство также отключает батарею, переводя тем самым блок питания полностью в выключенное состояние.
Дополнительно устройство может:
* измерять температуру
* опрашивать один логический вход (сухой контакт)
* управлять двумя логическими выходами (реле), каждый из которых специализирован для управления:
* кулером/нагревателем с зависимостью от измеренной
* оповещателем об отсутствии связи с ПЛК.
Устройство контактирует с ПЛК посредством обмена данными по последовательной связи RS232 (9600, 8N1).
Со стороны ПЛК для работы с устройством необходимо использовать перефирийный модуль [[doc:jroboplc:modules:peripherial:upsnano]].
Не забыть установить BatTimeout и SerTimeout! (обычно это 40 и 5 сек соответственно)
===== Назначение клемм =====
^№^Имя^Тип^Описание^
^Сторона 1^^^^
| 1 | InpGND | вход |БП - |
| 2 | InpVDD | вход |БП + 12В |
| 3 | - | - |Не используется |
| 4 | TrmGND | выход |Термодатчик |
| 5 | TrmDQ | вход |Термодатчик |
| 6 | TrmVDD | выход |Термодатчик |
| 7, 8 | AuxInp | вход |Резервный вход для сух/конт |
| 9, 10 | BatLow | вход |Подключается к одноименным клеммам БП |
| 11, 12 | AcOk | вход |Подключается к одноименным клеммам БП |
^Сторона 2^^^^
| 13,14 | BatCtrl | выход |Реле батареи. Нормально-разомкнутые выходы. Включается между Bat+ блока питания и + аккумулятора |
| 15 | CoolerNO | выход |Реле кулера. Нормально-разомкнутый выход |
| 16 | CoolerCOM | выход |Реле кулера. Общий выход |
| 17 | CoolerNC | выход |Реле кулера. Нормально-замкнутый выход |
| 28 | AuxNC | выход |Реле резерв. Нормально-замкнутый выход |
| 19 | AuxCOM | выход |Реле резерв. Общий выход |
| 20 | AuxNO | выход |Реле резерв. Нормально-разомкнутый выход |
| 21 | Led1 | выход |Выход светодиода Power. Горит всегда, когда на выходе БП есть напряжение. |
| 22 | Led2 | выход |Выход светодиода Bat |
| 23 | Led3 | выход |Выход светодиода PLC |
| 24 | LedGND | выход |Общий выход для светодиодов |
{{:doc:jroboplc:ups_nano_pins.jpg?400|}}
Схема подключения с разрывом 220В (использовать прошивку версии 2)
{{:doc:jroboplc:ups_devices:scheme_ups_nano_prncpl.png?400|}}
===== Светодиоды на плате =====
Отсчет от стороны подключения USB-кабеля:
- PLC
- Bat
- Power (не нужен)
- состояние реле Aux (опционально)
- состояние реле Cooler (опционально)
- состояние реле BatCtrl
===== Порты микроконтроллера =====
^#^PIN^Имя^Описание^
^Входы^^^^
| 5 | D2 | inTermo | Цифровой сигнал от датчика температуры |
| 6 | D3 | inAcOk | Дискретный сигнал АС ОК блока питания |
| 7 | D4 | inBatLow | Дискретный сигнал BAT LOW блока питания |
| 8 | D5 | inAux | Дискретный сигнал от резервного входа |
^Выходы^^^^
| 9 | D6 | outLed2 | Дискретный выход на светодиод Bat |
| 10 | D7 | outLed3 | Дискретный выход на светодиод Plc |
| 11 | D8 | outBeep | Дискретный выход на звуковой оповещатель |
| 12 | D9 | outBatCtrl | Дискретный выход на реле батареи |
| 13 | D10 | outCooler | Дискретный выход на реле кулера |
| 14 | D11 | outAux | Дискретный выход на реле резерва |
===== Описание работы =====
Устройство запитывается по USB от компьютера. Также через USB выполняется опрос устройства:
* считывание состояния входов AcOk, BatLow, T, Cooler, AuxInp.
* управление выходами BatCtrl, Cooler, Aux, Led2, Led3.
==== протокол обмена ====
Параметры последовательного подключения: 9600, 8N1.
Запрос:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* BatTimeout - время отключения батареи при отсутствии опроса и AcOk=0 (сек)
* SetTimeout - время определения отсутствия опроса (сек)
* T_on - температура включения кулера (Градусы*10)
* T_off - температура отключения кулера (Градусы*10)
* Aux - управления реле:
* b0b1 - управление AUX
* = 0 - выкл
* = 1 - вкл
* = 2 - вкл, если нет связи 10 секунд
* Test
* b0 - BatCtrl в режиме ручного управления
* b1 - BatCtrl ручной вкл
* b2 - Cooler в режиме ручного управления
* b3 - Cooler ручной вкл
* b5-b6 - Режим работы звукоизлучателя: 0-нормальный, 1-тихий, 2-без звука
Значения BatTimeout, SetTimeout, T_on, T_off сохраняются в EEPROM.
Ответ нормальный:
0
0 1 2 3 4 5 6 7
* IO_state - состояние входов и выходов:
* b0 - вход AcOk
* b1 - вход BatLow
* b2 - вход AuxInp
* b3 - выход Cooler
* T_cure - текущая измеренная температура
Порядок записи слова - сначала старший байт, затем младший.
Ответ ошибочный:
FF 0 0
0 1 2 3 4 5 6 7
==== выход Led1 ====
Светодиод Power.Горит постоянно, когда на входе InpVDD и InpGND есть напряжение.
==== выход Led2 ====
Светодиод Bat. Отображает состояние работы от батареи.
* Не горит - работа от сети.
* Горит постоянно - работа от батареи, AcOk=0.
* Горит прерывисто (100ms) - работа от батареи, AcOk=0 и BatLow=1.
==== выход Led3 ====
Светодиод Plc. Отображает состояние опроса от ПЛК:
* Горит прерывисто (1s) - есть опрос.
* Горит прерывисто (3 коротких 100ms, пауза 1s) - нет опроса.
==== выход BatCtrl ====
Cухой контакт, служит для разрывания цепи подключения аккумулятора к БП.
* замыкается при AcOk = 1
* размыкается, если одновременно:
* AcOk = 0;
* нет опроса от компьютера в течение SerTimeout+BatTimeout секунд.
==== выход Cooler ====
Cухой контакт, служит для управления кулером (охладителем/нагревателем).
* замыкается при достижении температуры Ton
* размыкается при достижении температуры Toff
===== Прошивка =====
[[doc:jroboplc:ups_devices:ups_nano_src|версия 1 (разрывает только батарею)]]
[[doc:jroboplc:ups_devices:ups_nano_src_2|версия 2 (с разрыванием 220В)]]
===== Ссылки =====
==== Корпус ====
Описание [[http://www.gainta.com/pdf/d4mg.pdf|1]]
Купить [[http://escor.ru/catalog/gainta/d4mg_71_0kh90_2kh57_5mm_na_din_reyku/|1]]
==== Микроконтроллер ====
Спецификация
[[https://store.arduino.cc/usa/arduino-nano|1]]
Описание
[[http://radiodetalki.narod.ru/pribory/arduino_nano_v3.pdf|1]]
[[https://www.es.co.th/Schemetic/PDF/ARMB-0022.PDF|2]]
Распиновка
[[http://www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png|1]]
Подключение датчика температуры
[[https://create.arduino.cc/projecthub/TheGadgetBoy/ds18b20-digital-temperature-sensor-and-arduino-9cc806|1]]
Подключение реле [[http://howtomechatronics.com/tutorials/arduino/control-high-voltage-devices-arduino-relay-tutorial/|1]]
[[http://escor.ru/catalog/shtyrevye/pbs_40_shag_2_54mm/|разъемы]]
==== стоимость ====
[[doc:jroboplc:ups_devices:ups_nano3#price|Такая же, как у UPS NANO V3]]