🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🪟 Проект: автоматические шторы на шаговом двигателе 28BYJ-48

Драйвер 28BYJ-48 и две кнопки

28BYJ-48 с ULN2003 через тонкий шнур или карниз-рейку сматывает или разматывает штору на фиксированное число шагов по нажатию одной из двух кнопок.

Как это работает

Шаговый двигатель 28BYJ-48, в отличие от обычного DC-моторчика, вращается не произвольно, а строго определёнными дискретными шагами — зная количество шагов на один полный оборот (2048 в полушаговом режиме через библиотеку Stepper), можно точно рассчитать, на сколько шагов нужно повернуть вал, чтобы смотать или размотать штору на известную длину шнура.

Драйвер ULN2003 нужен потому, что сам Arduino не может напрямую подать достаточный ток на обмотки шагового двигателя — драйвер содержит транзисторные ключи, которые Arduino включает и выключает в определённой последовательности через 4 управляющих пина (IN1-IN4), а драйвер коммутирует реальный ток на обмотки двигателя.

Логика в этом проекте предельно простая: двигатель не знает текущее положение шторы в абсолютных величинах, он просто крутится заданное число шагов в одну сторону по нажатию кнопки «открыть» и столько же шагов в обратную сторону по кнопке «закрыть» — если штора изначально была в полностью закрытом положении, этого достаточно, чтобы она доходила ровно до полностью открытого и обратно.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Подключите драйвер ULN2003: IN1-IN4 → D8, D9, D10, D11, VCC и GND драйвера — к питанию.
  2. Подключите кнопку «открыть»: сигнал → D2, кнопку «закрыть»: сигнал → D3 (с подтягивающими резисторами или используя внутренний `INPUT_PULLUP`, если кнопки замыкают на землю).
  3. Соберите механизм намотки: закрепите вал двигателя на катушке или ролике, на который наматывается шнур/тесьма шторы, через механическую передачу или напрямую.
  4. Перед окончательной установкой протестируйте направление вращения на малом числе шагов (например, 100) — если штора движется не в ту сторону, поменяйте местами порядок пинов в конструкторе `Stepper`.
  5. Подберите `travelSteps` опытным путём: начните с малого значения, проверьте фактический ход шторы и увеличивайте до нужной длины.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <Stepper.h>

const int stepsPerRevolution = 2048; // стандартное значение для 28BYJ-48 в полушаговом режиме
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11); // порядок IN1/IN3/IN2/IN4 важен для направления
const int openPin = 2;
const int closePin = 3;
const int travelSteps = 2048 * 3; // подберите под длину карниза и диаметр вала намотки

void setup() {
  Serial.begin(9600);
  pinMode(openPin, INPUT);
  pinMode(closePin, INPUT);
  myStepper.setSpeed(12); // оборотов в минуту — медленнее для штор, чтобы не дёргались резко
}

void loop() {
  if (digitalRead(openPin) == HIGH) {
    Serial.println("Открываю штору");
    myStepper.step(travelSteps);
  }
  if (digitalRead(closePin) == HIGH) {
    Serial.println("Закрываю штору");
    myStepper.step(-travelSteps);
  }
}

`travelSteps` подбирается опытным путём под длину карниза и диаметр вала намотки — начните с малого значения и увеличивайте, замеряя фактический ход шторы.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔄 поворотный стол на шаговом двигателе 28BYJ…⚙️ тахометр оборотов на фотопрерывателе KY-01… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 272 ₽ 245 ₽ (экономия 27 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA