Que ce soit en aviation, pour un navire, une automobile ou un satellite, c’est de loin la phase qui inquiète le plus les ingénieurs pourtant très expérimentés et hautement spécialisés. Prenons l’exemple d’un satellite. Chaque module qui va le composer a été étudié, réalisé, vérifié, validé puis vérifié encore et encore. Dans l’entreprise de sous-traitance il fonctionne parfaitement et respecte le cahier des charges. Puis arrive le moment de l’intégrer sur site sur la structure du futur satellite. Aucun problème, les fixations sont exactement conformes aux plans et les divers connecteurs se branchent parfaitement sur la circuiterie déjà mise en place. Puis la mise sous énergie de ce module confirme sa fiabilité.
– Et alors ?
Dès que l’on alimente les autres fonctionnalités de l’ensemble commence la galère des ingénieurs, car inévitablement ces modules vont polluer électromagnétiquement, thermiquement … leur environnement immédiat. Ces interférences créent alors des incompatibilités qu’il faut contourner et maitriser sur site.
Notre projet un peu fou n’échappe pas à cette règle absolue. Arrive le moment de relier l’Unité Centrale et la Mémoire de programme aux unités périphériques de cette machine informatique d’une autre époque. Chaque module de LECTURE, d’ÉCRITURE, de ROTATION et de TRANSITION a minutieusement passé les tests individuels et été validé. Mais il ne s’agissait que d’essais isolés hors du contexte global. Puis, tout au long du développement des circuits additionnels pouvant générer des interférences se sont ajoutés. Prenons le cas d’une fonction très élémentaire sur le papier : La séquence LECTURE. Outre la poignée de main avec l’HORLOGE, on a ajouté le mode MANUEL qui a imposé une sécurité par chronométrage. Puis cette unité a été sollicitée pour mémoriser des états lorsque la fonction ÉCRITURE est à son tour manipulée en mode MANUEL. Autant dire que pour les interactions pouvant générer de l’interférence c’est royal ! S’ajoute à ces contraintes des sécurités pour parer les erreurs de programmation, les interdictions d’actions manuelles durant le mode RUN et l’on aboutit à un joyeux marasme. Bref, l’intégration progressive de chaque fonctionnalité s’est accompagnée d’une foultitude d’erreurs de câblage et surtout a révélé des faiblesses de conception. C’est dans cette phase critique que des corrections ont été apportées aux schémas avec parfois de bonnes nouvelles idées.
Naturellement tous les schémas ont étés corrigés au fur et à mesures des découvertes « de points noirs », donc en principe les fiches de câblage, les chapitres d’explications sur les fonctionnements et les dessins des circuits imprimés sont à jour. Ce chapitre va se contenter de décrire les modifications apportées aux schémas et les nouvelles fonctionnalités. Reste que corriger les documents engendre un travail très long et fastidieux qui génère un risque patent d’oublier ici où là une verrue. Donc, si dans la masse de documents qui accompagne ce didacticiel vous constatez une « incohérence locale », il ne faudra
surtout pas vous prendre la tête, un « paquet aussi volumineux trimballe forcément quelques misères ».
♦ Initialisation de la MACHINE.
C’est une fonctionnalité incontournable annoncée dans le concept d’Alan Turing. Pour qu’une Machine de Turing soit réelle il faut que sa mémoire de TRANSITION soit munie d’un algorithme, que l’HORLOGE système soit sur la position ATTENTE et que le pointeur d’état soit sur la TRANSITION n°1. Si ces trois conditions incontournables ne sont pas simultanément réunies, alors ce bel ensemble matériel n’est rien d’autre qu’un « tas de ferraille inutile ».
Autant pour les TRANSITIONS le forçage sur la position n°1 avait été prévu et mis au point lors du développement de l’unité concernée, autant pour l’HORLOGE j’ai gravement oublié ce détail. (Ici j’utilise le mot détail pour minimiser la « boulette », mais concrètement c’est un oublie gravissime !)
Hors la came HORLOGE peut à tout moment rester sur une position aléatoire, que ce soit par une coupure énergie sur erreur de programmation détectée, ou sur une toute bête coupure secteur. Nous savons que les moteurs-réducteurs sont irréversibles et qu’il est impossible de les faire tourner à la main, sans compter que leur rotor est totalement inaccessible. Aussi, il devenait IMPÉRATIF de prévoir une commande manuelle pour satisfaire cette fonction totalement indispensable.
– T’es mal parti Totoche, car il faut ajouter un B.P. sur le tableau de maîtrise est c’est actuellement pratiquement infaisable.
  Je sens confusément que des nuits blanches vont broyer du noir !
Figurez-vous qu’au moment d’étudier la Face Avant dont j’étais si fier de vous présenter l’apparence, je me suis fourvoyé magistralement. En particulier, j’ai prévu le bouton jaune qui annule T Lect. Comme à ce moment là une certaine confusion est venue embrumer mon mental, et oubliant que le problème était paré, en continuant à dessiner de beaux boutons sur l’ordinateur, je suis arrivé à la zone d’utilisation de la machine. Travaillant sous contrôle des schémas, et oubliant que le B.P. avait été traité, j’ai doublé par erreur T Lect en ajoutant à proximité de RUN le bouton U Déblc. Quand la face avant a été matériellement achevée et que je suis passé à son câblage, j’ai alors découvert avec stupeur cette erreur, avec la présence de ce bouton fort inutile.
– Trop tard !   (Il commence à me pomper l’air Dudule avec ses remarques déplacées !)
En désespoir de cause, j’ai branché les deux boutons en parallèle puisqu’ils ont le même effet. J’avais prévu dans les fiches d’exploitation, d’utiliser U Déblc à la mise en service de la machine et T Lect lors d’une erreur détectée. Ainsi ce bouton inutile « semblait » indispensable des les check-lists !
Sauvé par cette erreur idiote, ce deuxième B.P. (Qui restera inscrit U Déblc car la façade est figée, alors qu’Init Horloge aurait été plus pertinent) n’en devient pas moins indispensable. Maintenant, il sert à positionner librement le rotor de l’HORLOGE et ainsi permettre l’initialisation totale de la machine, mais s’avère également très utile en phase d’intégration des systèmes, ou en maintenance banale. Le schéma pour effectuer cette modification s’avère particulièrement compliqué :
• On dessoude les lignes qui pontaient les deux B.P. en parallèle libérant ainsi U Déblc.
• Conformément au schéma de la fiche Câblage de la Face Avant. (2/5) ponter l’une des broches à GND et l’autre par un simple fil à la cosse commune C1 du Switch de l’ACR de la fonction LECTURE. Ce branchement est également détaillé sur la fiche Câblage du rotor de l’HORLOGE. (1/2).
– Et oui Dudule, un simple fil a tout arrangé et il n’y a plus de doublon sur la Face Avant !
♦ Erreur grave de conception.
Actuellement cette erreur est corrigée autant matériellement sur la machine que dans les divers documents concernés. Un petit détail qui lors du développement est passé complètement inaperçu, mais qui lors de l’intégration a généré plusieurs comportements incompréhensibles et imposé trois jours de déverminage pour en trouver la cause. (Petite cause … grand effets !)
Considérons la Fig.1 sur la fiche Circuit de la motorisation du carrousel. Pour ne pas qu’une consigne de type « G » ne « remonte vers « D« , la diode D3 a été ajoutée au schéma et sur le circuit imprimé. Il aurait été bien plus logique par raison d’homogénéité, de l’insérer en série, comme pour D1, au nÅ“ud de la résistance de 270Ω du relais R1MR. Démasquée trop tardivement, ce n’était vraiment plus facile à modifier sur le circuit imprimé incriminé. Du coup, restant ajoutée en série dans la branche électrique impliquée, elle est placée en amont directement dans l’entrée de la consigne en T.
Au prix de ce petit manque d’élégance, les divers problèmes engendrés par cet oubli sont éliminé et la fonction ROTATION se comporte maintenant comme prévu initialement sur le papier.
Reste qu’ajouter cette diode coté composant n’était pas facile, voir impossible, aussi ce composant D3 est soudé sur le dessous ce qui n’est pas « rationnel » au point de vue de la présentation du circuit imprimé, avec toutefois pour avantage une modification très facile à pratiquer.
On rencontre ici un phénomène classique en phase d’intégration d’un ensemble complexe, à savoir la découverte de défauts de conception. Quelle que soit la qualité des ingénieurs qui développent un projet ambitieux, il est totalement impossible de penser à tout, raison pour laquelle 99,99%
des études sont faites sur ordinateur … et validées au final sur un (des) prototype(s).
♦ Une TRÈS TRÈS TRÈS MAUVAISE idée !
C’est forcément sur le circuit imprimé le moins accessible et de loin le plus difficile à rebrancher que l’on va rencontrer le plus d’erreur à corriger ! Comme vous allez le constater dans le chapitre suivant, à ce titre pour la mise au point j’ai été servi? Galère sur galères et encore galère …
Sur cette machine, comme c’est le cas pour pratiquement toutes mes réalisations, les circuits imprimés sont organisés en plaçant sur leur périphérie des connecteurs HE14 mâle qui permettent d’assurer les liaisons avec les divers autres circuits. C’est une solution qui a toujours fait ses preuve et démontré sa validité. C’est du reste le cas pour tous les circuits de notre machine … sauf pour l’HORLOGE et le module des TRANSITIONS. Il s’agit ici d’un cas très spécifique, voir singulier. En effet, sur ces deux modules les branchements sont particulièrement nombreux imposant la présence d’un nombre considérable de lignes filaires. Lorsque ces dernières sont connectées, elles forment une toile d’araignée inextricable qui masque totalement les deux unités. Chaque fois que l’on désire procéder à une mesure, débrancher ou rebrancher un connecteur constitue une difficulté sans nom qui s’oppose à la manipulation. Impossible d’éclairer la zone, les fils « de cette canopée » forment un treillis inextricable qui masque pratiquement tout ce qui est dessous. La Fig.94 n’est même pas représentative de l’enchevêtrement final, car à peine la moitié des connecteurs y sont branchés. Les lignes sont tellement imbriquées, que lorsque l’on débranche un connecteur pour effectuer une mesure, sans s’en rendre compte on en libère involontairement un autre … et lorsque l’on connecte à nouveau celui diagnostiqué, l’ensemble de la machine devient incohérent et l’on perd un temps fou à en trouver la raison. Enfin, sachez qu’au début de l’intégration des systèmes, pour déposer et rebrancher le circuit des TRANSITIONS il me fallait une heure. Avec l’expérience, j’y arrive maintenant en vingt minutes !
♦ Galère plus galère plus galère égal … une marine de guerre !
Autant le circuit électrique du module des TRANSITIONS a fonctionné du premier coup lors des essais primaires initiaux, autant il a fait une résistance acharnée lors de l’intégration des systèmes. Une guerre sans merci imposant plusieurs jours de diagnostic, de recherches, d’hypothèses et de manipulations délicates menées sous le couvert de la canopée. Plusieurs épisodes pour lesquels il a fallu déposer le circuit le plus difficile à séparer de l’U.C. et surtout de remise à sa place. Bref … une guerre technique. L’effet imprévu n’était pourtant pas spectaculaire. Un simple déclenchement de l’erreur ER 2 alors qu’il n’y avait tout au plus qu’une seule transition validée sur le simulateur de MATRICE décrit dans le chapitre n°15. Pour mémoire, cette sécurité se déclenche en théorie dès que sur une ligne d’instruction de la MATRICE plus d’une transition est programmée sur la feuille perforée.
L’analyse du problème a consisté en premier à ne pas brancher la ligne qui fait disjoncter l’alimentation pour pouvoir conduire les manipulations sans que la disjonction d’énergie ne se produise en permanence. Un témoin qui s’illumine sans raison sur un circuit qui avait fait ses preuves en validation individuelle doit probablement résulter d’une erreur de branchement au soudage. (Cette hypothèse est d’autant plus probable que plusieurs fautes de ce type ont été trouvées et corrigées lors de cette phase d’intégration des systèmes.) Après moltes vérifications et vérifications encore et encore, force est de constater que le câblage était parfaitement conforme aux fiches dédiées. Le problème ne pouvait avoir sa source que dans une erreur de conception du schéma de l’unité de traitement concernée.
♦ L’historique d’une défaite !
Initialement, les pages 23, 24 et 25 de ce document étaient encombrées par des chapitres rédigés au fur et à mesure de l’avancement du projet. Une première erreur de conception du circuit électrique des transitions avait amené un chapitre correctif avec modifications diverses sur la carte imprimée la plus chargée de la machine, celle avec 12 relais les uns contre les autres. Puis, une deuxième erreur de conception a pour son compte amené à constater la « présence fantôme de tensions parasites » sur les sorties de la matrice générant des erreurs de type ER 2 non réelles. La recherche de ce phénomène s’achevait par :
– Ben cette fois Totoche, je crois que c’est la fin du bout de la défaite !
  (Là je commence à titiller une pression explosive, va passer par la fenêtre le Dudule !)
– C’est toi qui a tout conçu et tu piges pas pourquoi ce +10V ? Ben t’es vraiment pas fort !
(PLOUFFFFFFF, la fenêtre était ouverte et Dudule est en train de patauger dans la piscine !)
Cet aveu d’impuissance était suivi d’un chapitre spécifique pour parer le problème :
Une fois que les problèmes rencontrés ont été résolus, je justifiais un peu ces difficultés par :
Incident oublié, le développement s’est poursuivi durant plusieurs semaines jusqu’au chapitre 22 en page 32 du didacticiel mis au propre au fur et à mesure de l’avancement du prototype. C’est à ce moment que la décision a été prise de gérer les TRANSITIONS avec un microcontrôleur sous la forme d’une petite carte Arduino NANO car avec une logique 100% à relais je n’y suis pas arrivé.
En retirant de cet exposé tous ces chapitres devenus inutiles, il en résulte deux conséquences sur l’organisation de ce document :
1) Comme précisé dans le chapitre qui suit, je profite d’un « trou » de deux pages pour intercaler un chapitre supplémentaire qui détaille un changement de circuiterie survenu vraiment très tardivement.
2) Un grand nombre de figures ont été enlevées. Du coup, on passe plus avant directement de la Fig.96 à la Fig.103 car il n’était plus envisageable de tout renuméroter. Ne cherchez donc pas ces dessins fantômes et ces images « subliminales » !
La suite est ici : 17-B) Erreur ER1 de programmation..