Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

Composants et fournitures

Arduino Due ×1
Module Bluetooth HC-06 ×1
Bande LED RGB LPD8806 1 m (60 LEDs/m, 30 ICs/m, IP20) ×1
Régulateur linéaire à sortie ajustable ×1
Double amplificateur opérationnel Texas Instruments ×1
Résistance 20 kΩ ×3
Résistance 220 Ω ×1
Résistance 1 kΩ ×2
Transistor NPN à usage général ×1
Condensateur 1000 µF ×1
Condensateur 100 nF ×1
Condensateur 1 µF ×1
Résistance 240 Ω ×1
Résistance d'ajustement 1 kΩ ×1
Émetteur IR (générique) ×1
Récepteur IR (générique) ×1
Plaque d'essai (breadboard) ×1
Cylindre en polystyrène (Ø 20 cm, hauteur 10 cm) ×2
Moteur électrique 12 V, XDRIVE 545-1 ×1
Couronne dentée 60 dents, 8 mm ×1
Couronne dentée 12 dents, 3,2 mm ×1
Courroie crantée, 80 dents, 6 × 200 mm ×1
Barre filetée M8, 125 mm ×3
Barre filetée M8, 330 mm (utilisée comme arbre) ×1
Bague de contact ASL9017 ×1
Ruban adhésif noir (48 mm) ×1
Disque en contreplaqué (Ø 150 mm, épaisseur 10 mm) ×2
Disque en aluminium (Ø 200 mm, épaisseur 2,5 mm) ×2

Outils et machines nécessaires

Applications et services en ligne

À propos du projet

Introduction

C'est mon premier projet Arduino. Il s'inspire de plusieurs projets de makers ayant réalisé des affichages à persistance rétinienne (POV) [2,3,4].

La persistance rétinienne (POV) est l'illusion d'optique par laquelle plusieurs images discrètes se fondent en une seule image dans l'esprit humain, censée expliquer la perception du mouvement au cinéma et dans les films d'animation [1].

Les projets [2,3,4] implémentent des affichages globulaires POV, utilisant des LEDs discrètes et des registres à décalage. Mon dispositif utilise quant à lui un cylindre rotatif et des bandes LED RGB du commerce comme affichage POV.

Caractéristiques principales

Vue technique

Construction mécanique

La construction mécanique est illustrée dans le dessin ci-dessous.

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

L'appareil comprend un châssis et un rotor. Le châssis est constitué de deux disques en contreplaqué circulaires reliés par trois barres filetées, espacés de 120 mm. Au centre se trouvent deux roulements à billes et l'arbre (aussi une barre filetée). L'arbre est entraîné par un moteur électrique via deux couronnes dentées et une courroie crantée. La vitesse de rotation atteint 1300 tr/min (22 Hz).

Le rotor comprend deux cylindres en polystyrène et deux disques circulaires en aluminium. Les cylindres sont collés sur le disque inférieur. Le disque supérieur est amovible et sert à fixer le rotor sur l'arbre.

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

L'électronique est logée dans la partie supérieure du rotor :

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

L'alimentation (7,5 V) est acheminée vers la carte d'alimentation via des contacts glissants et une bague de contact.

Quatre bandes LED totalisant 40 LEDs RGB sont utilisées, reliées par câbles au shield Arduino.

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

Les quatre bandes sont disposées comme indiqué ci-dessous. En utilisant quatre bandes décalées, la distance sur l'axe Y entre les LEDs est divisée par 4. La distance sur l'axe X est gérée par logiciel. Le logiciel met à jour les 40 LEDs 151 fois par tour. La grille du dessin correspond aux pixels visibles.

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

Circuit électronique

Le circuit électronique est présenté dans le schéma PDF joint.

La carte d'alimentation intègre un régulateur de tension LM317. La tension d'entrée est de 7,5 V, la sortie de 4,6 V. Ce régulateur alimente l'Arduino Due et les bandes LED.

Un shield maison pour l'Arduino contient les connecteurs vers les bandes LED et le circuit du récepteur IR. Ce récepteur détecte la position du rotor et est connecté à une entrée timer/interruption de l'Arduino.

Quatre bandes LED nommées STRIP0 à STRIP3 sont utilisées. Chaque bande comporte 5 drivers LPD8806 et 10 LEDs RGB. STRIP0 est connecté à USART0 et STRIP1 à USART1, tous deux en mode SPI. STRIP2 et STRIP3 sont montées en série et pilotées par l'interface SPI de l'Arduino.

Pour la communication PC, un module Bluetooth HC-06 est connecté à USART3, alimenté par le 3,3 V de l'Arduino.

Logiciel Arduino

Le logiciel se compose du programme principal (mpc.ino) et des bibliothèques suivantes :

L'affichage périodique des images sur les bandes LED est piloté par interruptions. Deux tampons d'image (frame buffers) sont utilisés. Chaque tampon contient une image de 40 × 151 pixels, chaque pixel étant un index de palette de couleurs sur un octet. Pendant qu'un tampon est envoyé aux LEDs via interruption et DMA, l'autre est préparé par le programme principal (décodage GIF). La bascule entre tampons est gérée par la routine d'interruption de trame.

Une interruption de trame par tour est déclenchée par le capteur IR. Elle mesure la vitesse de rotation (via un timer matériel) et programme des interruptions de colonne (150 par tour) avec un timer matériel. La routine d'interruption de colonne envoie la colonne courante aux bandes LED. Pour les performances, la sortie utilise trois canaux DMA fonctionnant en parallèle.

Le code source complet est disponible sur GitHub.

Programme de contrôle PC

Le programme de contrôle PC (pccp) est un outil en ligne de commande C++ s'exécutant sous Cygwin, communiquant avec l'Arduino via Bluetooth. Il permet de contrôler le cylindre POV avec des commandes à un caractère :

Le pccp offre aussi une interface vers une interface graphique, et affiche la vitesse de rotation (Hz et µs) ainsi qu'un compteur de trames.

Le code source complet est sur GitHub.

Interface graphique utilisateur

L'interface graphique est une application universelle Windows. Elle permet de sélectionner le fichier GIF à afficher. Elle dérive de l'exemple FilePicker des « Microsoft Windows Universal Samples » [5].

Construire un Cylindre POV Époustouflant avec Arduino Due – Guide Pas à Pas

Le code source complet est sur GitHub.

Références

  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 - Description du projet (en allemand)
  5. https://github.com/Microsoft/Windows-universal-samples

Code source

Schémas

Le schéma électronique est disponible dans la section schémas.

Processus de fabrication

  1. Horloge POV Arduino : Construire un affichage LED à persistance rétinienne
  2. Construire un oscilloscope Arduino 20 kHz sur écran Nokia 5110 – Guide DIY facile
  3. Stores intelligents : contrôle automatisé de la lumière avec Arduino et énergie solaire
  4. Construire un jeu Tic-Tac-Toe tactile sur Arduino Due
  5. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  6. Horloge à Mots Italienne avec Arduino Nano, NeoPixel, LCD et RTC
  7. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  8. Capteur d'obstacle IR simple avec Arduino — LED IR + Photodiode
  9. Circuit d'entrée analogique isolée pour Arduino : Protection contre les parasites industriels