Brevet FR2708365A1 — publié le 19950203

PROCEDE ET DISPOSITIF DE CORRECTION DE POSITIONNEMENT D'UN COMPOSANT ELECTRONIQUE. L'invention se rapporte au domaine de l'inspection industrielle par traitement d'image et concerne un procédé et un dispositif de correction de positionnement de composant électronique avant placement sur un support, par exemple de type circuit imprimé, par une machine d'assemblage. L'invention trouve ses applications notamment dans le domaine des machines de placement automatique de composants et plus particulièrement de Composants Montés en Surface sur circuit imprimé. Un processus d'assemblage automatisé de composants électroniques à un circuit imprimé se décompose généralement en trois étapes: la saisie du composant par exemple par une pipette, I'alignement mécanique du composant relativement au circuit et le placement du composant sur le circuit. La deuxième étape repose habituellement sur une calibration mécanique très fine de la machine de placement. Cette méthode de positionnement est de moins en moins adaptée à la technologie actuelle qui utilise des composants miniaturisés par exemple du type Composants Montés en Surface ou CMS, par le fait que les broches et espaces interbroches réduits nécessitent des précisions de positionnement toujours plus grandes et rendent non négligeables les déformations des circuits imprimés telles que gauchissement ou dilatation qui ne peuvent être prises en compte par une calibration mécanique a priori, généralement référencée à des points de marquage sur le circuit. L'invention a pour objet un procédé de correction de positionnement de composant électronique avant placement sur un support, caractérisé en ce qu'il consiste à calculer une erreur de position à partir d'au moins un Perceptron Multi-Couches (PMC) dont les entrées sont des données obtenues par un traitement déterminé d'au moins une image représentant tout ou partie du composant et de ses repères correspondants sur le support lorsque le composant est positionné au dessus de son emplacement. Les réseaux de neurones du type Perceptron Multi-Couches et les algorithmes de rétropropagation de gradient permettant de définir leurs poids synaptiques dans une phase d'apprentissage sont connus de l'Homme du Métier et décrits notamment dans la demande de brevet français n" 2685514 déposée par la Demanderesse. Selon un mode de mise en oeuvre du procédé de la présente invention, le traitement de l'image est basé sur une sommation par ligne, colonne de pixels et selon une diagonale relative à ces pixels, des pixels correspondant à un état binaire de l'image préalablement binarisée. Selon un deuxième mode de mise en oeuvre du procédé de l'invention, le traitement de l'image est basé sur une transformation de Fourier de la fonction à deux dimensions définissant l'image binarisée. L'invention concerne également un dispositif de mise en oeuvre du procédé selon l'invention. L'invention permet, en évaluant l'écart de position du composant électronique par rapport à l'empreinte correspondante sur le circuit imprimé, après un premier positionnement basé par exemple sur un calibrage mécanique de la machine de placement, d'obtenir une précision de placement indépendante des éventuelles déformations du circuit imprimé. Les précisions de placement obtenues avec un dispositif selon l'invention sont meilleures que celles des machines actuelles basées sur un simple calibrage mécanique. Le dispositif permet d'utiliser des machines actionnées par des mécanismes de moindre coût pour positionner le composant. Son adaptation à des machines existantes est simple et se limite à la fixation de capteurs de type caméras CCD et l'exploitation des entrées de consigne de la machine. La mise en oeuvre du procédé est aisée car basée sur une phase préalable d'apprentissage effectuée pour un modèle de carte électronique donné. Le procédé est robuste vis-à-vis des variations de l'éclairage et du contraste. Les caractéristiques et avantages de la présente invention ressortiront mieux de la description suivante, donnée à titre d'exemple et en référence aux figures annexées qui représentent: - la figure 1, une vue partielle d'un composant électronique placé au-dessus du circuit imprimé, - la figure 2, un organigramme du procédé selon l'invention, - la figure 3, un dispositif pour la mise en oeuvre du procédé selon l'invention. La figure 1 représente une vue partielle d'un composant placé au dessus du circuit imprimé obtenue à partir d'une caméra CCD. Seul le coin supérieur droit du composant et la partie du circuit imprimé correspondante sont visualisés par cette caméra. Les zones claires sont, d'une part les pattes de fixation ou broches liées au corps du composant, d'autre part les empreintes du circuit imprimé correspondant à ces pattes. Une erreur de positionnement de l'ordre d'un espace interbroches dans le sens positif de l'axe conventionnel des ordonnées, par exemple due à une précision insuffisante du système mécanique de la machine de placement du composant est décelable sur l'image. La figure 2 représente un organigramme du procédé selon l'invention. II s'agit de détecter une erreur de positionnement du composant en translation selon l'axe des abscisses et des ordonnées et en rotation, une fois que le composant a été positionné au-dessus de son emplacement par la machine de placement, par exemple en fonction des calibrages mécaniques effectués. Le procédé comporte une première phase 1 d'acquisition d'une image du composant électronique et de l'empreinte correspondante sur le circuit imprimé pour la partie non sous-jacente. Cette image est ensuite, dans une étape 2, normalisée en taille pour tenir compte de la forme non quadratique des pixels des capteurs d'image: une compression, dans le sens du côté le plus long de ces pixels, ou une dilation dans le sens du côté le plus court est effectuée pour obtenir des calculs homogènes lors des traitements ultérieurs tels que projection ou transformation de Fourier. Une troisième phase 3 découpe l'image obtenue en quatre fenêtres d'analyse, chacune d'entre elles visualisant un côté différent du composant, par exemple quelques broches de ce côté et leur environnement immédiat, c'està-dire leurs empreintes visibles sur le circuit imprimé. La quatrième phase 4 effectue un seuillage adaptatif de ces quatre images afin d'obtenir des images binaires, les zones claires correspondant par exemple au niveau 0, les zones sombres au niveau 1. La valeur de ce seuil est calculée de manière à obtenir toujours une même fraction de pixels au-dessus du seuil permettant ainsi de s'affranchir en grande partie des conditions d'éclairement et de contraste. Le contenu d'une fenêtre ainsi obtenu peut être défini par une fonction f (x, y), par exemple telle que f(x, y) = 0 pour les pixels noirs et f ( x, y) = 1 pour les pixels blancs. Si la taille de la fenêtre est de N x M pixels, respectivement sur l'axe horizontal Ox correspondant aux lignes de pixels et l'axe vertical Oy correspondant aux colonnes, N et M étant des entiers pairs, f (x, y) est définie pour les entiers x et y vérifiant: -+l 2 2 M M 2 2 II y a une fonction f (x, y) pour chacune des fenêtres d'analyse. Le traitement 5, 6, 7 réalisé ensuite est une projection, respectivement selon l'axe Ox, I'axe Oy et une des obliques à 45 , de chacune des quatre images définies par f (x, y); plus précisément il s'agit d'une sommation, selon ces axes et rapportée par exemple sur les axes Oy, Ox, Oy, des pixels blancs de l'image. Projection selon Ox: Projection selon Oy: Projection selon une oblique à 45 , par exemple sur l'axe Oy: Les valeurs obtenues sont alors sous-échantillonnées pour être transmises aux entrées d'un réseau de neurones; par exemple pour 48 échantillons par direction de projection, le nombre d'entrées est de 48 x 3 x 4 = 576 pour les quatre images binaires. Le nombre d'échantillons peut être différent selon les axes; on privilégie alors les projections selon l'axe perpendiculaire au côté du composant. Le réseau de neurones est un Perceptron Multi-Couches (PMC) qui, dans une étape 8, estime et transmet en sortie les erreurs de translation DX1 selon l'axe Ox, DY1 selon l'axe Oy et de rotation DA1 de la position du composant analysé par rapport à ses empreintes visualisées. La phase d'apprentissage de ce PMC, qui va définir les poids synaptiques, est basée sur l'algorithme de rétropropagation du gradient. La base d'apprentissage, constituée d'exemples de chacun des composants à positionner sur le circuit imprimé, est réalisée à partir de visualisations réelles de ces composants sur un circuit imprimé quelconque du lot de fabrication et à partir de simulations de déplacement du composant, alors modélisé, par rapport à ses empreintes. Les erreurs de position simulées sont comparées aux erreurs estimées par le réseau de neurones. Les itérations successives sont réalisées sur quelques centaines d'exemples par composant, la convergence des résultats étant obtenue dès une centaine d'itérations. L'augmentation du nombre d'entrées, par exemple en exploitant la projection selon l'oblique perpendiculaire à la précédente n'améliore pas de façon significative la précision obtenue en sortie du PMC. Un autre traitement 9 est réalisé en parallèle à ces projections orthogonales effectuées sur les fonctions f (x, y) des quatre images et consiste en une décomposition de Fourier de ces fonctions. La décomposition de Fourier de la fonction à deux dimensions f (x, y) associe à cette image spatiale le spectre F (u, v) dans l'espace transformé selon la relation: Le spectre de l'image transformée caractérise la périodicité spatiale de l'image. Les fenêtres d'analyse f (x, y) ont une structure périodique par ligne lorsqu'elles représentent le côté horizontal du composant ou par colonne s'il s'agit d'un des côtés verticaux, correspondant, dans l'espace transformé, aux axes Ou et Ov. II est donc possible de n'exploiter que ces zones d'intérêt pour caractériser le plus ou moins bon alignement des broches avec les empreintes correspondantes, la concentration d'énergie, sur ces axes, étant maximum pour un alignement parfait. Les valeurs provenant de ces zones d'intérêt, composantes spectrales prises sur les axes Ou, Ov, alimentent un deuxième réseau de neurones, de type PMC. Avec par exemple 64 valeurs, éventuellement échantillonnées, par axe, le nombre d'entrées du PMC est de 64 + 63 pour la partie réelle et de 64 + 63 pour la partie imaginaire soit un total de 762 entrées pour les 4 fenêtres d'analyse. Ce réseau de neurones estime et transmet en sortie, dans une phase 10, les erreurs de position du composant en translation DX2, DY2 et en angle DA2. Ceci après une phase d'apprentissage basée sur l'algorithme de rétropropagation du gradient, la base d'exemples utilisée étant celle du premier réseau de neurones. L'étape suivante 11 consiste à exploiter simultanément les résultats des traitements décrits ci-dessus et réalisés à partir des quatre fonctions f (x, y) communes définissant les 4 fenêtres d'analyse. Ainsi, un 3ème PMC reçoit sur ses entrées les valeurs des erreurs de position en translation et en rotation estimées par chacun des PMC précédemment décrits et réalise une "fusion" de ces données pour fournir en sortie trois nouvelles valeurs DX3, DY3, et DA3 plus finement estimées. Elles sont ensuite exploitées par la machine de placement pour repositionner le composant avant son placement et collage sur le circuit imprimé. La base d'exemple est, d'une manière pratique, la même pour les trois PMC et l'apprentissage toujours basé sur l'algorithme de rétropropagation du gradient. L'apprentissage du PMC 11 n'est réalisé que lorsque les PMC 8 et 10 ont terminé leur apprentissage. Un dispositif selon l'invention est représenté en figure 3. Le dispositif comporte deux caméras CCD 12, 13 fournissant deux images vidéo représentant le coin supérieur gauche du composant pour l'une, le coin inférieur droit pour l'autre. Chaque image est transmise à un circuit 14, 15 de normalisation en taille, les pixels du capteur CCD ayant généralement une forme rectangulaire et non carrée. Normalisée, chaque image traverse un extracteur de fenêtres vidéo 16, 17 qui fournit en sortie deux nouvelles images ou fenêtres d'analyse de telle manière que chacune des quatre fenêtres d'analyse alors présentes visualise un côté différent du composant, c'est-à-dire au moins quelques broches du composant et ses empreintes correspondantes sur le circuit imprimé. Les quatre fenêtres d'analyse sont mémorisées dans une mémoire tampon 18. Celle-ci transmet ses données vers un dispositif de seuillage 19 qui réalise la binarisation de l'image. Chacune des quatre images binaires est transmise vers trois sommateurs 20, 21, 22 qui réalisent respectivement la sommation des projections selon l'axe Ox des lignes de pixels, I'axe Oy des colonnes et une oblique à 45" ainsi que vers un bloc de calcul de la transformée de Fourier 23. Les sorties échantillonnées des trois sommateurs sont présentées sur les entrées d'un Perceptron Multi-couches (PMC) 24 dont les poids des connexions neuronales ont été préalablement fixés à partir d'une base d'exemple 25 et grâce à des moyens d'apprentissage 26. Le PMC délivre en sortie une estimation des erreurs de position du composant en translation DX1, DY1 selon les axes Ox et Oy, et angulaire DA1. Les informations provenant du bloc de calcul de la transformée de Fourier F(u, v) sont filtrées à travers un sélecteur de zones d'intérêt 27 qui ne conserve que celles relatives aux axes Ou et Ov. Ces dernières, c'est-àdire la partie réelle et imaginaire de composantes spectrales échantillonnées sur les axes Ou et Ov sont présentées sur les entrées d'un PMC 28 dont les poids des connexions neuronales ont été préalablement fixés à partir de la même base d'exemple 25 que précédemment et grâce aux mêmes moyens d'apprentissage 26. Le PMC délivre en sortie une estimation des erreurs de position du composant en translation DX2, DY2 selon les axes Ox et Oy, et angulaire DA2. Les valeurs des erreurs estimées par chacun des PMC 24 et 28 sont mémorisées dans une mémoire tampon 29. Un troisième PMC 30 reçoit en entrée ces 6 valeurs pour en réaliser la "fusion" et délivrer en sortie des estimations d'erreur en translation DX3, DY3 selon les axes Ox et Oy, et angulaire DA3. La base d'exemples 25 et les moyens d'apprentissage 26 sont les mêmes pour les 3 PMC 24, 28 et 30. La présente invention n'est pas limitée au mode de réalisation précisément décrit. II est ainsi tout aussi envisageable de n'exploiter qu'un type de traitement, sommation selon les axes Ox, Oy et oblique à 45" ou transformation de Fourier de f (x, y) pour alimenter un seul réseau de neurones qui fournira une estimation de l'erreur de positionnement du composant. Une autre variante consiste à ne réaliser que les sommations selon les axes Ox et Oy, permettant ainsi une grande rapidité de traitement, - au prix d'une réduction de la précision. Ainsi, les essais effectués sur un tel dispositif simplifié donnent des précisions moyennes proches de 3 % de la distance interbroches, ce qui est bien supérieur aux précisions requises pour le placement de ce composant sur le circuit imprimé. Une seule sommation par fenêtre d'analyse, par exemple selon l'axe perpendiculaire au côté du composant visualisé peut également s'avérer suffisant; de même que l'exploitation d'une seule image représentant un coin du composant. Enfin, selon la machine de placement utilisée, le calcul de l'erreur angulaire peut ne pas être nécessaire. Le procédé peut être amélioré en augmentant la qualité de l'image binaire obtenue après seuillage adaptatif par des opérateurs morphologiques tels que décrits par exemple dans la demande de brevet français n0 2685 514 déposée par la Demanderesse: la "dilatation" et "l'érosion" par exemple sont des techniques de traitement d'image permettant de réduire les effets dus au bruit. Le procédé peut également être amélioré en précision en le réitérant une ou plusieurs fois: la nouvelle image traitée est alors celle du composant repositionné en fonction des erreurs données par l'itération précédente. Son utilisation peut être étendue au contrôle après brasage du composant pour détecter par exemple un défaut de soudure tel que pontage entraînant un court-circuit. Enfin, concernant le dispositif, une seule caméra CCD peut être suffisante pour fournir les fenêtres d'analyse lorsque le mécanisme de préhension du composant n'obstrue pas le champ de la caméra ou lorsque le traitement est limité à une image partielle du composant. II va également de soi que l'invention ne se limite pas au positionnement de composant sur un circuit imprimé mais qu'elle peut s'appliquer à tout support de composant comportant des repères traduisant une variation de luminance, par exemple des marquages, pour situer le composant. REVENDICATIONS 1 - Procédé de correction de positionnement de composant électronique avant placement sur un support1 caractérisé en ce qu'il consiste à calculer une erreur de position à partir d'au moins un Perceptron Multi Couches (8, 10, 11) dont les entrées sont des données obtenues par un traitement déterminé (5, 6, 7, 9) d'au moins une image représentant tout ou partie du composant et de ses repères correspondants sur le support lorsque le composant est positionné au-dessus de son emplacement. 2 - Procédé selon la revendication 1, caractérisé en ce que les repères du composant sur le support sont formés par des empreintes sur un circuit imprimé. 3 - Procédé selon les revendications précédentes, caractérisé en ce que le traitement (5, 6, 7, 9) s'effectue sur au moins deux images qui sont deux fenêtres d'analyse correspondant à deux côtés consécutifs du composant. 4 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le traitement de l'image consiste au moins en une sommation (5, 6, 7), selon un axe préférentiel, des pixels correspondant à un état binaire de l'image, préalablement binarisée. 5 - Procédé selon la revendication 4, caractérisé en ce que les axes préférentiels sont les lignes, colonnes de pixels et diagonales relatives à ces pixels. 6 - Procédé selon les revendications 1, 2 ou 3, caractérisé en ce que le traitement de l'image consiste au moins en une transformation de Fourier F (u, v) (9) de la fonction à deux dimensions définissant l'image préalablement binarisée. 7 - Procédé selon la revendication 6, caractérisé en ce que les entrées du Perceptron Multi-Couches sont la partie réelle et la partie imaginaire de composantes spectrales de la transformée de Fourier prises sur les axes Ou et Ov de l'espace transformé. 8 - Procédé selon les revendications 1, 2 ou 3, caractérisé en ce que l'erreur de position est calculée à partir d'un premier Perceptron Multi Couches (8) dont les entrées sont des données obtenues par sommation (5, 6, 7), selon au moins un axe préférentiel, des pixels correspondant à un état binaire des images préalablement binarisées et d'un deuxième Perceptron Multi-Couches (10) dont les entrées sont les données obtenues par transformation de Fourier (9) des fonctions à deux dimensions définissant les images préalablement binarisées. 9 - Procédé selon la revendication 8, caractérisé en ce que les sorties des deux Perceptrons Multi-Couches (8, 10) alimentent un troisième Perceptron Multi-Couches (11) réalisant une fusion des erreurs fournies par ces deux Perceptrons Multi-Couches pour donner une nouvelle estimation de l'erreur de position du composant. 10 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'au moins un Perceptron Multi-Couches est entraîné par rétropropagation de gradient. 11 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la binarisation de l'image est un seuillage adaptatif. 12 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte des opérateurs morphologiques pour améliorer l'image binarisée. 13 - Dispositif de correction de positionnement d'un composant électronique avant placement sur un support, caractérisé en ce qu'il comporte: - au moins une caméra CCD (12, 13) pour l'acquisition d'une image visualisant au moins deux côtés consécutifs du composant positionné au-dessus de son emplacement sur le support et ses repères correspondants sur le support, - un dispositif de seuillage (19) couplé en sortie de la caméra pour la binarisation de l'image, - un extracteur de fenêtres d'analyse de l'image binarisée (16, 17) fournie par le dispositif de seuillage, chaque fenêtre visualisant au moins une broche et un repère d'un côté différent du composant, - au moins un sommateur (20, 21, 22) selon au moins un axe préférentiel, des pixels correspondant à un état binaire de l'image binarisée pour chacune des fenêtres d'analyse, - un Perceptron Multi-Couches (24) ayant des poids de connexions neuronales préalablement fixés à partir d'une base d'exemples (25) et de moyens d'apprentissage (26), dont les entrées sont au moins un échantillonnage des valeurs fournies par le sommateur et dont les sorties fournissent une estimation des erreurs de position du composant. 14 - Dispositif de correction de positionnement d'un composant électronique avant placement sur un support, caractérisé en ce qu'il comporte: - au moins une caméra CCD (12, 13) pour l'acquisition d'une image visualisant au moins deux côtés consécutifs du composant positionné au-dessus de son emplacement sur le support et ses repères correspondants sur le support, - un dispositif de seuillage (19) couplé en sortie de la caméra pour la binarisation de l'image, - un extracteur de fenêtres d'analyse de l'image binarisée (16, 17) fournie par le dispositif de seuillage, chaque fenêtre visualisant au moins une broche et un repère d'un côté différent du composant, - un bloc de calcul (23) couplé à l'extracteur de fenêtre d'analyse réalisant la transformée de Fourier F (u, v) de chacune des fenêtres d'analyse, - un sélecteur de zones d'intérêt (27) ne prenant en compte que les composantes spectrales sur les axes Ou et Ov, - un Perceptron Multi-Couches (28) ayant des poids de connexions neuronales préalablement fixés à partir d'une base d'exemples (25) et de moyens d'apprentissage (26), dont les entrées sont les parties réelles et imaginaires de composantes spectrales de F (u, v) sélectionnées et dont les sorties fournissent une estimation des erreurs de position du composant. - 15 - Dispositif de correction de positionnement d'un composant électronique avant placement sur un support selon la revendication 14, caractérisé en ce qu'il comporte: - au moins un sommateur (20, 21, 22) selon au moins un axe préférentiel, des pixels correspondant à un état binaire de l'image binarisée pour chacune des fenêtres d'analyse, - un Perceptron Multi-Couches (24) ayant des poids de connexions neuronales préalablement fixés à partir d'une base d'exemples (25) et de moyen d'apprentissage (26), dont les entrées sont au moins un échantillonnage des valeurs fournies par le sommateur et dont les sorties fournissent une estimation des erreurs de position du composant, - un Perceptron Multi-Couches (30) ayant des poids de connexions neuronales préalablement fixés à partir d'une base d'exemples (25) et de moyens d'apprentissage (26) dont les entrées sont les sorties mémorisées des deux Perceptrons Multi-Couches en amont (24, 28) et réalisant la fusion des erreurs de position estimées par ces deux Perceptrons pour fournir une nouvelle estimation des erreurs de position. 16 - Dispositif selon les revendications 13, 14 ou 15, caractérisé en ce que les repères du composant sur le support sont formés par des empreintes sur un circuit imprime.