dimanche 8 juillet 2012

Arduino, LED, OpenSCAD et Impression 3D

Suite mes récentes expérimentations avec la mesure d'une température avec une thermistance et l'affichage avec 5 LEDs j'ai voulut améliorer un peu le résultat et concevant de petit cache en plastique pour les LEDs afin d'en faire un afficheur un peu plus présentable.
Ce sera l'occasion de toucher à plusieurs éléments : 
  • circuit électronique : mesure et affichage (déjà vu précédemment)
  • modélisation d'objet 3D simple
  • réalisation des objets (impression 3D avec la Up+)
Jusqu'à présent je n'ai conçut aucun des objets 3D que j'ai imprimé, j'ai toujours confier leur modélisation a mon collègue de bureau dont c'est le métier, je ne faisait que lui remettre des croquis sur papier.
modèle 3D
Il est temps désormais de ce mettre à la modélisation 3D. Il existe pour cela plusieurs logiciels :
  • J'avais déjà essayé avec SketchUp (anciennement Google) qui si il permet une modélisation assez facile et abordable, l'utilisation pour exporter du STL (le format 3D nécessaire pour l'impression 3D) est assez aléatoire. N'étant pas supporté en natif c'est pas l'ajout de module externe mais ça fonctionne moyennement. De plus SketchUp est plus orienté architecture au départ. 
  • Après le très connu Blender (open-source) mais je n'y comprend rien et la courbe d'apprentissage me semble bien trop élevé pour que m'y investisse... Trop lourd et trop complexe. Blender sait tout faire, modéliser des objets complexes, animer et même faire des rendus photoréalistes c'est un véritable outil professionnel mais bien trop inabordable pour un usage léger.
Ensuite il reste pas grand chose, comme modeleur abordable, facile et efficace...
  • Il ne reste que l'atypique OpenSCAD, open source lui aussi. Il permet la modélisation d'objet par programmation via un language assez simple (il faut faire gaffe aux variables qui n'en sont pas ce qui est perturbant pour un développeur). Ca me semble plus abordable, surtout pour un développeur.
Concept
L'idée de base est de faire des diffuseurs individuels pour la lumières de LEDs. 
Cette dernière est très ponctuelle et plutôt directive (très forte par le dessus et très ponctuelle et faible sur le coté). Avec un diffuseur on doit pouvoir avec un lumière plus homogène et plus agréable...
On peut réaliser très facilement un petit diffuseur avec du papier en réalisant un petit cube de 2 à 3 cm de coté, ça marche très bien et ça diffuse très bien. Par contre ça diffuse un peu trop (la lumière est très affaibli) et le montage est quasiment impossible (pour laisser en place). Avec un tel cube de papier on peut mettre 3 LEDs (Rouge, Verte et Bleu) et ainsi créer n'importe quel couleur (se sera peut être l'objet d'une autre réalisation).

Ici il faut que la diffuseur soit utilisable avec une plaque proto et des LEDs standard sans nécessiter d'être tenu manuellement : diffuseur auto-porteur.
Les LEDs que j'utilise sont standards, il s'agit de LEDs 5mm. Elles ont toutes à peut prêt la même géométrie dans cette gamme.

L'objectif de créer un diffuseur individuel mais puisse être coupler avec des voisins pour réaliser des lignes ou même des matrices de LEDs. L'idée sera donc de partir d'un carré qui permettra de placer les diffuseurs les uns à coté des autres.
La zone interne haute (au dessus de la LED) doit s'agrandir dans le diffuseur afin de proposer une zone haute avec une faible épaisseur laissant passer la lumière plus que le reste du diffuseur.

Modélisation
OpenSCAD pour Mac
C'est le moment d'en venir à tester OpenSCAD. En tant que développeur je suis pas trop perturber car c'est un modeleur qui s'utilise par programmation uniquement. L'environnement du logiciel est composé d'une éditeur de texte pour saisir le code, d'un cadre visuel qui permet de voir l'objet 3D en conception et d'une console qui indique les étapes et les éventuelles erreurs.
Le language de OpenSCAD propose principalement des primitives 2D (carré, cercle que l'on peut extruder) et 3D (Cube, Cylindre, Sphère et Polyèdre) ainsi que des outils assemblages : Union, Différence, Intersection et des outils de transformations (rotation, échelle, translation...) qui permettent par compositions successives la modélisation de formes complexes. Bon ça aide d'être développeur et d'avoir des notions mathématiques 3D.

Le diffuseur que je souhaite modéliser est simple : il s'agit d'un cube perçé par en dessous d'un cylindre pour recevoir la LED puis d'une cavité interne au dessus de la LED qui donne une zone haute avec une faible épaisseur qui doit permettre une diffusion de la lumière (voir schéma ci contre).

Le concept de OpenSCAD permet la modélisation paramétrique (par programmation ici) c'est à dire que le modèle 3D est basé sur des dimensions paramétrique (variables) et que les autres dimensions sont déduites par calculs de ces données de base. Cela permet de concevoir à partir du même modèle plusieurs variations, ici concernant l'épaisseur des parois de la cavité haute.
Du coup après quelques tâtonnements, une documentation succincte mais efficace et surtout les nombreux exemples fournis avec, j'ai pu modéliser mon diffuseur paramétrique...

Impression
Impression des 6 variations de diffuseurs
Une fois le modèle conçut dans OpenSCAD on exporte au format STL chaque variation. J'ai ainsi testé :
  • cavité cubique
  • cavité en forme de cone inversé
  • cavité avec paroi de 2 mm
  • cavité avec paroi de 1 mm
  • dimension externe 8x8 mm et 10x10mm
Le logiciel de l'imprimante Up permet d'importer plusieurs fichiers STL et donc d'imprimer plusieurs objets à la fois. Ici il s'agit de plusieurs très petits objets et avec 6 diffuseurs j'ai une impression qui dure 23 minutes.
Au niveau paramétrage de l'impression et au vu des petites dimensions et des épaisseurs de parois j'opte pour un intérieur de pièces "Solid".

Essais
Une fois refroidit les diffuseurs se détache facilement et le support part plutôt bien, sauf pour le modèle avec une épaisseur interne de 1mm ou ça se déchire sur le dessus : on atteint là les limites de l'imprimantes.
Au niveau mise en place, première petite déconvenue : avec un diamètre interne de 5mm pour une LED de 5mm ça force pour rentrer. Les modèles avec un trous de 5.2 mm par contre flottent mais tiennent en place.

Premier essai
Là encore ce sont les limites des l'imprimante 3D dont la précision n'est pas garantie et est variable suivant les conditions. D'autres expériences d'impression m'ont déjà montrés que par exemple la vitesse d'impression d'une couche fait varier les dimensions des objets notamment en XY. Ainsi si on imprime un objet haut avec plusieurs petits à coté, on constatera que les dimensions XY de l'objet haut varient entre la partie basse (ou l'imprimante doit aussi imprimer d'autres objets et donc passe plus de temps pour faire une couche) et la partie haute ou les couches sont imprimer plus vite et donc déposer sur de la matière plus chaude : cela crée un retrait plus important sur la partie haute aboutissant a des déformations.

Au niveau luminosité, je m'aperçois aussi que la partie basse (plus épaisse) laisse passé aussi de la lumière mais moins intense et plus diffuse (épaisseur).
La différence entre une zone interne cubique ou conique n'est pas flagrante, voir même inexistante au niveau du résultat lumineux.

L'ensemble étant monté sur les LEDs au bout de leurs pattes est assez branlant et délicat a aligné. Il faut un système pour maintenir l'ensemble.
Les cubes de 8x8 sont plus adaptés que ceux de 10x10, du fait de l'espacement des pattes et LEDs et de l'espacement des fixations sur la plaque de prototypage (2.54 mm).

Améliorations
5 diffuseurs maintenus par une barrette
Les paramètres retenus : 
  • dimensions externes : 8 x 8 x13 mm
  • dimension interne : ø5.2 mm (pour une LED de 5mm)
  • épaisseurs parois diffusion : 2 mm
Il est nécessaire d'ajouter un maintien de l'ensemble : je modélise une simple bague venant prendre en sandwich les 5 LEDs alignés soit 41 x 8 mm (41 au lieu de 40 pour le jeu entre les LEDs).
Ca fonctionne parfaitement. L'éclairage est plus doux et ça donne vraiment mieux avec un pilotage PWM permettant de moduler l'intensité.

Il s'agit d'une réalisation très simple, voir simpliste mais très éducative au niveau design et concept pour moi.
J'ai pu découvrir les joies de OpenSCAD (et je crois je j'aime ça, c'est normal ?), les possibilités d'immédiatetés de la conception avec imprimante 3D et la réalisation direct d'un petit projet.
Ce concept de base d'un diffuseur autoporteur me semble pouvoir permettre des choses plus évoluées, comme un diffuseur multi-LED (plusieurs LED sous le même diffuseur mais plus grand), des diffuseurs individuels mais plus grand pour une lumière plus diffuse encore (peut être avec des LEDs plus puissantes).

Mais un truc me chagrine c'est le possible échauffement, le diffuseur étant en contact direct avec la LED il doit réduire le dégagement de chaleur naturelle de la LED et possiblement conduire à un échauffement plus important qui pourrait réduire la durée de vie de la LED. J'utilise ici des LEDs "bright" mais pas très puissante le problème doit pas se poser, mais avec des LEDs plus puissantes... Il me faudra étudier ça plus en détail.

Ce design simple est mon premier objet disponible sur Thingiverse : Led automount diffuser

Aucun commentaire:

Enregistrer un commentaire