« Reparation Chaine CMS » : différence entre les versions
m (→Novar33:) |
mAucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
==Objectifs :== | ==Objectifs :== | ||
L'objectif est d'avoir une chaine complète pour la réalisation de carte avec des composant CMS. | 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== | ==Cahier des charges== | ||
===precidot=== | ===precidot=== | ||
Ligne 13 : | Ligne 12 : | ||
# Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires | # Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires | ||
# gérer le dépôt en fonction de la dimension du pad. par ex 2 point cote a cote pour pad long ... | # gérer le dépôt en fonction de la dimension du pad. par ex 2 point cote a cote pour pad long ... | ||
# gérer les composants comme des mask (possibilité de définition dans la machine | # gérer les composants comme des mask (possibilité de définition dans la machine) | ||
# gérer la correction automatique de positionnement | # gérer la correction automatique de positionnement | ||
# gestion des rejets (si option) | # gestion des rejets (si option) | ||
Ligne 39 : | Ligne 38 : | ||
[[:File:testeur_pile_CIF.tar| ici]] se trouve le projet eagle. | [[:File:testeur_pile_CIF.tar| ici]] se trouve le projet eagle. | ||
Un [[:File:PNP_Falab_ulp.zip|script ulp]] permet d'extraire les données | Un [[:File:PNP_Falab_ulp.zip|script ulp]] permet d'extraire les données intéressantes, dans un [[:File:testeur-pnp.zip|fichier texte]] : | ||
*position des pins (ie | *position des pins (ie points où déposer la soudure) | ||
*position et rotation des composants | *position et rotation des composants | ||
Ligne 47 : | Ligne 46 : | ||
demander le nb de carte : n | demander le nb de carte : n | ||
n=1 : | |||
LIGNE MOD DT DX DY | LIGNE MOD DT DX DY | ||
1 0 0 0 0 // le point de référence sera définit sur la machine | 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 | |||
// pour amélioration future demander : offset vertical et offset horizontal (mm) >> voir pour vérification des point de ref | |||
LIGNE MOD DT DX DY | 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 | 1 0 0 0 0 // le point de référence de chaque carte sera définit sur la machine | ||
Ligne 66 : | Ligne 60 : | ||
... //ligne de coordonnée de point | ... //ligne de coordonnée de point | ||
fin 0 2 0 0 // fin boucle | fin 0 2 0 0 // fin boucle | ||
à ajouter : contrôle des mires (si dispo); gestion du dépôt fonction dimension des pattes ... | à ajouter : contrôle des mires (si dispo); gestion du dépôt fonction dimension des pattes ... | ||
===Novar33:=== | ===Novar33:=== | ||
Ligne 78 : | Ligne 69 : | ||
*sur la machine : | *sur la machine : | ||
procédure de chargement magasin : | 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 | :* config magasin | ||
Ligne 115 : | Ligne 107 : | ||
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. | 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 0 | 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 | *demander le nb de carte : n | ||
Ligne 121 : | Ligne 113 : | ||
n=1 : | n=1 : | ||
LIGNE MAG rot DX DY | LIGNE MAG rot DX DY | ||
1 0 0 0 0 // le point de | 1 0 0 0 0 // le point de référence sera définit sur la machine | ||
... //ligne de coordonnée des composants | ... //ligne de coordonnée des composants récupérer dans le fichier export .pnp : ligne commençant par -composant- | ||
n>1 : | n>1 : | ||
// pour amélioration future demander : offset vertical et offset horizontal (mm) >> voir pour | // pour amélioration future demander : offset vertical et offset horizontal (mm) >> voir pour versification des point de ref | ||
LIGNE MAG rot DX DY | LIGNE MAG rot DX DY | ||
1 0 0 0 0 // le point de | 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 0 0 0 0 | ||
n+1 0 1 n 0 // | n+1 0 1 n 0 //début boucle | ||
... //ligne de coordonnée de point | ... //ligne de coordonnée de point | ||
fin 0 2 0 0 // fin boucle | fin 0 2 0 0 // fin boucle | ||
Ligne 137 : | Ligne 129 : | ||
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) | 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) | ||
{| class="wikitable" | |||
|- | |||
!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 | |||
|} | |||
[[Category:Reparations]] | [[Category:Reparations]] |
Version du 15 octobre 2013 à 21:16
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
- récupération des coordonnées des points de soudure à partir d'un logiciel de CAD (en mm).
- les transformer en unité machine (1U=0,0508mm)
- les transformer en ligne de commande en ordonnant le parcours pour aller de droite à gauche (contrainte liée au stoppeur)
- les écrire au bon endroit sur la disquette en hexa
- Cas 1 seul circuit : Il faut prendre la référence à la machine
- Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires
- gérer le dépôt en fonction de la dimension du pad. par ex 2 point cote a cote pour pad long ...
- gérer les composants comme des mask (possibilité de définition dans la machine)
- gérer la correction automatique de positionnement
- gestion des rejets (si option)
- gérer les paramètres machine
novar 33
- récupération des coordonnées du centre des composants à partir d'un logiciel de CAD (en mm) et la rotation.
- les transformer en unité machine (1U=0,0508mm)
- les transformer en ligne de commande
- ajout du magasin ou est le composant (input utilisateur)
- les écrire au bon endroit sur la disquette en hexa
- Cas 1 seul circuit : Il faut prendre la référence à la machine
- Cas plusieurs circuits : Il faut ajouter des boucles et prendre toutes les références intermédiaires
- gérer le changement de buse et de vitesse en fonction des composants
- gérer la correction automatique de positionnement
- gestion des rejets (si option)
- gérer les contournements de points haut
- gérer les paramètres machine
avancement
Descriptif de la machine
Numéro de Série : 2290104
Documentation
Exemple d'utilisation
Maintenance / Etat
Analyse de la disquette
Récupération du contenu d'une disquette créée par la nova
Récupération du contenu de la disquette
sudo dd if=/dev/fd0 of=/tmp/nomfichier.bin
Edition du fichier binaire
sudo apt-get install ghex sudo ghex2 /tmp/nomfichier.bin
Ecriture de la disuette
sudo dd of=/dev/fd0 if=nomfichier.bin
Effacer la disquette
sudo dd if=/dev/zero of=/dev/fd0 bs=512 conv=notrunc
Notes d'édition
- La modification d'un parametre d'une ligne existante est bien répercuté
- variables sur 16bit [confirmations ?]
- Magasin
- Rotation
- Dx
- DY
- Encodage en Little Endian: Les bloc d'octets sont inversés! pour avoir la valeur décimale 1853 il faut avoir "3d 07" et non "07 3d"
- Pas de déplacement effectif si aucun magasin d'indiqué
Adresses
Début des bank : 04000 bank 1 16000 bank 2 28000 bank 3 3a000 bank 4 à partir de 3A208 (programme) position magasin 03600,15600 ...39608 >>> du coup les @ des banks ci-dessus ne sont peuetre pas bonne ... type magasin 03906,15906 ... param ... 28032 à 2808C ...3A042 à 3A098 offset pour l’écriture des lignes d'un programme : 208 offset pour l’écriture des Magasins : ?? offset pour l’écriture des paramètres machine : 42 (à vérifier) autres offset : ??
Modifier la disquette
fabmanager@fab1:~/Documents/Novar30$ sudo python [sudo] password for fabmanager: Python 2.6.5 (r265:79063, Oct 1 2012, 22:07:21) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> f = open('/dev/fd0','rw+') >>> f.seek(0x3a208,0) >>> f.read(8) '\x00\x00\x00\x00\x01\x00\x02\x00' >>> f.seek(0x3a208,0) >>> f.write('\x00\x00\x00\x00\x01\x00\x02\x99') >>> f.seek(0x3a208,0) >>> f.read(8) '\x00\x00\x00\x00\x01\x00\x02\x99' >>> f.close()
MAPPING de la disquette
0x4000 bank 1
=== Début des Paramètres Machine Précidot ===
- @bank + 0x000 Param 01
- @bank + 0x099 Param 44
=== Début du programme Précidot ===
- @bank + 0x208 Position x, y du premier point de référence
- @bank + 0x210 contrôle du point de Référence
- @bank + 0x218 1ère boucle de dépose répétée 1 fois
- @bank + 0x220 Début des Dépôt sur les point aux coordonnées X,Y
- @bank + 0x2DF Fin des dépôt
- @bank + 0x2EF Fin de Programme Precidot
0x39600 bank4P
=== Début des Magasins Novar ===
- @bank + 0x606 Position x, y du premier rang de référence du magasin 01
- @bank + 0x6E7 Fin des magasin à Bande
- @bank + 0x6EC Position x, y du premier rang de référence magasin à vibration 41
0x3A000 bank 4
=== Début des Paramètres Machine Novar ===
- @bank + 0x042 Param 01
- @bank + 0x099 Param 44
- @bank + 0x032 Nb de Ligne du programme
- @bank + 0x035 Fin du Nb de Ligne
- @bank + 0x036 Nb de Ligne de Positions Mag
- @bank + 0x038 Fin du Nb de Ligne
=== Début du Programme Novar ===
- @bank + 0x208 REF
- @bank + 0x212 Controle de Ref
- @bank + 0x218 Prise du 1er Outil
- @bank + 0x222 Vitesse
- @bank + 0x228 Début boucle
- @bank + 0x230 à @bank + 0x24F placement composant
- @bank + 0x250 Fin 1er Boucle
- @bank + 0x258 Depose
- @bank + 0x260 Prise nouvel Outil
- @bank + 0x268 Vitesse
- @bank + 0x270 Début 2eme boucle
- @bank + 0x278 placement du composant
- @bank + 0x280 Fin 2eme Boucle
- @bank + 0x288 Depose
- @bank + 0x290 Prise nouvel Outil
- @bank + 0x298 Vitesse
- @bank + 0x2A0 Début 3eme boucle
- @bank + 0x2A8 à @bank + 0x2B7 placement du composant
- @bank + 0x280 Fin 3eme Boucle fin de programme
Dev IHM
Partons du cas : testeur de pile ( cartes et composants dispo au Fablab).
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
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 ...
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 |