22) Face à l’impossible il faut accepter le compromis.

Méa culpa, méa maxima culpa. Lorsque la machine a été entièrement achevée et que des algorithmes lui ont été soumis, un incident rédhibitoire de fonctionnement a démontré que l’ensemble n’était pas fiable. Le problème se produit lors des TRANSITIONS qui pourtant fonctionnaient parfaitement lors des essais « statiques ». Si le programme demande de changer d’un pas, la transition s’effectue normalement. Si la feuille perforée programme un saut de plusieurs pas, la transition ne se fait pas comme prévu et l’HORLOGE système se met à tourner sans fin. Ce problème rend la machine inutilisable, rabaissée alors au statu de « tas de ferraille ». Après trois jours d’analyses, de mesures, d’enregistrements de configuration, je me suis trouvé dans l’impossibilité de trouver pourquoi cette vermine vient troubler la logique du circuit imprimé. Problème de transitoires … franchement je suis dans l’incompétence totale pour résoudre ce mystère. Vous avez les schémas de la logique à relais, donc si vous trouviez la raison de ce problème, je suis preneur pour divulguer à tout va.
Reste que l’abandon du projet n’est pas une option. Aussi, quitte à transiger avec l’esthétique, au lieu d’abandonner ma belle machine au rebus, j’ai décidé de traiter les TRANSITIONS à l’aide d’un microcontrôleur. C’est totalement opposé à l’idée de n’utiliser que les technologies des années quarante, mais au final je préfère une machine « moins belle » mais qui fonctionne. C’est un pis-aller, j’en conviens, mais à ce stade il fallait prendre une décision. Rien n’interdira de revenir à des relais si un jour un(e) internaute trouvait la raison de ce comportement singulier. Et si elle est moins « historique », en l’état cette merveille de mécanique reste à 100% une machine de Turing …
Comme chaque fois que je développe un projet à base de microcontrôleur, au lieu de décrire le dispositif par des fiches, je regroupe l’intégralité des informations dans un petit livret au format A5. J’ai donc réalisé un tel document dont je joins un exemplaire nommé ARDUINO.PDF qui précise en page 4 comment avec seulement 13 broches du microcontrôleur ATmega328 on gère 22 entrées différentes. En page 2 et Fig.3 avec une seule entrée analogique on teste les deux boutons poussoir.
Tous ces agencements sont subtils, aussi il était incontournable de valider ces choix avec une flopée de petits programmes pour valider un à un chaque choix effectué pour cette carte Arduino NANO. Un dossier à part nommé <carte ARDUINO> contient le fichier PDF du livret et le programme qui anime la très petite carte électronique. Le fichier ARDUINO.PDF contient l’intégralité des informations relatives à ce module : Les organigrammes relatifs au logiciel, les schémas de branchement ainsi que les « explications électriques », le dessin du circuit imprimé etc. Enfin, ce dossier contient neuf images commentées.

Quelques petits détails sur la réalisation de la carte électronique.

Manifestement cette carte électronique est celle qui concentre le maximum d’éléments dans un minimum d’espace. En effet, non seulement le nombre de composants à répartir est considérable, mais le connecteur à verrouillage se taille la part du lion et monopolise à lui seul un tiers de la surface disponible. Aussi, ce circuit est assez délicat à réaliser, et il faut s’y prendre avec méthode et rigueur. Par exemple sur Image 01.JPG on commence par souder les composants de faible hauteur. Puis comme sur Image 02.JPG on soude la zone la plus dense en commençant sur chaque « ligne » par les deux résistances de 10kΩ. On soude ensuite la 22kΩ en veillant à ce qu’elle ne touche pas la 10kΩ qui est dessous. Quand on retourne la carte pour souder, les composants refusent de rester en place contre la plaque imprimée. Il suffit comme montré sur la Fig.118
d’écarter les fils pour qu’ils fassent ressort. Ainsi le composant étant glissé des les trous reste à sa place quand on retourne l’ensemble. (Voir la Fig.16 en page 12 du manuel A5.) Sur Image 03.JPG on observe la densité des composants et la même difficulté se retrouve sur le dessous en Image 04.JPG. Souder le petit fil sous la diode comme sur Image 05.JPG n’est pas facile, aussi il faut le souder avant la diode, « tranche par tranche ». Sur Image 06.JPG la carte est terminée alors que sur Image 07.JPG on observe que le connecteur à verrouillage a été meulé dans l’angle pour laisser de la place au condensateur de découplage de 220µF. Sur Image 08.JPG les hauteurs sont étudiées pour que la mini-USB passe sans problème. Il est interdit de brancher simultanément la mini USB et du +12V sur VIN ou le régulateur 5V de la NANO sera détruit. C’est la raison pour laquelle le strap à languette qui alimente en +12V empêche sur Image 09.JPG de pouvoir insérer la prise USB. Quand on programme, pour pouvoir téléverser le logiciel on enlève le strap ce qui coupe le +12Vcc, et on le range à coté sur Image 10.JPG.

RESET facilement accessible.

L’usage de la machine et les heures passées à faire émerger les problèmes potentiels ou avérés génère forcément des impératifs qui n’étaient pas forcément prévus lors du développement. Le RESET de la petite carte Arduino incontournable dans certaines circonstances appartient à cette catégorie de compléments fonctionnels « de dernière minute ». Deux cas peuvent conduire à imposer un RESET sur l’ATmega 328. Le premier résulte d’une coupure secteur impromptue lors du fonctionnement de la machine. Quand l’énergie 220V» revient la machine se retrouve dans une configuration quelconque.
Punition analogue, lorsque l’opérateur s’aperçoit que l’algorithme proposé à la machine est erroné. L’HORLOGE tourne alors sans fin et ne déclenche aucune fonction. Elle tourne à vide. Ce cas se présente, par exemple, lorsqu’une ligne de programme indexée, probablement par erreur, ne comporte aucune instruction. Dans ce cas la parade la plus radicale consiste à cliquer sur le bouton AR qui coupe l’énergie. Comme la carte NANO est sur le +12Vcc issu de Ï€ elle ne peut détecter ce type d’incident. Dans ces conditions elle continue son cycle de surveillance des Switchs de déclenchement des TRANSITIONS et ignore somptueusement le B.P. Init. Pos. 1. La seule façon de réinitialiser le logiciel consiste à couper l’alimentation secteur pour annuler la tension en Ï€ ce qui n’est pas très rationnel.
L’autre possibilité bien plus pertinente consiste à imposer un RESET à la petite carte électronique … ce qui suppose avoir facilement disponible un bouton poussoir dans ce but. La solution élémentaire consiste à brancher une ligne sur la fonction RESET du petit module, ce qui ne présente aucune difficulté car deux picots du petit HE14 supérieur sont prévus dans cette optique. Mais la face avant étant définitivement figée, au final, comme le montre la Fig.119, ce capteur sera placé juste au dessus du godet des Fiches A5 sur la traverse qui relie la MATRICE au support vertical de la Face Avant.
Facile d’accès, ce bouton poussoir est très sensible et la course pour le déclencher est d’à peine 1mm. Aussi, le laisser ainsi bien en vue engendre un risque patent de l’activer inopinément, alors que la machine est en train de dérouler un algorithme depuis plus de deux heures. GRRRRRRRrrrrrrrrrrrrrrrr!
Sur cette photographie, on retrouve en 1 la fixation avec la face avant et en 2 le profilé qui assure la liaison de cette dernière avec la MATRICE 9. Le support 6 du bouton poussoir est immobilisé sur 2 par les entretoises métalliques 5. De chaque coté les entretoises 4 à tenon fileté ØM3 en nylon sont serrées « énergiquement » sur 5. La vis 7 de longueur calibrée est serrée à refus sur 4 et maintien un léger jeu avec la bride 8 qui peut ainsi tourner librement. Quand on la tourne pour interdire toute action sur le bouton poussoir, configuration présentée sur la Fig.120, l’entretoise noire 3 en nylon remplace une vis moletée et bloque la bride 8 sur 4. Ce bouton poussoir est alors totalement sécurisé, avec toutefois la facilité de l’utiliser facilement en libérant 3 et en faisant pivoter 8. Dans le dossier <Carte ARDUINO> se trouve Image 18.JPG qui complète ce propos. On remarque sur ces photographies que les deux fils de liaison avec le HE14 à six picots du module NANO ne sont pas encore soudés sur le bouton poussoir.
REMARQUE : On peut se demander avec pertinence pourquoi une telle variété d’entretoises équipe ce petit dispositif. La raison est matérielle. Elles ont été triées à convenance dans les stocks disponibles, et sélectionnées en fonction de leur longueur et de leur aptitude à assurer leur fonction. Pour « enfoncer le clou, observez que l’entretoise noire 3 peut serrer librement 8 sur 4. Au contraire, la longueur sous tête de la vis 7 ainsi que l’épaisseur des rondelles sont choisies de façon à ce que vissée « à refus » dans le taraudage de 4, il persiste un léger jeu axial avec la bride 8 pour qu’elle puisse pivoter strictement sans effort à fournir par l’opérateur.
Voir la mini fiche nommée Maintenance matérielle. (35/36)

La suite est ici : 23) Jamais deux sans trois !.