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

Создание впечатляющего POV-цилиндра на Arduino Due — пошаговое руководство

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

Компонент Количество Примечание
Arduino Due 1 Основной микроконтроллер
Bluetooth-модуль HC-06 1 Беспроводное управление с ПК
LED-лента LPD8806 RGB, 1 м, 60 LED/м, IP20 1 40 RGB LED всего (4 полосы по 10 LED)
Линейный регулятор напряжения (регулируемый) 1 LM317 для питания 4.6 В
Два операционных усилителя Texas Instruments (General Purpose Dual Op-Amp) 1 Для ИК-приёмника
Резистор 20 кОм 3
Резистор 220 Ом 1
Резистор 1 кОм 2
Транзистор NPN общего назначения 1
Конденсатор 1000 мкФ 1
Конденсатор 100 нФ 1
Конденсатор 1 мкФ 1
Резистор 240 Ом 1
Подстроечный резистор 1 кОм 1
ИК-передатчик 1 Для синхронизации ротора
ИК-приёмник 1 Определение позиции ротора
Беспаечная макетная плата 1
Пенопластовый цилиндр (Ø200 мм, высота 100 мм) 2 Ротор дисплея
Электродвигатель 12 В, XDRIVE 545-1 1 Привод ротора
Корончатое колесо 60 зуб., 8 мм 1
Корончатое колесо 12 зуб., 3.2 мм 1
Зубчатый ремень, 80 зуб., 6×200 мм 1
Шплинт M8, 125 мм 3 Соединение дисков шасси
Шплинт M8, 330 мм 1 Вал ротора
Контактное кольцо ASL9017 1 Питание вращающейся части
Клейкая лента (чёрная, 48 мм) 1 Крепление лент на роторе
Фанерный диск (Ø150 мм, толщина 10 мм) 2 Диски шасси
Алюминиевый диск (Ø200 мм, толщина 2.5 мм) 2 Диски ротора

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

Программное обеспечение и онлайн-сервисы

О проекте

Введение

Это мой первый проект на Arduino. Вдохновением послужили проекты POV-глобусов (Persistence of Vision — эффект стойкости зрения), использующие дискретные LED и сдвиговые регистры. Мой проект реализует POV-дисплей в виде вращающегося цилиндра с готовыми RGB LED-лентами.

Эффект стойкости зрения (POV) — оптическая иллюзия, при которой множество дискретных изображений сливается в человеческом сознании в единое целое. Этот принцип лежит в основе восприятия движения в кино и анимации.

Основные характеристики

Технические параметры

Механическая конструкция

Устройство состоит из шасси и ротора. Шасси образуют два круглых фанерных диска, соединённых тремя шплинтами M8 (расстояние 120 мм). В центре установлены два шарикоподшипника и вал (шплинт M8 330 мм). Привод осуществляется электродвигателем через две корончатые передачи и зубчатый ремень.

Ротор состоит из двух пенопластовых цилиндров и двух алюминиевых дисков. Нижний диск склеен с цилиндрами, верхний съёмный — для крепления к валу. Электроника размещена в верхней части ротора: плата Arduino Due, самодельный щит, плата питания и Bluetooth-модуль HC-06.

Питание 7.5 В поступает на плату питания через скользящие контакты и контактное кольцо. На плате питания регулятор LM317 понижает напряжение до 4.6 В для Arduino Due и LED-лент.

Четыре LED-ленты (всего 40 RGB LED) подключены к щиту Arduino. Ленты расположены со сдвигом, что делит расстояние по оси Y на 4. Программно обеспечивается развёртка по оси X: программное обеспечение обновляет все 40 LED 151 раз за оборот.

Электрическая схема

Полная схема доступна в прикреплённом PDF. Основные узлы:

Программное обеспечение Arduino

Составляет основной скетч mpc.ino и библиотеки:

Вывод кадров на LED-ленты реализован через прерывания. Используются два кадровых буфера (по 40×151 пикселей, 1 байт = индекс палитры). Пока один буфер выводится через прерывание и DMA, второй готовится основной программой (декодирование GIF). Переключение буферов происходит в прерывании кадра.

Прерывание кадра (по сигналу ИК-датчика за оборот) измеряет скорость вращения и программирует периодические столбцовые прерывания (150 за оборот) через аппаратный таймер. Прерывание столбца выводит текущий столбец на ленты. Для производительности используются три DMA-канала, работающих параллельно.

Полный исходный код доступен на GitHub.

Программа управления на ПК (pccp)

Консольная утилита на C++ (работает под Cygwin), обменивается данными с Arduino через Bluetooth. Команды (одиночные символы):

Программа отображает скорость вращения (Гц и мкс) и счётчик кадров. Исходный код на GitHub.

Графический интерфейс (Universal Windows App)

Позволяет выбирать GIF-файл для отображения. Основан на примере FilePicker из Microsoft Windows Universal Samples. Исходный код на GitHub.

Ссылки

  1. Persistence of vision — Wikipedia
  2. RGB LED GLOBE - POV - 40 x 200
  3. POV Globe Display RGB
  4. POV Globe Display RGB — описание проекта (на немецком)
  5. Microsoft Windows Universal Samples

Исходный код

Схемы

Схема доступна в разделе Schematics проекта.

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

  1. Arduino POV-часы: сборка дисплея на эффекте сохранения образа
  2. Создание осциллографа на Arduino Nano с дисплеем Nokia 5110 (20 кГц): простое DIY-руководство
  3. Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
  4. Создание сенсорной игры «Крестики-нолики» на Arduino Due
  5. Умная копилка: управление монетоприёмником на Arduino Nano
  6. Итальянские словесные часы на Arduino Nano, NeoPixel, LCD и RTC
  7. Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
  8. Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
  9. Надежный счетчик кВт·ч на Sigfox с Arduino MKR Fox 1200
  10. Гальванически разделённый аналоговый вход для Arduino на LM331 и оптопаре 4N25