Projets:Perso:2015:LedTube

From Electrolab
Revision as of 17:59, 6 March 2016 by Lcdvasrm (Talk | contribs)

Jump to: navigation, search
LED TUBE. Un afficheur led RGB de forme cyclindrique
Auteur Laurent (C)
Date de proposition 13/10/2015
Tags du projet led rgb ecran
Lieu d'utilisation final Electrolab
Utilisateur final Electrolab
Type de projet

Projet personnel de Laurent (C)

Projet LED TUBE. Un afficheur led RGB de forme cyclindrique

La technologie est mure pour réaliser facilement ce "display"
C'est une première étape simplifiée pour aller vers un afficheur sphérique.



Un projet que je traine depuis plus de 20 ans.
Il s'agit d'un projet à but purement esthétique et artistique.
Rien de très original, mais ça devrait décoiffer
Pour afficher en principe des images non figuratives. La première raison étant que la résolution ne sera pas très élevée.
A l'origine, mon projet était une sphère. Mais cela reste encore particulièrement problématique globalement.
Sera offert à l'électrolab pour sa déco.
Peut aussi faire office d'éclairage très luxueux.
Pas de Feature Creep. KISS. Je préférerai toujours la solution la plus simple qui laissera le code compréhensible
Pas de compromis sur la performance. Quoique...

Spécifications, Requis

  • Systeme d'affichage à LEDs cylindrique esthétique
  • Conçu pour s'accrocher au plafond, et s'alimenter sur une douille de lampe 220V
  • Quatre choses m'ont fait préférer une solution mono processeur
    • Le très faible prix/puissance de la carte ST NUCLEO64-446RE
    • La standardisation asssociée
    • Les tests réussis de pilotages des leds par DMA (moins de temps CPU passé pour charger la mémoire que le temps passé au DMA pour envoyer les données vers les leds et par conséquent, pas de problèmes de timings temps réel).
    • La simplification du code
    • Un filtrage gaussien horizontal ne prend que 3.2ms avec cette carte
  • Le système doit être capable d'assurer un affichage hyper fluide pour des translations à toutes vitesses → filtrage par le driver de leds.
  • Affichage à 60Hz ou plus.
  • Une interface WIFI pour l'envoi d'images.
  • Un mode veille low power (avec rétention de la dernière image) et un allumage/extinction sans fil.
  • Par défaut, le système affichera 3 logos Space Invader ou Electrolab (120° entre les logos). Un rouge, un vert, un bleu. Tournant à 1/3 de tour par seconde.
  • Documenté

Like to Have

  • Quelques modes d'auto-génération d'images
    • Par exemple effet plasma (http://www.bidouille.org/prog/plasma), simulation de réaction chimique cyclique, machine de turing à deux dimensions, logo electrolab, etc...
    • Le mode lampe de base se fait en envoyant des images blanches !

Choix techniques & Dimensionnement

  • Structure porteuse des leds métallique cylindrique. Cylindre métallique de 1m de circonférence. (Pi*0.318=1).
  • Environ 0.3m de hauteur Ce qui fait vu de loin une section carrée.
  • Bandes de LEDs de 1m collées horizontalement sur la surface externe (petits carrés de 5mm de coté). 60 leds par mètre. Exploite le chip/led WS2812B alimenté en 5V (60mA/led)
  • Soit une résolution de 60x19, arrondi à 60x20 pour avoir un format d'image 3x1
  • Surface de projection : cylindre circonscrit en matériau translucide légèrement plus grand que le cylindre métallique. A 4mm de distance environ de la surface des leds, ce qui fait que les cônes d'émission des leds vont tout juste se recouvrir. Il faut que ce cylindre de projection soit d'épaisseur parfaitement uniforme, sinon, il y aurait assombrissement local. La conséquence est qu'on ne peut pas obtenir cela avec une simple feuille de polyphane (cf rougie et plé) enroulée. 4mm c'est la théorie. En pratique, j'ai mesuré que les translations sont fluides à 2cm de distance avec un filtrage gaussien réglé à sigma = 0.7 (pixel)
  • Pixels placés en grille carrée simple ou en grille hexagonale (recouvrement des cônes d'émission plus uniforme). A décider. S'oriente vers grille carrée.
  • Alimentation. Peut-être alim de PC. Ou alim 12V sans ventilo (donc silencieuses). Il y a aussi des fournisseurs d'alim 12V dédiée pour ce type de besoin, au moins jusqu'à 600 Watts.
  • Feuilles de calcul pour le dimensionnement global
  • Si alim PC utilisée, l'intérêt est que cela permet de piloter l'allumage de l'alim PC et donc d'avoir un mode veille low power et un allumage/extinction par wifi (sera par télécommande RF 433Mhz).
  • Autres choix techniques

Zenos a indiqué que percer 1200 trous dans du métal pourrait nécessiter 50 forêts. Il a recommandé de plutôt se procurer des tôles perforés (par poinçonnage). Exemple de fournisseur : gantois. Finalement : tôle trouvée chez castorama.

Le cylindre

Structure Squelette porteur

  • Essai en cours : Abat-Jour Casto Filox Colors. Réf : 630767. 29.95€. diam estérieur mesuré 304mm pour utiliser uniquement son armature comme structure porteuse de l'ensemble du Led Tube. Hauteur 250mm (le cylindre métalique porteur des leds débordera de 40mm en haut et en bas). Comporte 6 tiges verticales séparées de 60° qui assurent une bonne rigidité. Devra surement être renforcé. http://www.castorama.fr/store/Suspension-Filox-Blanc-BRILLIANT-prod11580011.html

Cylindre porteur des leds

  • Tôle de 1m de long, roulée. Diamètre théorique 305.6mm on est donc théoriquement très bien pour pouvoir l'enrouler autour de l'armature de l'Abat-Jour Castorama.
  • Les leds seront collées APRES avoir roulé la tôle.
  • Liste de fournisseurs et fabriquants de Tôles Perforées
  • Premier essai : http://www.castorama.fr/store/Tole-alu-brut-deploye-16-x-8-prod7220036.html?navAction=jump&skuId=Casto196923. Casto n°42 2016-5522 (tôle alu déployé). 22.20€ premier en test pour voir si les leds passent dans les trous. Métal déployé aluminium brut. Dimensions mailles : 16 x 8 x 1 x 0,8 mm. Dimensions : 1000 x 500 mm. Ref Réf :196923. Les leds 5mmx5mm devraient passer sans problème au travers. Solution rejetée car trop fragile et flexible pour porter le poids de l'ensemble.
  • Deuxieme essai : http://www.castorama.fr/store/Tole-acier-perforee-carre-prod7220026.html?navAction=jump&skuId=Casto196915. Réf :196915. 46€? Tôle perforée carré 5,5 acier brut. Ep. 1 mm. Dimensions : 1000 x 500 mm. Solution retenue. Des sortes de petits crochets métalliques amovibles (fait main) devraient permettre de fixer le cylindre porteur des leds, au moins au cercle du bas de l'abat-jour, en passant possiblement au travers des perforations. Essai Réussit. Découpée au massicot. Roulage de la tôle OK à la main, avec successivement : Suspension IKAT LUM Alinea noir en acier laminé de 30cm diamètre extérieur, puis la bombone rouge d'éric elap 23cm, puis Extincteur 18cm (extincteur un peu trop petit). Donc il faudra trouver quelque chose de 20cm de diamètre. Soudure par points réussie avec un réglage au niveau 5.

Led tube 4 test.jpg

  • Des pièces imprimées 3D réalisent la jonction entre les 3 éléments et servent à controler autant que possible la distance entre les leds et la surface de projection.

Cylindre de projection

TBD

Discussions à l'electrolab pour trouver des synergies

Il semble que quelqu'un a un projet de génération d'image actuellement. Peut-être que ce pourrait être son display ?
On pourrait aussi y brancher le générateur d'image milk machin truc qui était passé à l'électrolab il y a environ 4 ans ?

Interfaces

Electronique

Ayant choisi comme base la carte NUCLEO-F446RE, les interfaces sont sur une carte "shield" maison.

La carte "shield" porte

  • un module Wifi ESP-12-Q basé sur le ESP8266 et son alimentation dédiée (il consomme plus que ce que peut fournir la NUCLEO)
  • la logique de contrôle de l'alim PC pour le mode veille
  • les buffers de protection vers les lignes DI (data in) des leds
  • l'entrée du récepteur de la télécommande.

Elle se branche sous la carte NUCLEO

Pour avoir un vrai mode low power, un ON/OFF avec une petite télécommande RF détournée de son usage normal. Permet aussi d'envisager de pouvoir régler la luminosité avec.

Bonne nouvelle, ST vient de sortir la version NUCLEO-F746ZG pin compatible et boostée en CPU

Protocole / WIFI

Le protocole de COM avec le module est décrit ici

  • Au minimum, une interface UDP/IP RAW est offerte pour y injecter des images et envoyer des commandes.
  • Le système ne peut recevoir que les choses suivantes
    • des images en RAW
      • en une seule trame UDP pour les images fixes (si possible)
    • une commande d'initialisation de la translation (nombre flottant 32 bits dans [0..1]. Si en dehors de [0..1], le système prendra le modulo flottant).
      • Par UDP
    • un vecteur vitesse de translation horizontale (nombre flottant 32 bits). En tours par seconde. Peut être positif ou négatif.
      • Par UDP
  • Pas de notion de sprites. Pas de notions de couches superposées transparentes. On va pas refaire le chipset de l'amiga.

Une interface sur Android a été développée. Tasker (APP Android)/UDP Sender (Plugin Android). Fait sans une ligne de code (euuh en fait 1 ligne de code). Ce qui est assez incroyable est que cet outil tasker est capable de générer en un clic non seulement des widgets android, mais en plus une application .apk autonome avec juste les autorisations qui lui sont nécessaires et sans même la moindre connexion à un quelconque serveur google. Apple peut toujours aller se rhabiller.

Ledtube tasker on udp sender.png

Nice to Have

Liste des composants

Electronique

Leds RGB
http://www.aliexpress.com/item/individually-addressable-1m-2m-4m-5m-waterproof-ip65-ip67-5050-rgb-30-60-74-96-144/32243894576.html

Processeurs
La carte NUCLEO-F446RE à 10€ basée sur la STM32F446RE est un bon candidat. Actuellement, le design est basé dessus avec une carte shield maison pour la connectique, la gestion de l'alim PC et lemodule WIFI.
On pourrait aussi utiliser 1 STM32F745VG et 1 STM32F446RE. Dont un pour driver l'afficheur. Le but est de pas se prendre la tête avec la puissance de calcul, sachant que le prix des processeurs est négligeable par rapport au reste. Ça permet aussi d'envisager des traitement d'image optimaux (filtrage).
http://fr.rs-online.com/web/p/products/8820281/
http://fr.rs-online.com/web/p/products/7926063/

La télécommande ON/OFF
Ne sert que pour le ON/OFF. Le récepteur sera juste branché sur un GPIO du CPU (en mode HALT en veille). La présence de PWM réveillera le CPU. L'absence de PWM pendant une seconde mettra le CPU en veille.
3.3€, imbattable. Utilise une pile 3V CR2025 non fournie
http://fr.aliexpress.com/item/9-keys-Mini-Wireless-RF-Remote-Control-Dimmer-for-5050-Single-Color-LED-Strip/32430409354.html

Un peu de déco
http://www.aliexpress.com/item/CJMCU-40bit-WS2812B-5050-RGB-LED-Circle-LED-Board-Dia-126mm-Development-Board/32477790038.html

Module WIFI Possible ESP8266
http://www.via-design.fr/actualites/la-solution-wi-fi-iot-a-tres-bas-cout-despressif-09214716/#more-14716

Energie

Alim PC
On exploite la sortie 5V et les sorties 12V pour les leds
On exploite la sortie 5VSB (disponible en veille) pour le calcul/CPU/WIFI
Autant que possible, récup d'alim PC electrolab.
Exemples d'alims adaptées:

Pourrait utiliser des alims serveur Pinnacle de l'electrolab. Cf page alim.


Convertisseurs 12V->5V efficaces
http://www.aliexpress.com/snapshot/7028120099.html?orderId=70266443550545


Connectique

Connectique pour les fils de data
http://fr.aliexpress.com/store/product/10-pairs-DC-Connectors-with-Lock-Buckle-15cm-length-cable-DC-5-5-x-2-1mm/1051119_32247716577.html

Connectique pour le 5V puissance vers les bandes de LEDS
http://www.aliexpress.com/item/30-pairs-Waterproof-JST-connector-wire-single-color-SMD-5050-3528-3014-5630-LED-Strip-Light/1718558728.html

Méca

Tole Perforée
http://www.castorama.fr/store/Tole-acier-perforee-carre-prod7220026.html?navAction=jump&skuId=Casto196915

Abat-Jour squelette porteur
http://www.castorama.fr/store/Suspension-Filox-Blanc-BRILLIANT-prod11580011.html