Tables des matières
Présentation du sujet
Dans le cadre de l’option Makers, nous avons décidé de réaliser une barre rotative composée de LED, afin de procurer un effet de persistance rétinienne, ou en anglais : persistence of vision (POV). Plus précisément nous cherchons à obtenir l’effet de persistance positive. Cet effet qui dure peu de temps consiste à ce que la couleur de l’image persiste pendant environ 50 millisecondes. L’œil est donc théoriquement capable de capter 20 images par seconde, et ainsi, au-dessus de ce seuil, il ne verra pas le clignotement des images. Dans notre cas, si la barre LED tourne suffisamment rapidement et si la fréquence de rafraîchissement des LED soit suffisamment rapide, nous pouvons afficher des images statiques, du texte ou même des animations sur une barre en pleine rotation. L’idée originale de notre projet est de construire un système imposant, de l’ordre du mètre. Cet aspect augmente la difficulté du projet puisque les vibrations deviendront plus importantes, et le temps durant laquelle les LEDs seront allumées devra être plus précise.
Le moteur aura une vitesse de rotation qui sera déterminé par la tension à ses bornes. Cette vitesse de rotation sera récupéré par un capteur à effet hall (le capteur situé sur le système et l’aimant sur le support). Ainsi, nous pouvons connaître à quelle fréquence nous devons rafraîchir les LEDs.
Le moteur sera alimenté par secteur tandis que le système devra être autonome pour ne pas avoir de soucis de cable lors de la rotation. Nous avons alors opté pour une batterie 9V alimentant l’ESP 32, la barre LED, ainsi que le capteur à effet Hall. Ainsi, le système en rotation est autonome.
État de l’art
Des systèmes rotatifs réalisant un effet POV existent déjà. Mais cependant ils sont généralement petits, et donc le nombre de LEDs est limité (voir les liens ci-dessous).
D’autres modèles peuvent également exister, mais ce n’est plus une barre LED, mais un arc de cercle tournant, formant un globe à haute vitesse (cf lien ci-dessous). Ainsi notre projet se démarque principalement par son dimensionnement.
Liste des composants
Pour établir ce système, nous avons besoin des composants suivants :
- Moteur brushless Spindle 300W
- Alimentation de type BK Precision 1901B (ou autre avec un courant de sortie d’au moins 10A)
- Micro Contrôleur ESP 32
- Condensateur 100 micro Farad
- Capteur à effet Hall
- Aimant
- Bande LED adressable WS2812B 5V
- Batterie 9V
Schéma électronique

Modélisation 3D
Pour contenir le moteur, nous avons réutilisé un pied déjà présent. Nous avons cependant du faire deux pièces pour assembler le moteur au pied et tenter d’atténuer les vibrations le plus que possible. La première est une pièce situé entre le pied et le moteur permettant d’épouser la forme du moteur et de le poser sur le pied. La deuxième est une pièce venant au dessus du moteur, pour l’écraser et faire un effet de presse afin de s’assurer que le moteur soit stable.

De plus, pour poser le système sur la barre, poser les LEDs dessus et équilibrer le tout, il faut plusieurs pièces que nous avons modéliser en 3D puis imprimer.





Assemblage et tests
Chaque module de notre projet fut testé par preuve de concept. Par exemple, nous avons testé l’adressabilité des LEDs, le contrôle de la rotation du moteur, l’utilisation du capteur à effet Hall, l’alimentation du système par batterie avant de tout assembler.
Concernant l’assemblage, une triple couche de papier gomme a été déposée en dessous de la pièce support du moteur afin d’amortir les vibrations et de bien épouser la forme du pied du support. Une fois le support du moteur bien posée, une vis rentre dans le support pour que le support soit encore plus fixé au pied. Le moteur peut alors être posé par dessus. La pièce faisant un effet de presse sur le moteur peut alors être posé par dessus puis on vis les deux pièces entre elles et on dépose des boulons en dessous. A cette étape, le moteur peut alors tourner sans soucis.
Sur la barre en métal, nous pouvons visser les deux fixations pour le support du système électronique, puis on dépose le support par dessus et on visse. D’un côté de la barre, on visse les quatre fixations du support LED avec des boulons, on pose par dessus le support et on revisse. Le système est prêt à l’utilisation. On peut alors téléverser le code que l’on souhaite vers le micro-contrôleur, brancher la batterie et brancher le moteur à l’alimentation.
Après assemblage de tous les éléments, notre système ressemble à ça :

Une fois le système opérationnel, nous avons pu tester différents programmes, pour tenter de tirer profit au maximum de l’effet Persistence Of Vision. Le programme va récupérer la vitesse de rotation des LEDs pour adapter leur vitesse de rafraîchissement. Après multiples essais, nous nous sommes rendus compte que gérer le temps d’allumage des LEDs allait être une tâche complexe. En effet, la barre étant grande, les LEDs à l’extrémité de la barre doivent être allumés durant un court lapse de temps pour que l’effet soit réalisable. En tentant diverses stratégies, tels qu’injecter certaines variables directement dans la mémoire de l’ESP pour une exécution plus rapide, nous sommes arriver à la conclusion que de part le dimensionnement de notre projet et la faible vitesse d’exécution du code, nous ne pouvions obtenir un effet POV parfait.
Conclusion et pistes pour la suite
En conclusion, le projet finalisé permet d’afficher des effets lumineux à haute vitesse grâce à la persistence rétinienne. Le large dimensionnement du système nous a fait face à plusieurs défis, tels que la diminution des vibrations ou l’augmentation de la fréquence de rafraîchissement des LEDs. La partie électronique du projet est aboutie et fiable. Une piste pour l’avenir serait de refaire quelques pièces en impression 3D pour améliorer l’esthétisme du projet (peut être recouvrir quelques éléments électroniques). La partie informatique du projet peut également être amélioré. Nous pourrions nous pencher sur des systèmes communiquant plus rapidement aux bandes LEDs, ou nous pourrions également téléverser un code au système permettant d’afficher une animation en 3D, ou communiquer sans câble avec le micro-contrôleur afin de lui demander d’afficher du texte ou des images en temps réel.