Banc de vision 2019


INTRODUCTION

Le projet « Banc de Vision » a été effectué en collaboration avec des étudiants GMP. Il a été nécessaire d’allier les compétences des uns et des autres afin de mener à bien ce projet.

Ce banc de vision à été étudié et conçu afin de répondre à différents besoins: il permet d’une part la numérisation d’une pièce de fonderie sous différents angles de vue et facilite d’autre part la détection des défauts de surface éventuels sur une pièce. La structure du banc est commune avec d’autres projets tels que le banc de vision à éclairage multi-spectral et permet donc d’augmenter les possibilités proposées à l’utilisateur.

 


SOMMAIRE

1. DIAGRAMMES
2. CAHIER DES CHARGES
3. LISTE DU MATÉRIEL
4. MOTEUR PAS À PAS
5. CLAVIER 16 TOUCHES
6. CAPTEUR DE FIN DE COURSE
7. PAN-TILT
8. CONCEPTION DES PIECES MECANIQUES
9. CONCLUSION
10. ANNEXES

1. DIAGRAMMES

1.1. DIAGRAMME PIEUVRE

Ce banc de vision s’adresse à quiconque souhaite avoir une première approche de la géométrie d’un pièce de fonderie, en la visionnnant sous différents angles afin de numériser par exemple cette pièce ou de détecter des défauts de surface.

1.2. FONCTIONS

FP1: capturer une pièce de fonderie

FC1: s’adapter aux dimensions des pièces de fonderie

FC2: respecter le budget

FC3: se fixer au châssis prédéfini avec le projet « éclairage multi-spectral »

FC4: assurer une prise de vue sous différents angles et à différentes hauteurs

FC5: Permettre le stockage et le transfert des photos


2. CAHIER DES CHARGES

 

Il est demandé aux élèves l’étude préalable et la conception d’un banc de vision permettant de numériser une pièce (de fonderie par exemple) sous différents angles.

Ce banc est constitué d’une glissière verticale sur laquelle une caméra peut se déplacer de haut en bas et s’incliner grâce à un support pan-tilt. Ce mécanisme doit s’intégrer au sein d’une structure aluminium multifonctions, commune à différents projets.

Le cahier des charges stipule que le banc peut accueillir des pièces de fonderie de 300 mm de longueur, 300 mm de largeur et 400 mm de hauteur. La caméra permettant la prise de clichés doit être située à 400 mm minimum de la pièce à analyser. La pièce peut être posée sur un plateau tournant (autre projet) afin de visualiser toutes ses faces. Si l’on souhaite une vue de la partie haute de la pièce, la caméra pourra être déplacée le long d’un axe afin d’augmenter son altitude de prise de vue. Un moteur pas à pas assure la translation verticale de la caméra.

La capture de la pièce pourra être effectuée soit manuellement, soit à l’aide de programmes préétablis à l’aide d’un clavier de commande.

Afin de ne pas forcer le mécanisme et endommager les différentes pièces, deux butées de fin de course assurent la pérennité de l’ensemble du système.

 

Le diagramme FAST ci-dessous permet de retrouver toutes les fonctions de services , les solutions constructives ainsi que les critères auxquels le banc de vision doit répondre.

 

 


3. LISTE DU MATÉRIEL

Notre première mission a été de sélectionner le matériel nécessaire à nos tests.

  • une carte Arduino Mega
  • un moteur pas à pas de 12V, 1.2A
  • un shielda vis pour faciliter les branchements
  • une alimentation de 230V en entrée et 12V + 5V en sortie est utilisée pour alimenter l’ensemble du banc de vision.
  • un servo-moteur pour le pan-tilt
  • un clavier 16 touches
  • 2 capteurs de fin de course

 


4. MOTEUR PAS À PAS

Qu’est-ce qu’un moteur pas à pas ?

Un moteur pas à pas est un moteur permettant de commander précisément le positionnement de son rotor quel que soit le nombre de tours qu’il a à exécuter. Chaque moteur a un nombre de pas définis par révolution, c’est-à-dire un nombre de secteurs bien déterminé. Dans notre cas chaque pas fait 1,8°,  soit 200 pas pour effectuer un tour de 360°.

Afin d’assurer l’entrainement permettant la translation verticale de la caméra, nous avons utilisé un moteur pas à pas de 12V, 1.2A, un microstep driver permettant l’alimentation en puissance ainsi que la gestion partielle de la rotation du moteur et un Arduino Mega en guise d’électronique de commande.

Voici le schéma simplifié de l’installation:

La carte Arduino transmet un signal carré au micro step driver (partie puissance) qui se charge en interne d’alimenter alternativement chaque bobine du moteur. Plus la durée entre deux impulsions consécutives est courte, plus la vitesse de rotation du moteur est importante.

La cadence de rotation est déterminée par le temps séparant deux impulsions. Plus le temps est court, plus le moteur est rapide, plus le temps est grand, plus le moteur sera lent.

PINs:

  • PUL+/-: vitesse de rotation du moteur en fonction de la cadence des impulsions de l’Arduino
  • DIR+/-: sens de rotation du moteur
  • ENA+/-: alimentation du moteur (désactiver l’alimentation quand le moteur n’est pas en rotation, sinon il surchauffe!)
  • A et B: bobines du moteur

 


5. CLAVIER 16 TOUCHES

Un clavier 16 touches est utilisé afin de permettre aux utilisateurs de contrôler facilement le banc. Il est possible de démarrer des programmes automatiques, mais aussi de commander le banc en mode manuel.

Description des touches:

  • Carré noir: entrer en mode automatique
  • Carré blanc: entrer en mode manuel
  • 0,1,2,3: programmes automatiques
  • 9: trigger photos
  • Flèches Haut/Bas: monter/descendre le banc en mode manuel
  • Flèches Gauche/ Droite: monter/descendre le pan-tilt par pas de 10°
  • Autres touches: non utilisées pour l’instant

 

 

Le clavier fonctionne de la manière suivante:

Il est constitué de lignes et de colonnes, le tout étant relié aux ports de l’Arduino. Les lignes sont connectées sur des sorties et les colonnes sur des entrées. Chaque ligne du clavier est alimentée tour à tour en 5V (balayage).

 

 

Lors d’un appui sur une des touches du clavier, un contact se crée entre une ligne et une colonne et la détection de la touche est effectuée par l’Arduino. L’Arduino n’a plus qu’à réaliser la correspondance entre la ligne alimentée et la colonne d’où vient le signal pour connaître le numéro de la touche enfoncée. Une librairie permet de réaliser ce traitement.

 


6. CAPTEUR DE FIN DE COURSE

Les capteurs de fin de course que nous avons utilisés sont des capteurs infrarouges (E18-DN80K). Ils sont équipés d’un émetteur et d’un récepteur. L’émetteur crée un faisceau lumineux de manière constante. Temps que le faisceau n’est pas réfléchi, cela signifie qu’aucun obstacle n’est présent devant le capteur. Si au contraire le faisceau est réfléchi vers la cellule réceptrice, c’est qu’un obstacle est dans la trajectoire du faisceau. Le capteur transmet alors un signal de 5V continu au port de l’Arduino.

Dans notre cas, nous avons placé deux de ces capteurs sur le banc, un en haut de la glissière et l’autre en bas.

Si le capteur haut détecte un obstacle, il envoie un signal à l’Arduino afin de stopper la montée du plateau. Même principe avec le capteur bas, lorsque le plateau descend.

 


7. PAN-TILT

Afin de permettre à la caméra se s’incliner, nous avons utilisé un support un pan-tilt.

Un servo-moteur de modélisme permet l’inclinaison de celui-ci. Les GMP ont réalisé un support de caméra sur mesure afin d’épouser les formes du servo-moteur.

 

Au niveau de la programmation, nous avons fait le choix de donner au servo-moteur une course maximale de 90° par pas de 10°. Il peut donc se déplacer de l’horizontale à la verticale et inversement.

 


 

 

8. CONCEPTION DES PIECES MECANIQUES

8.1   Choix de conception

 

Le cahier des charges demande d’assurer la prise de vue de clichés dans différents angles et surtout à différentes hauteurs. De ce fait un guidage en translation de la caméra est nécessaire. Plusieurs solutions pouvaient être utilisées :

Guidage en translation par galet                                        Guidage en translation par patin                                   Guidage en translation par profilés ronds

 

Peu importe la choix de conception l’entrainement du plateau s’effectue avec un système poulie cranté / courroie.

Après réflexions c’est le guidage en translation par profilés ronds qui va être utilisé pour des raisons de coût, de faisabilité et d’assemblage. Le chariot (partie qui translate sur les profilés ronds) sera lié sur un profilé rond par une liaison pivot et sur l’autre profilé par une liaison bi-ponctuelle.

 

8.2   Vue d’ensemble

 

Pour avoir un aperçu de l’ensemble, ci-dessous une vue du projet modélisé sur Créo :

 

Parmi tous ces composants certaines pièces ont été achetées soit :

  • Les profilés ronds
  • Les supports d’arbres
  • Les deux poulies
  • Le bâti

 

8.3   Usinage de la plaque support

 

Ci-dessous la plaque support où tout les éléments du banc de vision vont se fixer. L’objectif de cela est de pouvoir avoir une interface amovible qui peut se démonter par l’intermédiaire de 4 vis. Cette plaque à été réalisée sur la machine de découpe jet d’eau dans l’atelier GMP.

 

8.4   Fabrication additive 3D

8.4.1  Conception du chariot

 

Comme dit précédemment, le chariot va coulisser sur deux profilés ronds mais avec deux liaisons différentes :

  • Une liaison pivot glissant d’un côté assurée par une douille à billes
  • Une liaison bi-ponctuelle pour empêcher la rotation de la pivot glissant

Les deux liaisons permettent d’aboutir à une liaison glissière qui correspond bien au mouvement recherché.

 

Nous avons décidé de nous orienter vers la fabrication additive 3D pour faire cette pièce, ci-dessous la conception finale du chariot :

Face avant du chariot                                                                                 Face arrière du chariot

 

Sur la face avant il  y a un trou qui permet par l’intermédiaire d’un boulon de fixer le pantilt qui à été fait également en impression 3D.

 

8.4.2  Support moteur

 

Pour fixer le moteur (qui va entraîner une poulie crantée) à la plaque support, un support à du être réalisé.

Le support répond bien à sa fonction mais plusieurs axes d’améliorations seraient envisageables. En effet la pièce n’est pas rigide et fléchit, il serait nécessaire d’ajouter des renforts sur la pièce ou bien de la faire en métal (Découpe jet d’eau + Pliage).

 

8.4.3  Pan tilt

 

Pour permettre l’inclinaison de la caméra, nous avons utilisé un servomoteur mais aucune interface n’était fournie avec. De ce fait toujours en fabrication additive plastique nous avons réalisé cette interface qui permet d’obtenir des prises de vues dans différents angles.

 

L’ensemble est composé de deux pièces :

  • Une pièce en liaison avec le chariot
  • Une pièce en liaison avec la caméra

Bien que le plastique offre une légèreté incomparable par rapport au métal, des renforts ont été prévus pour éviter toute flexion.

 

Ci-dessous un court aperçu du résultat final, aboutissement du travail effectué par les GEII et les GMP :

 

 


9. CONCLUSION GEII

Nous avons trouvé ce projet très intéressant. Le fait de pouvoir travailler en équipe avec un groupe de GMP très investis dans leur travail était un réel plaisir et nous a permis de mener à bien ce projet.

Ce projet nous a permis de découvrir le fonctionnement d’un moteur pas à pas mais aussi celui d’un clavier et d’un capteur infrarouge. Nous avons aussi pu approfondir nos connaissances en programmation et voir le potentiel impressionnant des cartes Arduino, pourtant vendues à un prix raisonnable. Ces dernières permettent de réaliser des projets aboutis avec une grande liberté et de multiples fonctionnalités.

Nous sommes satisfaits du résultat final et espérons que ce projet pourra évoluer dès l’an prochain!

 


10. ANNEXES

DATASHEET:

LIEN CAPTEUR DE FIN DE COURSE

LIEN CLAVIER 16 TOUCHES

LIEN CODE ARDUINO

LIEN CODE PRÉSENTATION POWER POINT