Description des modules ----------------------- Emetteur : FS1000A ------------------ Tension d'alimentation : de 2,5 V à 12 V Courant en émission : 4 mA à 5V, 15 mA à 9V Courant au repos : 10 µA Température de fonctionnement : de -10°C à + 60°C Modulation : ASK Vitesse de transmission max : 9600 bauds Niveau d'entrée : TTL Puissance RF : 20 mW à 5V (13 dBm) 0 +--------o+ 0 : Antenne | /--\ | Pin 1 : Data | \--/ ///| Pin 2 : Vcc | | Pin 3 : Gnd +--+-+-+--+ | | | 1 2 3 L'antenne est nécessaire. Le plus facile est de souder un fil de 165 mm de long. Récepteur : XD-RF-5V -------------------- Tension d'alimentation : de 4,5V à 5,5V Courant consommé : 4mA à 5V Température de fonctionnement : de -10°C à + 60°C Sensibilité : -105 dBm Vitesse de transmission max : 4800 bauds Niveau de sortie : TTL +---------------------+ | /-\ |__| 1 : Antenne (option) | // \-/ | Pin 2 : Vcc +-o-----------+-+-+-+-+ Pin 3 : Data1 1 | | | | Pin 4 : Data2 2 3 4 5 Pin 5 : Gnd Pin 4 : Data2 (A raccorder avec Pulldown 220 ohms) L'antenne est nécessaire. Le plus facile est de souder un fil de 165 mm de long. Idéalement, ce fil doit-être positionné verticalement, et être le plus droit possible. A la grosse louche, le fait de mettre des antennes dans de bonne conditions permet de doubler la portée de la liaison. ---------------------------------------------------------------------------------------- Modulation ---------- Le type de modulation utilisée est la modulation ASK (Amplitude Shift Keying) ou en français, MDS (Modulation par Déplacement d'Amplitude). Cette modulation trouve son origine dans la transmission en morse (elle date donc du tout début de la radio). En fait, la transmission morse est appellée OOK (On Off Keying) ou en français : modulation tout-ou-rien. Et c'est un cas particulier de la modulation MDS, qui elle-même est un cas particulier de la modulation MA (Modulation d'Amplitude), AM (Amplitude Modulation) en anglais. Si en OOK, la porteuse est soit émise, soit pas, en ASK, la modulation n'est jamais complètement coupée. Ce principe est moins éfficace quand au rendement, mais permet une meilleure stabilité de la transmission, puisque le récepteur ne doit pas se "recaler" sur l'émetteur à chaque perte de signal. Pour ce qui nous occupe, l'émetteur vas transmettre une porteuse "pleine puissance" pour la transmission d'un "1", par contre, un "0" sera transmis avec une faible puissance. ---------------------------------------------------------------------------------------- Communication ------------- Comme la communication que pourra s'établir ne peut se faire que sur un seul canal matériel (un fil), la communication utilisée dans ces circuit est de type "série asynchrone". Et le mode de transmission est dit simplex, puisque la comunication ne peut s'établir que entre un émetteur (qui n'est "que" émetteur) et d'un récepteur (qui lui-aussi ne sera "que" récepteur). Le standard le plus connu pour la transmission asynchrone est le "RS232". Dans le principe, ce type de communication peut s'établir lorsque l'émetteur ET le récepteur "connaissent" la vitesse de transmission. Cette vitesse connue, il est alors possible de "fixer" des niveaux pour les "0" et les "1". Du côté de l'émetteur, le circuit "envoie" le niveau ("0" ou "1") sur chaque "top" d'une horloge interne au circuit, qui est réglée sur la vitesse de transmission "décidée" entre les deux circuits émetteurs et récepteurs. Du côté du recepteur, la lecture se fait aussi sur des "tops" d'un oscillateur interne calibré sur la fréquence de transmission. A chaque "Top", le récepteur lit le niveau de l'entrée qui est soit un "0", soit un "1". Il est important de bien comprendre que les niveau "0" ou "1" ne correspondent pas nécessairement à des niveaux "électriques". La correspondance "logique - électrique" est en fait définie dans le protocole "électrique". En général, lors de transmission, les protocoles définissent des "Start bits" qui permettent la synchronisation du récepteur sur le signal envoyé par l'émetteur. Ce qu'il faut bien comprendre içi, c'est que contrairement à ce que le vocabulaire pourrait laisser croîre, les modules radios ne "gèrent" absolument pas le protocole. En général, lorsque le terme "emetteur" est utilisé, il est sous entendu "micro-contrôleur + module radio émetteur", et pareil pour le récepteur. Les modules radio ne font que "transcrire" un état logique en modulation, et vice-versa. ---------------------------------------------------------------------------------------- Utilisation avec un micro-contrôleur ------------------------------------ L'émeteur pouvant travailler à 9600 bauds, et le récepteur à 4800 bauds, la vitesse de transmission maximale possible sera 4800 bauds. De plus, les liaisons radio étant souvent "aléatoires", il sera souvent nécessaire de choisir une vitesse de transmission plus lente. 2400, 1200 voire 600 bauds ou moins sera régulièrement la norme. La longeur de transmission d'un octet étant souvent de 11 octets en moyenne, nous aurrons donc la possibilité de transmettre 440 octets par seconde à 4800 bauds, 220 octets à 2400, etc... Il sera donc utile, lors de l'analyse de la tâche, de réduire le plus possible le nombre d'octets utilisés lors de la transmission. Nous savons qu'un protocole "asynchrone" devra-être utilisé. les différents protocoles asynchrone sont l'"RS232", l'"RS485", le "One Wire", le "Neopixel", le "CAN", l'"USB" et j'en passe.... Certains étant utilisés en tension, d'autres en courant. Mais içi, vu la vitesse très "lente", et l'utilisation en tension, seul l'"RS232" pourra-être utilisé. La transmission se faisant sur un seul fil, les fonctions de contrôle hardware tels que "Data Carrier Detect" (DCD), "Data Terminal Ready" (DTR), "Data Set Ready" (DSR), "Request To Send" (RTS) et autre "Clear To Send" (CTS) ne pourront-être utilisés. Les instructions utilisées avec les différents micro-contrôleurs que nous utilisons sont les suivantes : Pour le STAMP : SEROUT pour l'émeteur SERIN pour le récepteur Pour l'AVR avec Bascom : SEROUT pour l'émeteur SERIN pour le récepteur et pour le PICAXE : SEROUT, SERTXD pour l'émeteur SERIN, SERRXD pour le récepteur Bon, pas très original, mais je vous renvoie à la description de ces commandes pour chacun des micro-contrôleur concerné, car des différences subsistent dans la manière d'utiliser ces instructions. Notez que pour le Picaxe, des instructions comme IRIN, IROUT, RFIN, RFOUT peuvent aussi être utilisées. Comme la transmission n'est pas toujours fiable, une méthode éprouvée consiste à commencer la transmission par 2 ou 3 "U". En effet, "U" correspond au code ascii 85, ce qui en binaire donne "01010101". Et du coup, voilà un bel oscillateur carré que l'on retrouve en début de trame, et le récepteur peut alors facilement se "calibrer" sur ce flux entrant. Il suffit alors au récepteur de prendre le premier octet qui suit le dernier "U" comme étant le premier octet de la transmission proprement dite. De plus, ce système fonctionne même si le récepteur "capte" uniquement le dernier "U" Pour terminer, sachez que tout ce raisonnement peut-être tenu lors d'une transmission infra-rouge à l'aide d'une diode infra-rouge et d'un TSOPxx.