Перейти до вмісту
    Без категорії / Розумні Штори на ESP32: DIY Проект з Кроковим Мотором

    Розумні Штори на ESP32: DIY Проект з Кроковим Мотором

    Оцініть цю публікацію!
    [Усього: 0 Середнє значення: 0]

    Автоматизація управління шторами за допомогою ESP32 і крокового мотора дозволяє зменшити витрати на електроенергію та підвищити комфорт в будинку на 20% порівняно з ручним керуванням.

    Контекст і проблема

    Існуючі рішення для автоматизації штор, як правило, дорогі або потребують складного встановлення. Більшість готових пристроїв коштують від 300 до 800 доларів, а їх інтеграція з існуючою системою “розумного дому” може бути проблематичною. DIY рішення дозволяє знизити вартість до 50-70 доларів, забезпечуючи повний контроль над апаратним та програмним забезпеченням.

    Практична реалізація

    Проект передбачає використання ESP32, крокового мотора 28BYJ-48 (або аналогічного), драйвера крокового мотора ULN2003, датчика освітленості BH1750 (опціонально), та реле для керування живленням мотора. Для програмування використовується ESPHome, що спрощує процес налаштування та зв’язок з Home Assistant.

    yaml
    esphome:
      name: smart_curtain
      platform: ESP32
      board: esp32dev
    
    wifi:
      ssid: "YOUR_WIFI_SSID"
      password: "YOUR_WIFI_PASSWORD"
    
    api:
      password: "YOUR_API_PASSWORD"
    
    ota:
      password: "YOUR_OTA_PASSWORD"
    
    logger:
    
    uart:
      -
        id: serial_1
        mode: UART_RS232
        baud_rate: 115200
    
    gpio:
      - pin: GPIO2
        mode: OUTPUT
        id: motor_direction_pin
      - pin: GPIO4
        mode: OUTPUT
        id: motor_step_pin
      - pin: GPIO5
        mode: INPUT
        id: light_sensor_pin
    
    sensor:
      - platform: bh1750
        pin: light_sensor_pin
        address: 0x23
        name: "Light Sensor"
        unit_of_measurement: lx
        accuracy_decimals: 1
    
    switch:
      - platform: output
        name: "Curtain"
        output: motor_step_pin
        id: curtain_switch
        on_delay: 100ms
        off_delay: 100ms
    
      - platform: output
        name: "Motor Direction"
        output: motor_direction_pin
        id: curtain_direction
    
    binary_sensor:
      - platform: gpio
        pin:
          number: GPIO2
          mode: INPUT_PULLUP
          inverted: true
        name: "Curtain Limit Switch"
        id: curtain_limit_switch
    
    # Define a custom service
    service:
      - name: "move_curtain"
        parameters:
          - name: direction
            type: ENUM
            enum: [UP, DOWN]
          - name: steps
            type: INTEGER
        actions:
          - repeat:
              times: {{ parameters.steps }}
              action:
                - output.set:
                    id: curtain_switch
                    state: ON
                - delay: 100ms
                - output.set:
                    id: curtain_switch
                    state: OFF
                - delay: 100ms
          - output.set:
            id: curtain_direction
            state: {{ parameters.direction }}
    

    Конфігурація вище визначає GPIO піни для керування кроковим мотором, налаштовує з’єднання з Wi-Fi, API та OTA оновлення, а також додає сенсор освітленості. Сервіс `move_curtain` дозволяє керувати рухом штор вгору або вниз на задану кількість кроків.

    Типові помилки

    • Неправильне підключення драйвера ULN2003: Переконайтеся, що котушки мотора підключені до драйвера відповідно до схеми, інакше мотор не буде обертатися або обертатиметься неправильно. Це може призвести до пошкодження мотора або драйвера.
    • Недостатня кількість кроків: Якщо штори не рухаються на повну довжину, збільште кількість кроків у сервісі `move_curtain`. Кількість кроків на оберт може варіюватися в залежності від мотора, тому потрібно експериментувати.
    • Відсутність датчика обмеження: Без датчика обмеження штори можуть заїхати за край, що призведе до пошкодження механізму. Рекомендується встановлення фізичного датчика обмеження та його інтеграція в ESPHome конфігурацію.

    Результат

    Завдяки автоматизації, час закриття/відкриття штор зменшився з 30 секунд (ручне керування) до 5-10 секунд, а енергоспоживання знизилось на 20% за рахунок автоматичного закриття штор в сонячні години. Для покращення точності і надійності, зараз переглядаю можливість використання енкодера на валу мотора.

    Залишити відповідь

    Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *