LOGIQUE 1 : LE CODAGE

1. Représentation Analogique et Numérique
Pour suivre l'évolution d'un dispositif industriel, la manipulation des grandeurs physiques est primordiale.

Ces grandeurs sont par nature ANALOGIQUE, i.e. qu'elles peuvent prendre toutes les valeurs continues, mais dans l'évolution vers l'hyperconnexion de notre société, elles sont de plus en plus transformées en valeurs NUMERIQUES, i.e. qu'elles passent d'une valeur à la suivante par effet d'intervalle.
Critiques du numérique
Avantages :
  • Les systèmes numériques sont plus faciles à concevoir : les valeurs de la tension et du courant n'ont pas à être rigoureusement exactes. Il suffit qu'elles soient dans les limites d'un intervalle.
    Ils sont, pour la même raison, moins affectés par les perturbations.
  • La technologie permet un plus fort degré d'intégration (miniaturisation).
  • Le stockage des données est facile.
Inconvénients :
L'inconvénient majeur est que la plupart des grandeurs que l'on souhaite commander (notamment à travers un asservissement) sont analogiques. Pour les exploiter, il faut donc mettre en oeuvre 3 phases :
  • Traduire les signaux analogiques en signaux numériques.
  • Traiter l'information numérique.
  • Convertir les sorties numériques en une forme analogique adaptée au monde réel.
2. Codage
2.1. Définitions
On appelle ALPHABET un ensemble fini de SYMBOLES (ou chiffres).
Par exemple :
  • Alphabet binaire : 0, 1. Un chiffre binaire est appelé BIT.
  • Alphabet décimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
  • Alphabet hexadécimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
On appelle MOT construit sur un alphabet, tout élément composé d'une suite de symbole.
Avec un alphabet comportant \(A\) symboles, on peut construire \(A^{n}\) mots de \(n\) symboles.

Un mot binaire de 8 bits est appelé OCTET ou BYTE.
2.2. Systèmes de numérotation en base \(n\)
Système décimal - Base 10
Il est dit à poids positionnels, en ce sens que la valeur du chiffre dépend de sa position dans le nombre.

Exemple : $$124 = 1\times10^{2}+2\times10^{1}+4\times10^{0}$$
Système binaire - Base 2
Le système binaire est aussi à poids positionnels, puisque chaque chiffre binaire est affecté d'un poids, exprimé comme une puissance de 2.

Exemple : $$1101 = 1\times2^{3}+1\times2^{2}+0\times2^{1}+1\times2^{0}=13$$ Avec un mot de \(n\) bits, il est possible d'obtenir \(2^{n}\) valeurs, et le nombre le plus grand que l'on peut représenter est \(2^{n}-1\).
Système héxadécimal - Base 16
Possédant 16 symboles (0 à F), il permet une représentation et une écriture condensée des nombres binaires. Il est très utilisé dans la programmation des microcontrôleurs, où il n'est pas pratique de manipuler des adresses de 32 bits en utilisant une succession de 0 et de 1.

Exemple : $$CA57=1100~1010~0101~0111$$
3. Capteurs et Codage
3.1. Définitions et caractéristiques
Un CAPTEUR est un organe de prélèvement d'information qui élabore à partir d'une grandeur physique, une autre grandeur physique de nature différente (souvent électrique). Cette grandeur représentative de la grandeur prélevée est utilisable à des fins de mesure ou de commande.

Un capteur se définit par :
  • L'étendue de mesure, i.e. les valeurs extrêmes pouvant être mesurée.
  • La résolution, i.e. la plus petite variation de grandeur mesurable par le capteur.
  • La sensibilité, i.e. la variation du signal de sortie par rapport à la variation du signal d'entrée.
    Exemple : le capteur de température LM35 a une sensibilité de \(10mV/^{\circ} C\).
  • La précision, i.e. l'aptitude du capteur à donner une mesure proche de la valeur vraie.
  • La rapidité, i.e. le temps de réaction du capteur (liée à sa bande passante).
Parmi les capteurs de position et de vitesse les plus utilisés, on retrouve les codeurs incrémentaux et les codeurs absolus. Leur principal avantage est qu'ils permettent un traitement directement numérique de l'information.
3.2. Codeurs incrémentaux
Les CODEURS INCREMENTAUX sont destinés à des applications de positionnement et de contrôle de déplacement d'un mobile par comptage-décomptage (appelé aussi incrément et décrément) des impulsions qu'ils délivrent. Ils peuvent détecter des déplacements angulaires ou rectilignes.

Un codeur incrémental optique comporte des émetteurs (\(E_{1}\) et \(E_{2}\)) et des récepteurs lumineux de type phototransistor (\(R_{1}\) et \(R_{2}\)).
Un phototransistor est un transistor dont la base est sensible au rayonnement lumineux : il se comporte comme un interrupteur fermé lorsque la base est soumise à de la lumière, et comme à un interrupteur ouvert en l'absence de lumière.

Les faisceaux lumineux émis par les émetteurs traversent un disque en mouvement, divisé en $n$ intervalles d'angles égaux et alternativement opaques et transparents (\(n\) étant la résolution ou nombre de périodes.

Les deux phototransistors installés derrière le disque délivrent ainsi des signaux \(V_{S1}\) et \(V_{S2}\) (\(0~V\) en présence de lumière et $5~V$ en l'absence de lumière). Ces deux phototransistors sont décalés d'un quart de période.
Exploitation des signaux \(V_{S1}\) et \(V_{S2}\) :
On peut compter les fronts d'un ou des deux voies pour connaître le déplacement angulaire du disque.
Les codeurs incrémentaux autorisent trois niveaux de précision d'exploitation :
  • Utilisation des fronts montants de la voie \(V_{S1}\) seule : exploitation simple correspondant à la résolution du codeur.
  • Utilisation des fronts montants et descendants de la voie \(V_{S1}\) seule : la précision d'exploitation est doublée.
  • Utilisation des fronts montants et descendants des voies \(V_{S1}\) et \(V_{S2}\) : la précision d'exploitation est quadruplée.
Détection du sens de rotation :
3.3. Codeurs absolus
Un CODEUR ABSOLU est un codeur de position angulaire qui délivre un mot binaire traduisant la position absolue de l'organe qui lui est connecté. Il comporte un disque avec des pistes concentriques, divisées elles-mêmes en pistes opaques ou transparentes. A chaque piste concentrique est associé un couple émetteur/récepteur.

La résolution d'un tel codeur est de \(2^{N}\), où \(N\) est le nombre de pistes.

Un codeur de \(17\) pistes aura donc une résolution de \(2^{17}=131~072\) soit une précision de : $$\frac{360}{2^{17}}=2,7.10^{-3~\circ}$$
Un codeur absolu délivre un code qui est directement l'image de la position réelle du mobile à contrôler. Il présente ainsi deux avantages par rapport à un codeur incrémental :
  • Insensibilité aux coupures de réseau.
  • Insensibilité aux parasites en ligne : un parasite peut modifier temporairement le code délivré par un codeur absolu, mais ce code redevient immédiatement correct dès la disparition du parasite.
Codage binaire et Gray
Le code binaire présente l'inconvénient d'avoir plusieurs bits qui changent d'état entre deux positions. Ces changements d'état ne pouvant être rigoureusement synchrone, il en résulte une ambiguïté de lecture à chaque changement d'état.

Le code Gray, dans lequel un seul bit à la fois change d'état, est un moyen d'éviter cette ambiguïté. Cependant, ce code n'est pas pondéré (on ne peut effectuer des opérations directement dessus), il doit être traduit en binaire avant toute utilisation, d'où le traitement plus complexe.

Les codeurs utilisant un codage binaire naturel disposent, pour lever cette ambiguïté, d'un signal d'inhibition qui bloque les sorties à chaque changement d'état.
Construction du code Gray et conversion avec le binaire