Une useless box est un objet donnant envie d’interagir avec lui et qui a pour unique but de revenir dans son état initial après l’action de l’utilisateur. De plus, lorsque l’objet n’effectue aucune action, la consommation d’énergie doit être minimale voir nulle.
Contenus de la page
Inspiration
Ce projet s’inspire de la useless box présentée dans la vidéo suivante :
Diaporamas
Slides de présentation du projet :
Slides de présentation de mi-parcours :
Matériel nécessaire
Stepper | x2 |
Carte de contrôle | x2 |
Bouton-poussoir | x1 |
Arduino Uno | x1 |
Breadbord | x1 |
Interrupteur à levier | x5 |
Charnière | x2 |
Bobine de fil electrique | x1 |
Bobine de fil PLA | x1 |
Vis 2.5 x 8mm | x4 |
Vis 2.5 x 6mm | x6 |
Vis 2.5 x 30mm | x4 |
Rondelles 2.5mm | x8 |
Écrou 2.5mm | x8 |
Planche de bois 1m x 1m | x1 |
Planche de PMMA transparent | x1 |
Alimentation 6-9V | x1 |
(Porte logique électronique ‘OR’) | x1 |
II. Mécanique
Boite
La boite a été réalisée à l’aide de deux matériaux : les parois latérales sont en plastique transparent pour permettre d’observer le contenu de la boite, le haut et le bas de la boite sont en bois et un capot maintenu avec des charnières permet à un doigt de sortir de la boite afin de désactiver les leviers activés par l’utilisateur.
Le fichier permettant de reproduire la boite à l’aide d’une découpeuse laser est le suivant : Useless Box. Il est à noter que la parois latérales doivent avoir une épaisseur de 3mm et les parois du haut et du bas doivent avoir une épaisseur de 5mm.
Le lien suivant permet d’observer et d’animer l’assemblage des différentes pièces sur onshape : Assemblage Onshape Useless Box
Support
Afin de pouvoir fixer un stepper au centre de la partie basse de la boite nous avons réalisé un support dans lequel celui ci vient s’insérer.
Ce support a été réalisé à l’aide d’une imprimante 3D et du fichier suivant :Base.
Plateforme
La plateforme vient s’insérer sur le stepper fixé précédemment et permet de maintenir un second stepper.
Elle a également été imprimé en 3D à l’aide de ce fichier : Plateforme.
Doigt
Le doigt est la pièce servant à désactiver les leviers enclenchés par l’utilisateur. Celui ci est emboîté sur le stepper précédant et il est en mesure de soulever la capot de la partie supérieur à l’aide du stepper sur lequel il est monté.
Une fois de plus, cette pièce a été imprimée en 3D via le fichier : Doigt.
Leviers et charnières
Les 5 leviers viennent se visser dans les trous prévus à cette effet sur la partie supérieur de la boite. Ne pas oubliez de tarauder les trous au préalable enfin de faciliter l’insertion des leviers.
De la même façon les trous plus petits situés sur le capot et le haut de la boite servent à fixer les charnières afin de permettre au capot de basculer.
Capteur de fin de course
Le bouton poussoir doit être installé à l’aide de morceaux de bois découpés et collés à la main au niveau du bas du doigt lorsque la plateforme et le support sont alignés.
III. Électronique
Branchements
Alimentation et portes logiques
L’alimentation utilisée peut varier entre 6V et 9V car autant l’arduino uno que les cartes de contrôle des steppers disposent de régulateurs de tension en 5V. Une tension légèrement supérieure permet de gagner un peu de puissance pour permettre au doigt de soulever le capot et de désactiver les leviers.
Malheureusement, nous avons été pris par le temps et nous n’avons pas pu réaliser les branchements des interrupteurs et du capteur de fin de course à une porte logique ‘OR’. Ceci aurait permit d’alimenter l’arduino et les steppers que lorsqu’un levier est enclenché ou lorsque la plateforme et le doigt ne sont pas revenus à la position initiale. Cependant, tous les éléments mécaniques sont installés, il ne resterait donc plus qu’à les connecter à une porte logique électronique pour finaliser cette fonctionnalité.
IV. Programmation
Le code Arduino utilisé, qui est en langage C, est le suivant : Useless Box.
La boucle principale du code vérifie si un ou plusieurs leviers sont activés. Si tel est le cas, alors la plateforme tourne d’un quart de tour puis le doigt se lève et ouvre le capot. Ensuite pour chaque levier enclenché, la plateforme s’aligne avec ce dernier puis le doigt se baisse afin de désactiver le levier et enfin le mécanisme retourne dans la position précédente. Une fois tous les leviers désactivés, le système reprend sa position initiale, c’est à dire la position où le doigt touche le capteur situé dans la boite.
V. Difficultés rencontrées
Dimensionnement des pièces
Le dimensionnement des pièces a été la première difficulté à laquelle nous avons fait face. En effet nous avons itéré sur la forme et la longueur des différentes pièces afin de trouver les dimensions adaptées.
La forme de « cuvette » du capot s’explique par le fait que le cercle est centré sur le centre de rotation du doigt pour lui permettre d’atteindre chaque levier, et le décale de la partie droite permet d’avoir une longueur suffisante pour permettre au doigt de sortir de la boite.
Programmation des steppers
L’étape suivante ayant posé problème est la programmation des steppers. En effet nous avons utilisé la bibliothèque ‘stepper.h’ prévue à cet effet. En revanche l’ordre entre les pins de la carte de contrôle et ceux de la bibliothèque ne sont pas les mêmes. Ce qui empêchait dans un premier temps nos moteurs de tourner dans les deux sens de rotation.
Puissance des steppers
Une foi le système monté, nous nous sommes rendu compte que les steppers utilisés ne disposaient pas assez de puissance pour enclencher un levier. Nous avons donc dû démonter les leviers pour réduire la taille de la tige interne et ainsi rendre plus facile l’activation d’un levier.
De plus, la vitesse des steppers utilisés est assez limitée puisque qu’au dessus de 12 tours par minute le mécanisme interne se met à patiner.
Poussée du capot
Ayant été amené a augmenter la longueur du doigt, la distance entre la partie droite du capot et le bout du doigt a diminuée. Ce qui a entraîné un phénomène non voulu où le capot était poussé à tel point qu’il restait ouvert. Pour palier à ce problème nous avons ajouté une petite cale de bois afin d’empêcher le capot de dépasser les 90 degrés.
VI. Améliorations possibles
Évidemment la prise en compte de la porte logique ‘OR’ prévue initialement reste une amélioration à apporter.
Bouton poussoir
Le capteur de fin de course pourrait également être pris en compte lors de l’initialisation et lors de la remise en position initiale du système. En effet, nous utilisons actuellement la faible puissance de nos steppers afin de les bloquer de force contre le capteur, une approche électronique serait plus élégante.
Code
Le code actuel ne prend pas en compte l’ordre d’activation des leviers, il serait donc possible d’ajouter cette fonctionnalité pour rendre le système plus interactif. De plus le système se remet dans une position intermédiaire entre chaque désactivation de levier, il serait préférable d’aller directement à la position du prochain levier à désactiver pour éviter des déplacements inutiles.
Changement des steppers
Une dernière amélioration possible serait de changer les steppers pour des moteurs plus puissant. Ceci implique aussi de redimensionner les supports dans lesquels ces derniers s’insèrent.
VII. Démonstration
https://drive.google.com/file/d/1qsmpll6itft0TFH5INnTZKpl716OV5JG/preview
VI. Problèmes connus
Attention, la porte logique ‘OR’ n’étant pas encore mise en place sur le projet, l’arduino et les stepper sont alimentés en permanence ce qui a tendance à faire chauffer les parties métalliques des steppers. Ainsi les pièces en plastique en contact avec ces surfaces sont susceptibles de se déformer facilement lorsqu’un des stepper est amené à forcer pour, par exemple, désactiver un levier. Par conséquent, les positions des steppers peuvent être faussées ce qui peut empêcher le doigt de s’aligner avec les leviers ou bien l’empêcher de forcer, rendant ainsi le système non opérationnel jusqu’au refroidissement des pièces.
Membres
Kini Walid / De Nerée Sébastien