Однажды нам поступил интересный заказ на разработку и производство партии контроллеров для управления элементами наружной рекламы (ЭНР).

Они должны были устанавливаться в аптеках одной сети и управлять по заданному времени наружной вывеской с рекламой, а также светящимся аптечным крестом.

Помимо этого заказчик хотел, чтобы устройство измеряло напряжение в сети и ток потребления нагрузкой. В случае выхода этих параметров за заданные пределы все нагрузки должны были обесточиваться, а ему на телефон приходить SMS-сообщение.

О том как начиналась разработка будет рассказано в первой части статьи.

Итак, мы начали разработку с составления полных технических требований к устройству на основе «хотелок» заказчика. Для начала был проведён анализ текущего решения, которое уже эксплуатировалось в некоторых аптеках. Оказалось, что там было сделано всё довольно просто. Использовался вот такой электронный таймер:

И всё! Ни ток, ни напряжение не измерялись, никакого информирования, соответственно, тоже не было.

В ходе общения с заказчиком выяснился ещё один любопытный момент. Оказывается, его не устраивало то, что отсутствовала какая-либо возможность перепрограммировать устройство удалённо. А персонал аптек, естественно, с такой задачей не очень справлялся. Ещё заказчик жаловался, что в таймерах иногда сбоила сама программа и уходило время на встроенных часах. Собственно, под «перепрограммированием» он и имел в виду больше подстройку времени и простую смену интервалов работы.

Таким образом, в результате эксплуатации этих таймеров заказчик и пришёл к понимаю какой именно функционал он хотел бы получить от нового устройства. Укрупнённо вышло четыре пункта, которые нам следовало реализовать:

  1. Включать/выключать вывеску по расписанию, чтобы не получить штраф за работу в ночное время, если вывеска расположена, например, напротив жилого дома. Персонал аптеки часто забывал обесточивать её перед уходом, а также включать с утра.
    А вывеска в городе для аптеки очень важна, потому что её неисправность приводит к потере потенциальных клиентов, которые могут не заметить аптеку на первых этажах зданий.
  2. Контролировать напряжение и ток. Превышение напряжения всегда сказывается не лучшим образом на любой электронике. Поэтому, чтобы избежать выхода из строя ЭНР, было решено их просто обесточивать в такой ситуации. Большое превышение по току свидетельствует о том, что блок питания ЭНР скоро может выйти из строя, либо произошло замыкание в каких либо отдельных элементах, а низкое потребление – что вышли из строя светящиеся элементы или сами источники питания ЭНР.
  3. Организовать оперативное уведомление о возникших неисправностях посредством отправки SMS-сообщений. Уж не знаю чем не устроило заказчика уведомление через боты различных мессенджеров (Telegram, TamTam, ICQ и пр.), но в ТЗ прописали именно отправку SMS.
  4. Хранить данные мониторинга (напряжение, токи, состояние реле, флаги срабатывания защиты и т.п.) в базе данных на нашем сервере с доступом к информации через Web-интерфейс.

В результате у нас уже вырисовывалось не простое электронное устройство, а целая система, состоящая из «железа» и информационного ресурса.
После проработки общей архитектуры мы приступили к разработке электрической принципиальной схемы устройства. Для этого её вначале тоже расписали в виде набора функциональных блоков:

  • Центральный контроллер со стеком протоколов TCP/IP для доступа к удалённому серверу.
  • Узел питания.
  • Узел измерения тока.
  • Узел измерения напряжения.
  • Узел управления нагрузками.

Основным элементом схемы стал микроконтроллер серии PIC18 и внешний Ethernet-контроллер ENC28J60 фирмы Microchip. К микроконтроллеру мы подключили классическую микросхему часов DS1307 с кварцевым резонатором и литиевой батарейкой.

Так как предполагалась постоянная связь с сервером, то с одной стороны можно было бы ограничиться программными часами и использованием внешнего NTP-сервера, но с другой стороны хотелось заложить большую автономность в устройство. В итоге это решение оказалось верным, так в процессе эксплуатации мы столкнулись с тем, что на ряде объектов не было постоянного доступа в Интернет, и устройства после первоначальных настроек работали полностью автономно иногда неделями.

Для узла питания мы использовали AC-DC преобразователь с диапазоном входного напряжения питания 85…305В.

Узел измерения тока выполнили на базе токового трансформатора:



Он использовался один, хотя каналов управления нагрузкой было три. Сделано это с целью экономии на самих измерительных трансформаторах, а также для упрощения монтажа по просьбе заказчика. Мы ему поставляли только сами контроллеры, а работы по окончательной установке их в электрические щитки проводились его электриками.

Надо отметить, что у нас не стояло задачи по точному измерению тока. Это была больше защитная функция (хотя по итогу мы получили точность порядка 0,1А). Поэтому был реализован следующий алгоритм. Превышение тока мы контролируем постоянно, а вот снижение его для нижнего порога только при всех включённых нагрузках. Это не совсем универсально, но в нашем случае в течение дня всегда есть диапазон времени, когда работают все ЭНР.

Узел измерения напряжения решено было сделать на базе маленького трансформатора:



Это недорогое решение, обеспечивающее при этом гальваническую развязку с сетью. На выходе трансформатора стоит образцовый резистор, на котором мы измеряем падение напряжения. Так как не бывает двух одинаковых трансформаторов, то такое решение требует индивидуальной калибровки каждого прибора. Мы её автоматизировали при помощи специального стенда и совместили с общей наладкой устройства во время производства. Подробнее об этом я расскажу в следующих частях статьи.

В общем, все основные узлы выполнены без каких-либо хитрых решений. При этом самым интересным оказался узел управления нагрузками!

На первый взгляд достаточно взять электромагнитное реле нужной мощности и всё готово. Но это не совсем так. Всегда необходимо учитывать характер нагрузки, который определяется таким параметром как cos(?). Изначально у заказчика присутствовала ещё одна проблема, которую иногда списывали на неисправность таймера, но в процессе проведения нашей разработки она стала более понятна.

Заключалась данная проблема в периодическом выходе из строя встроенного реле таймера. К сожалению, разобрать такой таймер и посмотреть тип реле у нас не получилось в силу его отсутствия, но и без этого причина была понятна. Стоит взглянуть на корпус самого устройства:



Параметры коммутируемой нагрузки приводятся только для значения cos(?) = 1. А это, по сути, резистивная нагрузка – обычный ТЭН.

Самое интересное, что в документации на таймер этот параметр в явном виде не указан.

Мы провели небольшое экспериментальное исследование и получили следующую табличку со значениями cos(?) для различных нагрузок:
Тип нагрузки cos(?)
AC-DC MeanWell RS-35-12 (35 Вт, 12В) с нагрузкой 35 Вт 0,55
AC-DC MeanWell RS-35-12 (35 Вт, 12В) без нагрузки 0,07
AC-DC MeanWell SE-450-12 (450 Вт, 12В) с нагрузкой 35 Вт 0,5
AC-DC MeanWell SE-450-12 (450 Вт, 12В) без нагрузки 0,2
AC-DC MeanWell SE-1000-12 (1000 Вт, 12В) с нагрузкой 340 Вт 0,6
AC-DC MeanWell SE-1000-12 (1000 Вт, 12В) без нагрузки 0,2
Компьютерный системный блок с БП 450 Вт 0,5
Вытяжка (200 Вт) 0,86
Кондиционер 24000 BTU (3 кВт) 0,97
Печь-гриль (1,8 кВт) 1

Измерения проводились специальным прибором APPA 138:



Как известно, в случае превышения тока для заданного типа нагрузки ресурс контактов реле значительно уменьшается и увеличивается вероятность их «залипания».

Мы использовали реле серии RT314 для которых максимальный ток указан в 16А. Но с учётом cos(?) нужно использовать следующие значения:
cos(?) Максимальный ток нагрузки, А
>0,95 16
0,6 10
0,4 0,5

Также надо отметить, что при максимальном токе количество переключений сильно снижается. Оно составляет всего 50 тыс. циклов.

В нашем случае, однако, максимальный ток не превышал 5А и переключения обычно осуществлялись два раза в сутки. Поэтому запас по мощности реле был довольно ощутимый.

Но всё же, не имея возможности, измерять величину cos(?) на каждом объекте, мы рекомендовали заказчику все нагрузки мощностью более 100 Вт подключать через развязывающие контакторы:

На этом первая часть статьи окончена. Дальше я расскажу какое в итоге получилось устройство и как мы организовывали обмен данными с нашим сервером.