Описание 4-х канального регулятора освещения для использования с MCT-протоколом.

Описание 4-х канального регулятора освещения для использования с MCT-протоколом.

Аппаратная реализация.

На рисунке показана схема 4-х канального регулятора освещения.

В его состав входят:

4-х канальный регулятор освещения (4КРО) предназначен для дистанционного регулирования яркости освещения по четырем каналам. Регулировка производится при помощи 4-х переменных резисторов, потенциалы которых преобразуются в код в микроконтроллере устройства. Значения регулируемых яркостей отображаются на OLED дисплее.

Цифровые пакеты со значениями яркости при помощи радиомодуля передаются на ШИМ-контроллеры, которые и меняют яркость светодиодных источников освещения. Пакеты с значениями кода от 4КРО передаются в формате MCT-протокола. В памяти 4КРО хранятся серийные номера и атрибуты ШИМ-контроллеров, с которыми происходит взаимодействие.

Все параметры 4КРО доступны для просмотра и изменения в приложении MCT-конфигуратор на ПК. Обмен данными возможен по радиоканалу с использованием MCT-протокола. Использование MCT-протокола для связи также позволяет встраивать 4КРО в различные системы сбора и обмена данными. Более подробно можно узнать здесь.

Для связи 4КРО с ПК используется модуль JDY-40 и USB-UART адаптер. Радио модули в устройстве и адаптере ПК настраиваются идентично, скорость передачи данных по UART 19200 бод. Как настроить модули JDY-40 при помощи программы настройки, можно познакомиться здесь.

Программная реализация устройства.

Проект программы для 4КРО, создан в среде STM32 Cube MX для IDE Kiel. Проект разрабатывался под MCT-протокол, более подробно с документацией на протокол можно познакомиться здесь. В проект программы, после его создания в среде Cube MX (после настройки периферии компилирования), мной добавлены файлы:

  • Файлы поддержки OLED дисплей: ssd1306.c, ssd1306.h.
  • Для реализации MCT-протокола: conf_init.h, mk_conf_tree.h, mk_conf_tree.c;
  • Основные рабочие файлы реализации алгоритма управления: system.c и control.c. В этих файлах добавлены функции поддержки MCT-протокола: System_prop, System_get, System_set в файл system.c и Control_prop, Control_get, Control_set в файл control.c. В файл uart.c добавлены функции поддержки обмена данными это MKBUS_rx и MKBUS_send .
  • Также добавлены файлы setup.c и setup.h, в которые даны функции чтения и записи flash-памяти микроконтроллера. В функции SETUP_Load этого файла задаются начальные значения основных параметров (таких как серийный номер устройства и т.д.). Значения этих параметров можно изменить через дерево конфигурации на ПК и пересохранить во flash-памяти микроконтроллера.
  • По умолчанию серийный номер 4-х канального регулятора равен 4100. При необходимости, его можно изменить при помощи MCT-конфигуратора на ПК.

Подробнее файловая структура поддержки MCT-протокола описана в статье.

Управление 4КРО при помощи дерева конфигурации на ПК.

После того, как программа скомпилирована и зашита в память микроконтроллера, можно попробовать управлять устройством при помощи MCT-конфигуратора. Со стороны ПК должен быть подключен USB-UART адаптер с модулем JDY-40. На скриншоте показан вид дерева конфигурации (ДК), выгруженного из памяти микроконтроллера 4КРО. Описание работы с деревом конфигурации на ПК показано здесь. Как встроить устройства в систему сбора данных, можно познакомиться здесь. Проект 4КРО я собрал на диске.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back To Top