Last Universal Computer Ancestor*

*en référence au célèbre LUCA (Last Universal Common Ancestor).

Électronicien à la base, j’ai été impressionné par la découpeuse laser du SoFAB. Comment apprendre à l’utiliser en concevant et construisant un objet permettant de démontrer ses possibilités. Il faut un objet suffisamment complexe pour que sa réalisation soit probante et mettant en jeu des objets mécaniques qui ne sont pas réalisés en bois d’habitude : les engrenages.

Réaliser une adaptation de la Pascaline (machine à calculer de Pascal conçue et construite à partir de 1642) apparaît comme un challenge intéressant.

D’un point de vue informatique la Pascaline matérialise l’instruction bien connue :

     x = x + a;

La réalisation de cette instruction nécessite un registre accumulateur qui implémente l’opération sur les entiers suivant() et un registre opérande qui implémente l’opération sur les entiers précédents().

     x = 10;
     a = 7;
     while(a) {
        x++;     // suivant(x)
        a--;     // précédent(a)
     }

Vu sous cet angle, un registre accumulateur implémentant une addition formelle de base est  un simple compte-tour tandis qu’un registre opérande un simple décompte-tour couplé.

La première étape sera donc la réalisation d’un compte-tour (pouvant décompter également). Chaque digit du registre est un chiffre en base N car il est facile de créer 10 états stables avec un engrenage à N dents — la base 10 semble naturelle.

Deux difficultés techniques sont à résoudre pour assurer la propagation de la retenue :

  1. Chaque tour d’un engrenage doit entraîner 1/10 de tour sur l’engrenage situé immédiatement à sa gauche.
  2. La propagation doit être irréversible — de la droite vers la gauche.

compteur
 

Voilà à quoi va ressembler ce premier registre accumulateur à 3 digits. Il a été présenté aux SophiaConf 2015 le 7 juillet.

Mécanisme de retenue

Le mécanisme de retenue va être constitué de deux engrenages de même diamètre :

  1. émetteur de retenue à 2 dents
  2. récepteur de retenue à 20 dents

L’engrenage intermédiaire peut avoir, a priori, un nombre de dents quelconques. Cependant, sa forme va assurer la non-réversibilité de la retenue qui doit se propager strictement de la droite vers la gauche.

Le nombre des dents de la roue de report a été choisie de telle sorte que en construisant une roue à deux étages :

  1. étage 1 : 4 dents
  2. étage 2 : 8 dents

2 dents consécutives de l’étage 1 soient tangentes au disque plein du propagateur de retenue (étage 1 de l’émetteur de retenue) et bloquent une rotation venant de la gauche.

Du point de vue d’un électronicien, cette roue fonctionne comme une diode !

report-mecanisme

Construction

Un compteur à 3 digits est constitué de 3 galettes comportant chacune :

  1. un récepteur de retenue
  2. un cylindre portant les chiffres
  3. un propagateur de retenue

et d’un propagateur de retenue d’entrée.

On remarque que le cylindre d’affichage a un diamètre égal au diamètre extérieur du récepteur de retenue de telle sorte que les roues de propagation de la retenue soient maintenue entre les galettes.

galette-pieces galette-structure
report-montage galette-montage

report-structure
La roue de report comporte 4 couches. Une couche de propagation de la retenue (à droite), une couche anti-retour (à gauche) et deux couches qui ne servent qu’à introduire un écart correspondant à l’épaisseur des galettes (les dents ne sont pas nécessaires sur ces couches).

Montage

retenue-premier-report
Toutes les galettes et toutes les roues de report sont placées sur deux rayons de vélo qui servent d’axes de rotation. Les galettes sont placées ensuite en alternance avec les roues de report jusqu’à ce que l’assemblage soit terminé.

Une fois l’assemblage terminé, on colle les bandes comportant les chiffres sur les galettes.
galette-affichage

Renseignements pratiques

  • Le matériau utilisé pour les engrenages le socle et la fenêtre d’affichage est du MDF 3mm assemblé par collage.
  • Le matériau utilisé pour le support des axes est du MDF 10mm.
  • Les engrenages ont été dessinés avec le logiciel inkscape et l’extension Extensions > Rendu > Engrenage.
  • Les engrenages récepteurs de retenue ont un angle de pression de 20° tandis que les engrenages des roues de propagation ont un angle de pression de 25°.