Automatic Soldering System Project

De Wiki d'activités IMA
Révision datée du 13 décembre 2015 à 17:56 par Jwasilew (discussion | contributions) (La partie impression)


Placeur de composants sur PCB

Présentation du projet

Durant le début de l'été, nous avons eu l'idée de proposer un projet de soudure automatique. Ce projet avait pour but de concevoir un système permettant l'automatisation des soudures sur une carte électronique à composants traversants. Après des échanges avec le responsable des projet de 5éme année, M. Vantroys, nous avons finalement abandonné notre projet au profit d'un autre projet assez proche.

L'idée du nouveau projet est de proposer un système de Pick & Place de composants CMS sur une carte électronique sur laquelle de la crème à braser est préalablement déposée sur les pastilles. Pour mener à bien ce projet, nous avons été épaulé par M. Redon, M. Vantroys et M. Boé. En plus de nos encadrants école, nous avons travaillé en étroite collaboration avec M. Flamen, responsable du service électronique de Polytech Lille ainsi qu'avec M. Astori, enseignant en Conception Mécanique et responsable du FabLab de Polytech Lille.

Définitions des objectifs

  • Prendre un composant
    • Stocker les composants à déposer sur la carte et identifier leur position
    • Maintenir le composant par aspiration
  • Repérer la position et l’orientation de la carte
  • Déplacer le composant
    • Le déplacer en translation selon les axes X, Y et Z
    • L’orienter correctement sur les pastilles (rotation autour de Z)
  • Déposer le composant
    • S’assurer que l’outil d’aspiration n’endommage ni la carte, ni le composant lors de la dépose -> détecter le contact entre le composant et la carte
  • Connaître la position désirée pour la dépose du composant
    • Récupérer les fichiers provenant du logiciel de CAO et les transformer en déplacement de la machine
    • Permettre à l’utilisateur d’avoir une interface visuelle (sur ordinateur) indiquant l’état des éléments de la machine et permettant leur calibrage

Liste des tâches

  • Créer l’infrastructure mécanique de la machine (châssis)
    • Fabrication du châssis
    • Design des pièces mobiles et impression 3D de ces pièces au FabLab (chariot comportant l’outil d’aspiration et “guides tubes” assurant la transformation de la rotation des moteurs en mouvement de translation (glissières) sur des barres métalliques)
    • Assembler l’outil d’aspiration au chariot
  • Concevoir la commande d’aspiration par pompe
  • Organiser la commande des moteurs du système pour l’asservissement en position de la machine
    • Étude et prise en main des drivers pour les moteurs Pas à Pas
  • Réalisation de l’interface commande-puissance
  • Réaliser la conversion des données de position (relatives) de l’emplacement souhaités des composants en mouvements pour la machine
    • Concevoir l’interface de récupération des données du fichier Gerber de l’utilisateur
    • Caractérisation des différents repères (repère de la machine, repère de l’outil et repère de la carte) et établir le lien entres eux
    • Détecter l’origine du repère de la carte au moyen d’une caméra fixe

Planning prévisionnel de répartition du travail

Semaine 39 (21/09) Brainstorming et réunions avec les encadrants de projet afin de définir les objectifs / Étude de faisabilité
Semaine 40 (28/09) Brainstorming et réunions avec les encadrants de projet afin de définir les objectifs / Étude de faisabilité
Semaine 41 (05/10) Dimensionnement des éléments du système et recherche du matériel à commander en tenant compte des contraintes de coût
Semaine 42 (12/10) Achat du matériel pour le châssis de la machine (bois, tiges métalliques...) et pré-assemblage / Conception des pièces mécaniques à imprimer au FabLab
Semaine 43 (19/10) Dans l'attente de la réception du matériel commandé : Conception des pièces mécaniques à imprimer au FabLab / Développement de l'application PC / Étude de l'asservissement en position
Semaine 44 (26/10) Dans l'attente de la réception du matériel commandé : Conception des pièces mécaniques à imprimer au FabLab / Développement de l'application PC / Étude de l'asservissement en position et du repérage caméra
Semaine 45 (02/11) Dans l'attente de la réception du matériel commandé : Conception des pièces mécaniques à imprimer au FabLab / Développement de l'application PC / Étude de la commande des moteurs et du repérage caméra
Semaine 46 (09/11) Dans l'attente de la réception du matériel commandé : Fabrication du châssis - assemblage des pièces / Développement de l'application PC / Étude de l'asservissement en position et du repérage caméra
Semaine 47 (16/11) Dans l'attente de la réception du matériel commandé : Impression 3D des pièces mécaniques / Développement de l'application PC / Étude de l'asservissement en position et du repérage caméra
Semaine 48 (23/11) Dans l'attente de la réception du matériel commandé : Impression 3D des pièces mécaniques / Développement de l'application PC / Étude de l'asservissement en position et du repérage caméra
Semaine 49 (30/11) Réception espérée du matériel : Montage de la maquette / Prise en main et calibrage des éléments / Tests
Semaine 50 (07/12) Réception espérée du matériel : Montage de la maquette / Prise en main et calibrage des éléments / Tests
Semaine 51 (14/12) Réception espérée du matériel : Montage de la maquette / Prise en main et calibrage des éléments / Tests
Semaine 52 (21/12) Réception espérée du matériel : Montage de la maquette / Prise en main et calibrage des éléments / Tests
Semaine 53 (28/12) Réception espérée du matériel : Montage de la maquette / Prise en main et calibrage des éléments / Tests
Semaine 01 (04/01)
Semaine 02 (11/01)
Semaine 03 (18/01)
Semaine 04 (25/01)
Semaine 05 (01/02)
Semaine 06 (08/02)
Semaine 07 (15/02)
Semaine 08 (22/02)

Retour sur les directives des encadrants

M. Flamen

Exemple de composants CMS

Dans un premier temps, pour mieux définir les objectifs de notre projet, nous avons pris rendez vous avec M. Flamen. M. Flamen est le responsable du service électronique de PolytechLille. Il est le principal intéressé par notre projet car celui-ci (le projet) permettrait de disposer de la chaîne complète de fabrication de cartes électroniques CMS (composants montés en sufrace).

Cette rencontre avec M. Flamen nous a permis de déterminer certaines précisions, comme:

  • La précision maximale demandé n'excédera pas 0,2 mm (précision de classe 5, qui est celle de la graveuse de carte du service EEI).

Liste de matériel

Matériel disponible

  • Support
    • 3 Tiges de 1 mètre [Reçu le 2015-10-12]
    • 1 Tasseau de 2m70 (découpé pour fabriquer les supports des tiges) [Reçu le 2015-10-12]
    • 1 Planche en bois pour effectuer le support du projet [Reçu le 2015-10-12]
  • Motorisation
    • 2 Moteurs Pas à Pas type NEMA 17 (pour axes X et Y) [1][Reçu le 2015-11-09]
    • 1 Moteur Pas à Pas (pour rotation autour de Z) [2][Reçu le 2015-11-09]
    • 1 Moteur Pas à Pas avec glissière intégrée (pour translation selon Z) [3][Reçu le 2015-11-09]
    • 4 drivers pour moteur Pas à Pas bipolaire [4][Reçu le 2015-11-09]
  • Outil d'aspiration
    • Aiguille manipulant le composant [5][Reçu le 2015-11-09]
    • Tube flexible [6][Reçu le 2015-11-09]
  • Châssis mécanique
    • 2 Courroies crantées [7][Reçu le 2015-11-09]
    • 4 Poulies crantées [8][Reçu le 2015-11-09]
  • 2 Courroies crantées plus grandes [Reçu le 2015-12-27]

Matériel manquant

  • Rien pour le moment

Création du prototype

Usinage des pylônes à la perceuse à colonne
Tour conventionnel utilisé pour le perçage
Marquages sur le support pour la pose de pylônes
Etat de la maquette avant la fixation finale

Notre projet comprend une partie extrêmement importante de conception. Nous avons donc décidé d'utiliser une organisation plus particulière. Le principe de cette organisation est de créer des pièces (on parle ici uniquement de leur impression à l'imprimante 3D et de la phase de conception sous Catia) rapidement, avec une faible taux de remplissage (de l'ordre de 30%). Le but de cette méthode est de créer un nombre de pièces plus important, permettant plus facilement rectifications en fonction des remarques que nous tirons du montage.

La partie usinage

Nous avons commencé par acheter une support contreplaqué en bois. Sur ce support, nous avons disposé quatre pylônes reliés deux à deux par un axe métallique. Nous avons donc découpé à la scie à chantourner plusieurs linteaux de bois pour fabriquer les pylônes. Ensuite, nous avons usiné les pylônes à l'aide d'une perceuse à colonne pour leur permettre de recevoir l'axe métallique.

Ensuite, nous avons eu la surprise de recevoir des poulies non percées. Nous avons donc du les percer. Nous avons percé les deux premières à l'aide de la perceuse à colonne. Le désavantage de cet outil est son imprécision sur la largeur de perçage. De plus, il n'était pas possible d'y ajouter un mécanisme permettant son maintient au moteur. Par conséquent, nous avons eu la chance d'être aidé par l'atelier mécanique. Ainsi, nous avons usiné les deux dernières poulies à l'aide d'un tour conventionnel (sous la supervision du responsable de l'atelier mécanique). Nous avons ensuite, toujours avec l'aide de M.Yoan Dhont, percé les deux poulies selon un axe perpendiculaire au précédent et créé un filetage pour permettre l'insertion d'une vis sans tête pour assurer la fixation au moteur.

Pour des raisons estétiques et pratiques, nous avons demandé à la menuiserie de PolytechLille de corriger nos pylônes pour assurer leur perpendicularité. Cette correction a été effectué par M. David [TODO] et M. JP [TODO] à l'aide d'une scie à bande. Par la suite, nous avons marqué le support pour faciliter le perçage et l'ajustement des pylônes. Une fois les marquages, nous avons percé le support et les pylônes pour assurer une bonne fixation.

La partie impression

Version 1 et 2 du guide axe avec moteur
Etat de la maquette avant la fixation finale
Guide de poulie et garde moteur

Nous avons commencé par créé un chariot permettant le déplacement selon l'axe X, et permettant d'embarquer le moteur pour le déplacement selon Y. Nous l'avons créé à l'aide du logiciel Catia. Les cotes imposés sur le schéma sont celles fournies par la documentation et par mesure des axes métalliques au pieds à coulisse.

Après impression, nous nous sommes aperçu que la documentation comprenait une erreur importante sur la taille des moteurs, nous obligeant à réimprimer une deuxième pièce. Nous avons profiter de la deuxième impression pour réduire la surface de contexte entre l'axe X de la pièce et l'axe métallique X.

La deuxième pièce est très identique à la première à la différence près qu'il n'embarque pas de moteur. Il embarque uniquement une poulie permettant le passage de la courroie de transport en Y. Cette version, bien que fonctionnel, n'a pas eu (pour le moment) l'amélioration apporté par la deuxième version de la pièce 1 (c'est à dire la réduction de surface de contact).

Les deux dernières pièces sont des pièces de support pour permettre au moteur de l'axe X et à la poulie de l'axe X de se maintenir sur leur pylône respectif. Le support de poulie n'a tenu que deux jours avant de rendre l'âme. Nous avons donc remplacer de façon temporaire son axe par une longue vis à bois. Le support de moteur n'a, lui, pas cassé, mais nécessite d'être imprimer une deuxième fois car la documentation du moteur était incorrect (encore une fois).

Quelques jours avant la pré soutenance, les pièces semblent fonctionnelles. Une amélioration peut être apportée dans un second temps en modifiant les guide d'axe par des poulies (imprimées à l'imprimante 3D) permettant de suivre plus fidèlement l'axe métallique. Ce système sera développé durant les semaines suivants la pré soutenance.

Création du logiciel

Définition du cadre

Un des buts de ce projet est de concevoir une application permettant de contrôler les différents éléments du projet. Pour cela nous, l'application doit être capable de lire des fichiers standards de création de carte électronique (aussi appelés fichiers Gerber). De plus, nous souhaitions que l'application puisse être utilisé sur n'importe quelle plateforme. Pour cela, nous avons choisi de la développer sous Qt. L’environnement de travail Qt nous permet d'utiliser des objets permettant l'accès à n'importe quel type de matériel sans se soucier de la plateforme de destination. Pour la communication avec les éléments de commande (comme les morteurs) nous avons choisi de n'envoyer des ordres qu'à travers l'Arduino Mega.

La communication entre le logiciel et l'Arduino Mega