Difference between revisions of "Projets:Perso:2015:LedTube"

From Electrolab
Jump to: navigation, search
(Spécifications, Requis)
(Electronique)
Line 131: Line 131:
 
==Electronique==
 
==Electronique==
  
 +
===Carte ST NUCLEO64-446RE===
 +
 +
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 plus de contraintes dans le logiciel pour respecter des timings temps réel).
 +
*La simplification du code
 +
*Un filtrage gaussien horizontal ne prend que 3.2ms avec cette carte
 +
 +
Bonne nouvelle, ST vient de sortir la version NUCLEO-F746ZG pin compatible et boostée en CPU
 +
 +
===Shield===
 
Ayant choisi comme base la carte NUCLEO-F446RE, les interfaces sont sur une carte "shield" maison.
 
Ayant choisi comme base la carte NUCLEO-F446RE, les interfaces sont sur une carte "shield" maison.
  
Line 136: Line 148:
 
*un module Wifi [[Projets:Perso:2015:LedTube:ESP12Q|ESP-12-Q basé sur le ESP8266]] et son alimentation dédiée (il consomme plus que ce que peut fournir la NUCLEO)
 
*un module Wifi [[Projets:Perso:2015:LedTube:ESP12Q|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
 
*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
+
*les buffers de protection (techno ACT) vers les lignes DI (data in) des leds. Ils réalisent également l'adaptation des niveaux de tension (3.3V->5V)
 
*l'entrée du récepteur de la télécommande.
 
*l'entrée du récepteur de la télécommande.
  
 
Elle se branche sous la carte NUCLEO
 
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.
+
===Veille Low Power===
  
Bonne nouvelle, ST vient de sortir la version NUCLEO-F746ZG pin compatible et boostée en CPU
+
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.
  
 
==Protocole / WIFI==
 
==Protocole / WIFI==

Revision as of 23:13, 8 May 2016

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.



Projets.perso.2015.ledtube.ecran3.jpg.jpg

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...

Installation

  • Vérifier qu'il y a bien un cavalier au bout du petit cable orange.
  • Bien ranger le cable USB blanc par le dessous en s'assurant que sa prise ne touche rien (capuchon plastique, pas de contact électrique).
  • Vérifier que le cylindre est bien relié à la terre (fil entre le cylindre et le blindage de l'alimentation)
  • Mettre L'interrupteur de l'alim PC sur ON. Il est accessible par le dessus du LedTube. Cet interrupteur est sensé rester ON définitivement.

Allumage

Installer l'appli Android.

  • Si aucun réseau WIFI "LEDTUBE" n'est présent, alors il faut allumer le Ledtube avec la petite télécommande radio 433Mhz.
  • Si un réseau WIFI "LEDTUBE" est déjà présent, l'allumage peut se faire avec l'appli Android.

Mise en Veille

OFF à deux niveaux

  • OFF
    • Niveau Off Low Power sans Wifi avec la petite télécommande RF 433Mhz. On en utilise que le bouton ON/OFF. Cela coupe l'alim PC ainsi que le Wifi.
    • Niveau Off Medium Power avec WIFI. Cela coupe l'alim PC, mais laisse le Wifi actif pour réallumer par Wifi. Le contrôle par WIFI se fait avec l'appli android.
  • Après allumage, par défaut, le LedTube cycle automatiquement entre les modes d'affichage. En commençant par le Logo Electrolab. Le cycle dure environ 3 heures.
  • Dès réception d'une commande Wifi, le cycle s'arrête. La commande est exécutée. En l'absence de commande, au bout de 10 minutes, le Ledtube revient en mode cycle automatique.
  • 10 heures après l'allumage, le LedTube s'éteint spontanément en mode Off Medium Power.
  • 72 heures après l'allumage, il passe en Off Low Power. La seule façon de le ré-allumer est d'utiliser la télécommande RF.

A Savoir

Le Ledtube utilise un récepteur de télécommande RF 433Mhz.

  • Sur la petite télécommande RF, on n'utilise que le bouton ON/OFF
  • La télécommande a une portée ridiculement petite. Il faut venir à quelques centimetres du dessous du tube.
  • Pour l'extinction, le délai de prise en compte de la pression du bouton (pression breve toujours suffisante) est comprise entre 1 seconde et 2 secondes. Patience. Si après 2 secondes, rien ne se passe, essayer encore...
  • Le ledtube met environ 3 secondes à démarrer. La portée télécommande est un peu meilleure à l'allumage.
  • Le récepteur de la télécommande mémorise son état On/Off et le conserve même si on met l'interrupteur de l'alim PC sur Off. Conséquence, si on était en Off Low power avant de débrancher et si on rallume l'alim PC avec son interrupteur, le systeme va se rééteindre au bout de 1 seconde. Dans ce cas, il faut appuyer une fois sur la télécommande RF et ça va redémarrer tout seul.


Spécifications, Requis

  • Système d'affichage à LEDs cylindrique esthétique
  • Conçu pour s'accrocher au plafond, et s'alimenter sur une douille de lampe 220V
  • Le système assurer un affichage hyper fluide pour des translations, même à faible ou grande vitesses.
  • Affichage à 60Hz ou plus.
  • Une interface WIFI pour l'envoi d'images.
  • Un mode veille low power et un allumage/extinction sans fil.
  • Par défaut, le système affichera 3 logos Electrolab (120° entre les logos) verts. Tournant lentement. Avec des phases d'auto-génération d'images.
  • Documenté

Des vidéos du LedTube en fonctionnement sont ici : https://www.youtube.com/channel/UCg0Zysu4qRsVrjXHGqSWFog

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, jeu de la vie etc...
    • Image blanche ou blanc chaud avec réglage de l'intensité lumineuse

Conseils aux utilisateurs de bandes de WS2812B

Profitez de mon expérience ici.

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 (en grille hexagonale, le recouvrement des cônes d'émission aurait été plus uniforme, mais ça aurait été moins pratique du point de vue logiciel).
  • Alimentation. Alim de PC silencieuse. L'intérêt est d'en exploiter le mode veille low power et d'avoir un allumage/extinction par télécommande RF 433Mhz. 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
  • Autres choix techniques
  • Poids total 5.3Kg

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

  • Abat-Jour Casto Filox Colors. Réf : 630767. 29.95€. diam exté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

Led tube 4 test.jpg
  • 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 fabricants 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. 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 bombonne rouge d'éric elap 23cm, puis tubes de ventilation...de 20cm de diamètre. Soudure par points réussie avec un réglage au niveau 5 et durée 3 secondes. Tôle coupée au final en 992mm x 328mm (4mm enlevés à gauche, 4mm enlevés à droite pour que ça s'ajuste bien aux bandes de leds). Chutes de 4mm utilisées comme raccord soudure par points entre les deux extrémités du cylindre refermé.
  • Des pièces imprimées 3D réalisent la jonction entre les 3 éléments et servent à contrôler autant que possible la distance entre les leds et la surface de projection.
Projets perso 2015 ledtube leds.jpg

Cylindre de projection

Il est constitué de :

  • Feuille en Rouleau de PVC transparent 0.8mm. (Leroy Merlin 1m x ..)
  • Face Intérieure : vernis mat déposé en aérosol (Cultura)
  • Face Extérieure : feuille de polyphane semi opaque (Cultura 0.6m x 1.2m)

Projets.perso.2015.ledtube.ecran1.jpg


Projets.perso.2015.ledtube.ecran2.jpg

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

Carte ST NUCLEO64-446RE

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 plus de contraintes dans le logiciel pour respecter des timings temps réel).
  • La simplification du code
  • Un filtrage gaussien horizontal ne prend que 3.2ms avec cette carte

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

Shield

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 (techno ACT) vers les lignes DI (data in) des leds. Ils réalisent également l'adaptation des niveaux de tension (3.3V->5V)
  • l'entrée du récepteur de la télécommande.

Elle se branche sous la carte NUCLEO

Veille Low Power

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.

Protocole / WIFI

Ledtube tasker on udp sender.png

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.

Nice to Have

Liste des composants

Projets.perso.2015.ledtube.ecran4.jpg

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.
http://fr.farnell.com/stmicroelectronics/nucleo-f446re/carte-stm32f446re-arduino-mbed/dp/2491978?ost=2491978&selectedCategoryId=&categoryNameResp=Toutes%2Bles%2Bcat%25C3%25A9gories

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

Evolution possible pour plus de puissance de calcul
http://fr.farnell.com/stmicroelectronics/nucleo-f746zg/carte-dev-stm32f746zg-arduino/dp/2517900?ost=2517900&selectedCategoryId=&categoryNameResp=Toutes%2Bles%2Bcat%25C3%25A9gories

Energie

Alim PC
On exploite la sortie 5V et les sorties 12V pour les leds

  • 15 bandes sur 5V produit en partant du 12V
  • 5 bandes en direct 5V

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ée:

Alim retenue:

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

Au final, en réalité, il semble que la conso ne soit que de 200W. A confirmer.

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

Ce choix n'est pas idéal. Ces connecteurs sont verrouillables, ils tiennent bien, mais ils sont lourds et un peu trop gros (diamètre). Quand tout est branché, mâle verrouillé sur femelle et soudé sur la bande. Quand on a ça 20x avec les câbles un peu emmêlés, ça finit par faire un poids qui tire beaucoup sur certaines soudures aux bandes de leds. Autre petit problème, les connecteurs ne passent pas dans les ouvertures de la structure métallique du tube (trous rectangulaires d'environ 1cm petit coté), ce qui oblige à insérer la bande par sa fin, dans le trou depuis l'intérieur du tube. Mais c'est quand même assez pratique à l'intégration.

Coté carte de contrôle, s'est juste un header mâle 2 pins 0.1". Contacts dorés ; ça tient pas très bien. Tendance à ressortir un peu trop facilement si on tire un peu. Et justement, avec tout le poids additionné des 20 câbles, ça va bouger avec le temps.

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

Lorsque on tire sur le courant au max (blanc complet), ces petits câbles ont l'air sous dimensionnés. Ils chauffent. Leur gaine se ramollit un peut. Mais ça fait le job.

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