MathLvl
Question transversaleMathsSICapteurs et mesures

Pourquoi les codeurs de position utilisent-ils un code binaire spécial où un seul bit change à la fois ?

En binaire classique, passer de 7 (0111) à 8 (1000) change 4 bits : si la lecture a lieu pendant la transition, on peut lire n'importe quoi entre 0 et 15. Le code Gray, g = b ⊕ (b ≫ 1), ne change qu'un bit entre deux positions voisines : l'erreur est au plus d'un cran. Pour une résolution de 0,1°, il faut 3 600 positions, donc 12 bits.

Grand oral session 2027 : exposé de 10 minutes debout, puis 10 minutes d'échange, sans calculatrice. Plan prévu pour 9,5 min.

Pourquoi cette question : un modèle d'introduction

Le jury attend que vous expliquiez pourquoi vous avez choisi la question. Inspirez-vous de ce modèle, mais racontez votre propre parcours.

En démontant un ancien bouton de réglage de chaîne hi-fi, j'ai découvert un disque avec des pistes concentriques noires et blanches. En sciences de l'ingénieur, j'ai appris qu'il s'agit d'un codeur absolu, qui donne directement la position en binaire. J'ai été surpris d'apprendre qu'il n'utilise pas le binaire classique, mais un code inventé par Frank Gray en 1947.

L'enjeu et les notions du programme

Comparer deux codages binaires d'entiers, identifier le risque d'erreur aux transitions et dénombrer les bits nécessaires.

Mathématiques

  • Écriture binaire des entiers (seconde)
  • Dénombrement, puissances de 2, logarithme (terminale)
  • Raisonnement par récurrence : construction du code Gray (terminale)

Sciences de l'ingénieur

  • Capteurs de position : codeur absolu (terminale)
  • Codage de l'information, opérations logiques (première)

Le plan de l'exposé en 9,5 min

  1. 1. Introduction

    1 min

    Un codeur absolu lit plusieurs pistes à la fois : chaque position angulaire correspond à un mot binaire. Les capteurs ne basculent jamais exactement au même instant. Problématique : quel code choisir pour éviter des lectures aberrantes aux transitions ?

  2. 2. Mathématiques : un code à un bit de différence

    4 min

    En binaire naturel, 7 s'écrit 0111 et 8 s'écrit 1000 : les quatre bits changent. Si les capteurs basculent à des instants légèrement différents, on peut lire temporairement n'importe quelle combinaison, par exemple 1111 (15) ou 0000 (0) : une erreur énorme.

    Le code Gray réfléchi se construit par récurrence : à partir de la liste à n bits, on écrit la liste suivie de sa copie en ordre inverse, en ajoutant 0 devant la première moitié et 1 devant la seconde. Sur 2 bits : 00, 01, 11, 10. Sur 3 bits : 000, 001, 011, 010, 110, 111, 101, 100. Par construction, deux mots consécutifs (et le dernier avec le premier) ne diffèrent que d'un bit.

    Conversion : le code Gray de b s'obtient par g=b⊕(bgg1) (OU exclusif avec le nombre décalé d'un rang). Pour 7 (0111) : 0111⊕0011=0100 ; pour 8 (1000) : 1000⊕0100=1100. Un seul bit diffère.

    Résolution : pour repérer un angle à 0,1° près, il faut 3 600 positions, donc n bits avec 2ⁿ≥3 600 : n≥log₂3 600≈11,8, soit 12 bits (4 096 positions, environ 0,088° par position).

  3. 3. SI : du disque à la position

    3 min

    Le disque comporte autant de pistes que de bits. Grâce au code Gray, une lecture faite pendant une transition donne soit la position d'avant, soit celle d'après : l'erreur ne dépasse jamais un cran. Le microcontrôleur reconvertit ensuite le code Gray en binaire pour faire ses calculs.

    Contrairement au codeur incrémental, le codeur absolu connaît sa position dès la mise sous tension, sans retour à une position de référence : c'est indispensable pour les bras robotisés ou les vannes, qui ne doivent pas faire de mouvement initial. Le même code sert à limiter les erreurs dans les transmissions numériques.

  4. 4. Conclusion

    1,5 min

    Le code Gray ne change qu'un bit entre deux positions voisines, ce qui limite toute erreur de lecture à un cran ; il se construit par récurrence et se calcule par un OU exclusif. Pour 0,1° de résolution, il faut 12 bits. J'ouvre sur l'usage du code Gray dans les tableaux de Karnaugh, qui simplifient les circuits logiques.

Ce que j'écris au tableau

Pas de calculatrice ni de support numérique : un calcul clé écrit au tableau rend l'exposé concret et montre la solidité des connaissances.

7=0111→8=1000 (4 bits changent ) g=b⊕(bgg1): 7→0100, 8→1100
00,01,11,10 2ⁿ≥3 600⇔ n≥log₂3 600≈11,8⇒ n=12

Conclusion : la réponse à la question

Un choix de codage, et non une amélioration du matériel, supprime les lectures aberrantes. La construction par récurrence du code Gray et le dénombrement des positions sont au cœur des capteurs de position.

Les questions probables du jury

Pendant les 10 minutesd'échange, le jury vous fait préciser et approfondir, sur tout le programme de vos spécialités en lien avec la question.

Écrivez le code Gray sur 3 bits de 4 à 7.

110, 111, 101, 100.

Combien de bits pour une résolution de 1° ?

2⁹=512≥360 : 9 bits.

Pourquoi le dernier et le premier mot ne diffèrent-ils que d'un bit ?

Par construction en miroir : le dernier mot est 1 suivi du premier mot de la liste précédente, qui commence par des 0.

Quel avantage d'un codeur absolu ?

Il connaît sa position dès la mise sous tension, sans recherche d'origine.

Calculez le code Gray de 5 (0101).

0101⊕0010=0111.

Les pièges qui coûtent des points

  • Croire que le binaire naturel convient aussi bien.
  • Oublier d'arrondir le nombre de bits à l'entier supérieur.
  • Faire des calculs arithmétiques directement sur le code Gray.

Revoir les notions

Autres questions : capteurs et mesures

Toutes les questions maths-sciences de l'ingénieur →

Préparer l'oral, pas seulement le contenu

Gestion des 20 minutes de préparation, usage du tableau, posture debout, réponses au jury : la méthode complète, conforme aux règles de la session 2027.

Méthode : traiter une question de Grand oral →