Un ordinateur analogique ?

Contrairement à un ordinateur numérique qui manipule des valeurs binaires discrètes, un ordinateur analogique traite des données représentées par des quantités physiques continues, telles que des tensions électriques ou des mouvements mécaniques. Les ordinateurs analogiques peuvent résoudre des équations différentielles complexes et simuler des systèmes physiques en temps réel. Ils ont été utilisés dans les premières applications aérospatiales et militaires, où ils ont aidé à comprendre les systèmes dynamiques complexes et la théorie du contrôle.

La complexité, la précision limitée et la flexibilité restreinte des ordinateurs analogiques les rendent difficiles à utiliser. C'est pourquoi ils ont été remplacés par des ordinateurs numériques dans la plupart des applications. C'est là qu'intervient l'entreprise berlinoise Anabrid. Sa mission (qu'elle s'est imposée) est de réintroduire l'ordinateur analogique en complément de l'ordinateur numérique afin de maintenir la loi de Moore en vie, d'économiser de l'énergie et d'améliorer la sécurité. L'un des outils dont elle dispose pour mener à bien sa mission est The Analog Thing (abrégé en THAT).

Une interface utilisateur intrigante (IUI)

L'Analog Thing est un sandwich plat et rectangulaire (20 cm par 24 cm) de deux circuits imprimés (PCB) blanches d'une hauteur d'environ 38 mm. La carte inférieure porte tous les composants électroniques. La carte supérieure (plus épaisse) fournit l'interface utilisateur avec des symboles intrigants imprimés en noir dessus. Environ la moitié de sa surface est réservée à une matrice ou panneau de raccordement de 17 × 10. Chaque trou du panneau de raccordement est au centre d'un symbole graphique : un cercle, un diamant ou un triangle. Les triangles sont blancs, les cercles sont blancs ou noirs tandis que les diamants existent en blanc, noir et mi-blanc/mi-noir (voir figure 1).

user interface symbols
Figure 1. D'étranges symboles en noir et blanc imprimés sur le panneau de raccordement servent de guide lors de la programmation de THAT.

Le panneau de raccordement est subdivisé en 17 éléments de calcul où chaque élément représente une fonction mathématique comme l'intégrateur (5×), le multiplicateur (2×), l'additionneur (4×), l'inverseur (4×) et le comparateur (2×). Il y a également huit coefficients et quatre constantes ±1.

Sous le panneau de raccordement se trouvent deux autres rangées de trous avec des condensateurs (5×), des diodes (4×), des diodes Zener (2×) et quatre sorties de signal.

Le panneau de raccordement est séparé du panneau de contrôle par le nom de l'appareil, imprimé de gauche à droite en gros caractères. Le panneau de contrôlese se compose de neuf potentiomètres (COEFF 1 à 8 et OP-TIME) et de deux commutateurs rotatifs (COEFFICIENT et MODE). Il y a également un compteur numérique à cristaux liquides, et trois diodes électroluminescentes fournissent quelques informations sur l'état de l'appareil.

Sur la face supérieure de THAT, on trouve tous les connecteurs : alimentation (USB-C, seul un câble est inclus, pas une alimentation), sorties (RCA, un câble stéréo est inclus) et extension (connecteurs à broches, un câble plat de 2 × 5 est inclus).

Câbles de raccordement

Comme les ordinateurs numériques, le THAT ne peut rien faire sans un programme. Cependant, pour charger un logiciel, il ne suffit pas de brancher une clé USB ou une carte microSD. La programmation s'effectue en insérant des câbles de raccordement avec fiches bananes de 2 mm dans les trous du panneau de raccordement. L'Analog Thing est livré avec 30 câbles en cinq couleurs.

Ecran non inclus

L'Analog Thing produit des signaux analogiques sous forme de tensions dans la gamme de -1 V à +1 V (la précision de THAT est d'environ 1%). Un signal peut être mis à disposition sur quatre connecteurs de sortie X, Y, Z et U. Pour les visualiser, un oscilloscope ou un ordinateur avec carte son (ou autre entrée analogique) est nécessaire. Dans de nombreux cas, vous souhaitez un affichage XY(Z), l'oscilloscope doit donc disposer d'un mode XY(Z). Pour des résultats optimaux, ces entrées doivent être dotées d'un couplage DC. Par conséquent, une carte son n'est pas la meilleure option.

THAT peut émettre jusqu'à quatre signaux, donc un oscilloscope à quatre canaux est idéal. Il est donc un peu dommage que les connecteurs de sortie soient des RCA et non des BNC. Cela a probablement été fait pour limiter les coûts de fabrication et faire en sorte que tout s'emboîte. Les adaptateurs RCA-BNC ne sont pas inclus.

Le compteur du panneau est un voltmètre à 3,5 chiffres (±1,999) (figure 2). Cependant, pour autant que j'ai pu le déterminer, il ne peut pas être connecté aux signaux produits par les éléments de calcul de l'unité. Son utilité est d'afficher les valeurs des coefficients et d'indiquer la vitesse d'exécution.

lcd panel meter
Figure 2. L'afficheur sert à régler les valeurs des coefficients, pas à afficher les signaux produits par le programme analogique.

Chaînage Maître-Minion

Une dernière chose à mentionner avant d'aborder la programmation de THAT est l'option d'extension. Lorsque l'on a besoin de plus d'éléments de calcul que ceux fournis par l'appareil, il est possible de connecter une ou plusieurs unités en série. La première unité sera le maître, tandis que les autres seront les « minions ». Le nombre d'éléments dans une chaîne est dit illimité.

Soit dit en passant, j'ai rencontré d'autres tentatives visant à supprimer le paradigme maître-esclave du langage électronique, mais jamais celle-ci. Même si je le trouve plutôt sympathique, je ne suis pas sûr de l'adopter, car Maître et Minion commencent tous deux par un « M ». Par exemple, sur un bus SPI, MISO (Master In Slave Out, ou Entrée Maître Sortie Esclave en français) et MOSI (Master Out Slave In, ou Sortie Maître Entrée Esclave en français) deviendraient tous deux MOMI. On pourrait peut-être renommer Maître en « Gru » ?* On obtiendrait alors GIMO et GOMI.

* Felonius Gru est un super-vilain devenu héros, aidé par une armée de minions jaunes rendus populaires par la série de films « Moi, moche et méchant ».

Que peut-on faire le THAT ?

La programmation d’Analog Thing ne se fait pas en tapant des commandes compliquées dans un terminal ou un éditeur de texte, mais en branchant des câbles dans le panneau de raccordement. Elle s'apparente à la programmation visuelle où les blocs fonctionnels sont reliés par des fils virtuels.

Un programme analogique est une expression mathématique qui décrit un système dynamique, c'est-à-dire un système qui évolue dans le temps selon des relations connues. Ainsi, pour que THAT fasse quelque chose d'utile, il faut d'abord trouver un modèle mathématique approprié. Ce seul fait rend l'informatique analogique presque inaccessible à la plupart des mortels. Croyez-le ou non, les équations différentielles ne sont pas aussi populaires que Python ou TikTok.

Exemples de programmes

Pour vous aider à vous familiariser avec la programmation analogique sur THAT, le manuel de l'utilisateur propose neuf exemples, allant de curiosités mathématiques à des applications concrètes. Chaque exemple explique le modèle qu'il met en œuvre, présente les équations mathématiques et le diagramme de flux de signaux correspondant, le diagramme de câblage (le panneau de raccordement) et le graphique de la sortie attendue.

Pour appliquer un programme, il faut brancher les câbles de raccordement sur THAT selon le schéma de câblage. Pour ceux qui sont assez âgés pour l'avoir fait, cela doit être fait avec le même soin que de copier un listing de programme BASIC d'un magazine informatique des années quatre-vingt. Une seule erreur et le programme ne fonctionnera pas. Le danger ici n'est pas tant d'insérer un câble dans le mauvais trou, car les schémas de connexion multicolores sont très clairs, mais de ne pas oublier un câble. Il n'est pas facile de passer au crible le spaghetti de câbles pour déterminer quel fil est erroné ou manquant (figure 3).

analog thing figure 3
Figure 3. Comme le dit le dicton : « le chaos amène le chaos ». Ce plat de spaghetti de câbles chaotiques met en œuvre un attracteur de Lorentz, le Hello World ! de la théorie du chaos.

Réglage des coefficients

Après avoir câblé THAT, vous devez régler les coefficients utilisés. Un coefficient est simplement un potentiomètre de « volume » dont l'entrée se trouve dans la section COEFF. Pour en régler la valeur, placez le commutateur rotatif COEFFICIENT sur le numéro du coefficient (1 à 8) et placez le commutateur MODE sur COEFF. L'écran LCD affiche maintenant la valeur du coefficient. Vous pouvez l'ajuster en tournant le potentiomètre correspondant. La précision à trois décimales est réalisable (avec un peu de patience). Notez que dans l'exemple du Lunar Landing, deux coefficients sont mis en série pour obtenir des valeurs de précision encore plus élevées.

Exécuter un programme analogique

Il est maintenant temps d'exécuter le programme. Pour cela, tournez le commutateur MODE en position OP. Le voyant OP s'allume. Connectez un dispositif d'affichage approprié aux sorties de THAT. L'exemple du Lunar Landing comporte trois signaux de sortie (X, Y et U), il est donc préférable d'utiliser un afficheur à trois canaux.

En mode OP, le programme est exécuté une fois. En mode REP, il est exécuté de manière répétée. Le mode REPF répète 100 fois plus vite que le mode REP. Notez que chaque répétition est précédée d'un redémarrage du programme, car les intégrateurs doivent être remis dans leur état initial. Cela complique la création d'un programme qui se répète en douceur. Les personnes intéressées par l'utilisation de THAT dans des applications musicales, par exemple, seraient probablement mieux servies par des programmes évoluant continuellement que par des programmes répétitifs.

Hello, Analog World!

La première exemple tiré du manuel d'utilisation, Radioactive Decay (Désintégration radioactive), peut probablement être considéré comme l'équivalent de l'exemple Hello World! en informatique numérique. Il met en œuvre une équation différentielle du premier ordre bien connue des passionnés d'électronique, car elle s'applique également à la décharge d'un condensateur C à travers une résistance R :

first order difference equation

L'exemple utilise λ à la place de 1/(RC) et V est appelé N, mais cela ne change rien.

Le programme nécessite six fils et fonctionne en mode REP. L'oscilloscope montre une belle courbe exponentielle représentant la décroissance radioactive (ou un condensateur se déchargeant à travers une résistance, voir figure 4). Le potentiomètre 1 contrôle l'amplitude, le potentiomètre 2 contrôle la pente.

analog thing figure 4
Figure 4. Le Hello World ! de l'informatique analogique est une équation différentielle du premier ordre. Notez la partie horizontale, qui est due à la séquence d'initialisation.

Comme deuxième exemple, j'ai essayé Lorenz Attractor (l'attracteur de Lorenz), lié à l'effet papillon bien connu (un minuscule changement dans un premier état du système peut entraîner d'énormes différences dans les états ultérieurs). Ce programme complexe utilise 22 fils (voir figure 3), et six coefficients doivent être soigneusement ajustés un par un. Un oscilloscope (analogique) à deux canaux en mode XY donne les meilleurs résultats. J'ai réussi à câbler le programme sans faire d'erreurs et j'ai ensuite été hypnotisé par le graphique qui changeait continuellement.

Principalement un outil pédagogique

La qualité de l'Analog Thing est exceptionnelle. Il est joliment fabriqué et bien conçu. Les trous de connexion, de simples trous plaqués or, assurent un bon contact, même avec des fiches banane parfois un peu bancales. Les relevés de l'écran LCD sont stables et les potentiomètres tournent sans à-coups.

Les ingénieurs en électronique peuvent être attirés par THAT car ils sont habitués aux circuits avec intégrateurs et autres éléments de calcul qu'on y trouve. Transformer un modèle simple en diagramme devrait être possible pour certains enthousiastes, mais la conversion des équations de la spirale d'Euler de l'exemple 9.5 nécessite un peu plus d'explications que celles fournies dans le livret « Premiers pas ». Brancher des fils au hasard entraînera très probablement des résultats frustrants et des signaux s'écrêtant à leur valeur minimale ou maximale.

Peut-être qu'un jour The Analog Thing deviendra l'Arduino de l'informatique analogique, soutenu par des milliers de modèles et de schémas de connexion créés par la communauté. Les conditions initiales d'une grande popularité sont réunies. Comme Arduino, THAT est open source, et les fichiers de conception sont disponibles sur GitHub . Cependant, jusqu'à son décollage, THAT est principalement un outil éducatif et une curiosité pour les personnes intéressées à jouer avec des modèles mathématiques. Quoi qu'il en soit, quoi que vous en fassiez, c'est un excellent moyen d'engager la conversation.