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

Применение интерфейса 1-Wire в радиоканале 433 МГц на модуле HC11

В статье приведены описание схемы, конструкции и программы для измерения температуры по радиоканалу 433 МГц на модуле HC11 цифровыми датчиками DS1820 с интерфейсом 1-Wire. Основное отличие устройства от существующих прототипов [1] заключается в использовании PIC-микроконтроллера 12F675. Микроконтроллер позволяет уменьшить полосу передачи, повысить дальность связи, использовать автономные источники питания и создавать автономные системы сбора данных и управления.

Введение

Предлагаемая система измерения разработана для конкретной сельскохозяйственной задачи – термометрии напольного хранения зерна, однако разработка может быть использована и в других отраслях. Конструкция измерителя реализована в виде термоштанги ручного контроля [2].

Центр измерения (ЦИ) состоит из модуля приёмо-передатчика HC11 [3] и модуля USB-UART, подключённого к компьютеру агронома через USB-разъём. Управление осуществляет программа компьютера через виртуальный СОМ-порт. Питание обеспечивает USB-порт компьютера.

Узел измерения (УИ) состоит из модуля HC11, который подключён к микроконтроллеру (МК) типа 12F675. Все операции выполняет программа МК: обрабатывает входной код, контролирует напряжение батарей, следит за кнопкой запуска теста, запрашивает и получает температурные данные по шине 1-Wire. Схема организации радиосвязи с использованием интерфейса 1-Wire представлена на рисунке 1.

Для УИ назначается индивидуальный 16-разрядный номер, что позволяет обращаться к 65 535 (0xFFFF) узлам. Все датчики DS1820 имеют индивидуальный номер, что также позволяет назначать и определять их конкретное место в измерении. Для системы связи выделяется частота работы. УИ и ЦИ работают на одной выбранной частоте в разрешённом нелицензируемом диапазоне частот 433–443 МГц. Канал может быть установлен со сдвигом 400 кГц в разрешённом диапазоне в случае загруженности или работы других систем беспроводной связи. 

Принципиальная схема ЦИ

Принципиальная схема системы радиосвязи в ЦИ представлена на рисунке 2.

В связи с тем что производитель рекомендует для уменьшения потребляемого тока использовать диод в цепи питания, в переходной печатной плате установлен D1 1n5817. На рисунке 3 показана фотография исходных компонентов конструкции, выполненной на штыревых разъёмах и переходной печатной плате. Это позволяет в случае необходимости быстро проводить диагностику и ремонт системы радиосвязи.

В угловые штыревые разъёмы установлены модули USB-UART и HC11. В качестве антенны использован монтажный соединительный провод длиной 220 мм с разъёмами. Вся конструкция после пайки соединений устанавливается в кабель-канал размером 25´18´300 мм и закрепляется с помощью клеевого пистолета. На рисунке 4 показана фотография собранной схемы ЦИ в кабель-канале.

Слева расположен разъём micro-USB. Для схемы ЦИ обязательно требуется USB-UART c выводом DTR. Этот вывод используется для управления настройками модуля HC11, т.е. выбирается частотный канал и режим тестирования. 

Принципиальная схема УИ

Принципиальная схема узла измерения представлена на рисунке 5.

Схема УИ состоит из стабилизатора Q1 (LP2950), который преобразует входное напряжение 6–8 В от батарей в напряжение питания 5 В. Подключение выполняется через диод D1, защищающий от подачи питания неправильной полярности.

Резисторы R1, R3 образуют делитель, напряжение с которого поступает на вход U1 (12F675) GP2 (вывод 5), при этом контролируемое напряжение составляет 3–4 В. Этот же вход замыкается через кнопку S1 и светодиод D3 на 0 В. При замыкании кнопки напряжение на входе GP2 (вывод 5) уменьшается до 1,9–2 В, что фиксируется программой и инициализирует тест передатчика. В этот момент светодиод D3 начинает светиться и сигнализировать о работе батареи. При выполнении теста передатчика второй сигнальный светодиод D4 начинает периодически мигать и тем самым сообщает об исправной работе программы микроконтроллера. Нажатие кнопки запуска теста посылает в радиоканал номер данного УИ, что позволяет проверить и работу модуля HC11, приняв сигнал с заданным номером на ЦИ.

Выводы TXD и RXD модуля HC11 соединены с выводами U1 GP3, GP4 непосредственно, так как имеют сопряжённые уровни ТТЛ. Вывод GP5 организует работу шины 1-Wire c внутренней подтяжкой от U1. Для предупреждения последствий быстрого разряда от возможного короткого замыкания по шине 5 В установлен резистор R2. Диод D2 ограничивает рабочий ток модуля HC11 согласно рекомендациям производителя модуля.

Вывод U1 GP0 (вывод 7) используется в двух режимах:

  1. если перемычка J2 замкнута, то выполняется управление АТ-командами модуля HC11. Это позволяет менять частоты радиоканала, переходить в режим сна и снижать энергопотребление. В этом случае управление внешней нагрузкой запрещено;
  2. если перемычка J2 разомкнута, то возможно управление внешними устройствами путём передачи команд на симисторный ключ V01 MOC3036-M. Ключ обеспечивает гальваническую развязку и управление нагрузкой переменного напряжения до 40 Вт при напряжении 220 В. В работе термоштанги управление не используется.

Модуль HC11 и микросхемы U1, VO1 установлены на переходных колодках, что позволяет быстро производить диагностику и ремонт системы измерения. Конструкция УИ выполнена на печатной плате с пазами и креплениями под монтажную коробку. На рисунке 6 представлены фотографии печатной платы и компонентов до (слева) и после (справа) монтажа в коробе. 

Антенна модуля HC11 подключена к несущей конструкции штанги термодатчиков через болтовое соединение, что увеличивает дальность связи. Фотография термоштанги УИ в собранном виде показана на рисунке 7.

Четыре датчика DS1820 размещены равномерно внутри полой металлической штанги. К штанге приварены ручки установки, а длина измерительной части может наращиваться с помощью резьбового соединения.

Алгоритм обмена сигналами UART с 1-Wire

Модуль HC11 на скорости 1200 бод не только обеспечивает максимальную дальность, но и обладает особенностью в режиме передачи/приёма старт-стопных сигналов. Эта особенность заключается в том, что передача/приём осуществляется в режиме блока из 6 байт с тайм-аутом между передачей и приёмом до 200 мс. Соответственно, весь обмен данными системы с 1-Wire также должен быть привязан к передаче блоком в 6 байт. В связи с этим выбран следующий метод кодирования блока:

  • первый байт блока – это код команды для режимов работы МК и типов сигналов для шины 1-Wire;
  • со второго по шестой байт – данные, которые соответствуют передаваемой команде.

Программа на компьютере ЦИ является «мастером» и выдаёт через радиоканал запросы для УИ. Если в УИ принят соответствующий код именно для данного УИ и датчиков, то только в этом случае выполняется обратная передача и ЦИ получает требуемые данные. Таким образом, «слушают» все УИ, но отвечают только те, к которым обращается ЦИ. Перечислим некоторые команды обмена с указанием кода байта передачи:

  • 0x0 – передача сигнала RST на шину 1-Wire, обратный ответ игнорируется;
  • 0xFF – передача кода в байтах на шину 1-Wire, обратный ответ (по шине 1-Wire) анализируется;
  • 0x02 – передача кода запроса на поиск устройств шины 1-Wire, обратный ответ ­– код бита ответа поиска;
  • 0x08 – переход в режим управления АТ-командами, обратный ответ игнорируется.

Все другие используемые команды приведены в программе [4] и имеют подробные комментарии в тексте исходного кода. Правильность приёма проверяется по контрольным суммам шины 1-Wire и достоверности интервалов данных. На рисунке 8 приведена диаграмма обмена данными между ЦИ и УИ.

Скорость обмена по шине 1-Wire соответствует байтам передачи/приёма на скорости 115 000 бод. Сигнал RST на шине 1-Wire передаётся отдельной командой формирования длительности. Сигналы обмена с микроконтроллером 12F675 также укладываются в интервалы обмена для шины 1-Wire. Между окончанием передачи TXD и допустимым временем приёма RXD имеется тайм-аут до 200 мс, которого вполне хватает для обработки данных по шине 1-Wire и получения данных от АЦП микроконтроллера.

МК работает с внутренним тактовым генератором на частоте 4 МГц, что соответствует выполнению одной команды за 250 нс. Время обработки в интервале стопа такта передачи 1200 бод составляет 833 мкс. Следовательно, в этом интервале можно разместить 833000/250=3333 команды данного МК, что означает хорошую возможность использования данного типа МК на данной тактовой частоте. 

Форт-ассемблер для МК 12F675

Программа для ЦИ [4] подготовлена на языке Форт [5], поэтому и для МК 12F675, используемого в УИ, подготовлена программа также на Форт-ассемблере. Программный код для МК формируется в режиме «восстановление всех файлов – компиляция нового кода». Для получения кода и дальнейшей прошивки его через программатор требуется выполнить следующую последовательность действий с программой [4]:

  • скачать архив по адресу [4] и распаковать исполняемый файл uart_m433_v1.exe в отдельной папке;
  • выполнить программу и в предлагаемом меню выбрать режим «восстановление всех исходных файлов»;
  • программа выполнит восстановление всех исходных файлов и остановится;
  • перейти в созданный каталог test_monsys_exe и выполнить командный файл start_new_versii.cmd;
  • программа выполнит компиляцию нового кода и создаст каталог hex_12f675, в котором разместятся файлы для МК. Данные файлы имеют номера, которые привязаны к номерам УИ в кодах программы для МК. Например, файл uart_m433_pic12f675_sht_n040A.hex предназначен для УИ с номером 0x040A. Этот номер записывается в файле инициализации к соответствующим датчикам DS1820, чтобы обращаться именно к данному УИ c установленными там датчиками.

Полученные коды нужно записать в МК любым программатором для данного типа контроллера. Если не требуется модернизация программы, например изменение кодов для обращения к УИ, то сформированный каталог можно удалить. Если вы изменили коды обращения к УИ, то следует оставить сформированный файл uart_m433_v1.exe и удалить все предыдущие файлы. После компиляции сформированный файл uart_m433_v1.exe содержит все новые изменения для работы с новыми номерами УИ. В новом файле изменится контрольная сумма и дата создания, размер файла останется прежним.

Рассмотрим последовательность изменений номеров УИ и их количества для случая, когда номера начинаются с 0x0507, а количество номеров равно 16 (0x10):

  • в файле программы uart_m433_v1.f находим строки, определяющие начальный номер:
    CREATE ZAPROS_ACP_OUT_RGN1 0x4 C, \ мл.байт
    CREATE ZAPROS_ACP_OUT_RGN2 0x4 C, \ ст.байт
  • соответственно, их меняем на свой номер для младшего байта 0x7 и старшего 0x5;
  • в файле программы находим форт-слово HEX_FILES_N10 и изменяем значение цикла формирования файлов с 0xA на 0x10;
  • выполняем компиляцию программы через командный файл start_new_versii.cmd и получаем файлы для программирования МК.

Необходимо отметить важность сохранения констант для внутреннего генератора МК. В процессе компиляции предусмотрена корректировка переменной в программе на тот случай, если данный экземпляр МК работает на частоте, отличной от исходной частоты 4 МГц.

Текст программы МК для обработки данных УИ и сам Форт-ассемблер содержат комментарии и подробные пояснения автора по назначению всех функций и т.д. 

Программа системы сбора данных

Программа для работы от ЦИ с УИ представлена в одном исполняемом файле [4]. При первом запуске программы, когда отсутствует файл конфигурации, выдаётся меню выбора режимов:

  • предлагается восстановить из тела программы файл конфигурации, который будет использоваться при повторном запуске;
  • предлагается открыть файл помощи или выполнить демонстрационный режим без файла конфигурации;
  • предлагается выполнить восстановление всех файлов программы.

Файл конфигурации настраивается пользователем: устанавливаются частоты для работы, номера датчиков и УИ, указываются условные наименования и температуры тревожной сигнализации. Этот файл содержит подробные комментарии по опциям конфигурации и примеры использования команд для настройки модуля HC11. Предусмотрены режимы поиска МАС-адресов датчиков DS1820, поиска номеров УИ, переход на другие частотные каналы удалённо по радиоканалу.

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

В окне выводятся данные о температурах и напряжениях питания батарей. При представленных размерах консоли всего отображается до 10 УИ. В случае необходимости размер окна консоли можно увеличить в файле инициализации и отображать большее количество УИ. Дополнительно программа записывает все данные в файловый суточный архив формата Excel. Это позволяет оперативно отслеживать в графическом виде изменения температур. При уменьшении напряжения батарей ниже 6 В срабатывает тревожная сигнализация по данному УИ.

Программа имеет статус «как есть», в ней реализованы следующие возможности:

  • отображение температуры, получаемой УИ, большими и стандартными знаками в консоли окна;
  • задание температуры тревоги, фиксация события превышения этой температуры, тревога при снижении напряжения питания батарей;
  • отображение значений температуры в виде одного графика в отдельном окне;
  • запись данных в файловый архив и программа анализа графиков в виде макроса Excel;
  • средства контроля, анализа и визуализация исправности HC11, поиск номеров DS1820, цветовые настройки окна, схема и печатная плата УИ ЦИ в редакторе DipTrace;
  • имитатор УИ с датчиком температуры;
  • исходный текст программы, компилятор языка Форт [5], файл справки по командам языка Форт;
  • файл справки по управляющим клавишам, файл настройки быстрого запуска и выбора режимов.

Программа не требует установки и подготовлена для работы на опера-ционных системах Windows XP/7/8/10. 

Заключение

PIC-микроконтроллер 12F675 содержит аналого-цифровой преобразователь, что даёт возможность следить за разрядом батарей и проводить их своевременную замену. Применение батарей Li-ion типа NRC18650 при интервале опроса от минуты до часа обеспечивает работу от 10 суток до 3 месяцев. Для удалённого управления исполнительными устройствами предусмотрено применение оптоэлектронного ключа.

Проведение обмена на скорости 1200 бод в радиоканале модулей HC11 и антенн типа «вертикальный полуволновой вибратор» позволяет получить устойчивую связь на открытом пространстве не менее километра. Время получения данных от одного датчика DS1820 увеличивается с 50 мс до 2 с, что приемлемо для большинства систем регистрации.

Интерфейс 1-Wire, кроме температурных датчиков, имеют датчики АЦП–ЦАП, которые удалённо могут работать через радиоканал по приведённой схеме. Возможно применение интерфейса 1-Wire c радиоканалом в системах контроля температур в сельскохозяйственном производстве (теплицы, зернохранилища, пасеки, индивидуальные овощехранилища), в учебных, научных задачах и т.п.

Предложенная система для измерения по радиоканалу 433 МГц на модуле HC11 с использованием цифровых датчиков измерения температуры DS1820 интерфейса 1-Wire позволяет избавиться от проводных соединений и минимизировать риски, связанные с человеческим фактором. 

Литература

  1. Электронный термометр с беспроводным датчиком (прототип). URL: https://radiolaba.ru/microcotrollers/termometr-s-besprovodnyim-datchikom.html.
  2. Термоштанга с термогигрометром ИВТМ-7М. URL: https://eltemiks-agro.ru/product/termoshtanga-s-termogigrometrom-ivtm-7m.
  3. Модуль HC11. URL: http://www.hc01.com/.
  4. Сcылка на программу. URL: http://shabronov_s2.dyn-dns.ru/temp/agromontag_433m_v1/test/.
  5. Черезов А. Описание языка Форт spf4.exe. URL: http://www.forth.org.ru/.

Комментарии
Рекомендуем
Электронные датчики и радары  в системе беспроводной связи ОТА, 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 445 0

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