« Reparation Chaine CMS » : différence entre les versions

De Kernel Fablab Lannion
Ligne 1 004 : Ligne 1 004 :


=== Préparation d'une disquette ===
=== Préparation d'une disquette ===
il est judicieux avant chaque programme à lancer d'effacer soigneusement la disquette  
il est judicieux avant chaque programme à lancer d'effacer soigneusement la disquette
à l'invite de la commande taper :
A l'invite de la commande taper :
    sudo dd if=/dev/zero of=/dev/fd0 bs=512 conv=notrunc
Cela permettra de remplacer tout le contenu de votre disque par des zéro.
 
=== Modification du Programme ===
 
Une foi que ces deux phases de préparation ont été réaliser, ouvrez le fichier __init3__.py
   
    '''Modifier la Source''' en remplaçant par votre fichier d'extraction sous Eagle :
          source = '../../../testeur_UM.pnp' # Linux
    Avant de fermer n'oubliez pas d''''enregistrer''' !!!

Version du 9 juillet 2014 à 09:02

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
  12. mettre à jour la page machine (mode d'emploi utilisateur)

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
  13. définir et décrire la procédure de chargement et utilisation des magasins
  14. configurer la position des magasins dans la novar et tous les autres paramètre machines.
  15. mettre à jour la page machine (mode d'emploi utilisateur)


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

Precidot et son Dépôt de pâte à braser :

A l'heure actuelle des Essais ont été réalisés avec l’échantillon de pâte à braser offert par Euro-Process pour l'instant le moyen pour charger la seringue n'est autre qu'une vulgaire cuillère mais l'idée de mettre en place une pompe d'aspiration pourrait être l'objet de discutions !

la position de la seringue sur la tête est assez complexe ! si l'aiguille est trop en hauteur un risque de "bavement" peu se produire et si l'aiguille est trop basse elle risque d'être abimer ou se se tordre. Petit conseil : l'aiguille ne doit pas être plus basse que la butée. Lors de des essais je l'ai placé légèrement au dessus de la butée.

voici quelques relevés pour la dépose (DT)

  • Résistance  : 400
  • diode Zener : 225
  • LM311(8 broches): 151


Il est recommandé après chaque usage de démonter la seringue de son emplacement pour la stocker au frigo afin d'éviter le durcissement du reste de la pâte à braser loger dans l'aiguille.

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 composants
  • 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

Utilisation de Novar33:

Utilisation des magasins

présentation

il existe deux sortes de magasin


  • magasin à bande
  • magasin à sticks ou appelé aussi magasin à vibration

DSC00027.jpg

Les Magasins à Bande sont de chaque coté et les Magasin à Stick au fond

Dans les magasins 1 à 10 (Magasin Gauche) ou 21 à 30 (Magasin Droite) on peut placer les composants classique ( diode, résistance...)

Dans les magasins 11 à 14 (Magasin Gauche) ou 31 à 34 (Magasin Droite) on place les composant à multi-broches


préparation pour l’extension de l'enroulement d'un film

Une fois que la bande est engagé dans le Rang désiré appuyer sur le bouton en bas du module pour faire avancer la bande (voir chapitre suivant). Lorsque celle-ci est ressortie :

DSC00050.jpg

  • Accrocher le film sur la pince crocodile
  • Viser la vis sur la roue correspondante à l'emplacement (ex Rang 21 => la 1ère Roue sur le magasin 2)DSC00051.jpg
  • Tourner la roue de façon à tendre légèrement le câble jaune

Vous êtes enfin prêt !!!

chargement

Illustration 4: bande placer correctementPlacer les bandes ou un composant dans une bande (opération délicate) DSC00032.jpg


  • sélectionner une bande à utiliser

si la bande est suffisamment longue il n'est pas nécessaire d'installer le système de retenu pour le film (en cours de conception). Sinon installer le avant.

les étapes suivante sont prévu pour l'installation lorsque la bande de composant est courte.

  • Glisser cette bande par l'arrière et glisser la bande sous la barre (les trous sont toujours direction vers le fond de la machine si vous utiliser le magasin de gauche)
  • Soulever la trappe et avancer la bande jusqu'en buté
  • Sélectionner le numéro du rang avec le bouton du haut
  • Puis avec le bouton du bas faite du pas à pas jusqu'à ce que la bande réapparaisse
  • Retirer délicatement le film et accrocher le au système


Nota : pour l’utilisation des rangs du magasin de droite, la bande est placée de la même manière mais les trous de la bande sont orientés vers vous

remarques

Pour sélectionner le rang de 0 à 9 il n'y a pas de problème sélectionner le chiffre sans point !

En revanche pour les chiffre de 10 à 14 méfier vous !!! regarder si il y a un point à gauche du chiffe (c'est la dizaine) DSC00031.jpgon passe à la dizaine, un petit point apparaît]]

Exemple pour sélectionner 14 on sélectionne .4

réglages

Si pour une raison ou une autre le pas d'avancement de la bande est trop court car l'espace entre les composants est différent du standard (4mm),

vous pouvez le modifier !!!!


Modification pour l'avance


Au démarrage de la machine appuyer sur la touche du haut un P s'affiche

Pour choisir la piste du magasin pour laquelle l'avance doit être ajustée, on appuie sur la touche du haut de nouveau

DSC00035.jpgcomme exemple je sélectionne le rang 8

appuyer sur le touche du bas puis la touche du haut

des trait s'affiche pour signifier 2mm,4mm,8mm,12mm,14mm,16mm


sélectionner en appuyant sur la touche du bas et valider avec celle du haut (le symbole clignote )

Pour quitter ce mode il faut arrêter la machine.


DSC00034.jpgEtape 1: P s'affiche

DSC00035.jpgEtape 2: Sélection du rang

DSC00042.jpgEtape 3: Choix de 2 mm

DSC00036.jpgEtape 4: Choix de 4 mm

DSC00037.jpgEtape 5: Choix de 8 mm

DSC00044.jpgEtape 6: Choix de 12 mm

DSC00045.jpgEtape 7: Choix de 14 mm

DSC00046.jpgEtape 8: Choix de 16 mm

Configuration système des magasins

Ces étapes ne sont normalement pas à réaliser à chaque utilisation.

port outil et définition magasin


DSC00025.jpgCâble d'alimentation du magasin de Droite Câble d'alimentation du magasin de Gauche

Connexion des magasins se fait à l'arrière de la Novar comme le montre l'imagesur l'indication FEEDER


DSC00026.jpgLa connectique qui se branche sous la partie vibranteDSC00023.jpg

Illustration 1: Module de sélection de magasin Cette phase se fait pendant le démarrage il faut appuyer longtemps sur lec bouton du bas!!!!

un A apparait

Illustration 2: le "A" apparait


sélectionner ensuite le numéro du magasins (bouton du haut) et valider avec celui du bas


Illustration 3: Numéro du magasin sélectionner

voici le tableau affichant les différents rang pour son magasin

AFFICHAGE du Magasin
Numéro de rang
0
1 - 14
2
21 - 34
4
41 - 60
6
61 - 80
8
81 - 100


Dimension et profondeur


voici le tableau des cotes pour le magasin de droite et gauche


rang Largeur(mm) Profondeur(mm)
1-10 4,30 2,58
11-12 8,30 4,30
13-14 12,30 4,33
21-30 4,30 2,58
31-32 8,30 4,26
33-34 12,30 4,30

_




le choix est fait comme ceci : 0 le magasin de Gauche et 2 pour celui de Droite



Magasins avec emplacement fixe


dans le menu Installe - Magasin - Position


on configure les magasins suivant le mode :


compléter les lignes MAG MT C/O DX DY


Mag : le rang

MT :magasin avec position du composant fixe donc MT à 0

C/O : correspond au LAB

DX Coordonnée X du (premier) composant au centre du magasin

DY Coordonnée Y du (premier) composant au centre du magasin


COORDONNEE au Centre du MAGASINS du premier composant

Dimension-cms.gif Contour pour le placement des composants


dans le menu INSTALLE - MAGASIN - CONTOUR


Afin de faciliter le placement des composants, il est possible d'associer à chaque magasin

un contour du composant


CONT LAB DX DY

CONT numéro de contour

LAB label du composant

DX dimension du cadre sur X(140 MU / 7.11mm max)

DY dimension du cadre sur Y(125 MU / 6.35mm max)


Ils correspondent au tableau suivant :

LAB et les Boîtier de composant



LAB Composants Longueur Largeur Hauteur Métallisation M min / max
1 SO08 5 .1 2.5
2 SO12
3 SO14 8.9 6
4 SO16 10.2 6
5 SO20 13.0 10.5
6 SO24 15.2 7.4
7 SO28 17.9 7.5


8 SO23 2.92 1.2


9 SOT89 4.5 4.2
10 SOT143 2.79 1.19
11 SOT194 7.4 10.5
12 SOT223 6.7 3.7
13 SOD80 3.45 1.4
14 SOD87


15 0805 2 1.25 0.6 ou 0.85 ou 1.25 0.25 /0.75
16 1206 3.2 1.6 0.85 ou 1.15 ou 1;6 0.3 /1.0
17 1210 3.2 2.5 1.15 ou 1.35 ou 1.8 ou 2.5 0.3 /1.0
18 1812 4.5 3.2 2max 0.3 /1.0


19 2220 5.7 5.0 2max 0.3 /1.0
20 402 1 0.5 0.5
21 603 1.6 0.8 0.8
22 R3216 3.2 1.6 0.8

Tableau des dimensions de boitiers cms

Les valeurs sont en millimètres et représentent les dimensions des boitiers condensateurs céramique RTC et les chips résistifs de divers puissances.



Si toutefois vous désirez créer de nouveaux contours, choisissez un numéro de CONTOUR

puis définissez les dimensions comme suit :

Soit en entrant directement les valeurs dans les champs DX et DY (Unité Machine =0.0508mm)


Configuration de l'outillage

Définir l'emplacement du Premier outil


Relevée les coordonnées du premier outil dans le menu ( APPRENT - CPS - Flêche de Droite)

  • Placer le curseur au centre de l'outil comme exemple

DSC00047.jpg

  • Sortir
  • Relever les coordonnée DX et DY (ils seront placés dans les PARAMETRES)


dans le menu INSTALL - PARAM

Après avoir défini dans les Paramètre 7 et 8 le positionnement du premier outil de la banque (relevée précédent)

Attention ne pas oublier de Valider chaque paramètre par Enter

les autres outils placés à la suite seront défini automatiquement en fonction du premier outil .

parler des parametres 37-38


Choix de la buses d'aspiration sur la Novar 33 :

4 buses sont disponibles :

outil 1 :
  diamètre de 1.03 mm => adapté aux boitiers : 0805, 1206, 1210, 1812, 2220, 402, 603 
outil 2 :
  diamètre de 2.83 mm => adapté aux boitiers: SO08, SO14, SO16, SOT23
outil 3 :
  diamètre de 5.34 mm => adapté aux boitiers: SO020, SO024, SO028
outil 4 :
  diamètre de 5.52 mm => non défini


Comment changer d'outil automatiquement !!!!

Ayant définit le premier outil dans les paramètre 7 et 8 , il n'y a pas besoin de définir les autres outils En revanche dans la programmation il faudra mentionner le changement d'outil c'est à dire ...

dans le menu APPRENT - CPS

n>1 :
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      10      0      0        // On controle les points
n      0      12      2      0        //On prend le premier outil
n+1    0      1       n      0        //début boucle (on remplace n par le nombre de fois à répéter
...    	                       //ligne de coordonnée de point
fin    0      2       0      0       // fin boucle avec l'utilisation du premier outil
n      0      12      2      1       // On repose l'outil
n      0      12      3      0       // On prend un second outil
n+1    0      1       n      0       // début 2ème boucle (on remplace n par le nombre de fois à répéter
...    	                      // ligne de coordonnée de point
fin    0      2       0      0       // fin boucle avec l'utilisation du second outil
n      0      12      3      1       // On repose l'outil


Il ne reste plus qu'à entrer votre programme !!!!

Attention : A l'heure actuel la repose de l'outil sur Emplacement 1 ne fonctionne pas.

C'est pourquoi j'ai utiliser 
        "0-12-2-0" pour la prise du premier outil
        "0-12-2-1" pour la dépose

Crèer un programme de placement des composants


dans le menu APPRENT - CPS


compléter le tableau


Rotation.png

LIGNE MAG ROT DX DY


Mag : numéro du magasin où est stocké le composant sélectionné

ROT :

ROT=0 pas de rotation, pas de centrage

ROT=360 pas de rotation, centrage dans les deux directions

ROT=1 à 359 rotation dans le sens horaire pour l'angle donné, centrage dans les deux directions

DX et DY Coordonnée du centre du composant


Remarque à l'origine par défaut le composant est à 0 (c'est à dire que l'index est en haut) Méfier vous de quel magasin le composant se trouve car sur le deuxième magasin il change et sera en bas en origine!!! l'orientation à donner varie de 0 - 90 - 180 - 270

ainsi si le composant doit être placer sur le circuit :

il aura un ROT de 0 ou un ROT de 180

  • Rot 0 :le composant reste en sa position initial(indice vers le haut)
  • ROT 180 :le composant est Verticale (indice est en bas)

il aura un ROT de 90 ou 270 .

  • ROT 90 : le composant aura une posision horizontale (indice à gauche)
  • ROT 270 :le composant aura une posision horizontale (indice à droite)

Voici les coordonnée des rangs de chaque magasin

Magasin 0 Gauche Magasin 2 Droite
Rang DX DY
1 157 1793
2 157 2105
3 157 2418
4 157 2733
5 157 3048
6 157 3362
7 157 3676
8 157 3992
9 157 4305
10 157 4620
11 157 4969
12 157 5362
13 157 5804
14 157 6278
Rang DX DY
21 7700 5569
22 7700 5253
23 7700 4940
24 7700 4625
25 7700 4311
26 7697 4005
27 7703 3686
28 7700 3369
29 7698 3055
30 7700 2737
31 7690 2480
32 7690 2087
33 7690 1652
34 7690 1190


LES COORDONNEES 11-14 ET 31-34 du fait de manque de bande pour gros composants !!

Utilisation en mode Console :

Préparation de l'extraction des données sous Eagle

Préparation d'une disquette

il est judicieux avant chaque programme à lancer d'effacer soigneusement la disquette

A l'invite de la commande taper :

   sudo dd if=/dev/zero of=/dev/fd0 bs=512 conv=notrunc

Cela permettra de remplacer tout le contenu de votre disque par des zéro.

Modification du Programme

Une foi que ces deux phases de préparation ont été réaliser, ouvrez le fichier __init3__.py

    Modifier la Source en remplaçant par votre fichier d'extraction sous Eagle :
          source = '../../../testeur_UM.pnp' # Linux
    Avant de fermer n'oubliez pas d'enregistrer !!!