J'ai un TL866 qui est capable de tester les circuits intégrés des séries 7400 et 4000 mais je voulais voir s'il y avait d'autres solutions plus souples d'utilisation.
J'ai rapidement trouvé une réalisation de Akshay Baweja, Smart IC Tester.
Basé sur un Arduino Mega, un écran TFT tactile et une carte d'extension spécifique, ce projet apparaît très simple à réaliser. Ce testeur est capable de tester les composants 7400 et 4000, de manière automatique en identifiant le composant, mais également manuellement en indiquant quel est le composant à tester.
J'ai remarqué dans la liste des personnes qui ont réalisé ce projet un pseudo connu sur le forum, philoupat6283.
Je l'ai donc contacté et il m'a fourni le PCB de l'extension (ainsi que de quelques autres montages que je n'ai pas encore réalisés

Après l'étape indispensable d'approvisionnement des composants nécessaires, j'ai réalisé l'extension, assemblé les éléments, compilé l'application et programmé l'Arduino.
Le projet GitHub est un peu daté et les librairies utilisées ont évolué. Des adaptations et un changement de librairie ont été nécessaires, mais rien d'extraordinaire dans le monde Arduino.
Le testeur fonctionnel, je suis passé à la deuxième étape.
J'ai décidé de réaliser quelques modifications :
- Optimisation du code et de l'empreinte mémoire.
- Modification de l'interface. Les différentes étapes du traitement sont signalées visuellement par animation et code couleur.
- Navigation possible dans les résultats d'identification de composant.
- Test de composant en continu. Un appui sur l'écran termine le test.
- Ajout du test de composant mémoire (4164 et 41256).
L'écran de démarrage :

L'écran d'identification de circuits logiques :

La progression est indiqué par les carrés colorés en bas de l'écran. Le code couleur utilisé est le suivant :
- Gris, définition de circuit ignorée (nombre de broches incompatible).
- Orange, définition de circuit traitée, circuit incompatible.
- Vert, définition de circuit traitée, circuit compatible.
L'écran de test de circuit logique :

Le code couleur utilisé est le suivant :
- Gris, définition de circuit ignorée (code différent).
- Vert, cycle de test réussi.
- Rouge, cycle de test échoué.
L'écran de résultat du test :

Le nombre de cycle de test et le pourcentage de réussite sont affichés. Le bouton redo permet de relancer le test.
L'écran de test de composant mémoire :

Chaque carré représente le résultat du test d'une ligne complète de cellules (signal /RAS), selon le code suivant :
- Vert, aucun défaut.
- Rouge, erreur détectée.
- Remplissage alternatif 0, 1.
- Remplissage alternatif 1, 0.
- Remplissage 0.
- Remplissage 1.
L'écran de résultat du test :

J'avoue m'être inspiré des couleurs du CPC 464 pour la conception des écrans

Le projet est hébergé sur GitHub.
Actuellement, le projet est limité par l'extension qui ne gère que les circuits à 16 broches au maximum.
J'ai commencé à concevoir une extension qui utilise un support ZIF à 40 broches.
Par exemple, le support de composants RAM répandus en boîtier DIP 18 comme les 4408 et 4416 pourra être ajouté.
Et pourquoi ne pas tester des composants différents : CPU, PPI, ROM, etc.
J'ai une question pour les électroniciens.
Je souhaite ajouter le support des 4116 qui nécessite 3 tensions d'alimentation, 5 V, -5 V et 12 V.
Le 5 V est disponible, le 12 V peut être produit par un LTC1262, le -5V par un ICL7660 (ou d'autres composants équivalents).
Mon problème est d'appliquer le 12 V et le -5 V aux broches du support ZIF par programmation sans danger pour l'Arduino.
J'ai pensé à un transistor pour faire passer ces tensions vers le support, mais comment empêcher que ces tensions partent également vers les broches de l'Arduino ? Car chaque broche du support est relié à une broche de l'Arduino qui peut configurer chaque broche en entrée ou en sortie.
SI vous avez des idées ou des solutions, merci de m'éclairer sur le sujet.