Термометрия элеватора по системе «Power over Ethernet»

Материал опубликован в журнале СОВРЕМЕННАЯ ЭЛЕКТРОНИКА № 8/2022

Кабель UTP c 4 парами проводов, длиной более 250 метров, проложили между диспетчерским компьютером элеватора и удалённым корпусом силоса элеватора. Это позволило решить сразу две задачи: обеспечить сбор данных системы термометрии и одновременно её электропитание. Схема питания использует шину USB и имеет защиту по предельному току потребления, что обеспечивает работу системы при аварийных коротких замыканиях линии или датчиков.

Введение

Кабель UTP c 4 парами проводов используется для организации локальной сети между компьютерами. Такой незащищённый кабель был проложен между диспетчерским компьютером элеватора и удалённым корпусом силоса элеватора с длиной более 250 метров. В результате получилась система PoE — «Power over Ethernet» для термометрии.
Это позволило решить сразу две задачи: обеспечить сбор данных системы термометрии и, одновременно, её электропитание. Такое решение позволило снизить затраты на дополнительные элементы энергопитания, а также обеспечить требуемую защиту по уровню напряжения для опасных помещений. Схема питания, используемая в технологии PoE, использует шину USB и имеет защиту по предельному току потребления, что обеспечивает работу системы при аварийных коротких замыканиях линии или датчиков. 
Таким образом, интерфейс USB полностью обеспечивает сбор данных термометрии и при этом защищён от возможных электрических повреждений. 
1. Структурная схема системы PoE термометрии силосов элеватора 
Действующий элеватор состоит из трёх корпусов по 60 силосов в каждом. Линия проведена от места установки диспетчерского компьютера до третьего дальнего корпуса, и суммарная длина составляет не менее 250 метров, как показано на рис. 1. Два других корпуса работают и используют аналоговые типы датчиков. В ходе работ были выполнены условия плановой последовательной модернизации термометрии без остановки работы.

Рис. 1. Структурная схема PoE термометрии на 60 силосов


Кабель содержит четыре витые пары, которые подключены по схеме, приведённой на рис. 2. 

Рис. 2. Схема подключения проводов кабеля «витая пара»


Таким образом, витая пара используется как один провод и получается кабель из четырёх проводов. Выбор цвета пары для назначенной линии случайный. 
Линия длинная, и использовать передачу импульсов скорости интерфейса 1wire нельзя, так как импульсы ослабнут и затухнут. Чтобы передать сигналы по длинной линии, был изменён тип интерфейса на RS-485 и увеличены длительности информационных импульсов, а в точке приёма информационный поток переводится в скорость и тип интерфейса 1wire, показано на рис. 3.

Рис. 3. Распределение скорости информации


Следует обратить внимание, что длинный участок подвержен помехам и искажениям сигналов, но он работает на меньшей скорости и в другом варианте интерфейса. Получаем, что влияние помех при таком варианте передачи данных очень низкое и не искажает информацию. Далее опрос датчиков температур выполняет модернизированная схема ветвителя (МСВ), которая подробно представлена в [2]. 
Имеется два узла преобразования типа интерфейса. Первое преобразование usb-rs485 находится у компьютера перед кабелем с витой парой – это блок А на схеме, рис. 4. Второе преобразование rs485-1wire происходит после линии – блок Б.
В блоке А передачу-приём usb-rs485 выполняет распространённый, надёжный и дешёвый преобразователь [1], что показано на рис. 4.

Рис. 4. Схема блока А

Для формирования возможности использования «Power over Ethernet», т.е. питания всех МСВ и датчиков в блоке А, из напряжения 5 В интерфейса USB преобразователем МТ3608 [4] формируется напряжение в 15 В, которое может быть подрегулировано установочным резистором Rуст.
Cтабилизатор напряжения 78L12 и резистор R1 создают схему стабилизатора тока для выходного напряжения +12 В. Поскольку выходной ток не может превышать заданного значения даже при коротком замыкании (КЗ) линии, получается, что это защита от короткого замыкания. Программа расчёта резистора R1 для тока КЗ приведена в документе [3]. В случае КЗ вся мощность рассеивается на R1, и для этого он должен быть достаточно мощным.
Для расчёта R1 вначале суммируем токи всех потребителей и таким образом получаем рабочий ток схемы. Этот ток умножаем на два и получаем расчётный теоретический ток КЗ, поскольку рабочий ток не может при всех условиях работы увеличиться в два раза. Далее по программе [3] получаем значение сопротивления R1 и его требуемой рассеиваемой мощности с двойным запасом на рассеивание.

2. Преобразование RS-485 – 1wire
Схема блока Б для преобразования сигналов интерфейса RS-485 в сигналы интерфейса 1wire представлена на рис. 5. 

Рис. 5. Схема преобразования сигналов интерфейса RS485 в сигналы интерфейса 1wire

На разъём J1 подключена линия с двумя проводами питания и двумя проводами интерфейса RS-485. Микросхема U2 (RS-485) преобразует парные противофазные входные сигналы в уровни логических сигналов =0= и =1=, которые поступают на вывод 4 (GP3) микроконтроллера (МК) U3 (PIC12F629) [5]. 
Резисторы R4, R5, R7 согласовывают линию передачи.
По программе МК выполняется преобразование сигналов с низкой скоростью в сигналы интерфейса 1wire, которые выдаются через вывод 7 (GP0) МК U3 на схему компаратора с открытым коллекторным выходом U1 (LM393). Компаратор настроен на среднюю точку от напряжения питания резисторами R2, R6, и, таким образом, входные логические уровни всегда повторяются на выходе. Важным преимуществом работы компаратора является фиксация уровня сигналов интерфейса 1wire по среднему уровню напряжения питания, что позволяет значительно увеличить длину линии до датчиков.
Приём и передача информации индицируется на контрольном светодиоде D1. Питание +5 В из поступающих 15...12 В формирует стабилизатор Q1 (78L05). 
МК U3 работает на частоте 20 МГц, которую задаёт кварцевый резонатор Y1. Это позволяет задавать выходные параметры сигнала 1wire с точностью до одной микросекунды и принимать сигналы с большими искажениями, анализируя их длительности с необходимой точностью.
Обратная передача выполняется в режиме сокращённых кодов, поскольку сигнал DI микросхемы U2 подключён на общий провод. Так как при переходе в режим передачи передаётся только уровень 0, то, следовательно, можно передавать только 9 стартстопных кодов, а именно: 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00.
Все компоненты схемы собраны на печатной плате и предназначены для монтажа под «винт». На рис. 5 представлены: слева – фото собранной печатной платы, справа – 3D-модель той же платы. Печатная плата разработана в среде проектирования DipTrace, проект доступен в каталоге программ [6] и находится в файле shema_rs485_1wire_v1.zip.
На печатной плате предусмотрена установка компонентов под два размера: DIP и SOIC. Все микросхемы устанавливаются через переходную колодку DIN-8, что позволяет ремонтировать блок, модифицировать и изменять программное обеспечение и возможные функции использования. Печатная плата вытянута в длину для установки на дин-рейку аналогично конструкции МСВ [2].

3. Программное обеспечение 
Для работы используется программное обеспечение, совместимое с интерфейсом 1wire, которое представлено в [6]. Программа термометрии silos_v3_bagan.exe подготовлена на языке программирования FORTH [7]. Программа содержит все компоненты для программирования и модификации преобразования 12F629, а также печатные платы и схемы. Программный код для МК формируется в режиме «восстановление всех файлов – компиляция нового кода», как указано в описании [8].
Для тестовых проверок в МК схемы преобразования интерфейса RS-485-1wire предусмотрена возможность получения данных с использованием АТ-команд через программу «Гипертерминал» или ей подобные. Устанавливаются скорость и формат передачи 9600n1 и передаются блоком запрос-ные байты команд. Ответный блок байтов содержит информацию согласно передаваемому запросу. 
Перечислим основные команды запросов.
  • AT+R – передача сброса на шину 1wire. Ответ 1 байт: 0xFF – нет ответа, 0x F0 – есть ответ RST по шине 1wire.
  • AT+1 – передача сигнала «единица» на шину 1wire. Ответ 1 байт: 0x FF – принята «единица», 0xF0 – принят «ноль», т.е. можно уже дешифровать данные от датчика. 
  • AT+0 – передача сигнала «нуля» на шину 1wire. Ответ 1 байт: FF – принята ошибка, F0 – принят «ноль».
  • AT+KN – передача байта, где N = 0...FF в формате 1wire. Ответ в три байта, в которые закодирован ответный байт шины 1wire, поскольку количество байт на передачу ограничено схемным решением установки постоянного нуля. 
  • AT+GKLNNNN..N – передача блока NNN…N байт количеством K. Ответ L×3 байт. Следует учитывать, что надо другой программой последовательно по три байта данных перекодировать в один байт и получить L байт. Таким образом передаётся пакет на запрос индивидуальных датчиков и получаются данные, например, о температуре. В тексте программы это выполняет форт-слово DE_KOD_1WIRE
  • AT+Y – запрос о содержании ППЗУ 12F629. Ответ – вся память МК в HEX формате 0×80×3 байт.
  • AT+U – запрос на поиск всех доступных адресов для микросхем интерфейса шины 1wire. Ответом выдаются найденные адреса устройств в блоке формата 8×3 байт. Признак окончания поиска – повторение блока первого найденного адреса. 
Порядок кодирования и декодирования 1 байта в 3 определён доступным количеством кодов на передачу. Передаваемый байт в 8 бит разбивается на 3+3+2 бита (B1+B2+B3). Имеем всего 8 вариантов, которые и передаем байтом, как показано в табл. 1.

Таблица 1. Порядок кодировки исходного байта на три передаваемых байта


Для B3 имеем два бита и передаём с третьим битом нуля, но при декодировании этот бит не учитываем.
Например, исходный байт 0xС1 = 110-000-01 передаём как 0xFC, 0x00, 0x80. На приёме три байта в обратном порядке «складываются» в один байт. Проверка всей информации на достоверность выполняется по алгоритму стандарта 1wire.
Подробное описание других тестовых команд приведено в тексте программы asm_shema_rs485_read_v1.f на языке Форт [7]. Текст форт-ассемблера находится в программе assmb_pik12f_v1.f и компилируется при формировании кода исполнения для МК. Все тексты программ имеют подробные комментарии и доступны для модификации и изменений. 
Режим АТ-команд позволяет использовать любые другие программы для получения данных через преобразование интерфейса RS-485-1wire.

Выводы

Предложенная схема ретрансляции интерфейса RS-485 в 1wire позволяет использовать стандартные преобразователи, что увеличивает надёжность при эксплуатации системы термометрии. Переход на старт-стопный интерфейс с низкой скоростью позволяет значительно увеличить длину линии и использовать распространённые кабели для сетевого подключения компьютеров. 
Использование питания устройств термометрии по линии связи увеличивает надёжность и ремонтопригодность системы измерений. Есть один питающий узел – это сам компьютер. Наличие АТ-команд позволяет использовать любые другие языки программирования для получения данных с интерфейса 1wire.

Литература

  1. Модули usb-rs485 // URL: https://www.chipdip.ru/catalog/popular/usb-rs485.
  2. Шабронов А.А. Опыт использования сигнализации и диагностики термометрии силосов элеватора по шинной топологии подключения цифровых датчиков // Современная электроника. 2021. № 5. С. 32–34. 
  3. Программа расчёта стабилизатора // URL: http://electro-shema.ru/chertezhi/stabilizator-toka-dlya-svetodiodov.html .
  4. Каталог программы, платы // URL: http://90.189.213.191:4422/doc_sh/bagan_2022/test/; URL: https://disk.yandex.ru/d/aKAo_DVD1LzrUQ.
  5. Черезов А. Описание  языка Форт spf4.exe // URL: http://www.forth.org.ru/.
  6. Шабронов А.А. Замена DS2409 на 12F629 // Современная электроника. 2021. № 8. С. 22–36. 



Поделиться:



Комментарии

Текст сообщения*
Защита от автоматических сообщений