Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

Componentes y suministros

Arduino Due 1
Módulo Bluetooth HC-06 1
Tira LED RGB LPD8806 1 m, IP20, 60 LEDs/m - 30 ICs/m 1
Regulador lineal con salida ajustable (LM317) 1
Amplificador operacional dual de propósito general (TI) 1
Resistencia 20 kΩ 3
Resistencia 220 Ω 1
Resistencia 1 kΩ 2
Transistor NPN de propósito general 1
Condensador 1000 µF 1
Condensador 100 nF 1
Condensador 1 µF 1
Resistencia 240 Ω 1
Potenciómetro 1 kΩ 1
Emisor IR (genérico) 1
Receptor IR (genérico) 1
Protoboard (genérico) 1
Cilindro de poliestireno expandido (Diám. 20 cm, Alto 10 cm) 2
Motor eléctrico 12V, XDRIVE 545-1 1
Corona dentada 60 dientes, 8 mm 1
Corona dentada 12 dientes, 3.2 mm 1
Correa dentada, 80 dientes, 6 x 200 mm 1
Barra roscada M8, 125 mm 3
Barra roscada M8, 330 mm (eje) 1
Anillo de contactos ASL9017 1
Cinta adhesiva negra, 48 mm (para rotor) 1
Disco de contrachapado (Ø 150 mm, esp. 10 mm) 2
Disco de aluminio (Ø 200 mm, esp. 2.5 mm) 2

Herramientas y máquinas necesarias

Aplicaciones y servicios en línea

Sobre el proyecto

Introducción

Este es mi primer proyecto con Arduino. Mi trabajo se inspiró en varios proyectos de makers que crearon pantallas de Persistencia de la Visión (POV) [2,3,4].

La persistencia de la visión (POV) es la ilusión óptica por la cual múltiples imágenes discretas se fusionan en una sola imagen en la mente humana, y se cree que explica la percepción del movimiento en el cine y las películas animadas [1].

Los proyectos [2,3,4] implementan pantallas esféricas POV, usando LEDs discretos y registros de desplazamiento discretos. En cambio, mi dispositivo utiliza un cilindro rotativo y tiras LED RGB comerciales como pantalla POV.

Las características principales de mi cilindro POV son:

Resumen técnico

Construcción mecánica

La construcción mecánica se muestra en el dibujo siguiente.

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

El dispositivo consta de un chasis y un rotor. El chasis consiste en dos discos circulares de contrachapado conectados mediante tres barras roscadas. La distancia entre los discos es de 120 mm. En el centro hay dos rodamientos de bolas y el eje. Para el eje también se usa una barra roscada. El eje es accionado por un motor eléctrico mediante dos coronas dentadas y una correa dentada. La velocidad de rotación alcanza hasta 1300 RPM (22 Hz).

El rotor consta de dos cilindros de poliestireno expandido y dos discos circulares de aluminio. Los cilindros de poliestireno están pegados al disco inferior. El disco superior es extraíble y se usa para fijar el rotor al eje.

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

La electrónica se ubica en la parte superior del rotor e incluye:

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

La alimentación (7.5 V) se suministra a la placa de alimentación mediante contactos deslizantes y un anillo de contactos.

Se usan cuatro tiras LED con un total de 40 LEDs RGB. Están conectadas por cables al shield de Arduino.

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

Las cuatro tiras LED se colocan como se muestra en el dibujo siguiente. Al usar cuatro tiras desplazadas, la distancia en el eje Y entre LEDs se divide por 4. La distancia en el eje X se gestiona por software. El software actualiza los 40 LEDs 151 veces por revolución. La cuadrícula en el dibujo corresponde a los píxeles visibles.

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

Circuitos electrónicos

El circuito electrónico se muestra en el PDF esquemático adjunto.

Hay una placa de alimentación con un regulador de voltaje LM317. El voltaje de entrada es 7.5 V y el de salida 4.6 V. El regulador alimenta la placa Arduino Due y las tiras LED.

También hay un shield casero para Arduino. Contiene los cables conectores a las tiras LED y un circuito para el receptor IR. El receptor IR detecta la posición del rotor y está conectado a una entrada de temporizador/interrupción del Arduino.

Hay cuatro tiras LED denominadas STRIP0 a STRIP3. Cada tira tiene 5 controladores LPD8806 y 10 LEDs RGB. STRIP0 se conecta a USART0 y STRIP1 a USART1; ambos USARTs operan en modo SPI. STRIP2 y STRIP3 están conectadas en serie y son controladas por la interfaz SPI del Arduino.

Para la comunicación con PC, un módulo Bluetooth HC-06 se conecta a USART3. El módulo Bluetooth se alimenta con los 3.3 V proporcionados por la placa Arduino.

Software Arduino

El software Arduino consta del programa principal (mpc.ino) y las siguientes librerías:

La salida periódica de imágenes a las tiras LED se realiza mediante interrupciones. Hay dos buffers de trama alternados. Cada buffer contiene una imagen de 40 x 151 píxeles; cada píxel es un índice de paleta de colores de un byte. Mientras un buffer se envía a las tiras LED mediante interrupción y DMA, el otro buffer es preparado por el programa principal (p. ej., decodificando imágenes GIF). El cambio de buffers lo realiza la rutina de interrupción de trama.

Hay una interrupción de trama por revolución, disparada por el sensor IR. La rutina mide (mediante un temporizador hardware) la velocidad de rotación y programa interrupciones periódicas de columna (una por columna, 150 por revolución) con un temporizador hardware. La rutina de interrupción de columna envía la columna actual a las tiras LED. Por rendimiento, la salida se realiza mediante tres canales DMA que operan en paralelo.

El código fuente completo está disponible en GitHub.

Programa de control en PC

El programa de control en PC (pccp) es una herramienta de línea de comandos escrita en C++. Se ejecuta bajo Cygwin y se comunica con Arduino vía Bluetooth. pccp permite controlar el cilindro POV con comandos de un carácter:

pccp también proporciona interfaz a una interfaz gráfica. Muestra la velocidad de rotación actual (en Hz y µs) y un contador de tramas.

El código fuente completo está en GitHub.

Interfaz gráfica de usuario

La interfaz gráfica es una Universal Windows App. Permite seleccionar el archivo GIF a mostrar en el cilindro POV. La app deriva de la app FilePicker de "Microsoft Windows Universal Samples" [5].

Construye un impresionante cilindro POV con Arduino Due – Guía paso a paso

El código fuente completo está en GitHub.

Referencias

  1. https://en.wikipedia.org/wiki/Persistence_of_vision
  2. RGB LED GLOBE - POV - 40 x 200
  3. POV Globe Display RGB
  4. POV Globe Display RGB - Descripción del proyecto (en alemán)
  5. https://github.com/Microsoft/Windows-universal-samples

Código

Código fuente Arduino para cilindro POV

https://github.com/hanoba/povc-arduino

Programa de control PC para cilindro POV

Programa C++ de línea de comandos bajo Cygwin
https://github.com/hanoba/povc-pccp

Interfaz gráfica para cilindro POV

App Universal Windows
https://github.com/hanoba/povc-win-app

Esquemáticos

Este es el esquemático.

Proceso de manufactura

  1. Reloj POV con Arduino: Construye una pantalla LED de persistencia de visión
  2. Construya un osciloscopio Arduino de 20 kHz en LCD Nokia 5110: Guía DIY fácil
  3. Persianas Inteligentes: Control Automático de Luz con Arduino y Energía Solar
  4. Construye un Tres en Raya (Tic-Tac-Toe) Táctil en Arduino Due
  5. Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
  6. Reloj de Palabras en Italiano con Arduino Nano, NeoPixel, LCD y RTC
  7. Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
  8. Sensor de obstáculos IR casero con Arduino – Tutorial fácil con LED IR y fotodiodo
  9. Medidor kWh Sigfox Fiable con Arduino MKR Fox 1200
  10. Monitor de temperatura con Bluetooth usando Arduino Nano
  11. Circuito de entrada analógica aislada para Arduino