Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умные шторы: автоматическое управление светом на Arduino с солнечной энергией

Компоненты и материалы

КомпонентКоличество
SparkFun Arduino Pro Mini 328 — 5V/16MHz1
Arduino UNO1
Датчик температуры (LM35DZ)1
Транзистор PN2907A (PNP)1
Фоторезистор (LDR)1
Резистор 10 кОм1
Резистор 1 кОм1
Солнечная панель 5V 1.5W1
DC-DC преобразователь повышающий (5V)1
Модуль зарядки LiPo1
Разъемы JST1 комплект
Корпус для 4×АА батарей1
Сервопривод (Tower Pro MG996R или аналогичный)1
Литий-ионный аккумулятор 3.6V (18650)1
Муфта сервопривода1
Конденсатор 100 нФ1
Печатная плата (OSH Park или аналогичная)1
Монтажные провода1 комплект

Необходимые инструменты

Приложения и сервисы

О проекте

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

Задачи штор

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

Выявленные проблемы и решения

Шаг 1: Список деталей

Использую Arduino — знакомая платформа. Заказываю у SparkFun (локально, можно забрать в день заказа) и на banggood.com / taydaelectronics.com (дешево, но долгая доставка).

Шаг 2: Инструменты

Шаг 3: Прототипирование

Собрал схему на макетной плате для написания кода и замеров тока/напряжения.

  1. Подключите модуль зарядки к аккумулятору и солнечной панели (плюс к плюсу, минус к минусу).
  2. Плюс панели — на аналоговый вход A0 (логирование напряжения панели).
  3. Аккумулятор — на вход DC-DC бустера.
  4. Плюс аккумулятора — на A1 (логирование напряжения батареи).
  5. Выход бустера 5 В — на RAW Arduino.
  6. Земля бустера — общая земля.
  7. Вывод VCC Arduino (стабильные 5 В) — ко всем датчикам.
  8. Сервопривод питание — через PNP-транзистор от выхода бустера.
  9. LDR + 10 кОм к земле, точка соединения — на A3 (освещенность).
  10. LM35DZ: питание 5 В (VCC Arduino), земля — общая, выход — на A2 (температура).
  11. PN2907A: эмиттер — 5 В от бустера, база через 1 кОм на pin 11 (управление), коллектор — питание сервопривода.
  12. Земля сервопривода — общая земля.
  13. Сигнальный провод сервопривода — pin 10 (PWM).

При прототипировании солнечную панель и модуль зарядки можно не подключать.

Важное открытие: простое подключение сервопривода добавило 14 мА тока покоя. Низковольтный ключ (Low-Side Switch) на NPN не помог — ток оставался высоким. PNP в схеме High-Side Switch решил проблему: в покое ток стал таким, будто сервопривода нет.

Шаг 4: Программирование

Для прошивки Pro Mini использовал Arduino Uno как программатор (снял микроконтроллер с Uno, соединил 5V, GND, TX→TX0, RX→RXI, RESET→RST). В Arduino IDE выбираю «Arduino Pro or Pro Mini». Можно перепрошивать без разборки.

Скетч SmartBlinds доступен на GitHub (ссылки в разделе Code). Используется библиотека LowPower (rocketlabs) для сна и класс EEPROMLog для логирования.

Шаг 5: Начало сборки

Припаял твердые провода к разъемам JST для удлинения и удобства отключения. Солнечной панели добавил ~60 см провода для оптимального размещения в окне. Печатную плату подрезал под размер вертикальной рейки штор. Компоновку делал максимально компактной, учитывая высоту разъема сервопривода. Снял дорожку к индикаторному LED на DC-DC бустере (экономия ~1 мА). Желательно отодвинуть датчик температуры от сервопривода/транзистора — у меня он рядом, что может влиять на показания.

Шаг 6: Финальная сборка и прошивка

Раскомментировал логирование в EEPROM (Pro Mini имеет 1 Кбайт EEPROM, ~42 записи по 22 байта — менее месяца при 2 действиях в день). Последний замер тока покоя — ~1.5 мА. При батарее 900 мАч — ~600 часов без зарядки. В активном режиме 25 мА, при движении штор 200–500+ мА. Компромисс: оставил индикацию LED для визуального контроля.

Шаг 7: Установка

  1. Удалите спиральный привод шнура (если есть) — он создает слишком большое сопротивление для сервопривода.
  2. Сверлите отверстие для LDR (наружной стороне рейки).
  3. Дремелем вырежьте отверстие под сервопривод (наружной стороне, чтобы не было видно изнутри).
  4. Зашлифуйте/заклейте края скотчем.
  5. Вставьте плату в рейку, выведите LDR в отверстие.
  6. Установите сервопривод на вал штор, затяните зажимной винт. Скетч при старте двигает серво в 90° на 10 сек — в это время вручную выставьте шторы в 90° и зафиксируйте.
  7. Повесьте шторы на место.
  8. Солнечную панель закрепите в верхней трети центрального стекла, провода проложите по перегородкам, закрепите скотчем.
  9. Подключите панель к схеме (JST).
  10. Подключите аккумулятор, быстро вставьте рейку на место. Шторы сдвинутся в центр, через 10 сек — в рабочее положение.
  11. Установите декоративную накладку.
  12. Расслабьтесь с любимым напитком.

Шаг 8: Наслаждайтесь!

Шторы работают плавно и автоматически. Через несколько месяцев эксплуатации — поведение идеальное. Интересная особенность: если включен свет на втором этаже и в прихожей внизу, шторы остаются открытыми после темноты — отлично для демонстрации гостям. В жаркие дни шторы закрываются от перегрева еще когда в доме комфортные 70°F (~21°C), так как у окна температуру выше.

Код

Библиотеки и скетчи на GitHub:

Схемы

Схема в формате Fritzing: SmartBlinds.fzz

Производственный процесс

  1. Умный бармен: создайте свою Raspberry Pi-станцию для коктейлей
  2. Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
  3. Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
  4. Умные самозавязывающиеся туфли с встроенной сборкой энергии
  5. IoT-солнечный трекер на Arduino: умное управление энергией с мониторингом через Cayenne
  6. Умная робо-рука на Arduino: простое DIY-руководство
  7. Умная система мониторинга температуры для школ: точно, в реальном времени, безопасно
  8. Умная перчатка для перевода жестов в текст (язык жестов)
  9. Умный зарядный мультиплексор для 6 батареек на Arduino Uno с LCD и ультразвуковым управлением
  10. Гальванически разделённый аналоговый вход для Arduino на LM331 и оптопаре 4N25