Go Down

Topic: aide en programmation testeur de court-circuit et pinnage (Read 9310 times) previous topic - next topic

mathy

MERCI!

rassure toi , je suis entrain d'apprendre donc , je suis soumisse à toute proposition .

Je ne suis pas une pro de la programmation , et aussi concernant le hardware que je pourrais utiliser je suis ouverte à toutes propositions  , car je n'est pas beaucoup d'expérience dans ce domaine . C'est mon premier stage et ma première expérience

Pour mon teste de la continuité j'ai opté pour un multiplexeur  analogique 4051

68tjs

Je n'ai rien à ajouter aux conseils de fdufnews, je les partage intégralement.
Ne cherches surtout pas un code qui "tombe en marche".
Défini bien tout ce dont tu as besoin et tout ce que tu dois faire.

Tu ne nous as toujours pas dit comment était constitué ton multicable audio.
Chaque fil est-il blindé individuellement ?
Le fil aller et le fil retour (chacun blindé ou pas) sont-il dans un blindage à leur tour ?
Le multicable contient combien de câbles élémentaires ?

Est-ce que les tests que tu dois faire sont en tout ou rien : ça conduit ou ça conduit pas (Go/NoGo) ou faut-il quantifier un paramètre ?
Tu parles d'envoyer une séquence dans le fil en test, quel est l'intérêt ? Une séquence sous entend une réponse fréquentielle, est-ce bien ce que tu dois faire ? Si un simple test continu suffit le programme sera simplifié.

Il y a une vingtaine d'année j'ai partagé un bureau avec un chef de groupe informatique. Je ne comprenais rien à ce qu'il faisait mais j'ai été surpris de voir que lui et son groupe passaient plus de temps à écrire de longs textes en français décrivant le programme qu'à la programmation proprement dite.
Dans ton cas c'est pareil : si toutes les hypothèses et demandes sont correctements identifiées et couchées sur le papier la programmation ne posera pas de soucis.

fdufnews

Quote
Pour mon teste de la continuité j'ai opté pour un multiplexeur  analogique 4051

OK ça on a compris.

Mais on ne sait pas comment tu veux l'utiliser. Comment veux-tu conduire le test pour t'assurer que les liaisons sont bonnes et qu'il n'y a ni coupure, ni court-circuit, ni croisement?

Décris nous le déroulement des tests pour que l'on puisse t'aider.
Un programme ça commence par une analyse du besoin suivi d'une description des tâches à réaliser.
Une fois les tâches clairement posées, on peut commencer à coder. De ce bon découpage à l'origine va en découler un programme claire, simple et facile à faire évoluer et à mettre au point.
Chaque tâche devient une fonction dans le programme.
Chaque tâche se découpe, elle même, en d'autre sous-tâches qui vont donner d'autres fonctions.
Jusqu'à ce que l'on arrive aux fonctions de bas niveau celles qui vont adresser directement le matériel.

Toutes ces étapes s'écrivent en français et sont totalement indépendantes du langage de programmation que tu vas utiliser.
Tu les écris, dans l'ordre où elles se déroulent. Tu en déduis les traitements répétitifs qui vont donner lieu à des boucles dans ton programme.
Une fois que tu as tout écrit, tu suis le déroulement à la main de toutes les étapes en imaginant ce qui va se passer si le câble en test en bon ou non. Et tu vois si c'est bien ce que tu voulais obtenir.
Et là tu peut commencer à coder.

mathy

Bonjour, fdufnews

moi je pensais , comme je l'avais dit précédemment pourvoir identifié chacune de mes paires par des codes binaires différents que je dois envoyer de l'entrer mâle et à la sortit femelle je dois récupérer le même code dans le cas contraire , mon code en question auras trois possibilité vue que le croisement dans une paire n'offre que trois possibilité que sont par exemple:

si je prends les câbles soc apex 37 PINS dont les pinnage possible sont :

donc j'envois un code par exemple pour la première paire : 101 si j'ai 110 alors, il y a croisement entre la pin 2 et 3
                                                                                      si j'ai 011 alors, il y a croisement entre la pin 1 et pin 2

c'est vrai que je ne pourrais pas observer le croisement entre pin 1 et pin3 . mais, bon! je crois que je m'arrêterai là!

fdufnews

Il faut que tu puisses tester des câbles avec 37 points?


mathy

Quote
Bonjour, fdufnews

vous m'avez donner une bonne idée sur le fait de choisir d'abords le hardware et j'ai demander de l'aide à skywodd et il m'a conseillé des

expandeur comme le PCF8574

Merci!

JMe87

Bonjour,
pour pouvoir faire le test sur toutes les pins, il te faut 2*(37+1) = 76 I/O !!!
Pas possible avec le PCF8574 Il t'en faudrait 10 et il n'a que 3 fils d'adresse.
Il faut donc en utiliser au maximum 8 et compléter avec des PCF8574A
Plus d'infos ici :
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=scyb031
Je te conseille plutôt d'utiliser le PCA9555. Il fait 16 bit de large, il ne t'en faudra que ... 5 !
Ne pas oublier de mettre une résistance en série avec toutes les sorties pour protéger ton circuit.
Tiens nous informé du résultat.
Au boulot !
Jacques

mathy

merci! pour votre conseil  JMe87

j'avais aussi constater que les bits d'adresse ne me permettaient d'avoir que 8 possibilité de PCF8574N.

Et maintenant j'étais entrain de voire comment je pouvais augmenter mon nombre de PCF8574N. Donc, merci! pour votre  aide on dirais que vous avez lu dans mes pensé  :)

Cependant, pour mon projet mon nombres totale de pins a tester est 147. Car, je dois tester le DB25, les Socapex et les LK .

qui sont des multicables audio.

et donc je pense utiliser 6 PCF8574 pour les DB25

5 PCA9555 pour les soc apex (37pins)

et je cherche encore un composant similaire pour le LK( 85 PINS).

Par ailleurs, j'espère que  PCA9555 utilise le langage C comme le PCF8574

Merci!

mathy

Quote
VOICI la référence pour avoir une idée des soc apex que je dois testé http://www.esl-france.com/script/edito/article.asp?EditoId=3&ContenuId=166#soca37

Quote
VOICI la référence pour avoir une idée des soc apex que je dois testé http://www.zytrax.com/tech/layer_1/cables/tech_rs232.htm#db25

JMe87

Re,
cela fait 3 jours que l'on te demande combien de pins tu dois tester. Hier c'était des cables 37 maintenant tu parles de cables 85. Quand vas-tu t'arreter ?
Dans une autre vie, j'avais contribué à la réalisation d'un équipment pour faire ce genre de test.
Soit tu réalises des montages dédiés à chaque cable soit tu utilises le même processeur avec des cartes d'adaptation. Cela te permet de réaliser un montage qui comporte "seulement" le nombre d'I/O necessaire pour le plus gros connecteur.
Mais, si tu veux mesurer la continuité de tous les fils d'un cable a 85 conducteurs, il faut 170 I/O.
Ensuite tester la continuité, ce n'est rien mais les court-circuits c'est une autre histoire.
Dans le cas le plus défavorable tu pourrais être amenée a faire 2^84 mesures. Soit avec un arduino qui commande un bus I2C avec un soft qui n'est pas optimisé pour la vitesse, des jours de calcul (au pifometre)
Voila mon avis
Jacques

fdufnews

Tu peux obtenir un résultat similaire en utilisant de bête registres à décalage. Il n'y a pas de problème d'adresse puisqu'ils se cascadent directement. C'est facilement extensible, si demain il faut tester 300 points il suffit d'ajouter quelques registres supplémentaires.

J'attire ton attention sur un autre point. Dans le pire des cas, tu peux très bien avoir 2 points de connecteurs en court-circuit. Cela veut dire qu'il faut peut être prendre quelques précautions sur les sorties du circuit que tu utiliseras.

mathy

skywodd

me proposait pour les risques de court-circuit, d'envoyer du 5V sur une des pins et tester si j'ai du 5V sur les autre pins

si c'est le cas , alors c'est qu'il y a court-circuit!

mathy

j'ai eu à utiliser des registre a décalage , et même le multiplexeur 4051 pour le teste de court-circuit

le soucis ici est mon nombres limité de pins sur mon ATMEGA 328 .

et concernant le registre à décalage c'était un 74HC595N

Artouste

bonsoir
je prend en cours de route, mais j'ai lu les messages jusqu'ici
in fine cela consiste à verifier si un motif de cablage est conforme en continuité electrique
il "suffit" d'ecrire dans un tableau X/Y avec comme valeur 0 pas de continuité, 1 pas de continuité.

pour la discussion, la facilité et compte tenu du dimensionnement, je partirais sur un tableau X/Y de 96X96

pour l'injection je suis partisan comme fdufnews de l'utilisation de registre à decalage cascadables
pour le scan je me tournerais vers des demux CD4067 (16 sorties) 96 adresses peuvent etre commandées par 24 bits, directement avec 3 ports 8bits ou pourquoi pas aussi avec des registres à decalage pour l'adressage.

sauf gros plantage de ma part (je rentre de WE  :smiley-mr-green: )
la durée de verification totale du motif est fonction du delay mini d'adressage et de lecture par l'arduino.
en mettant ça à 5µs le pas , ça doit tourner aux alentours de 50 ms (~ 10000 X 5µs) et meme avec un facteur 50 pour la durée du test ce n'est pas rédhibitoire.

Go Up