Introduction

Marre de passer le balais pour ramasser la poussière sous le lit ou tout simplement sur le sol. Et bien le robot balais est fait pour vous ;-).

Mécanique

Moteurs

La motorisation du robot est constituée d'un kit vendu chez Lextronic composés de deux petits moteurs et d'un ensemble d'engrenage pour avoir un couple et une vitesse correcte. Ceci permet au robot de faire des rotation sur lui-même. La vitesse des moteurs est définit a partir d'un signal PWM. Un étage combinatoire permet de sélectionner le sens de rotation.

Support

Le support est une planche de contreplaqué découpé à l'aide d'une assiette pour avoir à peu prêt le bon diamètre. Voici le schéma avec les dimensions.

Les deux trous rectangulaires sur le coté permettent de faire un branchement externe de la batterie. Ainsi il n'est pas obligé de tout démonter pour recharger la batterie.

En ce qui concerne la batterie, celle-ci est maintenue dans une armatures faite de tiges de métal Meccano(c) ainsi que par des vis à gauche et à droite. Les tiges verticales de cette armature permettent d'éviter les écrasements par le dessus du robot. Ça n'est pas grand chose, mais c'est déjà mieux que rien.
Ensuite, un autre trou rectangulaire plus haut permet d'avoir un accès direct aux pattes de programmation du PIC. On peut ainsi mettre a jour le firmware sans a voir à tout démonter, ni à enlever le PIC de son support.

Carrosserie

La carrosserie est faite avec une cloche de micro onde de marque Sundis achetée 1,65 Euros chez Carrefour. Cette cloche a de nombreux avantages. Premièrement elle est en plastique souple ce qui permet d'amortir des chocs ainsi que de servir de surface de contact pour activer les différents boutons de collision. Deuxièmement, elle possède des petits rebords proche du sol qui rentre en contact avec les surfaces avant le reste du robot. Cela augmente la sensibilité du robot balais.

Boutons

Les capteurs de collision sont des micro boutons-poussoirs montés sur des petites plaques indépendantes. Ceci permet de faire des ajustement sur la distance qui sépare le contact du bord de la carrosserie.

Celui-ci ou Celui-la

Tissu

Pour ramasser la poussière, le robot est équipé d'un tissu duveteux qui se trouve facilement dans le commerce. L'important est que le robot ne fasse pas que pousser la poussière mais également qu'il la stocke. Il est ainsi beaucoup plus facile de faire un système basé sur un tissu qu'un système d'aspiration. Le tissu est fixé au support grâce a du scratch ce qui permet de l'enlever pour le nettoyer.

Multicarte

La partie électronique est composée de plusieurs cartes qui se connectent les une aux autres :

  • la carte d'alimentation
  • la carte de puissance
  • la carte de gestion
  • les mini cartes pour les boutons
Cette décentralisation est très utile. Cela permet de faire évoluer certaines parties de l'électronique sans touchez aux autres. On gagne ainsi beaucoup de temps et de souplesse.

Problème d'alimentation

La carte d'alimentation a été changé deux fois car l'alimentation a partir d'un 7805 provoquait des chutes de tensions importantes lorsque les moteurs démarraient et ce malgré toutes les condensateurs que j'avais mis. J'ai ainsi fait une alimentation à découpage qui a plusieurs avantages. La plus important en plus de la puissance est qu'il y a moins de consommation parasite et donc la batterie dure plus longtemps.

Problème de rayonnement

En plus de ce problème d'alimentation, j'ai fait face a un problème qui m'a laissé perplexe un petit moment et m'a fait perdre pas mal de temps. En fait, le robot avait la fâcheuse tendance a prendre des décisions aléatoires et a ce mettre a tourner sans arrêt. J'ai d'abord cru que c'était un problème d'alimentation. Seulement, une fois nouvelle carte d'alimentation développée, le robot avait toujours un comportement bizarre. Après plusieurs démontages et remontages, j'ai remarqué une amélioration du comportement. La différence étaient le positionnement des câbles des boutons. Ceux ci était plus éloigné des câbles servant a alimenter les moteurs. Ainsi le rayonnement électrique des câbles du moteur provoquait des perturbations activant les interruptions du port B servant pour les boutons de collisions. La solution aurait été de blinder les câbles des moteurs et des boutons mais finalement je me suis dit que cela permettait à mon robot d'avoir comme une "conscience" et je vous assure que parfois c'est bleufant !

Programme

Détails

Le programme a été écrit en C sous MPLab 8.10. Le PIC utilisé est un 18F2680. Le programme est relativement simple et bien commenté donc je ne m'attarderais pas trop dans cette rebrique.
Cependant, le programme s'architecture autour d'une machine d'état. Chaque collision provoque une interruption qui permet d'entrer dans un nouvel état pour changer de direction. Voici le schéma de la machine d'état du programme.

Évolutions possibles

Il y a bien entendu un paquet d'innovation à apporter à ce robot. La première serait une meilleure intelligence mais la complexité du projet se verrait fortement augmenter. Mes idées d'évolution sont :

  • Rajout d'un capteur de déplacement. Celui-ci permettrait de savoir si le robot est bloqué et donc d'entamer une procédure de déblocage.
  • Changer le kit moteur par deux servomoteurs modifiés. Je pense que cela serait moins bruyant et cela permettrait de s'affranchir de l'étage de puissance.
  • Rajouter un système sonore pour donner une petite âme à ce robot. Un peu comme R2D2 dans Star Wars.
Si vous avez d'autres idées plus ou moins réalisables, n'hésitez pas à mettre un petit commentaire.

Photos

Vous trouverez les photos correspondantes dans la rubrique Galerie (menu de droite).

Video