Reparation Chaine CMS

De Kernel Fablab Lannion

Objectifs :

L'objectif est d'avoir une chaine complète pour la réalisation de carte avec des composant CMS. Réutilisation des machines Precidot 30, Novar 33

Cahier des charges

precidot

  1. récupération des coordonnées des points de soudure à partir d'un logiciel de CAD (en mm).
  2. les transformer en unité machine (1U=0,0508mm)
  3. les transformer en ligne de commande en ordonnant le parcours pour aller de droite à gauche (contrainte liée au stoppeur)
  4. les écrire au bon endroit sur la disquette en hexa
  5. Cas 1 seul circuit : Il faut prendre la référence à la machine
  6. Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires
  7. gérer le dépôt en fonction de la dimension du pad. par ex 2 point cote a cote pour pad long ...
  8. gérer les composants comme des mask (possibilité de définition dans la machine)
  9. gérer la correction automatique de positionnement
  10. gestion des rejets (si option)
  11. gérer les paramètres machine

novar 33

  1. récupération des coordonnées du centre des composants à partir d'un logiciel de CAD (en mm) et la rotation.
  2. les transformer en unité machine (1U=0,0508mm)
  3. les transformer en ligne de commande
  4. ajout du magasin ou est le composant (input utilisateur)
  5. les écrire au bon endroit sur la disquette en hexa
  6. Cas 1 seul circuit : Il faut prendre la référence à la machine
  7. Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires
  8. gérer le changement de buse et de vitesse en fonction des composants
  9. gérer la correction automatique de positionnement
  10. gestion des rejets (si option)
  11. gérer les contournements de points haut
  12. gérer les paramètres machine


novar_33

avancement

fait :

precidot

  1. récupération des coordonnées des points de soudure à partir d'un logiciel de CAD (en mm).
  2. les transformer en unité machine (1U=0,0508mm)
  3. les transformer en ligne de commande en ordonnant le parcours pour aller de droite à gauche (contrainte liée au stoppeur)
  4. les écrire au bon endroit sur la disquette en hexa
  5. Cas 1 seul circuit : Il faut prendre la référence à la machine
  6. Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires

novar 33

  1. récupération des coordonnées du centre des composants à partir d'un logiciel de CAD (en mm) et la rotation.
  2. les transformer en unité machine (1U=0,0508mm)
  3. les transformer en ligne de commande
  4. ajout du magasin ou est le composant (input utilisateur)
  5. les écrire au bon endroit sur la disquette en hexa
  6. Cas 1 seul circuit : Il faut prendre la référence à la machine
  7. Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires

Dev Core

source python

Dev IHM

Partons du cas : testeur de pile ( cartes et composants dispo au Fablab).

  • eagle

ici se trouve le projet eagle.

Un script ulp permet d'extraire les données intéressantes, dans un fichier texte :

  • position des pins (ie points où déposer la soudure)
  • position et rotation des composants


  • kikad

Il faut tracer le fichier Gerber des Mask pour obtenir la dimension et la position (centre) des pins.

  • l'unité est l'inch il faut préciser que les positions sont .
  • cocher l'option "utiliser l'axe auxiliaire comme origine"

il faut aussi créer un fichier de position (.pos) dans fichiers/fichiers de fabrication

  • option "mm" et "forcer attribut INSERT pour les composant CMS"

Precidot :

demander le nb de carte : n

n=1 :
LIGNE  MOD     DT      DX      DY
1      0       0       0       0     // le point de référence sera définit sur la machine
...                                  //ligne de coordonnée de point récupérer dans le fichier export .pnp : ligne commençant par -pin-
n>1 :
// pour amélioration future		demander : offset vertical et offset horizontal (mm) >> voir pour vérification des point de ref 
LIGNE   MOD   DT   DX   DY
1       0     0    0    0     // le point de référence de chaque carte sera définit sur la machine
...                          //
n       0     0    0    0
n+1     0     1    n    0    //début boucle
...                         //ligne de coordonnée de point
fin     0     2    0    0   // fin boucle

à ajouter : contrôle des mires (si dispo); gestion du dépôt fonction dimension des pattes ...

DT NOM FONCTION DX DY
0 REF Point de référence pour les coordonnées de dépôt X Y
1 LOOP Commence une boucle de programme X fois X 0
2 NEXT Fin de la boucle 0 0
3 SETHT Maintient l’aiguille en position haute durant le GLOBTOP Et fixe le temps entre la montée en pression et le démarrage du mouvement X, Y X Y
4 SETV Fixe la vitesse durant leGLOBTOP:Vx =1/DX,Vy =1/DY en ms X Y
5 SETDEC Fixe le décrement des axes X et Y durant les étapes de GLOBTOP (DX,DY en MU) X Y
6 SGLOB X Y
10 CONT Contrôle des points de référence avec possibilité de réajuster la position 0 0
11 FIDA Deuxième point de référence pour correction automatique par mire, lampe de tête éteinte X Y
13 FIDAL Deuxième point de référence pour correction automatique par mire, lampe de tête allumée X Y
15 FIDAM Deuxième point de référence pour la correction manuelle par mire X Y
16 LRP Point de référence localeLRP X Y
17 BMS Détecteur des marquages incorrects(DX,DY).position de lazone par rapport auLRP;lampe de tête éteinte X Y
18 BMS Détecteur des marquages incorrects(DX,DY).position de lazone par rapport auLRP;lampe de tête allumée X Y

Novar33:

il faut gérer les magasins.

  • sur la machine :

définir une procédure de chargement magasin :

  • afficher un visuel des zones. ZONE0 et Zone 20 composant en Bande. ZONE40, composant en barrette.
  • numérotation des magasins
  • afficher visuel de l'orientation des composant
  • afficher tableau récapitulatif : type boitier et magasin associé
  • config magasin
  • sur le mag :

au démarrage de la novar : touche BAS (mag bande) ou touche mod(mag reglette) = configuration numéro

touche du haut : configuration de l'avance pour les bandes (puis touche haut : choix de la bande (. indique dizaine)/touche bas choix avance 2-4-8-12)

  • novar en route : avance bonde manuelle (Haut sélection de la bande /bas avance)

touche MOD pour changer de menu :

0    STOP
U    vibration (clignotant: fonction mémoire pour la configuration)
A    sélectionne la zone du magasin
t    réglage de la période de vibration de t=18 HF à t=42 BF
P    réglage de l’amplitude de l’oscillation de P=0 à P=40
S    réglage de la force des impulsions de S=2 à S=98

touche +/- pour modifier

pour mémoriser le changement touche mem (U apparait)recherche (touche +/-) zone dispo (indiquer par :) puis de nouveau MEM.

  • Dans l'ihm :

lister les composants (ligne commençant par -composant-)

pour chaque composant demander dans quel magasin il est et son orientation dans le magasin.

  • créer la ligne Ligne MAG ROT DX DY

pour ROT :La machine considère le composant orienté a 0° dans son magasin et ajoute la rotation informée dans la ligne de programme.

et changer 0 en 360 pour centrer le composant???? à voir s'il est nécessaire de configurer les contours pour ça.

  • demander le nb de carte : n
n=1 :
LIGNE	MAG	rot	DX	DY
1	0	0	0	0    // le point de référence sera définit sur la machine
...						//ligne de coordonnée des composants récupérer dans le fichier export .pnp : ligne commençant par -composant-
n>1 :
// pour amélioration future		demander : offset vertical et offset horizontal (mm) >> voir pour versification des point de ref 
LIGNE  MAG    rot      DX    DY
1      0      0       0      0         // le point de référence de chaque carte sera définit sur la machine
...                                   //
n      0      0       0      0
n+1    0      1       n      0     //début boucle
...    	                      //ligne de coordonnée de point
fin    0      2       0     0   // fin boucle


ajout : gestion contour, changement de buse et vitesse fonction du type de composant, correction de mire, ajout de contournement de point haut marquage incorrect (si option ok)

ROT NOM FONCTION DX DY
0 REF Point de référence pour les coordonnées de placement X Y
1 LOOP Commence une boucle de programme X fois X 0
2 NEXT Fin de la boucle 0 0
3 BIT Changement manuel de la buse (n° DX) X 0
4 LENT Change pour le mode LENT 0 0
5 RAPIDE Change pour le mode RAPIDE 0 0
6 MOVE Point de base pour la modification de trajectoires X Y
7 PLACE Point de placement après MOVE(DX,DY) X Y
8 PIN Changement manuel de l’aiguille à l’aiguille n°DX (pour le collage) X 0
10 CONT Contrôle du point de référence, ré ajustage possible 0 0
11 FIDA Deuxième point de référence pour correction automatique par mire, lampe de tête éteinte X Y
12 BIT Changement automatique de buse Prendre la buse n° X X 0 Reposer la buse n° X X 1
13 FIDAL Deuxième point de référence pour correction automatique par mire, lampe de tête allumée X Y
14 SETZ Changement de hauteur de la prochaine prise du composant et du prochain placement, 1 deg= 0,1 mm X Y
15 FIDAM Deuxième point de référence pour la correction manuelle par mire X Y
16 LRP Point de référence locale LRP X Y
17 BMS Détecteur des marquages incorrects(DX,DY).position de la zone par rapport au LRP ;lampe de tête éteinte X Y
18 BMS Détecteur des marquages incorrects(DX,DY).position de lazone par rapport au LRP ;lampe de tête allumée X Y