Skyduino:~#
Articles
Corrigé, tutoriel

Remplacer un composant CMS sans prise de tête

Bonjour tout le monde !

Il y a déjà quelques temps on m’a donné un debuggeur ICD2 de microchip, celui ci avait "juste" un problème : il ne marchait plus.
Le problème le plus probable se situait au niveau des portes logiques "OUI" servant d’interface entre le PIC et l’électronique interne du debuggeur.
C’est un problème classique de l’ICD2, assez simple à réparer quand on sait comment faire.

J’avais une heure de temps libre à meubler j’ai donc décidé de tenter une réparation, "propre" :)
L’article en lui même n’est pas d’un très grand intérêt je doit le reconnaitre, mais qu’importe !
Sortez les fers à souder et le cutter on va faire sauter remplacer proprement et dans les règles de l’art des composants cms :)

Avant de commencer : le debuggeur ICD2 :

P1050978

Comme vous pouvez le voir c’est un vrai debuggeur ICD2, pas un clone chinois ou une version bricolée à la main avec 3-4 composants sorties d’un tiroir.
Celui ci dispose d’une connectique plutôt complète : RS232, USB et ICSP.

Seul les parties usb et ICSP semblent HS, la liaison RS232, quand à elle, à l’air de fonctionnait normalement.
Sauf que sans l’ICSP l’ICD2 devient inutile … (un programmateur qui ne programme pas … c’est un peu useless)

P1050980

Fabrication 100% composants CMS.
À noter que Microchip utilise un circuit Cypress pour l’usb et non un de leurs propres circuit usb/série …

Les deux portes logiques sur le banc des accusés :

P1050983

Sur le banc des accusés :
– HA126
– HB126

Deux portes logiques "buffer", en cas de boulette dans le câblage du port ICSP c’est elles qui sont sacrifiées pour sauver les meubles.
Il semblerait que "globalement" les debuggeur "low cost" soit très sensibles aux mauvais câblages, le même genre de problèmes survient avec un "AVR dragon" par exemple.

Remplacer ces circuits "buffer" permet (souvent) de sauver l’ICD2, mais il y a un problème, ce sont des circuits en boîtier SSOP.
Qui dit SSOP dit composant microscopique, à peine 5mm par 5mm …

Remplacement des deux portes logiques :

Voici la recette magique pour remplacer un composant SSOP en 5 étapes ;)

Étape 1, obtenir deux portes logiques neuves :

P1050985

J’ai pris 4 SN74HC126 chez farnell pour tenter ma réparation.

Pourquoi 4 et pas juste 2 ?
Je suis un peu bourrin sur les bords, vu le prix ridicule d’un circuit je me suis laissé une bonne marge.

P1050986

Remarque: la réglette de 4 circuits fait à peine 3cm de long … ça donne une idée de la taille d’un circuit.

Étape 2, rassembler le matériel nécessaire :

P1050990

Il faut :
– (au moins) 2 circuits 74HC126 neuf
– une pince à bec fine
– de la soudure (de préférence de petit diamètre)
– un cutter avec une lame neuve
– de la tresse à dessouder
– un fer à souder avec une tête fine
– la carte à réparer (merci captain obvious ;))

Étape 3, retrait des circuits défectueux :

P1050992

Pour retirer les circuits défectueux sans détruire le pcb de la carte :
– prendre un cutter (avec un lame neuve de préférence)
– poser le cutter à plat sur les broches du circuit à enlever, au plus prêt du boîtier
– appuyer doucement sur le cutter pour couper les pattes du circuit à ras du boîtier
– faire de même pour l’autre côté
– enlever le boîtier du circuit (note : les pattes resteront quand à elles soudées au pcb ce n’est pas un problème)

Étape 4, nettoyage et préparation du pcb :

P1050993

Avant de continuer :
– dessouder avec un fer à souder à tête fine les morceaux de pattes restées soudées au pcb
– passer un coup de tresse à dessouder sur les pistes du pcb pour enlever les restes de soudure
– mettre un peu de soudure "neuve" sur chaque pistes pour faciliter la soudure des nouveaux circuits

Étape 5, souder les nouveaux circuits :

P1050996

C’est l’étape la plus compliquée car il faut faire preuve de sang froid et de patience …

La première étape consiste à placer le circuit avec la pince à bec.
Ça demande un certain doigté pour aligner correctement le boîtier et les pistes du pcb.

Une fois en place le plus simple est de souder la patte n°1 du circuit pour qu’il ne bouge plus.
Pour souder les autres pattes rien de plus simple, pour faciliter l’opération les composants CMS sont fourni avec un enrobage de soudure sur chaque broche.
De fait, grâce au surplus de soudure déposés sur les pistes à l’étape 4 il suffit de poser la tête du fer sur le dessus d’une broche et d’attendre que l’enrobage de celle ci fonde, entraînant la fonte de la soudure déposée sur la piste en dessous et par conséquent soudant la broche en place.

Même chose pour le deuxième circuit :

P1050999

Et voila, remplacement effectué avec succès en même pas 15 minutes ;)

La question existentielle : est-ce que ça (re)marche ?

P1060002

Et bien … non …

Le remplacement des deux buffer n’a semble t-il pas résolu tout les problèmes …
L’usb est bien reconnu en tant que périphérique "Microchip custom" mais impossible de s’y connecter avec mplab.
En passant par le port RS232 la connexion avec mplab fonctionne, le firmware du PIC16F877 se met à jour sans problème mais la lecture du n° de série du PIC "cible" retourne toujours 0x00 …

Les circuits d’origine était des 74HC126 annotés respectivement HAxxx et HBxxx, ceux que j’ai utilisés sont annotés HCxxx.
C’est peut être le problème pour la lecture du "0x00" mais ça ne me dit pas pourquoi l’usb ne marche pas …
Bref il semblerait que ma réparation ne soit pas encore tout à fait au point …

About these ads

Discussion

6 réflexions sur “Remplacer un composant CMS sans prise de tête

  1. HA126 = SN74AHC126 (http://www.ti.com/lit/ds/scls257l/scls257l.pdf)
    HB126 = SN74AHCT126 (http://www.ti.com/lit/ds/scls265o/scls265o.pdf)
    HC126 = SN74HC126 (http://www.ti.com/lit/ds/symlink/sn74hc126.pdf)

    Le HC126 est très proche du AHC126 : 2 à 6V de VCC, courants de sortie typique +/-8mA dans les 2 cas.
    La grosse différence est la vitesse : Sous VCC=5V et chargé à 50pF, le AHC à un tpd de 5.3ns alors que le HC atteint 11ns.
    Le AHCT est un CMOS compatible TTL : tension d’alim exclusivement 5V et seuils de déclenchement identique à la famille TTLLS : VIH à 2V au lieu de plus de 3V pour les AHC/HC

    Dans l’ensemble je ne pense pas que ca fasse une grosse différence pour l’application considérée.

    De toute façon, s’ils sont sur le bus de debug, aucun rapport avec l’USB.
    J’accuserais plutôt le Cypress pour l’USB si c’est lui qui gère bien l’USB (référence pas lisible sur les photos)

    Pour ce qui est ensuite de la connexion avec le PIC cible, il me semble qu’il y a encore d’autres composants concernés : U11, U15, U16 et Q2 me semblent faire partie du circuit qui va vers le RJ donc vers la cible.

    Publié par Barbudor | 25 janvier 2013, 23 h 13 min
    • >> J’accuserais plutôt le Cypress pour l’USB si c’est lui qui gère bien l’USB (référence pas lisible sur les photos)

      Le problème c’est que je ne pense pas qu’il puisse être reprogrammer …
      J’ai fait quelques tests avec mon ICD2 DIY et il semblerait que mplab soit une possible cause de problème avec l’usb.
      Tout dépend de quand je branche l’usb, avant ou âpres de lancer mplab, c’est très étrange.

      >> Pour ce qui est ensuite de la connexion avec le PIC cible, il me semble qu’il y a encore d’autres composants concernés : U11, U15, U16 et Q2 me semblent faire partie du circuit qui va vers le RJ donc vers la cible.

      Faudra que je regarde ça de plus prés, je l’aurai ce bug, je l’aurai :)

      Publié par skywodd | 26 janvier 2013, 16 h 26 min
  2. Bonjour,
    certains utilisateurs ont du changer le potentiomètre numérique DG411
    Sinon il faut aussi voir l’état du Polyswitch (F2)
    Cordialement
    Xavier

    Publié par galoupios | 28 janvier 2013, 15 h 23 min
  3. Bonjour
    L’ICD2 que je t’ai envoyé (après quelques péripéties postales…!!) ne donnait pas d’erreur USB sous XP.
    Je n’ai pas fait de recherche de panne sur cette carte mais le symptôme (erreur cible) ressemblait à une panne réparée sur d’autres ICD2 : driver HS par non respect des regles d’alimentation de l’ICD2 et de la cible = point faible de l’ICD2.
    Tu l’auras ce bug !!

    Publié par al1fch | 31 janvier 2013, 12 h 25 min
    • >> L’ICD2 que je t’ai envoyé (après quelques péripéties postales…!!) ne donnait pas d’erreur USB sous XP.

      Je vais regarder de faire tourner mplab sur un XP pour voir ;)

      >> Je n’ai pas fait de recherche de panne sur cette carte mais le symptôme (erreur cible) ressemblait à une panne réparée sur d’autres ICD2 : driver HS par non respect des regles d’alimentation de l’ICD2 et de la cible = point faible de l’ICD2.

      Je vais donner un coup d’oscilloscope sur les lignes RESET / PGC / PGD pour voir il ce passe quelque chose.

      >> Tu l’auras ce bug !!

      Ho que oui je l’aurai ]:)

      À mon avis c’est mplab + win7 64 bits déconne en usb.
      Pour le reste il doit surement y a voir un transistor HS ou une broche mal soudé quelque pars …

      Publié par skywodd | 31 janvier 2013, 14 h 43 min
  4. j’oubliais…
    l’ICD2 de Microchip a des contraintes que n’ont pas forcément les clones simplifiés :
    -pour le schéma de la cible (condensateur de Reset ….
    -séquence d’alimentation ICD2 et cible selon que la cible est ou pas alimentée par l’ICD2
    le Guide d’Utilisation reprend tout ça (le poster aussi, en moins détaillé !)

    http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredownload.aspx?device=en010046&lang=en&ReturnURL=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010046&part=DV164005#

    Publié par al1fch | 31 janvier 2013, 13 h 07 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Archives

Wow. Dogecoin. Amaze.

Laissez un tip en Dogecoin

DMMNFk6WBVTpx2Wu1Z35GL61QXSd6r6WQx

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 753 autres abonnés