Lorenz, Rössler, ampli-op et calcul analogique

Piste rouge Le 5 décembre 2015  - Ecrit par  Aurélien Alvarez, Bastien Le Gloannec, Vivien Pelletier Voir les commentaires (5)

Il fut un temps (dont les trois auteurs - qui ont pourtant plus de vingt ans ! - ont seulement entendu parler), où les ordinateurs tels qu’on les connaît aujourd’hui n’existaient pas. Si si, il paraît ! En ce temps-là donc, les ingénieurs et les scientifiques qui avaient besoin de faire des calculs, utilisaient des calculateurs analogiques [1]. Nous allons voir dans la suite comment fabriquer un tel calculateur et résoudre quelques-unes de nos équations différentielles préférées. À suivre donc, un petit TP d’électronique !

Dans un article précédent, T’es sûr du résultat ?, nous nous amusions à résoudre numériquement une équation différentielle. Pour cela, l’idée était simplement d’écrire un programme pour calculer pas à pas une solution approchée et de demander à notre ordinateur d’effectuer la suite de calculs. De nombreux problèmes se prêtent volontiers à une modélisation par une équation différentielle que l’on discrétise au moment de calculer des solutions approchées, nos ordinateurs ne travaillant qu’avec des quantités numériques discrètes.

JPEG - 19.2 ko
Contrairement aux apparences, ce n’est pas Galilée en haut de la tour...

Un calculateur analogique utilise au contraire des mesures physiques continues pour modéliser un problème. Ces grandeurs physiques peuvent être d’origine mécanique, hydraulique ou électrique. Un calculateur analogique réalise ainsi des calculs sur des équations différentielles en remplaçant un ensemble de variables par un autre ensemble de variables, physiques. Voici un petit exemple avec une équation différentielle très simple :
\[x'' = g,\]
où $x$ est une fonction réelle et $g$ une constante strictement positive, valant disons... $9.8$ [2]. Notons $x_0 = x(0)$ la valeur de $x$ à l’instant 0. Pour calculer approximativement la solution [3], deux possibilités :

  • discrétiser le problème et faire le calcul pas à pas avec un ordinateur (avec une méthode d’Euler par exemple) ;
  • monter en haut d’une tour pour se placer à l’altitude $x_0$, lâcher un caillou et enregistrer en temps réel l’altitude du caillou. Les lecteurs les plus ingénieux pourront imaginer un système concret pour réaliser cette mesure et tracer la solution en temps réel :-).

Autre exemple : vous souhaitez intégrer une équation différentielle de la forme
\[a.x'' + b.x' + c.x = 0,\]
où $a$, $b$ et $c$ sont trois constantes. Eh bien, prenez une masselotte qui oscille au bout d’un ressort et mesurez à chaque instant l’altitude de la masselotte. Voilà ! Vous venez de construire un calculateur analogique pour l’équation différentielle précédente avec des coefficients $a$, $b$, $c$ bien déterminés qui dépendent de la raideur du ressort, des frottements, de la masse, de la pesanteur. Petit désagrément tout de même : les coefficients $a$, $b$ et $c$ sont difficiles à changer... Par exemple, on voit mal comment faire varier la pesanteur ou le coefficient de frottement de l’air...

Alors, voici maintenant un exemple électrique analogue : le fameux circuit RLC, constitué d’une résistance $R$, d’une bobine $L$ et d’un condensateur $C$. La grandeur physique $x$ est cette fois la tension aux bornes du condensateur et, là encore, vous réalisez un intégrateur analogique de l’équation différentielle ci-dessus [4]. Dans ce cas, c’est très facile de faire varier les trois paramètres $R$, $L$ et $C$. Et de visualiser la tension $x$ avec un oscilloscope ou une table traçante.

JPEG - 21.8 ko
Une table traçante à l’École des Mines d’Aix-la-Chapelle (1970)

Petit conseil de lecture, l’article Les calculateurs analogiques d’Alain Brochier et François Rechenmann, publié sur Interstices : on comprend en le lisant que fabriquer une machine qui est modélisée par l’équation différentielle que l’on souhaite étudier n’est pas du tout chose facile ; et que faire fonctionner une telle machine était un art qui demandait beaucoup de patience et de persévérance...

Quelques mots sur le modèle continu de calcul universel

Le modèle continu de calcul universel (GPAC) est un modèle mathématique pour le calcul analogique qui a été introduit en 1941 par Claude Shannon. Sans rentrer dans les détails, quelques mots pour dire que le modèle s’appuie sur cinq briques élémentaires permettant de faire des additions, des multiplications, des intégrations, des ajouts et des multiplications par des constantes [5]. Aujourd’hui encore, le GPAC reste, du point de vue théorique au moins, un sujet de recherche actif (voir par exemple les travaux d’Olivier Bournez). Les lecteurs à la recherche de définitions précises trouveront leur bonheur notamment dans ce manuscrit (HdR d’Olivier Bournez). Le manuscrit de thèse d’Emmanuel Hainry est également une référence concernant le GPAC [6], ainsi que celui de Daniel Graça [7]. Enfin mentionnons la récente thèse d’Amaury Pouly qui apporte la preuve qu’on peut parler de complexité dans ces modèles.

Il y a sûrement de nombreuses raisons de s’intéresser au GPAC. L’une d’entre elles est sans nul doute que beaucoup y voient là des arguments supplémentaires pour soutenir un peu plus encore la thèse de Church-Turing dont on connaît l’importance en informatique et plus particulièrement en théorie de la calculabilité. Pour une introduction aux différentes formes de la thèse de Church-Turing (et bien d’autres choses encore !), on ne pourra que conseiller le délicieux livre Les métamorphoses du calcul de Gilles Dowek.

Un composant électronique précieux : l’ampli-op

JPEG - 9.4 ko
Différents modèles d’ampli-op

Un ampli-op (en vrai on devrait dire amplificateur opérationnel) est un amplificateur différentiel électronique qui amplifie une différence de potentiel électrique présente à ses entrées. Il a été initialement conçu pour effectuer des opérations mathématiques dans les calculateurs analogiques et permettait de modéliser les opérations mathématiques de base comme l’addition, la soustraction, l’intégration, la dérivation et d’autres. Ses applications vont bien au-delà et en font l’un des composants électroniques passe-partout puisqu’il est petit, pas cher et costaud. On le trouve en général sous forme de circuit intégré et si on met le nez dedans, on y trouvera essentiellement des transistors.

PNG - 18 ko
Sommateur inverseur

Bon, mais concrètement que peut-on faire avec un ampli-op ? Eh bien, avec le montage ci-contre (l’ampli-op, c’est le gros carré avec une entrée $-$, une $+$ et une sortie) et toutes les résistances égales, vous réalisez un sommateur inverseur, c’est-à-dire que la tension en sortie est l’opposée de la somme des tensions en entrée :
\[V_S = - (V_1 + ... + V_n).\]

PNG - 11.3 ko
Intégrateur

Et avec celui-ci, vous réalisez un intégrateur, c’est-à-dire que la tension de sortie est proportionnelle à l’intégrale dans le temps de la tension d’entrée. Plus précisément :
\[V_S(t) = \frac{-1}{RC} \int_0^{t} V_e(s) ds.\]

Sympa, non ? Sur cette page Wikipédia [8], vous trouverez tous les montages de base de l’ampli-op pour réaliser vos désirs électroniques les plus fous.

Notre premier montage et une jolie sinusoïde :-)

JPEG - 43 ko

Pour s’échauffer, essayons de visualiser une sinusoïde. Rien de plus simple théoriquement puisqu’il s’agit d’une solution de l’équation différentielle
\[x'' = -\omega^2.x,\]
où $\omega$ est une constante strictement positive qu’on appelle la pulsation. Concrètement il nous faut être capable de réaliser une multiplication par une constante et une double intégration. Quelques nécessaires gribouillis au tableau d’abord... et la même chose ci-dessous en plus lisible.

PNG - 59.9 ko

Plus précisément, notre circuit réalise l’équation différentielle précédente avec
\[\omega^2 = \frac{1}{R_1 C_1 R_2 C_2}.\]

Nous prenons $R_1 = R_2 = 1 \, M\Omega$ et $C_1 = C_2 = 470 \, nF$, soit une pulsation $\omega = 2.1 \, s^{-1}$, et donc une fréquence $f = \frac{\omega}{2\pi}$ d’environ $0.33 \, Hz$ [9].

Et voilà, y’a plus qu’à ! Après quelques minutes et quelques premiers câblages hasardeux, on contemplait sur notre oscilloscope une jolie sinusoïde. Ça marche !

JPEG - 1006.4 ko

Première remarque. Les lecteurs observateurs remarqueront que la sinusoïde a l’air d’être amortie dans le temps. Ben oui ! Nos raisonnements et nos équations sont toutes théoriques, alors qu’en pratique il y a des petites pertes un peu partout dans notre montage, sans parler de nos composants électroniques qui ne sont pas les plus chers du marché... Il faut donc remettre de temps en temps un petit coup de jus dans le circuit :-).

Deuxième remarque. Toujours pour les plus observateurs : notre montage est sur la plaque à essai de droite. Sur la plaque de gauche, c’est un pont diviseur de tension (qui est également gribouillé sur le tableau gauche ci-dessus) : c’est un petit montage qui permet d’avoir une tension bien équilibrée +V, -V par rapport à la masse (qui est notre référence pour mesurer les différences de potentiel dans le circuit) égale à 0.

Troisième remarque. Le montage que nous venons de réaliser est un peu différent des montages de base de l’ampli-op dont nous parlions dans le paragraphe précédent. En effet ces derniers ne faisaient que réaliser un calcul analogique sur les signaux en entrée, la sortie étant justement le résultat du calcul en question. Alors que dans le montage que nous venons de voir, on est en circuit fermé (ce qui nous ramène à la première remarque d’ailleurs !) afin de modéliser un système d’équations (différentielles grâce aux primitives d’intégration). Il faut donc comprendre qu’ainsi on peut modéliser n’importe quel jeu d’équations différentielles (algébriques tout de même), avec comme conséquence de contraindre les grandeurs physiques (ici la tension) à satisfaire une solution du système qu’il ne reste plus qu’à visualiser.

L’attracteur de Rössler

L’attracteur de Rössler doit son nom au biochimiste allemand Otto Rössler ; c’est en 1976 que Rössler publia son équation différentielle [10] qui allait donner naissance à l’attracteur chaotique « le plus simple », comme le qualifiera plus tard Edward Lorenz. Voici le système de Rössler qui, en plus de son intérêt purement théorique, s’avère également utile dans la modélisation de l’équilibre de certaines réactions chimiques :

\[\left\{ \begin{array}\\ \frac{dx}{dt}&=&-y-z\\ \frac{dy}{dt}&=&x+a.y\\ \frac{dz}{dt}&=&b+z.(x-c)\\ \end{array} \right.\]
Les valeurs traditionnelles pour les paramètres $a$, $b$ et $c$ sont respectivement $0.2$, $0.1$ et $5.7$.

Bon, mais à quoi ça ressemble tout ça ? Alors, c’est le moment de regarder les premières minutes du dernier chapitre de Chaos, où l’on voit notamment que le comportement (chaotique ou pas) du système dépend des valeurs des paramètres.

PNG - 238.1 ko

Il est maintenant temps de concevoir un montage électronique pour simuler cette équation différentielle. Retour donc au tableau blanc !

JPEG - 27.3 ko

Si on veut pouvoir visualiser quelque chose [11], quelques calculs « à la louche » nous incitent à faire un petit changement de variable inoffensif : $X = x$, $Y = y$ et $Z = z/2$. On se lance dans l’aventure avec une résistance de référence $R_1 = 100 \, k\Omega$, les quatre autres résistances de notre montage sont déterminées par les coefficients (notamment $a$ et $c$) du système de Rössler :
\[R_2 = \frac{R_1}{a}, R_3 = \frac{R_1}{10}, R_4 = \frac{R_1}{c}, R_5 = \frac{R_1}{2}.\]

PNG - 134.8 ko

C’est en le faisant qu’on comprend rapidement qu’il faut être patient et méticuleux (en plus d’avoir une bonne vue de près !) car on a vite fait de brancher un fil dans le mauvais trou de la plaque à essai... Mais après quelques « sapristi, c’est quoi qui cloche ? » [12], oh miracle, ça marche !

L’attracteur de Lorenz

Ne résistons pas davantage à l’appel de la plus médiatique des équations différentielles chaotiques, le système de Lorenz.

PNG - 138.6 ko

Les chapitres 7 et 8 de Chaos lui sont presque entièrement consacrés. Nous n’en dirons pas davantage ici sur l’importance de cet exemple. Rappelons simplement le système en question :

\[\left\{\begin{array}\\ \frac{dx}{dt}&=&\sigma.(y-x)\\ \frac{dy}{dt}&=&x.(\rho - z) - y\\ \frac{dz}{dt}&=&x.y - \beta.z\\ \end{array} \right. \]

les valeurs traditionnelles de $\sigma$, $\beta$ et $\rho$ étant 10, 8/3 et 28.

PNG - 150.2 ko

Les lecteurs inquiets de ne pas voir de fils sur la plaque comme dans l’exemple précédent seront rassurés d’apprendre que l’un d’entre nous a pris son courage à deux mains et surtout son fer à souder. Donc tous les fils sont en fait soudés sous la plaque. Électronicien n’est pas un métier de tout repos !

Les détails techniques. On commence par faire un changement de variables, histoire de redimensionner les valeurs et rester dans les plages de tolérance de nos composants. On pose donc

\[\left\{\begin{array}\\ X&=&x/10\\ Y&=&-y/10\\ Z&=&z/10\\ \end{array} \right. \]

Le signe $-$ devant $y$ nous permet d’économiser un inverseur, rien de plus. Pour les valeurs des résistances, on a pris :

\[R_4 = 1 M\Omega, R_1 = R_4/\sigma = 100 k\Omega, R_2 = R_4/\rho \approx 35.7 k\Omega,\]

\[R_3 = R_4/100 = 10 k\Omega, R_5 = R_4/\beta = 375 k\Omega,\]

et pour le condensateur $C = 470 nF$ [13].

Pour terminer...

Et si on faisait dialoguer l’oscilloscope avec notre ordinateur ? On pourrait ainsi imaginer récupérer les données enregistrées par l’oscillo et fabriquer une belle image de papillon. Sitôt dit, sitôt fait, petit script python qui va bien pour récupérer lesdites données en communication série avec l’oscillo et les dessiner avec la librairie matplotlib (on affiche environ 15 à 20 fois plus de points que sur l’écran de l’oscillo).

PNG - 88.6 ko

C’est un début... Essayons maintenant de relier artificiellement les points successifs [14].

PNG - 157.3 ko

Enfin un petit coup de lissage [15] pour terminer... et faire plus joli :-).

PNG - 155.2 ko
Post-scriptum :

Dédicace à celles et ceux qui n’en gardent pas forcément un super souvenir : en fait, c’est vraiment sympa l’électronique :-). Et puis résoudre des équations différentielles avec un ampli-op, c’est quand même amusant sur le principe. À vrai dire, cette idée nous a suffi pour nous motiver à relever le challenge !
Merci aux relecteurs qui nous ont permis d’améliorer une première version de ce texte : amic, Sébastien Peronno et ERHCNRS.

Article édité par Serge Cantat

Notes

[1On pourra à ce propos relire l’article Les mathématiques face à l’ordinateur de Maarten Bullynck et Liesbeth De Mol à propos d’une session récente du Séminaire d’histoire des mathématiques de l’IHP.

[2La notation $x'$ désigne la dérivée de la fonction $x$ et $x''$ sa dérivée seconde.

[3Cette équation étant particulièrement simple, on peut facilement en donner une solution exacte, mais nous n’en ferons rien !

[4Plus précisément, l’équation différentielle qu’on obtient est $LC.x'' + RC.x' + x = 0$.

[5On distingue la multiplication entre deux signaux de la multiplication par une constante. Une bonne analogie est celle de structure d’algèbre en mathématiques où on dispose d’une multiplication interne des éléments, ainsi que d’une multiplication externe par les scalaires.

[6voir par exemple page 40 pour une définition et une caractérisation des fonctions GPAC-calculables

[7voir page 28 pour les définitions

[8d’où proviennent les deux schémas ci-dessus

[9Pour mémoire, les résistances se mesurent en ohms ($\Omega$), les capacités en farads ($F$) et les fréquences en hertz ($Hz$).

[10Rössler, O. E. (1976), « An Equation for Continuous Chaos », Physics Letters 57A (5) : 397–398

[11plus précisément, c’est à cause des ampli-ops et des multiplieurs (qui ne peuvent fournir en sortie qu’une tension dans l’intervalle de leur tension d’alimentation, soit ici, et classiquement, -15/+15V) ; sans parler du fait que les ampli-ops claquent au delà de -18 V /+18 V)...

[12Version littéraire de « c’est quoi ce bord... de mer... ! ».

[13Pour info, dans tous nos montages, les ampli-ops utilisés sont des TL084 et TL074 et les multiplieurs des AD633.

[14Précisons que les données récupérées ne sont pas les mesures (qui sont théoriquement relativement précises) mais correspondent en fait à l’affichage de l’oscilloscope sur une résolution 0-255 ; d’où une perte de précision au passage qui anéantit un peu tout espoir d’une visualisation à plus haute résolution sur ordinateur par la suite.

[15Attention, trop de lissage tue le lissage (ou du moins altère un peu trop les données) : il faut donc trouver le bon compromis. Le rayon retenu pour notre moyenne glissante est de 7 : pour chaque point, on calcule sa moyenne en tenant compte des 7 points qui le précèdent et des 7 points qui le suivent.

Partager cet article

Pour citer cet article :

Aurélien Alvarez, Bastien Le Gloannec, Vivien Pelletier — «Lorenz, Rössler, ampli-op et calcul analogique» — Images des Mathématiques, CNRS, 2015

Crédits image :

Image à la une - Le logo et l’idée de fabriquer un Lorenz analogique proviennent de la page web Build a Lorenz Attractor de Paul Horowitz.
Une table traçante à l’École des Mines d’Aix-la-Chapelle (1970) - Wikipédia (article « table traçante »)
Différents modèles d’ampli-op - Wikipédia (article « ampli-op »)

Commentaire sur l'article

  • Lorenz, Rössler, ampli-op et calcul analogique

    le 5 décembre 2015 à 08:50, par ROUX

    Que d’émotions !
    Que de contrastes !

    Piste estimée rouge pour un(e) mathématicien(ne) mais piste verte pour les bacheliers des bac’ technologiques F2 ou F3 ou STIGEl ou STIGEt (mais malheureusement hors-piste pour les bacheliers STI2D, la filière techno’ physique actuelle).

    Émotions : mon père était ingénieur en électronique dans les années ’60 ; j’ai détesté l’enseignement de l’électronique dans les années ’80 ; je me suis éclaté à enseigner l’électronique (et l’électrotechnique - les moteurs et leurs alimentations, quoi) dans les années ’00 (à partir de l’année ’94).

    Si votre premier montage avec sa jolie sinusoïde :-) est encore branché, pourriez-vous seulement modifier vos valeurs des quatre résistances et les passer toutes à seulement 1000 ohms ?
    Je conjecture en effet que votre amortissement est simplement dû au transitoire d’établissement de cette sinusoïde et que si vous aviez attendu assez longtemps, cet amortissement aurait cessé... Mais, assez longtemps avec une fréquence proche de 1/3Hz, c’est bigrement long dans la vie humaine puisque cela correspond à une période de près de 3s et qu’il faut attendre plusieurs périodes avant que le transitoire cesse, avec plusieurs nettement supérieur à 1 ;-).

    Mais si je me suis trompé, venez me le signaler ici, que je rougisse de honte ! Je n’ai en effet fait aucun calcul sur cette belle boucle de rétro-action.

    Par contre, la fréquence très basse pour visualiser dans la lenteur de la vie humaine la construction des attracteurs étranges, ouah, c’est génial : si seulement j’avais eu votre article avant cette maudite réforme !!!

    Et, au fait, où en êtes-vous des semelles de vent, non, de Sierpinski ?

    Répondre à ce message
    • Lorenz, Rössler, ampli-op et calcul analogique

      le 6 décembre 2015 à 22:50, par Aurélien Alvarez

      Bonsoir et merci beaucoup pour votre commentaire. On a démonté nos montages mais refaire le premier n’est pas le plus dur. À l’occasion on essaiera votre suggestion !
      Concernant les semelles de Sierpinski, je n’en ai pas encore fabriqué mais je garde l’idée en tête...

      Répondre à ce message
  • Lorenz, Rössler, ampli-op et calcul analogique

    le 7 décembre 2015 à 14:06, par Pierre-Antoine Guihéneuf

    Excellent article !

    je me souviens avoir discuté avec un prof d’électronique en IUT qui pensait qu’en régime permanent, tout système électronique (même non linéaire) avait un comportement « à la Poincaré-Bendixson » : soit périodique, soit constant (si le régime transitoire n’amène pas à une explosion de la taille des variables). Ces deux petites vidéos devraient être montrées à tous ceux qui devront toucher de près ou de loin à l’électronique. En plus, c’est joli !

    Une petite question : comment fait l’oscillo pour afficher les graphiques en 3D ? S’il fait les calculs numériquement, c’est un peu de la triche...

    Répondre à ce message
    • Lorenz, Rössler, ampli-op et calcul analogique

      le 8 décembre 2015 à 09:29, par Aurélien Alvarez

      Merci pour votre commentaire !
      En fait il n’y a pas de graphiques en 3D, l’oscilloscope n’affiche qu’une projection 2D de l’espace des trajectoires et l’utilisateur peut facilement passer du plan xy, au plan yz ou xz.

      Répondre à ce message
  • Lorenz, Rössler, ampli-op et calcul analogique

    le 12 décembre 2015 à 15:30, par M. Ponchant

    Je vous remercie pour cet article qui m’a enfin éclairé et réconcilié avec l’électronique depuis ma prépa.

    Résoudre des équations de la physique avec quelques fils et visualiser la solution sur un oscilo, le TP rêvé pour un physicien aimant les mathématiques. Je me demande ce que cela donnerai sur l’équation de Reynolds ou Navier-Stokes...

    Répondre à ce message

Laisser un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?

Suivre IDM