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

Cilindro de punto de vista con Arduino debido

Componentes y suministros

Arduino debido
× 1
Regulador lineal con salida ajustable
× 1
Amplificador operacional doble de uso general de Texas Instruments
× 1
Resistencia de 20 k ohmios
× 3
Resistencia 220 ohmios
× 1
Resistencia 1k ohm
× 2
Transistor de uso general NPN
× 1
Condensador 1000 µF
× 1
Condensador 100 nF
× 1
Condensador 1 µF
× 1
Resistencia de 240 ohmios
× 1
Resistencia de ajuste 1k ohm
× 1
Transmisor de infrarrojos (genérico)
× 1
Receptor de infrarrojos (genérico)
× 1
Breadboard (genérico)
× 1
Cilindro de espuma de poliestireno (diámetro:20 cm, altura:10 cm)
× 2
Motor eléctrico, 12V, XDRIVE 545-1
× 1
Corona dentada 60 T 8 MM
× 1
Crown Gear 12 T, 3,2 MM
× 1
Correa dentada, 80 T, 6 x 200 MM
× 1
Barra roscada, M8, 125 mm
× 3
Barra roscada, M8, 330 mm
Usado como eje.
× 1
Anillo de contacto ASL9017
× 1
Cinta adhesiva (negra, 48 mm)
Se usa para pegar en el rotor
× 1
Disco de madera contrachapada (Ø 150 mm, grosor:10 mm)
× 2
Disco de aluminio (Ø 200 mm, grosor:2,5 mm)
× 2

Herramientas y máquinas necesarias

Soldador (genérico)
Sierra de desplazamiento (genérica)
Taladro de banco (genérico)
Fuente de alimentación de laboratorio (genérica)
Laptop con Windows 10 (genérico)

Aplicaciones y servicios en línea

Microchip Technology Microchip Studio
Usado para el desarrollo de software de Arduino
Arduino IDE
Puede usarse como alternativa a Atmel Studio IDE
Cygwin
Cygwin proporciona una funcionalidad similar a una distribución de Linux en Windows. Se utiliza para el programa de control de PC.
Microsoft Visual Studio 2015
Se utiliza para la interfaz gráfica de usuario.

Acerca de este proyecto

Introducción

Este es mi primer proyecto Arduino. Mi trabajo se inspiró en varios proyectos de creadores que crearon Persistence of Vision Displays [2, 3, 4].

Persistencia de la visión (POV) se refiere a la ilusión óptica mediante la cual múltiples imágenes discretas se mezclan en una sola imagen en la mente humana y se cree que es la explicación de la percepción del movimiento en el cine y las películas animadas [1].

Los proyectos [2, 3, 4] implementan pantallas de globo POV, utilizando LED discretos y registros de cambio discretos. En cambio, mi dispositivo está usando un cilindro giratorio y tiras de LED RGB listas para usar como pantalla de punto de vista.

Las principales características de mi cilindro POV son:

  • Visualización de POV (persistencia de la visión)
  • Muestra imágenes GIF animadas en un cilindro giratorio
  • Las imágenes GIF se almacenan en la RAM o Flash de Arduino
  • Comunicación con PC a través de Bluetooth

Descripción general técnica

  • Diámetro del cilindro:200 mm
  • Altura del cilindro:200 mm
  • Material del cilindro:espuma de poliestireno
  • Peso del cilindro:420 g
  • 4 tiras de LED RGB basadas en LPD8806
  • Tamaño de pantalla de 151 x 40 píxeles
  • Basado en Arduino Due
  • Incluye módulo Bluetooth HC06
  • Controlado a través de Bluetooth desde una PC

Construcción mecánica

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

El dispositivo comprende un chasis y un rotor. El chasis consta de dos discos de madera contrachapada circulares que se conectan a través de tres barras roscadas. La distancia entre los discos es de 120 mm. En el medio hay dos rodamientos de bolas y el eje. Para el eje también se utiliza una barra roscada. El eje es accionado por un motor eléctrico a través de dos engranajes de corona y una correa dentada. La velocidad de rotación es de hasta 1300 RPM (22 Hz).

El rotor consta de dos cilindros de espuma de poliestireno y dos discos de aluminio circulares. Los cilindros de espuma de poliestireno están pegados al disco inferior. El disco superior se puede quitar. Se utiliza para sujetar el rotor al eje.

La electrónica está ubicada en la parte superior del rotor. Incluye las siguientes partes:

  • Placa Arduino Due
  • Escudo de fabricación propia para la placa Arduino Due
  • Placa de fuente de alimentación (PS)
  • Módulo Bluetooth HC-06

La fuente de alimentación (7,5 V) se alimenta a la placa de la fuente de alimentación a través de contactos deslizantes y un anillo de contacto.

Se utilizan cuatro tiras de LED con un total de 40 LED RBG. Están conectados con cables al Arduino Shield.

Las cuatro bandas de LED se colocan como se muestra en el dibujo a continuación. Mediante el uso de cuatro bandas de LED desplazadas, la distancia en el eje Y entre los LED se divide por 4. La distancia en el eje X es manejada por SW. El SW actualiza los 40 LED 151 veces por revolución. La cuadrícula del dibujo corresponde a los píxeles visibles.

Circuito electrónico

El circuito electrónico se muestra en el esquema PDF adjunto.

Hay una placa de fuente de alimentación con un regulador de voltaje LM317. El voltaje de entrada es de 7,5 voltios y el voltaje de salida es de 4,6 voltios. El regulador de voltaje alimenta la placa Arduino Due y las tiras de LED.

También hay un escudo de fabricación propia para Arduino. Contiene los cables del conector a las tiras de LED y un circuito para el receptor de infrarrojos. El receptor de infrarrojos se utiliza para detectar la posición del rotor. Está conectado a una entrada de temporizador / interrupción del Arduino.

Hay cuatro tiras de LED denominadas STRIP0 a STRIP3. Cada tira tiene 5 controladores LED LPD8806 y 10 LED RBG. STRIP0 está conectado a USART0 y STRIP1 está conectado a USART1. Ambos USART funcionan en modo SPI. STRIP2 y STRIP3 están conectados en serie y son impulsados ​​por la interfaz SPI de Arduino.

Para la comunicación con una PC, se conecta un módulo Bluetooth HC-06 al USART3. El módulo Bluetooth es suministrado por los 3.3 Voltios proporcionados por la placa Arduino.

Software Arduino

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

  • bt - Controlador SW para módulo Bluetooth
  • LDP8806 - Driver SW para tiras de LED
  • MemoryFree - Funciones para detectar memoria RAM libre disponible
  • mpcgif - Reproducción de archivos GIF ubicados en RAM o memoria Flash
  • imágenes - Imágenes GIF internas almacenadas en Flash
  • seguimiento - Funciones para depuración de SW

La salida periódica de las imágenes a las tiras de LED se realiza mediante interrupciones. Hay dos búferes de marco de palanca. Cada búfer de cuadro contiene una imagen con 40 x 151 píxeles. Cada píxel es un índice de paleta de colores de un byte. Mientras que un búfer de cuadros se envía a las tiras de LED a través de interrupción y DMA, el otro búfer de cuadros es preparado por el programa principal (por ejemplo, mediante la función de decodificación de las imágenes GIF). La alternancia de los búferes de tramas se realiza mediante la rutina de interrupción de tramas.

Hay una interrupción de cuadro por revolución activada por el sensor de infrarrojos. La rutina de interrupción de tramas mide (a través de un temporizador de hardware) la velocidad de evolución y programa las interrupciones periódicas de la columna (una por columna, es decir, 150 interrupciones por revolución) con un temporizador de hardware. La rutina de interrupción de columna envía la columna actual a las tiras de LED. Por motivos de rendimiento, la salida se realiza a través de tres canales DMA que funcionan completamente en paralelo.

El código fuente completo de Arduino está disponible en github.

Programa de control de PC

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

  • 0-7 - llenar la pantalla con color (negro, rojo, amarillo, verde, cian, azul, violeta, blanco)
  • t - dibujar una curva triangular (como imagen de prueba)
  • s - habilitar o deshabilitar la rotación de la imagen mostrada
  • r - dibujar una sola fila
  • c - dibujar una sola columna
  • y - reproducción de imágenes GIF internas almacenadas en la memoria Flash
  • f - descargar un archivo GIF externo desde la PC a través de BT
  • x - reproducir archivo GIF externo descargado

El pccp también proporciona una interfaz para una interfaz gráfica de usuario. Además, muestra la velocidad de rotación actual (en Hz y µs) y un valor de contador de fotogramas.

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

Interfaz gráfica de usuario

La interfaz gráfica de usuario es una aplicación universal de Windows. Permite seleccionar el archivo GIF que se mostrará en el POV Cylinder. La aplicación se ha derivado de la aplicación FilePicker de las "Muestras universales de Microsoft Windows" [5].

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

Referencias

[1] https://en.wikipedia.org/wiki/Persistence_of_vision

[2] GLOBO LED RGB - POV - 40 x 200

[3] Pantalla de globo POV 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 de Arduino para POV Cylinder
https://github.com/hanoba/povc-arduino
Programa de control de PC para cilindro POV
Este es un programa de línea de comandos de C ++ que se ejecuta bajo Cygwinhttps://github.com/hanoba/povc-pccp
Interfaz gráfica de usuario para cilindro POV
Esta es una aplicación universal de Windows https://github.com/hanoba/povc-win-app

Esquemas

Este es el esquema.

Proceso de manufactura

  1. Reloj de visión pov de Arduino
  2. DIY Osciloscopio Arduino simple de 20 kHz en Nokia 5110 LCD
  3. Persianas inteligentes
  4. Arduino Due TIC TAC TOE con pantalla táctil
  5. Controlar el aceptador de monedas con Arduino
  6. Reloj Word en italiano
  7. ¡Arduino con Bluetooth para controlar un LED!
  8. Sensor de obstáculos simple con Arduino
  9. Medidor de kWh Sigfox
  10. Monitor de temperatura Bluetooth
  11. Una entrada analógica aislada para Arduino