DIY раздвижной электрокарниз на ESP32 и TMC2209 с Алисой

DIY раздвижной электрокарниз на ESP32 и TMC2209 с Алисой
Достоинства
  • Себестоимость в 4–5 раз ниже фабричных брендовых электрокарнизов при аналогичной надежности
  • Абсолютно бесшумная работа привода благодаря ультратихому драйверу TMC2209 StealthChop2
  • Плавная регулировка степени открытия штор от 0% до 100% с шагом в 1% через голосовые команды Алисы
  • Автоматическая калибровка крайних положений по току двигателя StallGuard без механических концевиков
Недостатки
  • Требуется наличие базовых навыков пайки, сборки механики и прошивки микроконтроллеров
  • Необходима печать монтажных кронштейнов и шкивов на 3D-принтере из прочного PETG-пластика
  • Для интеграции в Алису требуется локальный сервер Home Assistant или мост ESPHome
Главное из статьи:
  • Шаговый мотор NEMA17 в паре с зубчатым ремнем GT2 перемещает тяжелые портьеры весом до 15 кг.
  • Драйвер TMC2209 обеспечивает аппаратную тишину и бездатчиковое определение упора шторы.
  • Управление через Алису позволяет создавать сценарии рассвета, кинотеатра и автоматического закрытия на ночь.

Фабричные раздвижные электрокарнизы от известных производителей (Aqara, Somfy, Tuya) стоят от 15 000 до 35 000 рублей за стандартное трехметровое окно, а в случае нестандартных проемов цена возрастает еще сильнее. Создание DIY электрокарниза для штор своими руками на базе ESP32 и шагового двигателя NEMA 17 позволяет получить сверхнадежную, ультратихую конструкцию с интеграцией в экосистему Яндекс Умного Дома всего за небольшую долю магазинной стоимости.

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


Архитектура и компоненты привода

Механическая основа конструкции — стандартный двухрядный алюминиевый потолочный профиль для штор или специализированный открытый карниз, внутри которого циркулирует закольцованный полиуретановый зубчатый ремень GT2 шириной 6 мм со стальным или кевларовым кордом.

+-----------------------+
|  Шина питания 12V DC  |
+-----------+-----------+
            |
            v
+-----------------------+
| Драйвер TMC2209       | <--- ESP32 (Wi-Fi)
+-----------+-----------+      | (UART / Step)
            |                  v
            |           +-----------------+
            |           | Яндекс Станция  |
            v           | (Дом с Алисой)  |
+-----------------------+ +-----------------+
| Шаговый мотор NEMA 17 |
+-----------+-----------+
            | (Вал + Шкив GT2)
            v
+-----------------------+
| Ременная передача     | ---> Движение штор
+-----------------------+

Преимущества связки NEMA 17 + TMC2209

  1. Шаговый мотор NEMA 17 (17HS4401): Обеспечивает крутящий момент 0.45–0.55 Н·м. Этого достаточно для уверенного перемещения блэкаут-портьер весом до 15 кг по всей длине карниза.
  2. Драйвер TMC2209 StealthChop2: Драйвер интерполирует шаги до 1/256 микрошага, благодаря чему двигатель работает абсолютно бесшумно, без характерного писка и вибраций.
  3. Бездатчиковое позиционирование (StallGuard4): Драйвер измеряет обратную ЭДС в обмотках мотора. При упоре каретки шторы в край стены двигатель фиксирует резкий скачок нагрузки и останавливается без необходимости установки концевых микровыключателей.

IMPORTANT

Для надежной фиксации зубчатого ремня детали кронштейнов и шкива натяжителя необходимо печатать на 3D-принтере из прочного PETG или ABS/ASA пластика с заполнением не менее 60%. Обычный PLA-пластик со временем деформируется под постоянным натяжением ремня.


Схема электрических соединений и настройка тока

Питание контроллера и драйвера разделено: мотор питается напряжением 12В от блока питания, а микроконтроллер ESP32 получает стабильные через встроенный стабилизатор или понижающий DC-DC модуль.

ESP32 GPIO 25 (STEP)  ──> STEP (TMC2209)
ESP32 GPIO 26 (DIR)   ──> DIR  (TMC2209)
ESP32 GPIO 27 (EN)    ──> EN   (TMC2209)
ESP32 GPIO 17 (TX)    ──> PDN_UART (TMC2209 через резистор 1 кОм)
ESP32 3.3V            ──> VIO (Логика драйвера)
БП 12V (+)            ──> VMOT (Силовое питание мотора)
Общая земля (GND)     ──> GND ESP32 + GND БП 12V

Расчет опорного напряжения Vref драйвера

Для стабильной работы мотора без перегрева необходимо правильно настроить рабочий ток. Для шагового мотора 17HS4401 с номинальным током 1.5 А оптимальным является рабочий ток 0.8–0.9 А.

Опорное напряжение на подстроечном резисторе вычисляется по формуле: Vref = I_rms * 1.41 * 0.11 * 8 / 2.5 Для тока 0.85 А напряжение Vref на тестовой точке драйвера должно составлять ровно 1.20 В. При использовании UART-режима ток задается программно прямо в коде прошивки без вращения подстроечника.

WARNING

Обязательно установите электролитический конденсатор емкостью 100–470 мкФ (на напряжение не менее 25В) между силовыми клеммами VMOT и GND драйвера TMC2209 как можно ближе к плате. Это предотвратит выгорание силовых ключей драйвера от индуктивных выбросов при резкой остановке мотора.


Конфигурация прошивки ESPHome

Для управления карнизом используется компонент tmc2209 по шине UART и платформа cover в ESPHome:

uart:
  id: uart_bus
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 115200

stepper:
  - platform: tmc2209
    id: curtain_stepper
    step_pin: GPIO25
    dir_pin: GPIO26
    enable_pin: GPIO27
    uart_id: uart_bus
    address: 0
    microsteps: 16
    current: 800mA
    stealthchop: true
    max_speed: 1200 steps/s
    acceleration: 600 steps/s ^ 2

cover:
  - platform: template
    name: "Шторы в гостиной"
    device_class: curtain
    id: living_room_curtain
    has_position: true
    open_action:
      - stepper.set_target:
          id: curtain_stepper
          target: 0
    close_action:
      - stepper.set_target:
          id: curtain_stepper
          target: 18500
    stop_action:
      - stepper.stop: curtain_stepper

После калибровки количество шагов полного цикла (в примере — 18500 шагов) сохраняется в энергонезависимой памяти ESP32, что гарантирует сохранение позиции даже после отключения электричества.


Интеграция с Алисой и сценарии умного дома

Устройство пробрасывается из Home Assistant в приложение «Дом с Алисой» через официальный навык Yandex Smart Home. В интерфейсе Алисы шторы отображаются как полноценное моторизованное устройство с ползунком процента открытия (0–100%).

Популярные сценарии автоматизации:

  1. «Световой будильник (Рассвет)»: В 07:30 утра по будням Алиса плавно открывает шторы на 20%, а через 15 минут — на 100% для комфортного пробуждения от естественного света.
  2. «Режим кинотеатра»: По команде «Алиса, время кино» шторы полностью закрываются, светодиодная лента WLED переходит в теплый синий тон, а ТВ включает фильм.
  3. «Защита от солнца в жару»: При повышении температуры в комнате выше +25 °C по датчику климата шторы закрываются на 70%, предотвращая нагрев комнаты солнцем и экономя ресурс кондиционера.

Сравнение самодельного и фабричного электрокарнизов

ПараметрDIY карниз на ESP32 + NEMA17Брендовый карниз (Aqara Curtain Driver)
Ориентировочная стоимость~2 500 – 3 500 ₽14 000 – 22 000 ₽
Уровень шума приводаМенее 25 дБ (TMC2209)30–35 дБ
Протокол связиWi-Fi (ESPHome / MQTT)Zigbee / Matter
Плавность регулировкиТочность до 1 ммШаг 5–10%
Ремонтопригодность100% заменяемые радиодеталиМоноблочный закрытый корпус

TIP

Если вам нужно сохранить возможность открывать шторы вручную руками (функция Touch Motion), настройте натяжение ремня так, чтобы мотор не блокировал вал в режиме ожидания (для этого параметр enable_pin отключает силовые каскады при завершении движения).


Смежные руководства по DIY и автоматизации штор

Инструкция по настройке

1

Шаг 1: Механическая сборка профиля карниза и натяжение ремня GT2

Установка зубчатого ремня GT2 6 мм внутри алюминиевого карнизного профиля с креплением кареток для штор.

2

Шаг 2: Пайка платы управления ESP32 и подключение драйвера TMC2209

Коммутация выводов STEP, DIR, EN и шины UART драйвера к контактам GPIO микроконтроллера ESP32.

3

Шаг 3: Прошивка ESPHome, калибровка длины и проброс в Алису

Загрузка конфигурации компонента cover в ESPHome, автоопределение крайних точек и создание сценариев в Яндексе.

SH
Умный Дом с АлисойTG Канал
Автор статьи Основатель и главный редактор
7+ лет в IoT

Проектирует и тестирует экосистемы умных домов с 2017 года. Создатель испытательного стенда Яндекс Станций и Home Assistant. Пишет подробные технические руководства по построению бесшовных локальных сетей.

Обсуждение статьи