Фильтр по тематике

«Тройник» для интерфейса 1-WIRE

В статье подробно рассматривается интерфейс 1-WIRE – его преимущества и недостатки. Особое внимание уделяется одному из главных недостатков – ограничение длины линии. Информация по одному проводу передаётся в двух направлениях, и, следовательно, нельзя простыми способами, например, с помощью усилителя сигнала, компенсировать потери в кабеле. Также в статье предлагается и метод решения – разделение одной линии 1-WIRE на 3 независимые.

Интерфейс 1-WIRE, имея множество преимуществ, обладает при этом и недостатком – ограничение длины линии. Информация по одному проводу передаётся в двух направлениях, и, следовательно, нельзя простыми способами, например, усилителем сигнала, компенсировать потери в кабеле.

Автором предлагается вариант разделения одной линии 1-WIRE на три независимые. Это продолжение метода «ветвителя» линии 1-WIRE на микросхеме DS2409, разделяющей интерфейс на два независимых направления. Однако данная микросхема уже давно снята с производства. В данной конструкции вместо неё использован микроконтроллер 16F676 с АЦП, что позволяет дополнительно проводить диагностику линии по уровню напряжения. Входной интерфейс «тройника» работает по интерфейсу RS-485 с открытым протоколом доступа на AT-командах.

Кроме того, данная схема «тройника» имеет низкую потребляемую мощность, что позволяет использовать питание, передаваемое по соединительной линии. В качестве примера приводится схема, реализованная на элеваторе в Новосибирской области.

1. Принципиальная схема «тройника» 1-WIRE

Схема и вид основных компонентов представлены на рис. 1. Она содержит узел преобразования интерфейса RS-485 на микросхеме U1 sr485 и преобразователь интерфейса 1-WIRE, который выполнен на микроконтроллере (МК) U2 PIC16F676 [1].

Назначение элементов

Сформировано три входные линии подключения – разъёмы XP1…XP6. Это обеспечивает возможность формирования разной структуры раскладки линии RS-485: шинную и «древовидную». Однако программная структура обращения остаётся шинной [2].

Скорость обмена в 1200 bod позволяет сформировать длину линии не менее одного километра для кабелей типа UTF5 или КСПП, что в большинстве случаев достаточно. Вариант раскладки линии для объекта представлен на рис. 2.

На вход шины RS-485 подключены элементы Q1(78L05), C1 для формирования напряжения питания «тройника» +5 В. Конденсаторы С1, С2 выполняют фильтрацию помех по питанию.

Элемент U1(SR485) – специальная микросхема преобразования биполярных сигналов интерфейса RS-485 в уровни ТТЛ логики и положительной полярности. Выходной сигнал U1 объединяется через схему «монтажного ИЛИ» с тестовой кнопкой и поступает на RA3 U2, что позволяет использовать один вывод для двух вариантов функционирования.

Передача выполняется от вывода RA0 меньшим количеством байт, поскольку сигнал для передачи DI замкнут на 0 вольт.

Вывод RA3 в МК U2(16F676) может работать только для приёма. На передачу в шину RS-485 используется вывод RA0, который и формирует требуемые длительности сигнала.

Такой метод позволяет принимать любые байты от 0 до FF, а передаются только байты с постоянным нулём: FF, FE, FC, F8, F0, E0, C0, 80, 00. Вид данных сигналов представлен на рис. 3.

Подробное описание передачи меньшим количеством байт представлено в источнике [6]. 

Данное распределение выводов позволяет на других выводах МК создать три независимых канала интерфейса 1-WIRE c индикацией и диагностикой состояния шин питания и данных, и каждый имеет схему «импульсной подтяжки» шины 1-WIRE [3].

Условными значками «треугольников» показано направление передачи на выводах МК. Входы в режиме АЦП выделены другим цветом. 

Уменьшение количества доступных байт на передачу компенсируется увеличением числа их передачи, что равносильно меньшей скорости передачи. Однако шина 1-WIRE также относительно медленная, и, кроме того, используемые датчики температуры DS18B20 имеют время минимального получения данных в 50 миллисекунд. Эксплуатация данной схемы не создала заметных задержек в работе системы сбора данных [6].

«Импульсная подтяжка» шины 1-WIRE компенсирует потери сигнала на ёмкость линии, что позволяет увеличить длину линии и количество подключаемых датчиков без замены кабеля с лучшими характеристиками. Используется метод, приведённый в источнике [5].

Для выполнения «импульсной подтяжки» используются транзисторы Q2…4(2N7000), которые в «открытом состоянии» имеют сопротивление – десятые доли Ома. Управление их открытием выполняется программой через вывод RC1 МК. Транзисторы открываются одновременно все, но «подтягивает» сигнал только работающая шина 1-WIRE.

Режим работы «импульсной подтяжки» задаётся программой. Если не предусматриваются «длинные линии», то допускается не паять эти транзисторы и не использовать «импульсную подтяжку». Примерная оценка определяется из погонной ёмкости линии. Получаем, что без «импульсной подтяжки» возможна работа для ёмкости линии до 35…40 нанофарад, с подтяжкой – работа до 60…70 нанофарад.

Примерно погонная ёмкость кабеля типа UTF-5 составляет 100 пикофарад (пф) на один метр. Соответственно 35 000…40 000 пф / 100 пф = 350…400 метров составит доступная длина линии 1-WIRE. Однако надо помнить и о помехах, вызванных индуктивностью, для длинных линий, что сокращает примерно на 20…30% общую длину линии.

Поскольку схема имеет три независимых выхода, то и подключить можно 350…400 метров к каждому выходу и тем самым значительно увеличить количество датчиков. 

Резисторы R10, R11, R12 выполняют роль защиты при коротком замыкании по шине питания. Эти резисторы соответственно подключены и к выводам МК, которые работают в режиме АЦП RC0, RA2, RA4. Поскольку потребляемый ток для датчиков DS18B20 в рабочем режиме составляет доли миллиампера и в режиме ожидания – сотые доли миллиампера, то падение напряжения на этих резисторах не превышает 0,1…0,2 В. В случае аварии ток будет ограничен и не приведёт к аварийным ситуациям. В этом случае АЦП сообщит об аварии на соответствующей шине.

Индикация выполняется светодиодами D2,3,5 индивидуально для каждой выходной шины. Если программа обнаружит замыкание или по питанию +5 В, или по шине 1-WIRE, включится соответствующий светодиод, который на плате расположен рядом с соответствующей шиной. Таким образом, поиск неисправности для персонала заключается в поиске постоянно горящих светодиодов. Если светодиод кратковременно вспыхивает, это означает, что всё исправно, и возможная неисправность находится в другом месте.

Кнопкой S1 тест проверки позволяет определить наличие подключённых датчиков без использования программы верхнего уровня. Предусматривается ситуация монтажа по шине 1-WIRE с одновременной проверкой монтируемых датчиков с помощью сигнализации исправности в предлагаемой схеме. В случае наличия на шине 1-WIRE датчиков они отвечают на сигнал RST (cброс), что и фиксируется с помощью трёх светодиодов. Применено следующее правило – загорелся один светодиод и затем второй или третий – это означает, что тест прошел. Если горит в режиме теста только один светодиод, это означает, что на линии датчиков нет, так как нет ответа.

В связи с использованием двунаправленной передачи по одному проводу 1-WIRE большое значение имеет стабильность напряжения и отсутствие импульсных помех. В схеме на все выходные шины 1-WIRE по питанию +5 В установлены фильтрующие конденсаторы с большой ёмкостью и защитные диоды для исключения возможных импульсных помех.

Элементы схемы допускается заменить на любые отечественные или зарубежные аналоги.

2. Конструкция «тройника»

Все элементы расположены на печатной плате, которая имеет специальные пазы для установки на DIN-рейку.

На рис. 4 представлена фотография крепления плат на DIN-рейку.

Принципиальная схема (файл rs_485_1w_16f676_berds_v1.dch) и печатная плата (файл rs_485_1w_16f676_berds_v1.dip) подготовлены в редакторе DIP-TRACE и могут извлекаться из тела программы [7]. Способ извлечения представлен в описании аналогичной авторской программы [6]. На плате предусмотрена установка элементов в DIP или SOIP исполнении. МК подключается через переходную колодку, что позволяет редактировать программное обеспечение. U1(SR485) также подключается через переходную колодку, что обеспечивает в случае скачков напряжения на линии быструю замену при электрическом повреждении.

3. Программное обеспечение «тройника» 1-WIRE

Подготовлено программное обеспечение на языке программирования FORTH [4]. Используется авторский FORTH-ACСEМБЛЕР для семейства PIC 12/16, который находится также в теле программы [7]. Извлекается аналогично варианту, приведённому в источнике [6]. Файл assmb_pik12f_v1.f содержит мнемоники всех команд МК и структуры компиляции. Файл 1wire_16f676_asupport_v1.f – это непосредственно текст программы, которая компилируется в hex-код. 

При выполнении «извлечения» hex-код формируется в отдельном каталоге 1wire_16f676_asupport_v1 и может быть сразу же использован для программирования МК.

Опрос данных для датчиков температур 1-WIRE DS18B20 и соответствующие АТ-команды приведены в тексте программы silos_v3_berdsk_k4.f и повторяют по структуре опрос в источнике [6].

Программа содержит пояснения и комментарии по каждому разделу функционирования.

Выводы

Предложенная схема «тройника» для 1-WIRE датчиков позволяет использовать стандартные преобразователи RS-485, что увеличивает надёжность при эксплуатации системы термометрии. Переход на старт-стопный интерфейс с низкой скоростью позволяет значительно увеличить длину линии и использовать распространённые кабели для сетевого подключения компьютеров. 

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

Литература

  1. Описание 16F676  // URL: https://cyberpedia.su/12x6c08.html.
  2. Интерфейс RS-485 // URL:   http://composs.ru/chto-takoe-rs-485/
  3. Интерфейс 1-WIRE // URL:   https://aterlux.ru/article/1wire
  4. Описание языка Форт spf4.exe / авт.  версии А. Черезов // URL: http://www.forth.org.ru/.  
  5. Патент «Одновибраторный компенсатор искажений импульсных сигналов, создаваемых погонной ёмкостью линии интерфейса 1-WIRE»   № 2771776 от 24 мая 2021 г. // URL: http://90.189.213.191:4422/temp/dp5_regen2_pt/.
  6. Шабронов А. Термометрия элеватора по системе «Power over Ethernet» // Современная электроника. 2022. № 8. С. 50. URL: https://www.soel.ru/rubrikator/inzhenernye-resheniya/.  
  7. Программа, схема и печатные платы «тройника» // URL:  http://90.189.213.191:4422/doc_sh/nsb_berdsk_2022_elivator/test/.
Комментарии
Рекомендуем
Электронные датчики и радары  в системе беспроводной связи ОТА, LOP и E-peas электроника

Электронные датчики и радары в системе беспроводной связи ОТА, LOP и E-peas

В будущем разработчиков РЭА ожидает эра «одноразовых» устройств: «установил и забыл» – надёжные, устойчивые к внешним воздействиям среды, но не предназначенные для ремонта. Одна из важных решаемых задач – сочетание сбора энергии из среды, её преобразование в электрическую и применение датчиков и микроконтроллеров с крайне низким энергопотреблением. В сочетании с технологиями E-peas (Electronic portable energy autonomous systems – автономные портативные электронные системы), LOP (с низким энергопотреблением) и решениями NXP возникают перспективы датчиков положения, давления и измерения сопутствующих величин от OEM-производителей. С аппаратными настройками и масштабируемостью производительности РЭА в формате процессоров S32R с исключением ошибок в передаче данных аналогового и смешанного сигнала беспроводным способом на небольшие расстояния. В статье представлены примеры системных решений для организации и управления питания датчиков РЭА, задействованных в беспроводной передаче данных, сетевых технологиях и транспортной технике с беспроводной сетью ОТА (Over-the-air – по воздуху).
15.04.2024 СЭ №4/2024 561 0

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3