Gamoover

[move]Vous aimez le couscous-boulettes, le chorizo, la Force 4, et la mimolette ? Alors soyez les bienvenus sur Gamoover ! [/move]

Testeur TTL/CMOS Artisanal (Automatique ou manuel)

Démarré par tilowil, Jeudi 02 Avril 2020, 00:26:06 AM

tilowil

#32
Bonsoir à tous,

Merci pour vos messages et vos explications. J'avoue être un peu perdu. Merci Little pour tes schémas, ça je comprends  :D.

@Little_Rabbit : Je ne veux pas mettre des transistors sur les pattes 24, 20, 18 et 16, et je vais te donner la raison. C'est la même raison qui vont me faire rejeter les TTL de première generation evoqué par gc339. En effet avec la méthode mis en oeuvre depuis le debut, ces circuit, que je ne connaissais pas, j'aurais pu les tester avec une ligne de verité pour le 7473, par exemple :

$7473
Dual J-K Flip-Flops With Clear
14
X0XVX0XHLXGLHX
C10VC11LH0GHL1
C11VC10HL1GLH0

Ne les connaissant pas je ne les avait pas créer, je viens de faire la 7473 en live en rédigeant le message.  Mais c'est pour pouvoir creer ces CI, que je ne connaissait pas, que j'avais voulu utiliser cette méthode d'assignation des entrées et sorties de l'Arduino actuelle ou le Vcc et le GND sont définis dans la ligne à tester.

Maintenant pourquoi je fige le Vcc toujours au même point et pourquoi ces circuit de première génération se trouveront exclus, simplement parce que je ne pense pas pouvoir soit alimenter une patte avec un transistor mosfet, et quand il s'agit d'une patte 'active' aller mesurer la tension quelle délivre. Après peut être que mon ignorance et ma maigre connaissance en électronique me font ce genre d'écueil, qui n'existe pas en réalité.
Pour illustrer mon ignorance :
par exemple un 7400

on voit effectivement le Vcc sur la broche 14 et le GND sur la broche 7 donc la broche 14 est alimenté par un mosfet (schema de Little).

Maintenant prenons un 74191

ici le Vcc est en 16 et le GND est en 8, donc un autre mosfet en 16.
Maintenant pour ce circuit je dois envoyer un signal clock sur la broche 14, qui est relié au mosfet. Au niveau de l'arduino, pour créer le signal Clock, je fait une connexion pull up interne, pendant 10ms puis j'envois un niveau bas. De façon à créer un signal carré de 10ms, ce qui me permet de gérer les déclenchements sur des fronts montant ou sur des fronts descendant (milles excuses si mes termes ne sont pas les bons). je pense que le mosfet sera capable de transmettre ce signal carré.

je zappe un circuit a 20 pattes, pour finir avec le 74154

donc ici l'on a effectivement le Vcc en 24 et le GND en 12.
en 14 et en 16, pattes reliées a un mosfet , je dois mesurer la tension émise par le circuit en fonction des entrées A, B, C, D, G1 et G2. Le mosfet ne va t il pas m'empêcher de pouvoir savoir si j'ai un niveau bas ou un niveau haut sur ses sorties ?
Je n'ai aucune connaissance concernant les mosfet, et pour moi la commande par la grille est à un lien en sens unique avec le circuit drain/source. C'est la grille vers le circuit drain/source, le contraire n'est pas possible. Pour moi c'est un peu comme le doigt (grille) sur un interrupteur (drain/source), le doigt fait une action sur l'interrupteur, par contre l'interrupteur ne peut pas faire d'action sur le doigt. Donc si un signal peut se répercuter de la grille au circuit drain/source, en revanche le signal du circuit drain/source ne peut pas se retrouver dans la grille.

Il ne faut pas oublier que je gère mes E/S de façon dynamique et que dans un cas l'E/S donne une information pour le test d'un CI, mais que la même E/S peut aussi lire des informations pour le test d'un autre CI.

Alors que si ma broche VCC est toujours au même endroit  quelque soit le nombre de pattes du CI, je n'ai qu'un mosfet à mettre en place et je peux faire mes mesures sans problèmes. Pour les TTL mis en avant par gc339 malheureusement ma connaissance ne me permet pas de faire des miracles en utilisant une méthode différente de celle conçue a l'origine, sauf si en mettant un mosfet pour alimenter au bon endroit, on est capable pour tout les autres CI de lire les informations a ce même endroit.

Après comme je le dit je suis novice en électronique, c'est aussi pour ca que je suis content que des vrais électroniciens participent au projet, c'est constructif.

A suivre.

gc339

#33
Bonjour à tous.

Chaque pin du circuit à tester qui est susceptible d'être une alimentation devra pouvoir être connectée aux rails d'alimentation à travers un mosfet. Ce qui implique l'utilisation de deux ports (broches d'E/S) de l'Arduino pour chacune de ces pins:
• Un port pour lire ou imposer le niveau logique sur la patte du circuit à tester comme cela est fait actuellement.
• Un second port pour commander le mosfet associé à ce premier port.

Cela nécessite quelques précautions au niveau du logiciel :
• Le premier port doit être déclaré en haute-impédance et/ou en entrée avant de positionner le mosfet à l'état ON avec le second port. Sinon il y a risque de destruction du premier port s'il était resté déclaré en sortie.
• A l'inverse, le mosfet doit être commuté préalablement à OFF avant de redéclarer le premier port en sortie.

Ainsi qu'à la mise sous tension de l'Arduino ou suite à un reset:
En principe tous les ports de l'Arduino se retrouvent déclarés en entrée ou en haute impédance (à vérifier cependant sur le data-sheet du µC). Il faut donc être sûr que les mosfet reliés aux rails d'alimentation soient à l'état OFF à ce moment là, c'est pourquoi l'incorporation d'une résistance (≈100K) entre Gate et Source de chacun serait souhaitable.

Principe pour une pin Vcc (il faudrait 4 de ces circuits à connecter sur les broches 19, 20, 22 et 24 d'un support textool pour pouvoir alimenter les boitiers 14, 16, 20 et 24 pins):


Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





tilowil

Bonjour,

Merci gc339 pour cette explication.
Je comprends. Je vais réfléchir pour intégrer cette solution dans le montage.

A suivre.

tilowil

#35
Bonsoir,

Merci gc339. Je le commande de suite. J'espère l'avoir Mardi.

Je vais modifier mon schéma en conséquence.

Merci pour ton aide.

[edit]

Voici une autre version du schéma. J'ai privilégié le Vcc toujours au même endroit. Pour le moment je vais tester sur la 24eme patte du zif.



Si c'est concluant j'intégrerai aussi les pattes 4 et 5. Je vais rechercher la liste des TTL qui font exception comme le 7473 and Co.

Encore Merci pour votre aide.

gc339

#36
Citation de: Little_Rabbit le Jeudi 09 Avril 2020, 16:39:17 PM
Pourquoi ne pas simplement prendre 4 transistors dont les bases seraient reliées à 4 broches de ton Arduino avec une résistance en série, et leur collecteur est relié au +5V, et leur émetteur respectif aux broches 14, 16, 20 24 de ton support ZIF ? Le GND quant à lui serait relié "en dur" au GND de ton montage.

Il faudrait alors insérer le circuit à tester comme indiqué sur ce programmateur d'EPROM, le cul en bas pour que sa broche GND (7, 8, 10 ou 12) corresponde à la lyre de gauche tout en bas du support textool, cette lyre serait alors connectée en permanence à la masse (0 volt):




Voici donc le dernier schéma modifié avec MSpaint en fonction des préconisations de Little_Rabbit, les transistors à jonctions étant avantageusement remplacés par des mosfet's canal P (IRFD9020):




4 ports supplémentaires (D46 à D49) sont nécessaires pour commander les mosfet's, je les ai attribués de la manière qui me semblait la plus logique mais celle-ci n'est pas impérative:
• Le port 46 relié à la gate de Q1, son drain alimente la lyre 19 (pin 14 d'un boitier DIL 14) du support ZIF.
• Le port 47 relié à la gate de Q2, son drain alimente la lyre 20 (pin 16 d'un DIL 16).
• Le port 48 relié à la gate de Q3, son drain alimente la lyre 22 (pin 20 d'un DIL 20).
• Le port 49 relié à la gate de Q4, son drain alimente la lyre 24 (pin 24 d'un DIL 24).

Les lyres citées ci-dessus sont aussi liées chacune à un autre port pour imposer un niveau logique sur la pin correspondante du circuit en test ou bien lire son état quand celle-ci n'est pas dédiée à l'alimentation de ce boitier (VCC). Le mosfet correspondant étant bien sûr OFF dans ce cas:
• La lyre 12 (pin GND pour tous les types de boitier) du support ZIF était reliée au port 45, comme son état ne changera jamais et que c'est un risque de court circuit pour ce port, autant supprimer cette liaison.
• La lyre 19 (pin Vcc d'un boitier DIL 14) du support ZIF est aussi reliée au port 34.
• La lyre 20 (pin Vcc d'un DIL 16) est aussi reliée au port 36.
• La lyre 22 (pin Vcc d'un DIL 20) est aussi reliée au port 40.
• La lyre 24 (pin Vcc d'un DIL 24) est aussi reliée au port 44.


Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





tilowil

Bonsoir,

Merci gc339 pour le schéma complet, mais en tant que novice, j'ai une question toute bête. Little a parlé de convention, mais je ne comprends pas pourquoi ne pas mettre le haut (la patte 1) du CI toujours au même endroit ? Dans ce cas la c'est plus simple, non ?

Merci.

Iro

Je lis, je ne comprends rien, c'est hypnotisant  =:))
"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF - Ma collec' de panels

LES TUTOS DE GAMO   

Little_Rabbit

Salut,

Merci gc339, tu as concrétisé bien mieux que je n'aurais su le faire ce que j'avais instinctivement en tête  ^-.

Citation de: tilowil le Dimanche 12 Avril 2020, 21:42:10 PM
Little a parlé de convention, mais je ne comprends pas pourquoi ne pas mettre le haut (la patte 1) du CI toujours au même endroit ?

Je parlais de convention, mais je voulais exprimer le fait que c'est ce que j'avais vu sur tous les appareils du marché : la photo de gc339 le montre bien =>




Citation de: tilowil le Dimanche 12 Avril 2020, 21:42:10 PM
Dans ce cas la c'est plus simple, non ?

Je ne vois pas ce que cela aurait de plus simple :). La problématique serait exactement la même, à savoir relier certaines broches le plus "directement possible" à la masse quand il s'agirait de la pin GND du composant testé, ou dans les autres cas relier la même broche à un des ports de l'Arduino. Mais si on veut relier cette broche à la masse via un Mosfet - si j'ai bien compris les explications de gc339 - il faut alors utiliser un Canal N, et non plus un Canal P. Or les IRFD9020 que tu as commandés chez RS-Composants sont des Canal-P, donc autant partir sur cette formule de commutation au niveau de la broche Vcc :).

Le faire au niveau du GND serait juste le montage miroir de celui proposé ici, avec des mosfet Canal-N au lieu de Canal-P.

Et puis le GND, c'est le potentiel de référence de tout ton montage. Cela me semble plus "sain" que cela soit un vrai potentiel 0 (je dis ça là aussi un peu "instinctivement", mes souvenirs de cours d'électronique sont trop lointains et confus pour que je puisse l'étayer sur du solide, sur du concret comme la façon dont les électrons se promènent sur notre circuit au final :) ).

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

tilowil

Bonjour,
Pour mon cerveau c'est plus simple car il n'y a qu'un seul mosfet à mettre, pour alimenter la patte Vcc qui sera toujours placé au même endroit, sur la patte 24 du ZIF, et je n'ai jamais à lire cette patte puisque quelque soit le CI se sera la patte Vcc (sauf si je traite les premiers TTL). C'est plus simple car ainsi je n'ai pas a gérer une broche pour l'alimentation et une broche pour la lecture. Ce que je vois aussi c'est la suite que je compte donner au montage, car tester les TTL et les CMOS, toujours dans l'optique de tester les composants de la MPU data east, j'aimerai aussi tester le NE555, pourquoi pas le NE556, et les ampli op que l'on retrouve sur les cartes son.



Tu peux voir que le Vcc est aussi placé au même endroit, en face de la patte 1. Tu comprends pourquoi, et puisque je ne peux pas alimenter par les broches de l'Arduino, ce qui était très simple, rester sur un principe pas trop complexe, sinon je vais devoir mettre presque un mosfet par broche du zif
Citation de: gc339 le Samedi 11 Avril 2020, 14:29:09 PM
Cela nécessite quelques précautions au niveau du logiciel :
• Le premier port doit être déclaré en haute-impédance et/ou en entrée avant de positionner le mosfet à l'état ON avec le second port. Sinon il y a risque de destruction du premier port s'il était resté déclaré en sortie.
• A l'inverse, le mosfet doit être commuté préalablement à OFF avant de redéclarer le premier port en sortie.
Si je devais mettre un mosfet par point potentiel d'alimentation, je pense que l'arduino mega n'aurais pas assez d'E/S disponible.
Citation de: gc339 le Dimanche 12 Avril 2020, 19:20:13 PM
4 ports supplémentaires (D46 à D49) sont nécessaires pour commander les mosfet's, je les ai attribués de la manière qui me semblait la plus logique mais celle-ci n'est pas impérative:
• Le port 46 relié à la gate de Q1, son drain alimente la lyre 19 (pin 14 d'un boitier DIL 14) du support ZIF.
• Le port 47 relié à la gate de Q2, son drain alimente la lyre 20 (pin 16 d'un DIL 16).
• Le port 48 relié à la gate de Q3, son drain alimente la lyre 22 (pin 20 d'un DIL 20).
• Le port 49 relié à la gate de Q4, son drain alimente la lyre 24 (pin 24 d'un DIL 24).

Les lyres citées ci-dessus sont aussi liées chacune à un autre port pour imposer un niveau logique sur la pin correspondante du circuit en test ou bien lire son état quand celle-ci n'est pas dédiée à l'alimentation de ce boitier (VCC). Le mosfet correspondant étant bien sûr OFF dans ce cas:
• La lyre 12 (pin GND pour tous les types de boitier) du support ZIF. était reliée au port 45, comme son état ne changera jamais et que c'est un risque de court circuit pour ce port, autant supprimer cette liaison.
• La lyre 19 (pin Vcc d'un boitier DIL 14) du support ZIF est aussi reliée au port 34.
• La lyre 20 (pin Vcc d'un DIL 16) est aussi reliée au port 36.
• La lyre 22 (pin Vcc d'un DIL 20) est aussi reliée au port 40.
• La lyre 24 (pin Vcc d'un DIL 24) est aussi reliée au port 44.
Le ZIF fait 24 pattes, l'afficheur LCD j'utilise 6 broches et pour l'accès à la carte SD j'utilise 4 broches supplémentaires. Les broches 0 et 1 sont inutilisables a cause de la communication série.  Ce qui me fait 36 broches utilisées actuellement sur 54 disponibles. Je ne compte pas la gestion des boutons poussoirs, car que j'utilise 1, 4 ou 6 boutons j'utiliserai toujours A7.
Avec les mosfets je dois donc utilisé 4 broches supplémentaires (soit un total de 40 broches). Si j'intègre les TTL de première génération j'aurais minimum 2 mosfets en plus et donc 2 broches en plus et enfin le NE555 idem 1 mosfet en plus et 1 broche en plus. Soit un total de 43 broches utilisés. Je n'ai pas étudié les ampli-op, mais si je peux les tester je sais que j'aurais encore des mosfet en plus et des broches en plus.

Par contre gc339, je ne comprends pas ceci :
Citation de: gc339 le Dimanche 12 Avril 2020, 19:20:13 PM
• La lyre 12 (pin GND pour tous les types de boitier) du support ZIF. était reliée au port 45, comme son état ne changera jamais et que c'est un risque de court circuit pour ce port, autant supprimer cette liaison.
Pourquoi y a t il un risque de court circuit ?
Au niveau de ma programmation j'oriente la broche en 'output' et j'ecris une information 'low'
   
    if(Signal[i] == 'V')
    {
      if(v_mode == true)
      {
        if(!debug)
        {
          Serial.print("V");
        }
        else
        {
          fileDebug.print("V");
        }
      }
      digitalWrite(PinOut[i], HIGH);
      pinMode(PinOut[i], OUTPUT);
    }
    else if(Signal[i] == 'G')
    {
      if(v_mode == true)
      {
        if (!debug)
        {
          Serial.print("G");
        }
        else
        {
          fileDebug.print("G");
        }
      }
      digitalWrite(PinOut[i], LOW);
      pinMode(PinOut[i], OUTPUT);
    }


J'ai déjà changé mon orientation de CI pour faire mon essai avec le mosfet.

/* PINS
   Brochage
IC IC IC IC IC IC IC IC IC IC IC   Pin
4  6  8  10 12 14 16 18 20 22 24   Arduino
               
                              13 =  22
                           12 14 =  24
                        11 13 15 =  26
                     10 12 14 16 =  28
                  9  11 13 15 17 =  30
               8  10 12 14 16 18 =  32
            7  9  11 13 15 17 19 =  34
         6  8  10 12 14 16 18 20 =  36
      5  7  9  11 13 15 17 19 21 =  38
   4  6  8  10 12 14 16 18 20 22 =  40
3  5  7  9  11 13 15 17 19 21 23 =  42
4  6  8  10 12 14 16 18 20 22 24 =  44
1  1  1  1  1  1  1  1  1  1  1  =  45
2  2  2  2  2  2  2  2  2  2  2  =  43
   3  3  3  3  3  3  3  3  3  3  =  41
      4  4  4  4  4  4  4  4  4  =  39
         5  5  5  5  5  5  5  5  =  37
            6  6  6  6  6  6  6  =  35
               7  7  7  7  7  7  =  33
                  8  8  8  8  8  =  31
                     9  9  9  9  =  29
                        10 10 10 =  27
                           11 11 =  25
                              12 =  23

/ SD card attached to SPI bus as follows:
/ La carte SD est connectée par le bus SPI ainsi:
/  MOSI - pin 51
/  MISO - pin 50
/  CLK  - pin 52
/  SS   - pin 53
*/

// Each variable contains the correct allocation on Arduino pins for the Ic's pins in number order
// Chaque variable contient l'attribution correcte des broches de l'Arduino pour les pattes du CI dans l'ordre numérique
int Pin[12][24] = {{},
                   {45,43,42,44},
                   {45,43,41,40,42,44},
                   {45,43,41,39,38,40,42,44},
                   {45,43,41,39,37,36,38,40,42,44},
                   {45,43,41,39,37,35,34,36,38,40,42,44},
                   {45,43,41,39,37,35,33,32,34,36,38,40,42,44},
                   {45,43,41,39,37,35,33,31,30,32,34,36,38,40,42,44},
                   {45,43,41,39,37,35,33,31,29,28,30,32,34,36,38,40,42,44},
                   {45,43,41,39,37,35,33,31,29,27,26,28,30,32,34,36,38,40,42,44},
                   {45,43,41,39,37,35,33,31,29,27,25,24,26,28,30,32,34,36,38,40,42,44},
                   {45,43,41,39,37,35,33,31,29,27,25,23,22,24,26,28,30,32,34,36,38,40,42,44}};

// will be used for the correct sequence of pins. Max. 24 Pins
// Sera utilise pour une sequence de pattes correcte. Max. 24 pattes.
int PinOut[24];                                                                             

Ce qui vous permet de voir aussi ce que j'ai prévu.

A suivre  <:)

Fred G5

Ce projet prend de l'ampleur de jour en jour, on va finir avec super testeur de composant universel =:))
Flipper: DE "Laser War"- WMS "F14-Tomcat"- GTB " Hollywood Heat" - Bally "Black Pyramid"
Borne: Konami "Lethal Enforcers" - New Game "N'Styl"- René Pierre 1982 - Jeutel Neo Geo 16/9 - Simulateur Twin Konami "Midnight Run Road Fighter 2"
Jeu/Système de jeu: 53 PCB Jamma, 7 cartouches MVS, slot Neo-Geo MV-1T, MV-2F, MV-4F, MV-6F
Console: Nintendo SNES 2CHIP, SNES 1CHIP-02 + 43 jeux

Little_Rabbit

#42
Salut Tilowil,

Je pense avoir compris vers où tu veux aller, et du coup avoir compris le point fondamental qui t'échappe :).

Un montage électrique, vous savez qu'on peut l'assimiler à un circuit hydraulique :).

Prenez un cours d'eau, ou une canalisation, un tuyau d'alimentation en eau : la quantité d'eau qui va y passer correspond en électricité à l'intensité : plus d'eau passe dans la canalisation, ou plus d'électrons passent dans le fil, plus l'intensité est élevée. Ne parle-t-on pas d'ailleurs de courant fort, tant pour un bras de fleuve, que pour un circuit électrique ? :)



En électricité on exprime le courant en Ampère, et on le mesure avec un ampèremètre (placé en série dans le circuit).

De la même façon, si on considère à présent une chute d'eau, la hauteur de cette chute est l'équivalent en électricité à la tension. Vous vous baladez en montagne, et après avoir franchi un col à 1200 m d'altitude, vous tombez sur une jolie cascade qui fait plusieurs mètres de haut. Le haut de la cascade est à 1210 m d'altitude, et le bas de la cascade à 1200 m, juste au niveau du col. La différence entre le haut de la cascade et le bas de la cascade est de 10 m :).



En électricité, on ne parlera pas d'altitude mais de "potentiel".

Une tension, c'est à dire une différence de potentiel, est exprimée en Volt, et on la mesure avec un voltmètre (placé en parallèle dans le circuit).

Le 0 Volt, ou GND, c'est le potentiel de base par rapport auquel on mesurera les autres potentiels. C'est l'équivalent du niveau de la mer quand on mesure une altitude.

Sur votre alimentation de borne d'arcade, vous pouvez mesurer le 12V entre la masse et le +12V, en mettant la pointe noire sur la masse, et la pointe rouge du voltmètre sur le +12V. De la même façon, vous mesurez 5V entre la masse et le +5V.

Imaginez une cascade qui tombe de 12 m de haut, et à côté une autre cascade qui tombe de 5 m de haut, se déversant toutes deux dans le même lac.

Mais si maintenant vous mettez la pointe noire du multimètre sur le+5V, et mettez la pointe rouge sur le +12V, qu'allez-vous mesurer ? :)

Vous mesurez 7V, car la différence de potentiel entre +5V et +12V est 7V, tout comme si vous preniez votre décamètre et mesureriez la distance qui sépare le haut de la cascade de 5 m et le haut de la cascade de 12 m : vous trouveriez bien sûr 7 m de différence de hauteur.

Pour résumer :

tension = différence de potentiel = hauteur d'une chute d'eau

intensité ou courant = quantité d'électrons qui passent = débit d'un cours d'eau ou tuyau

Où je veux en venir avec ce long discours d'introduction et d'analogie ? :)

Tilowil, as-tu déjà vu fonctionner un moulin à farine alimenter par un torrent ? Ou encore, imagines-tu à peu près comment fonctionne un barrage hydroélectrique ? :)

Penses-tu que la quantité d'eau qui rentre dans le moulin est différente de celle qui en sort ? Ou bien encore, penses-tu que les turbines d'un barrage hydroélectrique font disparaître une partie de l'eau qui les ont animées ? :)

Dans nos montages électriques ou électroniques il en va de même !

Voici un schéma qui alimente une ampoule, et sur lequel on a placé un ampèremètre pour mesurer l'intensité du courant qui circule dans le montage :



Dans un cas on a placé l'ampèremètre avant l'ampoule, dans le 2nd cas on l'a placé après l'ampoule.

Êtes-vous d'accord que le courant mesuré sera le même avant ou après l'ampoule, de la même façon qu'il ressort autant d'eau d'un moulin qu'il n'en rentre ? :)

Pour en revenir enfin à ton testeur Tilowil, tu sembles vouloir t'épargner l'usage de plusieurs mosfets en reliant le Vcc à une broche fixe. Mais après l'exposé que je viens de faire, tu auras compris que le courant au niveau la broche GND du circuit testé est identique à celui qui rentre par la broche Vcc ! Si une broche de l'Arduino n'était pas adaptée à alimenter directement le circuit TTL à tester, elle ne l'est pas plus à recevoir le courant issu de la broche GND !

C'est la raison pour laquelle dans nos explications précédentes gc339 et moi-même te disions qu'il y a 2 alternatives :
-soit on met des mosfets Canal-P sur le Vcc
-soit on met des mosfets Canal-N sur le GND

Mais il n'existe pas de solution où l'on pourrait se soustraire à cette contrainte d'alimentation, qui de toutes façons ne doit pas se faire via les ports de l'Arduino.

J'espère ne pas avoir dit trop de bêtises plus haut et que cela vous permettra de mieux comprendre ce qu'est un courant et une tension :).

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

gc339

#43
Bonjour à tous.

C'est simple, Little_Rabbit l'a bien expliqué aussi je vais faire l'analogie avec le câblage normalisé d'une ampoule d'éclairage pour que ce soit plus clair:
• Une électrode de l'ampoule est connectée au neutre du 220 volts secteur. Neutre qui est connecté localement à la terre du bâtiment.
• L'autre électrode est connectée à une borne de l'interrupteur dont l'autre borne est connectée à la phase du secteur.




Donc on commute préférentiellement la tension la plus élevée plutôt qu'une tension neutre, nulle, commune à toutes les autres...

Soit le circuit à tester est calé en haut du support ZIF:
• Il n'y a n'y besoin que d'un seul mosfet P pour commuter le +5 volts, ce n'est pas une nécessité absolue, plutôt une sécurité pour éviter que la lyre 24 soit en permanence à +5 volts.
• Il faut par contre 4 mosfet's N pour commuter le 0 volt sur la pin GND des différents modèles de boitier.

Soit le circuit à tester est calé en bas du support ZIF:
• La lyre 12 du ZIF est connectée en permanence au 0 volt, pas besoin d'un mosfet N pour la commuter.
• Il faut par contre 4 mosfet's P pour commuter le +5 volts sur la pin Vcc des différents modèles de boitier.
C'est d'ailleurs cette configuration (circuit calé en bas du ZIF) qui est utilisée sur tous les programmeurs d'EPROM et consorts, témoins les photos des modèles de ces appareils sur le site de Matthieu Benoit

Citation de: tilowil le Lundi 13 Avril 2020, 01:24:23 AM
Tu comprends pourquoi, et puisque je ne peux pas alimenter par les broches de l'Arduino, ce qui était très simple, rester sur un principe pas trop complexe, sinon je vais devoir mettre presque un mosfet par broche du zif

Pour l'instant, avec la modification proposée, j'ai restreint le nombre de boitiers aux DIL 14, 16, 20 et 24 standards afin de limiter le nombre de mosfet's à 4 ainsi que le nombre de ports d'Arduino supplémentaires, ce qui me semble raisonnable pour conserver la meilleure simplicité.
Pour ne pas compliquer le schéma avec les boitiers ésotériques (qui sont loin d'être majoritairement employés), je propose la solution de l'adaptateur intermédiaire pour remettre les pins d'alimentation à l'emplacement habituel. Deux ou trois modèles d'adaptateurs différents par DIL14 et DIL16 devraient suffire à couvrir toutes les configurations possibles.

Exemple avec un 7473:

Permutation simple entre paires de pins:



Ou bien permutation croisée des 4 pins:



Ou encore cet adaptateur plus simple à réaliser à partir d'un support ayant un nombre de pins supérieur à celui du boitier à tester. C'est encore plus facile avec un support à wrapper, les longues tiges assurent la continuité de toutes les pins du boitier en test et il n'y a que deux fils à wrapper, ceux des alimentations. Le circuit à tester doit être positionné en conséquence sur le support/adaptateur qui lui même est directement inséré dans les lyres du ZIF 24. On peut même réaliser un détrompage salutaire en obstruant les contacts extrêmes du support.

Exemple avec un 7475:




Et une illustration de ce dernier adaptateur réalisé avec un support DIL20 à wrapper, n'est visible que le strap du Vcc réalisé avec un fil rouge.




Dans tous les cas il faudra définir, dans la BdD pour ces circuits ésotériques, un modèle de pin-out qui correspond à celui rectifié (normalisé) par l'adaptateur et non pas le pin-out réel du circuit à tester.
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





gc339

Bon maintenant en ce qui concerne les circuits du genre NE555 ou monostable du genre 74121, on ne peut pas les tester non équipé d'une cellule RC (résistance/capacité) externe, il faudra donc insérer un prolongateur entre le circuit et le ZIF qui supportera mécaniquement et électriquement ces deux composants.
Dans le cas du NE555 à 8 pattes, il faudra même un 5ème mosfet pour pouvoir alimenter la lyre 16 du ZIF, celle qui correspond à la pin 8 du DIL8.
Quand à tester les amplis OP c'est une autre histoire il faudrait faire appel aux ressources analogiques (CAN, PWM) de l'Arduino. Tout au plus il devrait être possible de tester les comparateurs du genre LM311.




Chaque broche d'E/S de l'ATMega2560 dispose d'un étage de sortie Totem-Pole:




• Les deux transistors sont à OFF quand le port est déclaré en entrée ou en haute-impédance (HiZ).
• Un des deux transistors est à ON quand le port est déclaré en sortie, celui du bas pour un état "0", celui du haut pour un état "1"

CitationLa lyre 12 (pin GND pour tous les types de boitier)
Le port associé à cette pin ne doit jamais être déclaré en sortie à l'état haut sinon suicide assuré du transistor du haut du Totem-Pole par court-circuit. Il peut à la rigueur l'être à l'état bas mais il vaut mieux par sécurité qu'il reste déclaré en entrée ou en HiZ.

De même pour les ports connectés au drain d'un mosfet IRFD9020:
Quand ce dernier est à ON pour fournir une alimentation au circuit testé, le port associé ne doit jamais être déclaré  en sortie à l'état bas sinon destruction assurée du transistor du bas du Totem-Pole par court-circuit. Il peut à la rigueur l'être à l'état haut mais il vaut mieux prédéclarer le port en entrée avant d'activer le mosfet IRFD9020 à l'état ON.
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





tilowil

#45
Bonsoir,

Wouah !  ^-
Je decouvre vos messages après une journée off.

@Little_Rabbit : Tu me rappelles mon prof électrotechnique la première fois qu'il a expliqué la notion de tension, d'intensité et de puissance à la classe, mais ton explication a le mérite de mettre les bases en version simplifiée pour tout le monde, ce qui est une très bonne chose. Merci  <:).
@gcc339 : Merci pour l'explication des sorties de l'Atmega2560

Je suis perdu dans vos explications et, franchement, même si je comprends tout ce que vous me dites, j'ai du mal a comprendre l'obligation de devoir autant complexifié la chose. J'ai besoin de prendre un peu de recul. Mes PCB lancés au démarrage du topic doivent arrivé aujourd'hui, normalement. Je vais malgré tout monter un Prototype, ce qui était prévu, car avec mes vieilles breadboards parfois les contacts ne sont pas des meilleurs.

Il y a aussi une chose que je ne comprends pas. les petits testeur chinois, genre :

testent les CI avec une tension de 3v (2 piles AA) et cela fonctionne bien apparemment.
L'interieur de ce genre de testeur



Apres on utilise pas la même technologie puisqu'ils utilisent un dérivé du 8051. 

Accordez moi 1 ou 2 jours, que je prenne le temps de tout relire, d'assimiler, et la que la nuit fasse son oeuvre, et on reparle de tout ca.

En tout cas mille mercis pour toutes ses orientations afin de rendre meilleur ce testeur artisanal.

A suivre.

gc339

#46
Bonjour à tous.

Citation de: tilowil le Mardi 14 Avril 2020, 02:31:53 AM
Il y a aussi une chose que je ne comprends pas. les petits testeur chinois testent les CI avec une tension de 3v (2 piles AA) et cela fonctionne bien apparemment.
A mon humble avis il y a un convertisseur de tension de type "boost" pour fabriquer du +5 volts, pour preuve cette inductance et la diode Schottky SS14 dans le coin en bas à gauche:




J'ai aussi recherché ces références "F13x", "E0KAF", "A2SH8 ou A2SHB" dans le SMD codebook, mais j'ai rien trouvé.
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





gc339

Un petit retour en arrière sur cette image:




On distingue très bien sur cette image les 6 petits réseaux de 4 résistances qui protègent les sorties de 3 des quatre 74HC573 du bas. En effet,  il n'est pas exclu que certaines des pins du circuit en test soient en court-circuit interne, ce qui pourrait détruire les ports d'un Arduino déclarés comme sortie.
Leur valeur est difficilement lisible. Après recherche de schémas sur le net, le consensus semble être de 220 ohms pour ces résistances de protection sur tous les IC-tester's sérieux.

Ci-dessous le schéma retouché avec les résistances de protection:




Question pratique, il n'est pas question d'implanter 24 résistances mais plutôt 3 boitiers de 8 résistances isolées entre elles.

• Boitier DIL16, (traversant, pas de 2,54, empattement 7,62):




Modèle 4116R-1-221LF Bourns

Référence Farnel 9355880, 1€07 HT unitaire par lot de 5.

• Boitier SOIC16 (CMS, pas de 1,27,  7,62 mm entre extrémités de pattes opposées):



Modèle 4816P-1-221LF Bourns:

Référence Farnel 9357505, 1€05 HT unitaire par lot de 5.
Référence RS particuliers 865-2028, 1€11 TTC unitaire par lot de 5.

• CMS étroit (pas de 1,27,  6 mm entre extrémités de pattes opposées)




Modèle CTS 766163221GP

Référence RS particuliers 179-1371, 2€ TTC unitaire par lot de 10.

Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard