Affichage des articles dont le libellé est RI-EMU Drumulator. Afficher tous les articles
Affichage des articles dont le libellé est RI-EMU Drumulator. Afficher tous les articles

jeudi 5 mars 2020

Finalisation de dépannages.

Ouf, j'en vois le bout. Ces six derniers mois, j'ai du m'occuper de plusieurs appareils dont une majorité de la marque EMU dont des SP12, Drumulators et EIII. Et encore, j'ai un EMU1 à tenter de dépanner mais dont la carte mère semble poser de vraiment gros problèmes.

Ce qui clos la famille EMU est donc la dernière Drumulator que j'ai reçu pour 'expertise' :


Cette machine ne fonctionnait plus du tout. Le système plantait lamentablement lors de l'appui sur certaines touches et la chaîne de traitement audio présentait un nombre de sorties inopérantes, mais je n'ai pu m'en rendre compte qu'après avoir dépanné la partie logique.

Un composant logique défectueux envoyait donc 'balader' le processeur n'importe ou dans son programme avec au final le plantage systématique du système. En gros le décodage d'adresse ne fonctionnait plus correctement. J'ai donc remplacé le composant et ai implémenté à la demande du propriétaire de la machine, les deux extensions qui permettent d'en améliorer le comportement et les fonctionnalités. Tout d'abord, la carte de sélection de deux banques de sons :


Cette carte permet de monter deux kits complets de sons que l'on peut sélectionner par un simple switch placé en face arrière de la machine. Les quatre ROMs d'origine sont en fait concaténées en une seule, ce qui permet de proposer un kit complet par ROM.

Ensuite, la carte 'mémoire' :


Cette extension permet plusieurs choses. Tout d'abord elle remplace la ROM d'origine par une double ROM permettant la sélection soit d'un OS d'origine EMU, soit d'un OS de type Digidrums utilisé avec un kit Digidrums. Pour rappel, les kits Digidrums proposent des formes d'ondes dont les durées ne correspondent pas à celles d'origine. Or, le point de début et la durée de chaque sons sont inscrits dans la ROM programme. Chaque Kit Digidrums est donc composé d'un kit de sons PLUS une ROM OS. Cette carte permet aussi le basculement automatique du bon kit en fonction du type d'OS sélectionné.

De plus cette carte propose deux banques de RAM, elles aussi sélectionnables par l'intermédiaire d'un switch à placer en face arrière. Le système de sauvegarde par pile est remplacé par la mise en place d'une simple pile CR2032 sur support, bien plus facile à remplacer que la solution d'origine.
Une entrée MIDI est aussi implémentée, rendant le 'bidouillage' habituel inutile. Enfin, le système de protection de la mémoire SRAM a été amélioré. Cette dernière fonctionnalité requiert cependant la mise en place d'une liaison sur la carte de la Drumulator, rien de bien sorcier à réaliser :

La modification de la carte : ajout du fil 'noir'.
Et... une fois ces modifications réalisées, je me suis rendu compte qu'une bonne moitié des sorties ne fonctionnaient plus. En fait, et pour une raison que je ne saurais m'expliquer, une partie des composants analogiques étaient défectueux. Les tensions fournies par les régulateurs étaient pourtant correctes. J'ai donc remplacé ces circuits que j'ai placé sur supports :


Une fois toutes ces modifications effectuées, la machine démarre et se comporte normalement.

Avec le recul et les Drumulators que j'ai pu dépanner, je pourrais considérer que ce qui manque à ma carte 'mémoire' est l'implémentation d'un petit circuit de Reset parce que le système de démarrage mis en place par EMU présente parfois des dysfonctionnements dont je n'ai jamais réussi à déterminer les raisons mais que j'ai réussi à contourner de façon fiable.

Et pour rester dans le domaine des boîtes à rythmes, je termine donc ma série de dépannage des six derniers mois par une TR707 :


Le symptôme était somme toute assez simple : plus de sorties audio.
La raison est, elle aussi assez simple, les circuits analogiques de sortie ne sont plus alimentés par l'alimentation négative de -10V.

Après, la raison pour laquelle la génération du -10V ne fonctionnait plus reste assez obscure. Je n'ai pas vraiment pu tester le transformateur présent dans cette alimentation parce que lorsque je l'ai dessoudé, une patte principale est tombée sur le plan de travail. Les composants générant cette tension négative de -10V ayant déjà été dessoudés et ressoudés avant que la machine me soit confiée.


Le système de génération du -10V d'origine est assez simple. Une patte d'un circuit logique estampillé Roland fournit une forme d'onde carrée à la paire de transistors Q1 et Q2 qui eux, alimentent le transformateur T1 fournissant en sortie une tension négative dont la valeur est régulées automatiquement à -10V grâce à la diode Zener D3 qui 'coupe' la base de Q1 en cas de dépassement, ne permettant donc plus au signal de commande en provenance du circuit logique de commander le transformateur. Solution simple et efficace. Mais, le type de transformateur utilisé ne se trouve évidemment plus.

La solution choisie à donc consisté à utiliser un module préfabriqué permettant de générer la tension voulue et à l'implémenter sur la carte de la machine :

Attente du durcissement de la colle.
Une fois cette modification réalisée et testée, la machine ne fonctionnait toujours pas. Les dépannages qu'elle avait subi avaient détérioré une partie des liaisons entre les deux cartes. Dans un premier temps j'ai donc placé des connecteurs à la place des fils directement soudés sur une des cartes et ai placé de longues liaisons pour effectuer les tests plus facilement :


Une fois les tests effectués, j'ai remplacé ces liaisons par des nappes plus adaptées, que j'ai du compléter par un fil unique parce que l'on ne possède jamais les câbles à la longueur ou au nombre de conducteurs désirés, c'est la règle ;-)


Après avoir retravaillé quelques soudures précédemment refaites de façon très artisanale, la machine a pu être remontée dans un état totalement fonctionnel!

Connexions détériorées.

Soudure artisanales...
Et au final, toutes ces machines en panne pour finalement, que quelques composants défectueux. Voici les dernier 'soldats' morts au champ de bataille ces dernières semaines :


Il est toujours 'intéressant' de constater que dans la très grande majorité des cas, les machines que je reçois ont été 'travaillées' précédemment par des personnes ne possédant pas nécessairement les compétences requises. Le résultat est qu'il faut bien souvent traiter les problèmes engendrés par les interventions précédentes en plus des problèmes 'réels'. Ce qui complique parfois singulièrement le travail de dépannage puisque les 'traces' de l'enchaînement du dysfonctionnement originel ne sont plus visibles, ou pire, polluées par d'autres traces réalisées au fil des tentatives de dépannage.

Mais bon, c'est aussi ce qui rajoute de l'intérêt à la chose!


lundi 21 août 2017

Drumulator : l'heure du remontage!


Cela fait un peu plus d'un an que je possède cette Drumulator. Je l'ai achetée en région parisienne pur un prix modique car elle présentait quelques défauts, notamment la présence du message 'bad' au démarrage. Ce message n'est pas bien grave puisqu'il indique juste que la batterie interne de sauvegarde des RAM statiques est arrivée en fin de vie. La réparation ne devait donc pas poser trop de problème.

J'ai déjà eu l'occasion de présenter cette boit à rythme. Il y a à peine plus d'un an, j'ai effectué quelques dépannages et expérimentations ici, et créé un outil de débogage basé sur l'émulation des bus d'un Z80 sous la forme d'un 'composant' compatible Arduino, avec la version définitive ici, en milieu d'article.

Version définitive à gauche, version de test à droite.
Je n'avais pas remonté cette machine parce qu'une personne rencontrée lors du MakerFaire de Nantes en juillet 2016 m'avait proposé de participer à une manifestation sur le thème du rétro et du hack. Bien évidemment, cette personne ne m'a jamais recontacté. J'ai donc décidé de terminer mon travail sur cette boîte.

Digression : Je n'ai pas participé au MakerFaire de Nantes 2017. Cela représente beaucoup de travail de préparation et des bénéfices quasiment nuls malgré un nombre incroyable de personnes passées me voir l'année dernière. En fait le principe est simple, il s'agit de travail offert aux organisateurs, seuls à tirer les bénéfices de votre présence. Et pour être plus clair, travail fourni pour la très grande cause du rayonnement de Nantes, dans le cas présent. Une fois ça va, pas deux! Fin de digression.

Le changement de pile a effectivement réglé le problème du message d'erreur au démarrage de cette Drumulator, après avoir toutefois effectué la procédure de RESET des mémoires. Tout s'est bien passé au remontage, sauf que le réel problème de cette machine est apparu lors des premières tentatives d'utilisation. Tout fonctionnait SAUF le potentiomètre de data. Les valeurs qu'il permettait d'obtenir allaient de 45 à 64 pour ce qui était du réglage du tempo, et ne permettaient pas de modifier les valeurs des volumes des différents sons!

Une petite étude du schéma de principe de la machine permet de cerner rapidement le problème :

Une façon possible de faire de la conversion analogique/numérique.
 Surtout quand on constates ce qui a été installé en guise de réparation :


Et oui, la réponse au problème est tout simplement écrite : 10K. Le potentiomètre utilisé certainement pour remplacer celui d'origine défaillant est un 10KOhms en lieu et place de ce qui devrait être un 100KOhms, comme indiqué sur le schéma de la machine. Et de suite il est possible de comprendre la façon dont la personne qui a (tenté d'effectuer) effectué la réparation s'y est prise.

Et pour commencer, tentons de trouver le même type de potentiomètre rectiligne en version 100KOhms. Si vous y arrivez, faites-moi signe. J'ai passé un temps suffisamment long sur Internet pour arriver à la conclusion que ce type de potentiomètre est introuvable aujourd'hui. Le temps passé à cette recherche, à lui seul, rend la réparation de cette Drumulator absolument pas rentable! En version 100KOhms, cela devait déjà être compliqué à trouver à l'époque, même si je ne sais pas quand à eu lieu cette réparation!

L'auteur de cette 'tentative' de réparation a du se dire que cela ne faisait rien et que ce 10KOhm fonctionnerait quand même. Après tout, ça n'est pas pour le courant consommé qui passe de 50µA à 500µA sous 5V. Certes, sauf que la méthode de mesure de la valeur de ce potentiomètre n'est pas effectuée par un convertisseur CAN 'habituel' qui relèverait la tension présente à son entrée, mais par le calcul du temps que met un condensateur à se charger. Et qui dit charge de condensateur dit quantité d'énergie, et donc courant de charge!

Pour faire simple, voici comme cela fonctionne : le circuit intégré 74ls221 est un monostable. C'est à dire qu'une impulsion sur une patte permet de changer l'état de sortie d'une autre patte pendant... un certain temps, puisque c'est un monostable et non pas un bistable. Le 'certain temps' est généré par
le condensateur chargé à travers une résistance. Il est possible de déterminer la durée de ce temps de basculement à partir du datasheet d'un des fabricants de ce type de circuit.

Le fonctionnement final se déduit donc très facilement : une impulsion négative sur la patte '1' du 74ls221 fait instantanément passer sa sortie Q (patte 13) à '1'. Cette sortie Q reste à '1' le temps de la prise en compte de la charge du condensateur, et revient toute seule à '0'.

Comme l'entrée de déclenchement /A du 74ls221 est générée par le programme de la Drumulator, le programme sait exactement le moment du début du déclenchement (remise à zéro du registre de comptage du CTC, voir plus bas). Pour trouver la fin du déclenchement, il suffit de surveiller le passage à '0' de la sortie Q du 74ls221. C'est le rôle dévolu au Z80 CTC qui est un timer/compteur. Ce composant est capable de compter des impulsions arrivant sur sa patte 21 et de tenir à jour un registre interne dont la valeur sera le reflet du nombre d'impulsions d'horloge comptées pendant tout le temps que le condensateur aura mis à se charger, et donc sera le reflet de la position du potentiomètre, qui conditionne le temps de chargement du condensateur. A noter que la sortie Q du 74ls221 ne fournit pas les signaux d'horloge à mème de faire compter le CTC, mais valide le passage de l'horloge système vers le CTC via la porte NON-ET 74ls00.

Voilà, ça n'est pas compliqué. Encore faut-il se donner la peine de comprendre un peu le fonctionnement avant de se lancer dans une modification hasardeuse!

Que m'a-t-il fallu faire pour 'rattraper' le coup? C'est assez simple en fait. Puisque je ne pouvais pas augmenter la résistance de potentiomètre de 10KOhms à 100KOhms, il suffisait de multiplier la valeur de condensateur C77 par 10. J'ai donc placé deux condensateurs de 3200pF en parallèle entre les pattes 14 et 15 du 74ls221, pour une valeur finale de 6400pF + les 680pF d'origine.


Je triche un peu, ça n'est pas si simple que cela parce qu'il faut vérifier que les valeurs des composants restent dans les possibilités du 74ls221. Chance, c'était le cas!

Pour compléter, j'ai aussi du changer la résistance en parallèle sur le potentiomètre. Elle est censée diviser la valeur finale du potentiomètre de façon non linéaire. De 500KOhms à l'origine, je l'ai fait passer à 50KOhms (valeur divisée par 10 par rapport à l'origine, comme celle du potentiomètre). Dans les faits, j'ai placé deux résistances en série pour un total de 55KOhms. Les 10% supplémentaires me permettent d'atteindre la pleine échelle à coup sûr. A noter que la progression résultante du potentiomètre avec cette résistance en parallèle n'est donc pas linéaire. L'idée étant de linéariser la progression "apparente" de la charge du condensateur, sachant que la courbe de charge d'un condensateur, justement, est exponentielle et non pas linéaire. J'ai aussi du rajouter une résistance ajustable en parallèle de celle de 2KOhms d'origine pour régler plus facilement le zéro du potentiomètre. Une fois ces opérations réalisés, j'obtiens des créneaux de charge de 2,5% à 18,5% par période me permettant d'atteindre la valeur 0 pour le réglage du volume, et la valeur maximale de 240 pour le tempo par exemple.

Potentiomètre en butée à gauche.

Potentiomètre en butée à droite.
Les modifications effectuées, j'ai remonté la machine et ai procédé aux tests finaux en écoutant pour la première fois cette boite à rythmes :



J'ai passé l'OS de cette Drumulator à la version 3, avec la prise en charge de la liaison M.I.D.I. entrante. Il ne me reste plus qu'à mettre en place la petite interface M.I.D.I. standard d'entrée. A moins que j'en profite pour y implémenter un module de conversion de ma nouvelle interface M.I.D.I.

Mais pour l'heure, je remonte l'Emulator I que j'ai acquis il y a aussi un an. Fonctionnel, mais qui m'a généré une superbe fumée âcre de condensateurs quelques minutes après sa mise en marche. Je me dis que cet Emu 1 sera le parfait compagnon de cette Drumulator!

vendredi 21 octobre 2016

C'est la reprise!

Mis à part quelques sujet sur des réparations/modifications d'instruments électronique de musique, je n'ai rien publié à la suite du MakerFaire de Nantes qui s'est déroulé début juillet.

Parce-que finalement, je n'avais rien de spécial à publier. Pratiquement quatre mois après ce MakerFaire, et malgré l'enthousiasme affiché par les 'passants' sur mes présentations, force est de constater que la multitude de contacts échangés à cette occasion n'a rien donné de particulier. Reste malgé tout cet incroyable moment passé à la rencontre de personalités très variées et intéressantes.

Je continue donc, seul, mes développements et diverses expérimentations électroniques.

Lors de ce MakerFaire nantais, j'ai présenté deux thématiques principales :

- l'automatisme dédié à l'habitation, basé sur l'environnement Arduino. Le matériel exposé se composait d'un automate commercial de type Controllino, d'une carte Arduino de type UNO de ma composition, mais possédant DEUX vrais ports série, et d'un écran graphique tactile permettant de commander le tout :


Les évolutions de ce système consistent en une carte d'interface que je développe actuellement pour la carte automate Arduino. Cette interface comportera un circuit industriel capable de gérer la commande de signaux numériques en 24V, ainsi qu'un certain nombre d'entrées analogiques acceptant du 10V et du 5V. tout ceci devant permettre de sécuriser la carte Arduino vis à vis du monde extérieur et permettra de se passer de l'automate commercial Controllino.
Quelques passages en FabLab à titre de conseil en développement de solutions électroniques m'ont permis de constater à quel point il est facile de détruire les entrées/sorties du processeur quand les 'expérimentateurs/trices" ne possèdent qu'une vague notion des grandeurs physiques utilisées.

D'autre part, le type d'écran tactile utilisé à subi une évolution. Ces écrans sont maintenant plus réactifs en affichage du fait d'un système à processeur intégré plus rapide. Ils possèdent aussi une plus grande capacité mémoire, ce qui permet une montée en 'raffinements' d'affichage. Ils possèdent aussi directement l'heure temps réel. Ce qui permet de libérer le port d'extension dédié de ma carte Arduino.

Le schéma théorique de l'interface industrielle est terminé. Il reste encore à créer le circuit imprimé, ce qui sera fait dans les semaines à venir.

- L'électronique dédié aux instruments numériques était la deuxième thématique présentée au MakerFaire. Avec deux présentations matérielles. D'une part un système permettant de prendre le contrôle d'une machine pour y effectuer des diagnostiques et réparations éventuelles. En l’occurrence ce système prend la forme d'un 'émulateur' de processeur Z80, utilisé en lieu et place du processeur d'origine d'une Drumulator :



Cet émulateur de Z80 n'émule pas réellement un Z80, évidemment, mais est en mesure de prendre le contrôle des différents bus du système, et ce, dans le but de commander les différents organes de la machines afin d'en évaluer le comportement. Le gros avantage de cette solution est qu'elle ne nécessite aucun composant externe pour fonctionner. Par le fait, il devient alors possible d'effectuer un DUMP de la ROM d'origine de la machine, et même de tester le bon fonctionnement des mémoires RAM.
Mon étude initiale comportait quelques 'bugs'. Afin de la finaliser, j'ai donc corrigé les erreurs et en ai aussi profité pour changer le connecteur mini-usb en optant pour un modèle vertical. De cette façon, l'émulateur n'occupe que la place d'origine du Z80 et ne déborde plus. Je pourrai remettre en place le potentiomètre que j'avais du retirer.

La nouvelle version est à gauche!
 
Côté pile.

Côté face.
La nouvelle version est bien plus 'propre' que l'ancienne et va me permettre de continuer à développer sereinement les algorithmes de test de la Drumulator.

Autre sujet développé dans cette thématique instruments numérique de musique, une 'nouvelle' liaison M.I.D.I. :


Ces deux modules relient mon clavier maitre K250 et un expandeur sur lequel j'utilise différents sons de piano depuis quatre mois maintenant. Je n'ai constaté aucune erreur de communication malgré une certaine 'rapidité' des notes jouées (je prends par ailleurs des cours de clavier, histoire de me servir aussi de ce que je fabrique!). La topologie de ma liaison M.I.D.I. n'étant plus la même que celle d'origine, je développe en ce moment un switch qui me permettra de non plus faire un simple point à point, mais de créer un vrai réseau de machines. Le PCB de ce switch est créé et ne requiert 'plus' que sa fabrication puis la programmation du système.

Le principe de mise en place de ce nouveau réseau devrait être assez 'ludique', agréable, et pratique, tout en conservant l'existant. Non? si si....

Cerise sur le réseau, avec tous ces développements et matériels disponibles, j'en profite pour développer un petit système de commande pour le Juno 2 que j'ai dépanné récemment. Ce système se comportera comme un PG300 mais à partir d'un des écrans tactiles évoqués plus haut. Il permettra aussi de faire l'interface entre le nouveau réseau M.I.D.I. et les 'anciennes' prises M.I.D.I. de la machine. L'interface graphique ressemblera à ceci :


Et d'ailleurs voici ce à quoi ressemble le circuit imprimé tout fraîchement arrivé de fabrication :


Pour ce montage j'ai choisi de passer sur un processeur de type ARM de chez ST. D'une part ces processeurs sont rapides, mais surtout l'ensemble des logiciels disponibles pour ces circuits est vraiment 'facile' à utiliser. CubeMX permet en effet de configurer de façon graphique les processeurs ST puis de générer le projet contenant toutes les initialisations nécessaires. Projet qu'il suffit d'ouvrir avec System Workbench for STM32 d'AC6 par exemple pour commencer à développer le code dans un environnement Eclipse. Cela fonctionne très bien, une très grande partie du travail fastidieux d' initialisation du processeur devenant automatique.

Carte montée : 28/10/2016

Pas du grand art, mais pour du prototype, ça ira bien!
Carte partiellement testée : 05/11/2016


Pour tester mon montage, j'ai réutilisé une petite carte d'affichage réalisée en 1992 il me semble. Cet affichage faisait parti d'un système de filtrage des canaux M.I.D.I. à destination d'un JX3P.
Insérée directement sur un port d'extension de la carte ARM, elle me servira à afficher des indications sommaires lors du développement logiciel de cette carte.

Et pendant que j'y suis : publicité gratuite pour ST. Je m'empresse de suite de préciser que mon intention n'est pas de dénigrer d'autres fondeurs proposant des processeurs compatibles ARM certainement très intéressants mais je n'ai jamais poussé les essais, la plupart du temps non pas à cause des circuits heux même, mais du fait du manque de logiciels de développement 'faciles d'installation/d'utilisation'. Ce qui m'a fait pencher pour les micro-contrôleurs ST est en tout premier lieux l'application CubeMX ou plus exactement STM32cubeMX. Ce logiciel permet tout simplement de configurer tous les aspects matériels du micro-contrôleur utilisé. Pour qui souhaite développer rapidement une petite application, cet outil est indispensable. Ensuite, vient évidemment la chaîne de développement Système Workbench for STM32 d'AC6. Il s'agit d'un IDE basé sur l'incontournable Eclipse. A ceci près, que l'installation complète de la chaîne de développement se fait de façon extrêmement simple. Ce qui n'était pas encore le cas mi-2015! Je rajouterai à cela que les processeur ST sont complets, rapides et d'un prix très faible. Inutile de plus d'acquérir un programmateur au prix exhorbitant. Pour ma part, j'utilise le STlink2 présent sur une carte Nucleo, qui me permet aussi d'effectuer du deboggage en temps réel : carrément le luxe!

Système quasi fonctionnel : 14/12/2016

Il m'aura fallu un peu plus d'un mois pour arriver à mes fins mais ça y est, l'afficheur graphique me permet de modifier en temps réel les paramètres du Juno 2. Pour l'instant je n'ai pas encore testé la connection au 'vrai' standard M.I.D.I. puisque j'en ai équipé ma carte processeur, mais 'me suis contenté' de faire transiter les informations par mon réseau compatible M.I.D.I. avec la mise en place d'un convertisseur vers l'ancien système M.I.D.I., directement connecté au synthétiseur. Pour imager la chose, je suis maintenant en mesure de modifier les paramètres du son du Juno en live avec l'écran tactile, tout en étant distant de presque 10m, longeur du câble qui relie l'écran au synthé. Et cela fonctionne superbement bien :-)
La fonctionnalité du système étant validée, il 'ne me reste plus' qu'à programmer l'ensemble de l'application et à trouver un boitier adéquate pour loger le tout! 

Je n'ai pas précisé, mais l'émulateur de Z80 est basé sur un processeur Atmel ATmega328pb, ainsi que les modules M.I.D.I. personnels, et évidemment la carte automate compatible Arduino. Pour le switch M.I.D.I. je vais utiliser un microcontrôleur de chez Microchip de la famille PIC32MX.

S'il est possible de débuter la programmation en 'jouant' de l'IDE Arduino sur les cartes du même nom, l'étape suivante qui consiste à programmer tel ou tel type de microprocesseur avec l'IDE du 'constructeur' et un programmateur dédié n'est finalement pas beaucoup difficile, à partir du moment ou les bons outils et le bon environnement informatique est utilisé.
  
Voilà, c'est tout pour l'instant. Encore que... D'autres sujets sont plus ou moins en cours d'étude, qui aboutiront peut-être... ou pas!

samedi 2 juillet 2016

Une semaine avant le MakerFaire de Nantes...

Forcément, la densité de travail nécessaire aux présentations que j'ai prévu pour cette manifestation augmente de façon exponentielle. Mais quand c'est pour avancer dans le bon sens... Dernière évolution en date : mon système de diag in-situe.

De quoi s'agit-il?
D'un système capable de diagnostiquer le bon (ou mauvais) fonctionnement de cartes électroniques jugées défectueuses. La cible visée est bien évidemment les anciennes machines à base des processeurs de l'époque à savoir le Z80, le 6809 et le 6502.

La machine de test idéal pour le développement de ce système a été une carte mère plus ou moins fonctionnelle d'une boîte à rythme de chez EMU du début des années 80, la Drumulator :

Image publicitaire.
Vénérable machine s'il en est qui, suite à quelques tentatives de modifications/réparations hasardeuses, se comporte maintenant de façon... erratique!
L'expérience de dépannage de ce type de machine me laisse entrevoir de très longues heures de test de signaux à l'aide de l'oscilloscope et certainement de l'analyseur logique. Or j'avais depuis longtemps envie de développer un outil d'aide au dépannage qui soit un peu plus... pratique. L'occasion me semblait trop belle pour ne pas tenter l'aventure!

L'idée générale est simple : se substituer au microprocesseur d'origine afin de prendre la main sur les composants principaux de la carte électronique à tester, Les avantages sont nombreux dont le principal étant dans un premier temps de pouvoir se passer autant que faire se peut d'outils de tests onéreux,

J'ai donc développé un ersatz de Z80 à l'aide d'un processeur Atmel, un ATmega328pb, le même composant que j'utilise dans ma thématique Arduino. Une fois le projet réalisé et mis en place du Z80 d'origine de la Drumulator, ça donne ceci :

Le prototype du projet, visible sur la droite de la carte.
Pour faire bonne mesure, j'ai rajouté un port USB au système de diagnostic, permettant d'interagir avec le logiciel de test, tant pour avoir les résultats directement sur l'écran d'un PC, que pour lancer les différents types de tests, toujours depuis le PC, ou un terminal série quelconque d'ailleurs muni d'un port USB.

L'envers du décor :


Aucune modification n'est nécessaire sur la carte en test. Même si sur cette Drumulator j'ai du enlever le potentiomètre rectiligne qui gênait la mise en place de la carte de diagnostic : bien peu de chose.

Une fois le système de diagnostic opérationnel et en fonctionnement, il devient possible de suivre le déroulé des opérations effectuées, directement sur l'écran du PC :


Tout simplement...

Et une petite vidéo réalisée rapidement sur le sujet :


Je reparlerai certainement de ce projet qui demande encore quelques temps de programmation pour être en mesure de tester les parties les plus importantes de cette Drumulator.

A suivre...