Senseur IR Signal

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

Analyse du signal

Maintenant que nous savons comment fonctionne un senseur, voulez-vous savoir ce qu'il faut lui envoyer pour qu'il fonctionne correctement?

Mais avant prenons un peu de temps pour examiner en détails la façon dont une télécommande (celle dans votre main) envoi les données vers un senseur infrarouge (enfiché sur le breadboard).

Dans cette document nous avons utilisé le bouton ON/OFF d'une télécommande pour téléviseur Sony . Il s'agit d'un cas très simple et habituellement documenté.

Disons que nous avons une télécommande Sony, et que nous pouvons voir avec exactitude la lumière émise par la LED infrarouge. Raccordons un senseur lumière quelconque (comme une simple photo-résistance/Cds) et analysons le signal reçu. Nous n'allons pas encore utiliser un décodeur comme le PNA4602 parce que nous voulons avoir un aperçu du signal brute (non décodé).

Et voici ce que l'on voit:

IR-SIGNAL-1.jpg


Nous constatons essentiellement des impulsions ou un signal infra-ouge. Les 'blocs' jaune indiquent des périodes de transmission de la LED IR tandis que les lignes jaunes indiquent des moment où la LED IR est inactive. (Note: la tension indiquée à 3VDC est correct, elle dépend de la façon dont nous avons raccordé le senseur, si nous avons remplacé la résistance pull-up par une résistance pull-down nous verrions la masse/GND).

Le premier 'bloc' semble faire 2.5ms de long (voir les curseurs et la valeur mesurée sur le côté)

Voici ce que nous voyons si l'on zoom l'un des blocs…


IR-SIGNAL-2.jpg

Vous pouvez constater qu'il ne s'agit pas vraiment d'un 'bloc' mais d'un signal pulsé très très rapidement!

Si nous continuons a zoomer…

IR-SIGNAL-3.jpg

Nous atteignons une échelle ou il est possible de mesurer la fréquence de l'impulsion IR.

Comme indiqué par la position des curseurs et la valeur affichée sur le côté, la fréquence de l'impulsion est d'approximativement 37.04KHz

Encodage (en résumé)

Maintenant nous pouvons comprendre comment le signal infrarouge est encodé.

La LED du transmetteur infrarouge est pulsée à haute fréquence (en utilisant le principe PWM - pulse width modulated), fréquence de 38KHz.

Ensuite, ce signal PWM est lui-même pulsé (activé-désactivé-activé-...) plus lentement sur des périodes de temps de l'ordre de 1 à 3 ms de long.

Pourquoi utiliser une porteuse PWM

La porteuse (carrier en anglais) à 38 KHz est utilisé pour transporter le signal codé.

Mais pourquoi ne pas simplement allumé et éteindre la LED? Pourquoi utiliser cette porteuse à 38 KHz?

Et bien, il y a plusieurs raisons à cela!

One reason is that this lets the LED cool off. IR LEDs can take up to 1 Amp (1000 milliamps!) of current. Most LEDs only take 20mA or so. This means IR LEDs are designed for high-power blasting BUT they can only take it for a few microseconds. By PWM'ing it, you let the LED cool off half the time

Another reason is that the TV will only listen to certain frequencies of PWM. So a Sony remote at 37KHz wont be able to work with a JVC DVD player that only wants say 50KHz.

Finally, the most important reason is that by pulsing a carrier wave, you reduce the affects of ambient lighting. The TV only looks for changes in light levels that clock in around 37KHz. Just like its easier for us to tell differences between audio tones than to pin down the precsise pitch of a tone (well, for most people at least)

OK so now we know the carrier frequency. Its 37KHz. Next lets find the pulse widths!

Looking back at the first scope picture

IR-SIGNAL-4.jpg

The first pulse is 2.5ms. We can use the cursors to measure the remaining pulses. I'll spare you the 12 images and let you know that the pulses are:

PWM ON OFF
2.4 ms 0.6 ms
1.2 ms 0.6 ms
0.6 ms 0.6 ms
1.2 ms 0.6 ms
0.6 ms 0.6 ms
1.2 ms 0.6 ms
0.6 ms 0.6 ms
0.6 ms 0.6 ms
1.2 ms 0.6 ms
0.6 ms 0.6 ms
0.6 ms 0.6 ms
0.6 ms 0.6 ms
0.6 ms 270 ms

So lets say you don't have a $1000 oscilloscope, how else can you read these signals? Well the IR decoder such as the PNA4602 does us one favor, it 'filters out' the 38KHz signal so that we only get the big chunks of signal in the milliscond range. This is much easier for a microcontroller to handle. Thats what we'll do in the next section!


Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.