Устройство передачи телеметрии с передатчиков Vigintos
Потребовалось как-то наблюдать за передатчиками фирмы Vigintos, расположенными на удалённых объектах. К величайшему сожалению эти передатчики нельзя непосредственно подключить к локальной сети, чтобы смотреть их параметры удалённо (в сравнении с конкурирующим оборудованием фирмы Микротек, к примеру). Предлагаемое производителем решение основано на соединении RS485, что несколько удручает, как по цене, так и по необходимости проброса портов внутри достаточно разнородной локальной сети. Поэтому было решено обратить внимание на разъём Remote, на который выводятся аналоговые значения необходимых параметров: прямой и отражённой мощности, а также модулирующих сигналов. Этих параметров вполне достаточно, чтобы контролировать как передатчики, так и присоединённое оборудование - вещательную машину и антенну. Также было решено дополнить наблюдение возможностью дистанционного выключения передатчика (переход в режим Stand By). Наблюдение и управление производится через обычный интернет-браузер.
На первом объекте у нас находятся два самостоятельных передатчика, и комплект возбудитель - усилитель мощности. На двух других - по одному передатчику. Соответственно были разработаны два типа блоков телеметрии и управления.
Все блоки включают в себя: а) сетевую плату на базе чипа Wiznet W5500, б) контроллер Atmega328, один блок дополнительно содержит аналоговый коммутатор.

Все соединители на плате - RJ45, для упрощения. Схема "большого" варианта ниже.
Для двух других мест установки схема упрощена.
На всех контактах внешнего разъёма установлены помехоподавляющие конденсаторы. Кварцевый резонатор может быть абсолютно любой, в "маленькой" версии использован на 9.12 МГц, в "большой" - на 16 МГц. Сопротивления, установленные на аналоговых входах контроллера, необходимы для стекания паразитных токов, образующихся между входами управления и каналами мультиплексоров. Токи небольшие, но до полутора вольт "лишнего" напряжения набегает. В "маленькой" плате сопротивления установлены "по инерции". Их величина может быть от 10 до 100 кОм. Тем не менее некоторые флуктуации измеренного напряжения вполне возможны в приемлемых пределах.
Софт для блоков писался в среде Arduino IDE якобы для платы Arduino Nano, соответственно все номера пинов в скетче привязаны к этой плате (ну а для перевода номера пинов в ножки микроконтроллера используйте даташит ;)). Скетчи для обоих блоков, а также необходимая библиотека Ethernet2 находятся в архиве. Со стандартной библиотекой Ethernet чип W5500 работать не будет. Необходимые комментарии указаны в тексте. Повторюсь только по важной теме - напряжение питания блоков. Поскольку напряжение питания используется как референсное, то необходимо учитывать это при уточнении формулы расчёта измеренной величины. Во-первых, автор использовал в качестве источников питания USB-выходы вещательных машин, напряжение на которых было в пределах 5.1 - 5.16 Вольт. Во вторых, входное напряжение на аналоговых входах не должно превышать напряжение питания контроллера. В случае превышения необходимо рассчитать входные резистивные делители (как это пришлось сделать для контроля аудиосигнала, поскольку входное напряжение может достигать 10 Вольт). Если используется не "голый" чип, а непосредственно Ардуина, то её напряжение питания составляет обычно 3.3 Вольта, что также объясняет необходимость установки делителей на аналоговых входах.
Вид окон управления с десктопа и мобильной версии для обоих блоков показан ниже.


Были неспешно напечатаны корпуса, поскольку без них прибор не работает ;)

Недостатком данного решения является необходимость компиляции прошивки под конкретный объект и адреса локальной сети. Но, поскольку устанавливается он на длительное время работы, этим неудобством можно пренебречь. Второй недостаток - это "показометр", индикация которого зависит от многих входных параметров. Но, поскольку 99% времени нам нужно только контролировать объект (работает ли вообще, не отвалилась ли антенна, подаётся ли сигнал, отключить в случае аварии), считать это недостатком не нужно.
Дополнения к подключению блока в сетку
(исходя из даташита).
1. Чип W5500 не имеет автоопределения
подключения (does not support auto-MDIX feature), поэтому
его следует подключать "прямым" кабелем к устройству, которое это
автоопределение умеет (современные хабы и роутеры). Напрямую к
компьютеру/серверу или к другому W5500 подключаемся
кроссовером.
2. Если есть возможность, то установите на устройстве, к которому подключается W5500, параметры линка на 10 МБит, чип будет потреблять в полтора раза меньше тока и меньше греться. Микротик, к примеру, это умеет. Если подключаемся к обычному хабу, то увы. Для передачи менее килобайта информации скорости нам хватит.
3. Применённая плата чипа W5500 не имеет встроенного сетевого трансформатора, поэтому длинным кабелем подключать его не рекомендуется.
Продолжение банкета ;)
В течение года понадобилось провести подключение как к другим типам передатчиков (в том числе и к самодельным), так и выяснились интересные "косяки" работы шилда W5500. Но обо всём по порядку.
Блоки стали собираться массово из подручных материалов и из подходящих корпусов, к примеру, большого корпуса - электрической вилки, внутри которого всё расположилось. Дополнительно, кроме управления передатчиком, понадобилось управлять питанием внешнего компьютера, который периодически, из-за сбоев в местной питающей сети, имел склонность к зависанию. Для этого дополнительно установлено реле с нормально замкнутыми контактами, управляемое транзисторным ключом (в нашем случае это полевик IRLZ34).
Для некоторых типов передатчиков в схеме установлены дополнительные диоды для выпрямления аудиосигнала для его последующего измерения.


Печатной платой было решено не заморачиваться, а собрать всю схему на макетке, пропитав обратную сторону с проводами после сборки "китайскими соплями" ака термоклеем. Также было решено отказаться от кварца, поскольку встроенного генератора 8 МГц вполне хватает для наших целей. Также Atmega328 была заменена на Atmega168 - программа запросто влезла в отведённую для этого память.
Также было замечено, что при помехах в питающей сети (включение чего-либо мощного) сетевые настройки в модуле W5500 слетают на дефолтные. Поэтому было сделано отслеживание сохранности настроек в модуле и, при их очистке, модуль сбрасывается и настройки заново в него загружаются. Задержка при этом не превышает пяти секунд, что не позволяет браузеру вылететь в ошибку длительного ожидания. Примерная схема представлена ниже, скетч с реального устройства тут.
Вид самодельного пятиваттного радиовещательного передатчика с установленным модулем телеметрии на фото ниже. Использовался в течение пары лет как одиночно, так и в качестве возбудителя к внешнему усилителю мощности. В этой конструкции дополнительно измерялась температура Атмеги встроенным в чип датчиком, ну вроде как температура внутри корпуса передатчика ;)

Вид тридцативаттного радиовещательного передатчика с установленным модулем телеметрии. Тут ещё используется кварц.
