Статья:

РЕАЛИЗАЦИЯ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ ОСВЕЩЕНИЕМ НА МИКРОКОНТРОЛЛЕРЕ MIK32 АМУР

Конференция: XCVI Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»

Секция: Информатика, вычислительная техника и управление

Выходные данные
Захарченко Д.Е. РЕАЛИЗАЦИЯ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ ОСВЕЩЕНИЕМ НА МИКРОКОНТРОЛЛЕРЕ MIK32 АМУР // Научный форум: Технические и физико-математические науки: сб. ст. по материалам XCVI междунар. науч.-практ. конф. — № 5(96). — М., Изд. «МЦНО», 2026.
Конференция завершена
Мне нравится
на печатьскачать .pdfподелиться

РЕАЛИЗАЦИЯ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ ОСВЕЩЕНИЕМ НА МИКРОКОНТРОЛЛЕРЕ MIK32 АМУР

Захарченко Дмитрий Евгеньевич
студент, Национальный исследовательский университет «МИЭТ», РФ, г. Зеленоград
Седых Константин Владимирович
научный руководитель, канд. техн. наук, доц., Национальный исследовательский университет «МИЭТ», РФ, г. Зеленоград

 

Аннотация. В статье рассматривается разработка программного обеспечения для системы автоматического управления освещением на базе отечественного микроконтроллера К1948ВК018 (Mik32 Амур). Обоснована актуальность применения интеллектуальных систем освещения для энергоэффективности. Представлена реализация алгоритма управления реле на основе данных с цифрового датчика движения и аналогового фоторезистора с использованием библиотеки HAL. Проведён анализ работы 12-битного АЦП и логики принятия решений в реальном времени.

 

Ключевые слова: микроконтроллер, автоматизация, умное освещение, АЦП, датчик движения, Mik32 Амур, энергоэффективность.

 

В условиях роста тарифов на электроэнергию и глобального тренда на «зелёные» технологии, задачи автоматизации систем освещения приобретают особую актуальность. Интеллектуальные системы, способные адаптироваться к наличию людей и уровню естественной освещённости, позволяют сократить потребление энергии на 30–60% без потери комфорта.

Современный курс на импортозамещение в электронной промышленности требует разработки программно-аппаратных решений на базе отечественных компонентов. Микроконтроллер К1948ВК018 (Mik32 Амур) на базе ядра SCR1 (архитектура RISC-V) представляет собой перспективную платформу для построения таких систем, обладая необходимым набором периферии: портами GPIO, 12-битным АЦП, таймерами и интерфейсами связи [1].

Целью данной работы является разработка программного обеспечения для системы управления освещением, которая включает реле нагрузки, цифровой датчик движения (PIR) и аналоговый датчик освещённости (фоторезистор).

Система построена на базе отладочной платы “Старт” для Mik32 Амур [2]. К микроконтроллеру подключены следующие периферийные модули:

  1. Датчик движения (PIR) – цифровой выход, подключён к порту GPIO_0, пин PIN_8. Логическая «1» свидетельствует об обнаружении движения.
  2. Фоторезистор – аналоговый сигнал подаётся на вход АЦП GPIO_0, пин PIN_4 (канал ADC_CHANNEL3). Напряжение на входе пропорционально уровню освещённости.
  3. Реле управления нагрузкой – цифровой выход GPIO_0, пин PIN_5. Используется для коммутации цепи питания осветительного прибора.

Для работы с периферией микроконтроллера используются стандартные библиотеки аппаратного абстрагирования (HAL), поставляемые в составе SDK [1]:

#include "mik32_hal_pcc.h"

#include "mik32_hal_gpio.h"

#include "mik32_hal_adc.h"

Конфигурация системы тактирования (PCC) обеспечивает работу ядра и периферии на частоте 32 МГц от внутреннего генератора. Инициализация АЦП включает выбор канала и источника опорного напряжения:

void ADC_Init(void)

{

    hadc.Instance = ANALOG_REG;

    hadc.Init.Sel = ADC_CHANNEL;

    hadc.Init.EXTRef = ADC_EXTREF_OFF;

    hadc.Init.EXTClb = ADC_EXTCLB_ADCREF;

    HAL_ADC_Init(&hadc);

}

Функция чтения значения АЦП реализует опрос в режиме одиночного преобразования с ожиданием готовности результата [1]:

uint16_t ADC_ReadChannel(uint32_t channel)

{

    ADC_SEL_CHANNEL(hadc.Instance, channel);

    HAL_ADC_SINGLE(hadc.Instance);

    HAL_ADC_WaitValid(&hadc.Instance);

    return HAL_ADC_WaitAndGetValue(&hadc.Instance);

}

Алгоритм работает следующим образом:

  1. Производится опрос состояния датчика движения.
  2. При обнаружении движения (GPIO_PIN_HIGH) выполняется чтение значения с фоторезистора через АЦП.
  3. Полученное 12-битное значение (диапазон 0–4095) сравнивается с пороговым значением LIGHT_THRESHOLD (4000).
  4. Если значение превышает порог (условно «темно»), реле включается; в противном случае – выключается.
  5. Если движение не обнаружено, реле принудительно выключается для экономии энергии.

Фрагмент основного цикла:

while (1)

{

    uint32_t pir_state = HAL_GPIO_ReadPin(PIR_PIN_PORT, PIR_PIN);

 

    if (pir_state == GPIO_PIN_HIGH)

    {

        uint16_t light_value = ADC_ReadChannel(ADC_CHANNEL);

        if (light_value > LIGHT_THRESHOLD)

            Relay_On();   // Темно + движение = включить свет

        else

            Relay_Off();  // Светло = выключить

    }

    else

    {

        Relay_Off();      // Нет движения = выключить

    }

    HAL_DelayMs(50);      // Задержка для стабильности измерений

}

Пороговое значение LIGHT_THRESHOLD = 4000 подобрано экспериментально для условий типичного офисного помещения. Поскольку АЦП микроконтроллера имеет разрядность 12 бит, максимальное значение 4095 соответствует опорному напряжению [1]. Значение 4000 соответствует низкой освещённости, что позволяет включать освещение только при существенном затемнении.

Проект разработан в среде PlatformIO, что обеспечивает кроссплатформенность и удобство управления зависимостями [3]. Конфигурация сборки включает указание целевой платы, фреймворка и путей к библиотекам HAL.

Программное обеспечение было загружено в микроконтроллер и протестировано в лабораторных условиях. При имитации движения в затемнённом помещении реле срабатывало корректно, время отклика системы не превышало 100 мс. При достаточном освещении или отсутствии движения нагрузка отключалась. Система продемонстрировала стабильную работу без ложных срабатываний.

В ходе работы была успешно реализована система интеллектуального управления освещением на базе отечественного микроконтроллера Mik32 Амур. Применение связки цифрового датчика движения и аналогового датчика освещённости позволяет реализовать энергоэффективный алгоритм управления, исключающий работу освещения вхолостую.

Использование библиотеки HAL Mik32 упрощает разработку и обеспечивает переносимость кода. Дальнейшее развитие проекта может включать добавление беспроводного интерфейса для интеграции в систему «Умный дом» и реализацию алгоритмов машинного обучения для адаптивной подстройки под привычки пользователей.

 

Список литературы:
1. Информационный лист MIK32 АМУР версия: 1.2 // АО "Микрон" URL: https://docs.mikron.ru/wiki/_attachments/Information_AMUR_MIK32_r1_2.pdf
2. Отладочная плата “Старт”. Руководство по эксплуатации. // АО "Микрон" URL: https://docs.mikron.ru/wiki/_attachments/START-MIK32-V1-MANUAL-R1.5.pdf
3. PlatformIO Core Documentation. URL: https://docs.platformio.org