====== Контроллер 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]]