05) Commencer à réaliser les circuits imprimés supportant l’électronique.

Durant les études qui précèdent, nous avons évalué ce qui est possible et ce qui a été abandonné. Par exemple des rotors 3D animés par des servomoteurs a été définitivement écarté, car leur fonctionnement n’était pas stable et surtout ces éléments généraient des perturbations incompatibles avec la fiabilité du programme. Le reste du schéma électronique a été validé et ne changera probablement plus. Continuer avec le méli-mélo de la Fig.3 ne serait pas sérieux, il est temps de commencer à façonner les cartes électroniques de notre réplique d’ÉNIGMA.

La carte principale qui supporte le module Arduino NANO.

Véritable chef d’orchestre, c’est l’ATmega328 qui par ses E/S et le truchement de la ligne I2C sur A4 et A5 traite intégralement les 67 liaisons d’interfaçage avec les éléments périphériques. Aussi, il est naturel de commencer par le circuit qui supportera la carte Arduino NANO et les divers connecteurs HE14 de liaison avec son environnement. Gouverner c’est prévoir ! Aussi, divers détails envisagent des compléments éventuels pour « le futur ». Par exemple un connecteur à deux broches permettrait de brancher un bouton de RESET extérieur. (Peut s’avérer utile lors d’une reprogrammation sur site lorsque tout sera intégré dans un coffret.) Surtout deux petits HE14 à trois broches sont prévus pour pouvoir croiser la polarité d’alimentation de l’afficheur OLED. Ainsi le circuit imprimé restera inchangé quel que soit le modèle approvisionné ou un de rechange qui serait différent. Toutes les broches d’interfaçage non utilisées A3, A6 et A7 ainsi que A0 à A2 sont disponibles sur des connecteurs répartis à la périphérie du circuit imprimé. Autant dire que coté possibilités potentielles on reste « dans le luxe ». Enfin, sans qu’elle ne soit spécifiquement étendue, une zone libre permet si nécessaire d’ajouter quelques composant sur le circuit si nécessité s’en faisait sentir. Il est probable que ces possibilités ne seront pas exploitées, ceci dit, « ça ne mange pas de pain … et qui peut le plus peut le moins ».
La Fiche n°17 fournit le dessin du circuit imprimé vu coté composants et vu coté pastilles. Les six résistances de polarisation des entrées de gestion du clavier sont placées en épingles sous la carte Arduino NANO. Il importe de les couder court et les souder au raz du circuit imprimé pour ne pas qu’elles talonnent avec le module situé au dessus. Vérifier également que le condensateur C de 0,47µF soit suffisamment petit pour les mêmes raisons. La Fiche n°18 plus épurée indique les branchements à effectuer avec les modules extérieurs à cette carte électronique. Sur Image 05.JPG on commence par implanter les connecteurs HE14 et les six résistantes soudées en épingles. Elles sont plus visibles sur Image 06.JPG saisie en « macro ». Sur Image 07.JPG, Image 08.JPG et Image 09.JPG le petit circuit imprimé est achevé. Noter sur Image 08.JPG la présence de ponts isolés.

Valider le circuit imprimé reste relativement élémentaire. La carte Arduino n’étant pas sur le support HE14 on commence par vérifier visuellement avec un « compte fil » qu’il n’y a aucune liaison intempestive entre deux pastilles voisines aux soudures des connecteurs. Puis on vérifie qu’il n’y a aucun contact entre des lignes voisines avec un contrôleur de continuité. (Ce dernier peut sonner s’il est sensible et détecter des résistances relativement importantes. Par exemple c’est le cas entre le +Vcc et GND généré par la présence du condensateur de 470µF.) On branche une alimentation USB sur le petit connecteur d’alimentation à deux broches et on vérifie la propagation de GND et du +5Vcc partout où leur présence est implicite. On force du +5Vcc à la place de la broche D2, le Buzzer doit sonner. On position des strap pour l’alimentation de l’afficheur OLED et on vérifie la polarité sur le connecteur. On coupe l’alimentation et on relie la ligne de l’afficheur graphique. On installe la carte Arduino NANO programmée avec P2. On met sous tension en alimentant cette dernière par sa prise mini USB. OLED doit afficher COMMANDE. On coupe l’alimentation. On relie le connecteur dédié aux multiplexeurs PCA9685. On relie provisoirement la LED tricolore placée sur un support de développement. À la mise sous tension elle doit clignoter en bleu. Toujours provisoirement on effectue quelques pontages sur le connecteur du clavier et on observe
le résultat avec le Moniteur de l’IDE. On a ponté deux ou trois LEDs orange sur le multiplexeur. Le comportement observé étant celui attendu, on peut affirmer que le circuit est bon pour le service.

Réalisation du CLAVIER à 26 touches.

C’est la suite logique pour pouvoir continuer à développer de façon commode sans se torturer avec un artifice tel que celui d’Image 03.JPG où tester une lettre particulière impose une étude des branchements des connecteurs en liaison avec le schéma de la Fiche n°13 … une galère inacceptable sur le long terme. L’étude du circuit imprimé est un vrai « chassé/croisé ». En effet, en consultant la Fiche n°13 on observe que la matrice Lignes/Colonnes est organisée dans une répartition verticale en ordre alphabétique. Ce n’est pas le fruit du hasard. Cette organisation permet un traitement informatique particulièrement économe en instructions :

La difficulté, c’est que les touches du clavier sont organisées comme celles du tableau des ampoules électriques d’Énigma qui lui est réparti comme montré sur la Fiche n°10. Du coup il faut réunir les touches « dans l’ordre alphabétique » en correspondance avec les lignes L1 à L5 et les colonnes C1 à C6 du schéma de la Fiche n°13. Cette adaptation « géométrique » impose les nombreuses lignes électriques croisées du circuit imprimé du clavier.

Un joyeux « chassé / croisé ».

Dans aller jusqu’à dire que la réalisation de ce circuit imprimé est délicate, elle présente toutefois quelques pièges à éviter et impose de travailler avec méthode. Personnellement j’ai approvisionné mes touches en ligne sur :
https://www.amazon.fr/dp/B0CB3FCDX4?psc=1&ref=ppx_yo2ov_dt_b_product_details
Les éléments fournis sont relativement petits et parfaits pour réaliser notre clavier. La première étape va consister à trier les 26 boutons poussoir que l’on va installer sur le circuit imprimé décrit en Fiche n°19 à Fiche n°21. Attention, dans ce lot il y a deux sortes d’éléments. Le dépassement (Voir la Fig.6) des tétons coniques sur lesquels s’emmanchent les cabochons de couleur présentent deux longueur L différentes. Si l’on désire que le dépassement de tous les boutons poussoir soit homogène il faut prendre soit les courts, soit les longs. Pour ma part j’ai opté pour les plus longs. Ces composants ont des broches pliées en « griffes » et se positionnent parfaitement dans une grille de trous au pas standard de 2,54mm. Quand on les insère dans les trous de traversée, ils se positionnent très facilement et restent en place quand on retourne le circuit imprimé ce qui est un avantage incontestable pour l’opération de soudage. Considérons la Fig.7 : Il est vital, de les orienter parfaitement à la verticale pour des raisons esthétiques et surtout pour faciliter le perçage de la plaque du dessus qu’ils doivent traverser. D’un jeu minimal dépend la beauté de notre coffret. Si toutes les touches sont parfaitement verticales, la « grille » de perçage sera régulière et facile à tracer. Il faudra absolument éviter un « massacre » tel que celui de la Fig.8 où le carton provisoire pour repérer les lettres a été réalisé « à l’arrache ». Pour le coffret il faudra absolument faire mieux. Revenons à la réalisation du circuit imprimé. Si on observe Image 10.JPG on constate que lorsque les touches sont insérées dans les orifices du circuit imprimé, les griffes dépassent à peine coté pastilles cuivrées. Pour arriver à un alignement tel que celui d’Image 11.JPG on doit impérativement agir dans un ordre très strict :
1) On insère les 26 touches sur le circuit imprimé.
2) On aligne bien verticalement tous les boutons poussoir.
3) On retourne la plaque que l’on pose sur les tétons car les cabochons ne sont pas encore placés. (Avec le léger serrage des griffes dans les trous de traversée les touches ne bougent pas.)
4) Sur les 26 éléments on soude une seule broche, par exemple celle en haut à gauche.
5) On retourne le circuit imprimé. On effectue un dernier alignement vertical sur tous les B.P.
6) Plaque retournée on soude les trois autres broches. On aboutit au résultat d’Image 12.JPG.
7) Sur le dessus et sur le dessous on soude les petits fils rigides qui remplacent les pistes cuivrées pour arriver au résultat d’Image 13.JPG et celui d’Image 14.JPG. Noter sur Image 15.JPG que si la liaison est courte, pas besoin de mettre un fil de cuivre, un simple « paquet » de soudure fait l’affaire. Pour les lignes longues, on voit sur Image 16.JPG qu’un pont réalisé avec un petit bout de fil rigide soudé coté cuivre sert à les maintenir bien en place.

Pour faciliter la réalisation et surtout la maintenance, le clavier n’est pas relié au circuit imprimé principal directement par un toron de fils électrique torsadés, mais possède son propre connecteur. Comme les HE14 de liaison doivent être sur le dessous, ils sont placés sur un petit circuit imprimé qui assure les liaisons avec les lignes électriques de la matrice. Ainsi, le CLAVIER est une unité totalement indépendante. Noter que le clavier sera situé au dessus du circuit imprimé principal supportant la carte Arduino NANO. Comme on désire au final un boitier pas trop volumineux, c’est la raison pour laquelle on utilise des connecteurs HE14 coudés pour que la prise femelle parte à l’horizontale limitant ainsi le volume en hauteur de l’ensemble.

Réalisation du petit circuit imprimé de complément.

Décrit dans la Fiche n°22 il ne pose aucun problème particulier. Comme montre la Fig.9 on commence par souder les trois connecteurs HE14 coudés sur le dessus. Puis, montré sur la Fig.10 on soude coté pastilles cuivrées les lignes qui vont du connecteur principal vers celui du répétiteur sur lequel se branchera le deuxième petit clavier de complément. Puis, on soude onze fils souples que l’on réunit ensuite avec de la gaine thermo-rétractable visible sur Image 17.JPG. Les fils souples sont volontairement long ce qui permettra si nécessaire par la suite de libérer les écrous du circuit imprimé de complément et de l’écarter pour dégager le circuit imprimé du clavier. (C’est ce qui m’a permis de corriger « facilement » les quatre erreurs de câblage détectés lors de la validation du circuit.) Puis, sur Image 18.JPG on installe le circuit imprimé de complément sur celui du clavier et en Image 19.JPG on soude les onze fils du toron en se servant de la Fiche n°21.

La validation du CLAVIER.

Encore une étape où il faut procéder dans un ordre logique si l’on ne veut pas risquer d’y consommer un temps exagéré. En effet, on va utiliser P02_Validation_du_CLAVIER.ino pour réaliser cette vérification de conformité, mais ce ne sera pas possible s’il y a une liaison parasite entre une ligne et une colonne de la matrice du clavier. En effet, si c’est le cas le démonstrateur va croire qu’une touche est activée. Il sera alors définitivement bloqué dans la boucle de code qui attend le relâcher du bouton poussoir pour passer à son décodage et à son traitement. On doit donc commencer par vérifier la non présence de liaisons interdites.


Procéder à la vérification des liaisons interdites n’est pas compliqué du tout. Il suffit de disposer d’un tester de continuité. Si comme le mien il fonctionne en sonnette, c’est idéal. Du reste, un tel outil est tellement indispensable, qu’à titre d’exemple dans la Fiche n°23 et la Fiche n°24 je vous propose la description de celui Fig.12 que je me suis fabriqué il y a plus de quarante printemps. La technique est élémentaire. On relie l’une des pointes de touche sur la broche C1. Puis avec l’autre on balaye toutes les autres broches de la droite C2 à la gauche L5. On a testé la non liaison entre C1 et toutes les autres lignes. Puis on recommence en plaçant la pointe de touche sur C2 et en balayant de la droite C3 jusqu’à la gauche L5. On recommence ensuite ce protocole avec C3, C4 … jusqu’à L4. On aura ainsi testé l’intégralité des combinaisons possibles des liaisons interdites potentielles. Avec un multimètre ce serait fastidieux, car pour chaque contact il faudrait regarder le galvanomètre et vérifier qu’il ne dévie pas. Avec un dispositif de type « sonnette » comme celui de la fig 12 c’est un jeu d’enfant et ultra rapide. Cet outil est tellement utile quand on a fait l’effort d’en réaliser un, que l’on ne peut ensuite plus s’en passer.

Avant de passer à la suite de la validation du CLAVIER il est temps d’emmancher les petits cabochons de couleur comme le montre Image 21.JPG avec l’initiative de leur répartition. Vous pourrez pour cette phase donner libre court à votre instinct d’artiste. Puis on remplace les quatre vis par des plus longues, on découpe le carton provisoire et non visible sur la Fig.8 on l’installe en le séparant du circuit imprimé par des entretoises f 3mm de 4mm de hauteur. Puis, sur le dessous on ajoute une protection comme sur Image 22.JPG car les boucles de fil souple ne demandent qu’à accrocher tout ce qui les entoure lors des manipulations. Tester l’ensemble exige d’utiliser le démonstrateur P02_Validation_du_CLAVIER.ino avec la contribution du Moniteur de l’IDE. Les onze lignes sont reliées entre le connecteur d’Image 22.JPG et celui de la Fiche n°18. Puis on relie C6 et L2 à un quelconque bouton poussoir d’essai. On reprend le protocole de la Fiche n°16 chaque clic sur l’une des touches doit voir afficher entre crochet la lettre attendue sur le Moniteur.

Note : Si ce n’est pas la bonne lettre qui est visualisée, c’est probablement qu’entre les deux modules des lignes ont été croisées par erreur. On les détecte facilement en consultant le schéma de la Fiche n°13. Par contre, si durant la validation précédente on constate des liaisons interdites, il sera bien plus délicat de les retrouver. (Sur mon circuit j’avais un contact entre C1 et L1 et C1 et L3.) Pour trouver l’erreur et comparer avec les schémas, sur l’ordinateur on reprend les deux dessins du circuit imprimé, et avec un outil élémentaire comme PAINT.exe par exemple, on surcharger en noir les lignes en défaut. (Voir la Fig.14)

La suite est ICI.