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

From Electrolab
Jump to: navigation, search
(Processeurs)
(Carte ST NUCLEO64-446RE)
 
(One intermediate revision by one user not shown)
Line 107: Line 107:
 
=Electronique=
 
=Electronique=
 
==Carte ST NUCLEO64-446RE==
 
==Carte ST NUCLEO64-446RE==
 +
 +
La carte [https://fr.farnell.com/stmicroelectronics/nucleo-f446re/carte-de-dev-arduino-mbed-nucleo/dp/2491978 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 le module WIFI.<br>
 +
 
Quatre choses m'ont fait préférer une solution mono processeur
 
Quatre choses m'ont fait préférer une solution mono processeur
*Le très faible prix/puissance de la carte [http://fr.farnell.com/stmicroelectronics/nucleo-f446re/carte-stm32f446re-arduino-mbed/dp/2491978?ost=2491978&selectedCategoryId=&categoryNameResp=Toutes%2Bles%2Bcat%25C3%25A9gories ST NUCLEO64-446RE]
+
*Le très faible prix/puissance de la carte  
 
*La standardisation asssociée
 
*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).
+
*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 ; disparition des contraintes dans le logiciel pour respecter des timings temps réel).
 
*La simplification du code
 
*La simplification du code
 
*Un filtrage gaussien horizontal ne prend que 3.2ms avec cette carte
 
*Un filtrage gaussien horizontal ne prend que 3.2ms avec cette carte
  
Bonne nouvelle, ST vient de sortir la version [http://fr.farnell.com/stmicroelectronics/nucleo-f746zg/carte-dev-stm32f746zg-arduino/dp/2517900?ost=2517900&selectedCategoryId=&categoryNameResp=Toutes%2Bles%2Bcat%25C3%25A9gorie NUCLEO-F746ZG] pin compatible et boostée en CPU
+
Pour plus de puissance de calcul, on peut aussi utiliser la [https://fr.farnell.com/stmicroelectronics/nucleo-f746zg/carte-de-dev-arduino-mbed-nucleo/dp/2517900 NUCLEO-F746ZG]  
 
+
pin compatible avec le shield et boostée en CPU
  
 
===Firmware pour la carte Nucleo===
 
===Firmware pour la carte Nucleo===
Line 121: Line 124:
  
 
Cette version peut stocker 32 images en flash.
 
Cette version peut stocker 32 images en flash.
 
  
 
==Shield==
 
==Shield==

Latest revision as of 15:15, 22 April 2019

LED TUBE. Un afficheur led RGB de forme cylindrique
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 cylindrique

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
Projets.perso.2015.ledtube.ecran4.jpg
Projet.perso.2015.ldtube.structure.jpg

Il s'agit d'un projet à but purement esthétique et artistique.
Rien de très original, mais c'est du plus bel effet
Pour afficher en principe des images non figuratives. La première raison étant que la résolution n'est pas très élevée.
A l'origine, mon projet était une sphère. Mais cela reste encore particulièrement problématique globalement.
Est offert à l'électrolab pour sa déco.
Peut aussi faire office d'éclairage très luxueux.
Pas de compromis sur la performance. Quoique...
Des vidéos du LedTube en fonctionnement sont ici : https://www.youtube.com/channel/UCg0Zysu4qRsVrjXHGqSWFog

Spécificités

  • Système d'affichage à LEDs cylindrique esthétique
  • Conçu pour s'accrocher au plafond, et s'alimenter directement sur le 220V
  • Le système assure un affichage hyper fluide pour des translations, même à faible ou grande vitesse.
  • Rafraîchissement d'image jusqu'à 200Hz.
  • Interface WIFI pour l'envoi d'images.
  • Un mode veille faible consommation et un allumage/extinction sans fil.
  • Silencieux
  • Par défaut, au démarrage le système affiche 3 logos Electrolab (120° entre les logos) verts. Tournant lentement. Avec de longues phases d'auto-génération d'images et d'affichage des images en flash. Le cycle auto est interrompu par toute commande Wifi et reprend après 10 minutes sans commande reçue par Wifi.

Modes d'auto-génération d'images Implémentés

Evolutions futures

  • simulation de réaction chimique cyclique
  • machine de turing à deux dimensions

Installation

  • Vérifier qu'il y a bien un cavalier au bout du petit câble 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)
  • Brancher le cable 220V à l'alim PC.
  • Brancher le câble 220V au secteur. Cet ordre évite des arcs multiples dans l'alim.

Allumage

  • Si un réseau WIFI "LEDTUBE" est déjà présent, mais rien ne s'affiche, c'est qu'il est en veille Medium Power : l'allumage peut se faire avec l'appli Android.
  • Sinon, 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.
  • Sinon, si l'interrupteur est déjà sur ON, mais qu'il n'y a pas de réseau WIFI "LEDTUBE" alors c'est qu'il est en veille Low Power. Il est alors nécessaire de cycler l'alimentation (bouton ON/OFF) ou prise secteur.
  • 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 continue le mode cycle automatique.

Mise en Veille 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. Il est alors nécessaire de cycler l'alimentation (bouton ON/OFF)

Mise en Veille par commande WIFI

  • Niveau Off Medium Power. Cela coupe l'alim PC, mais laisse le Wifi actif pour ré-allumer par Wifi. Le contrôle ON/OFF par WIFI se fait avec l'appli android.

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. Ecran compris, environ 0,35m x 0,35m
  • Bandes de LEDs de 1m collées horizontalement sur la surface externe du cylindre métallique (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. En pratique, les translations sont fluides avec un écran à 2cm de distance et 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 faible consommation 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

Le cylindre

Structure Squelette porteur : un Abat-Jour du commerce

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

Cylindre porteur des leds

Led tube 4 test.jpg
Projets.perso.2015.ledtube.soudure.jpg
  • Tôle perforée de 1m de long, roulée. Diamètre théorique 305.6mm, très bien pour pouvoir l'enrouler autour de l'armature de l'Abat-Jour Castorama.
  • Les leds sont collées APRES avoir roulé la tôle.
  • https://www.castorama.fr/tole-perforee-carre-acier-brut-ep-1-mm-1000-x-500-mm/3232630223352_CAFR.prd. Réf :3232630223352. 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 en commençant par l'enrouler autour d'un cylindre de 30cm diamètre extérieur, puis 23cm de diamètre, puis 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 996mm x 328mm (4mm enlevés à gauche 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é. Cette découpe est critique. Surtout, ne pas trop en couper, sinon la bande de leds devra faire des contorsions très peu esthétiques.
  • Des pièces imprimées 3D réalisent la jonction entre les 3 éléments, servent à contrôler autant que possible la distance entre les leds et la surface de projection, améliorent le maintient mécanique des connexions électriques des bandes de leds (alim, datas et capacités de découplage en début et fin de bande).
  • Liste de fournisseurs et fabricants de Tôles Perforées en dernier ressort

Cylindre de projection

Il est constitué de :

Electronique

Carte ST NUCLEO64-446RE

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 le module WIFI.

Quatre choses m'ont fait préférer une solution mono processeur

  • Le très faible prix/puissance de la carte
  • 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 ; disparition des 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

Pour plus de puissance de calcul, on peut aussi utiliser la NUCLEO-F746ZG pin compatible avec le shield et boostée en CPU

Firmware pour la carte Nucleo

https://code.electrolab.fr/light/ledtube_446

Cette version peut stocker 32 images en flash.

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->4V)
  • l'entrée du récepteur de la télécommande.

Elle se branche sous la carte NUCLEO


Schéma électronique du shield

Le schéma électronique (eagle 6.5.0) est ici : https://code.electrolab.fr/light/ledtube_446/tree/master/docs

Il est compatible avec la version d'évaluation gratuite de eagle.

Prendre la v2. Vous y trouverez aussi la BOM et le fichier de placement.

La modification importante de la v2 est que les buffers sont alimentés en 4V au lieu de 5V. Elle est compatible NUCLEO64-446RE et NUCLEO64-746ZG

Leds RGB

Ce sont des LEDS adressables individuellement WS2812B en bandes.

Conseils aux utilisateurs de bandes de WS2812B : Profitez de mon expérience.

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

Module WIFI

J'explique comment j'utilise le Module WIFI ESP8266 ici

Protocole / WIFI

Ledtube tasker on udp sender.png
Projets.perso.2015.ledtube.ecran1.jpg
Projets.perso.2015.ledtube.ecran2.jpg

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

  • Une interface UDP/IP RAW est offerte pour y injecter des images et envoyer des commandes.

Une application pour Android a été développée. Tasker (APP Android)/UDP Sender (Plugin Android). Fait sans une 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.



Autres composants

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

Alim retenue bien que sur-dimensionnée

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

Convertisseurs 12V->5V efficaces utilisés

Ils sont fixés sur les cotés de l'alim PC par des rivets pop 3mm diam x 7mm+, en orientant les cables de sortie coté opposé au ventilateur.

Le boitier de l'alim peut facilement être ouvert (4 vis) de telle sorte que pendant le perçage des trous 3mm de fixation des convertisseurs on ne remplit pas l'intérieur de limaille de fer.

Option 1 : Version 20A, on en utilise 3
DC to DC Converter Buck Module Regulator 12V 24V to 5V 20A 100W Car LED Power Supply Waterproof
https://fr.aliexpress.com/item/DC-to-DC-Converter-Buck-Module-Regulator-12V-24V-to-5V-20A-100W-Car-LED-Power/32304164501.html?isOrigTitle=true

Option 2 : Version 30A, on en utilise 2
30A Waterproof DC 10-35V 12V 24V to 5V 150W DC Car LED Power Supply Voltage Converter Regulator Buck Module @ Wengao
https://fr.aliexpress.com/item/30A-Waterproof-DC-10-35V-12V-24V-to-5V-150W-DC-Car-LED-Power-Supply-Voltage/32464818000.html?isOrigTitle=true

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.

Pour le deuxième exemplaire, la data sera transmise sur les même types de câble que l'alim. Plus légers et petits, ils pourront passer dans les ouvertures
Coté carte de contrôle, un seul header 20x2 sera branché dans la carte de contrôle. Ca ne pourra plus bouger.
Une pièce imprimée 3D (dupliquée 20x) permettra de mieux contrôler le passage des câbles data+power de chaque bande. Ca augmentera fortement la fiabilité de la connectique.

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.

Pour le deuxième exemplaire, l'alim sera envoyée des deux cotés de chaque bande