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
- Шаговый мотор NEMA 17 (17HS4401): Обеспечивает крутящий момент
0.45–0.55 Н·м. Этого достаточно для уверенного перемещения блэкаут-портьер весом до15 кгпо всей длине карниза. - Драйвер TMC2209 StealthChop2: Драйвер интерполирует шаги до
1/256 микрошага, благодаря чему двигатель работает абсолютно бесшумно, без характерного писка и вибраций. - Бездатчиковое позиционирование (StallGuard4): Драйвер измеряет обратную ЭДС в обмотках мотора. При упоре каретки шторы в край стены двигатель фиксирует резкий скачок нагрузки и останавливается без необходимости установки концевых микровыключателей.
IMPORTANT
Для надежной фиксации зубчатого ремня детали кронштейнов и шкива натяжителя необходимо печатать на 3D-принтере из прочного PETG или ABS/ASA пластика с заполнением не менее 60%. Обычный PLA-пластик со временем деформируется под постоянным натяжением ремня.
Схема электрических соединений и настройка тока
Питание контроллера и драйвера разделено: мотор питается напряжением 12В от блока питания, а микроконтроллер ESP32 получает стабильные 5В через встроенный стабилизатор или понижающий 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%).
Популярные сценарии автоматизации:
- «Световой будильник (Рассвет)»: В
07:30утра по будням Алиса плавно открывает шторы на20%, а через 15 минут — на100%для комфортного пробуждения от естественного света. - «Режим кинотеатра»: По команде «Алиса, время кино» шторы полностью закрываются, светодиодная лента WLED переходит в теплый синий тон, а ТВ включает фильм.
- «Защита от солнца в жару»: При повышении температуры в комнате выше
+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 и автоматизации штор
- Электропривод рулонных штор на цепочке — автоматизация оконных жалюзи и рулонных полотен.
- Управление адресной лентой WLED на ESP32 с Алисой — атмосферная подсветка карнизов.
- Миллиметровый радар присутствия HLK-LD2410 на ESP32 — открытие штор при входе человека.
- Умные гаражные ворота на ESP32 с Алисой — управление сервоприводами и реле.
- Автоматическое закрытие штор по датчику освещенности — логика сценариев освещенности.
Инструкция по настройке
Шаг 1: Механическая сборка профиля карниза и натяжение ремня GT2
Установка зубчатого ремня GT2 6 мм внутри алюминиевого карнизного профиля с креплением кареток для штор.
Шаг 2: Пайка платы управления ESP32 и подключение драйвера TMC2209
Коммутация выводов STEP, DIR, EN и шины UART драйвера к контактам GPIO микроконтроллера ESP32.
Шаг 3: Прошивка ESPHome, калибровка длины и проброс в Алису
Загрузка конфигурации компонента cover в ESPHome, автоопределение крайних точек и создание сценариев в Яндексе.
Обсуждение статьи