Une pointeuse pour PC avec liaison radio ou filaire première partie Le module radio WIZ434

Avec l’avènement de la RTT, la gestion des heures travaillées est devenue un véritable casse-tête pour toutes les entreprises, qu’elles soient petites ou grandes. Le calepin, le crayon de bois et la gomme sont définitivement à bannir ! Voici une pointeuse performante mais simple d’emploi qui fonctionne couplée (par radio ou par câble) à un ordinateur. Le système utilise des badges à transpondeurs et un programme complet de gestion tournant sous Windows.


L’un des montages les plus remarquables de ceux proposés par le passé a certainement été la pointeuse à transpondeur (Une pointeuse automatique par transpondeurs '1ère partie'), c’est-à-dire cet appareil utilisé depuis longtemps par les sociétés pour enregistrer les horaires effectifs d’arrivée et de sortie de chaque membre de leur personnel, désormais en version électronique : les plaques à matricule (celles qui laissaient à penser que nous ne sommes que des numéros anonymes dans l’enfer de la production…) sont remplacées par des badges à transpondeur et l’enregistrement ne se fait plus sur papier mais sous forme de données numériques mémorisées en une banque d’EEPROM. Une interface permet de relier le système à un PC dans lequel un programme tournant en environnement Windows permet l’enregistrement des événements et la création de fichiers contenant les informations collectées pour chaque employé.



Notre montage
Aujourd’hui, nous vous en proposons une nouvelle version, sur bien des points améliorée et complétée par nombre de fonctionnalités manquant dans la première version. Ce que nous avons mis au point est toujours une pointeuse par laquelle chacun s’identifie en utilisant encore un badge à transpondeur. Est identique également l’essentiel de la structure, prévoyant une unité locale autonome, à placer au point de passage et destinée à la détection des transpondeurs comme à la mémorisation des données, ainsi qu’une interface pour transférer vers l’ordinateur les informations qu’il élabore ensuite grâce à un programme spécifique.
Les améliorations touchent essentiellement l’interconnexion entre les deux unités, prévue à l’origine seulement pour une liaison par radio et maintenant disponible en deux modalités : via radio ou via câble. Le programme de gestion pour PC a été revu aussi : le nouveau est plus fiable car il est écrit non plus en Visual Basic mais en Delphi, un langage insensible aux problèmes découlant de la présence ou non des DLL nécessaires à Windows.
Cette interconnexion présente des avancées remarquables, car avec les deux possibilités elle met en oeuvre des techniques d’avant-garde : avec l’option câble a été prévue une connexion au standard RS485, permettant de couvrir une distance pouvant aller jusqu’à la centaine de mètres, ce qui garantit une communication exempte de perturbations radioélectriques et parfaitement intelligible. Quant à la liaison radio, le système utilise désormais les nouveaux modules AUREL XTR434 sur 433,92 MHz, capables de garantir des vitesses de transfert jusqu’à 115,2 kilobauds : c’est en quelque sorte un vrai modem radio miniaturisé.
Donc, le montage que nous nous apprêtons à décrire fourmille d’innovations intéressantes, aussi bien sur le plan théorique que sur celui des applications.
Avant d’en arriver aux détails du circuit, faisons un tour d’horizon afin de présenter la nature et les fonctions de l’unité distante et de l’interface pour PC : c’est seulement dans la seconde partie de l’article que nous analyserons ensemble les schémas électriques et procéderons à la réalisation pratique.

L’unité distante
Commençons par nous pencher sur l’unité distante, constituant, du point de vue matériel, le bloc le plus complexe de la pointeuse. En effet, c’est elle qui constitue l’interface avec le personnel, recueille les informations d’entrée et de sortie, les mémorise, visualise sur afficheurs date et heure, transmet au programme de gestion du PC, quand il les demande, les données mémorisées.
Bref, elle remplit les fonctions les plus importantes et ce de manière autonome, c’est-à-dire sans être reliée à l’ordinateur lequel n’est qu’un périphérique de chargement de données.
L’organigramme de la figure 1 le montre, l’unité se compose d’un microcontrôleur gérant les communications (via radio ou câble) avec le PC, la mémorisation des données, la visualisation de tous les messages et élaborant les données provenant de deux lecteurs à transpondeur. Les lecteurs sont au nombre de deux car le premier lit les données des badges des personnes entrantes et le second des personnes sortantes : afin d’éviter toute interférence, les deux circuits sont situés aux côtés opposés du boîtier abritant l’ensemble et clairement signalés, de manière à éviter que quelqu’un ne passe deux fois son badge au même endroit.
De toute façon, si cela arrivait tout de même, le logiciel de gestion est capable de corriger l’anomalie. Chaque “passage” bien lu par l’unité est souligné par un signal acoustique : si l’opération échoue, par exemple si le transpondeur est passé trop rapidement devant la self, le signal acoustique ne retentit pas et donc l’usager se rend compte que cela n’a pas marché et qu’il doit réitérer, jusqu’à un passage correct acoustiquement signalé.
Chaque lecteur de transpondeur est réalisé selon une architecture fondée sur un circuit intégré U2270, étudié spécialement par Temic pour cette application : un microcontrôleur a pour rôle de lire les données extraites du U2270, les filtrer et vérifier qu’elles proviennent bien d’un transpondeur habilité. Le microcontrôleur s’occupe également de la signalisation acoustique de la lecture. Le U2270 produit, grâce à un VCO, une onde sinusoïdale à 125 kHz pilotant ensuite, à l’aide d’un transistor “driver”, une self à air : cette dernière produit un champ électromagnétique induisant, dans la self située à l’intérieur du transpondeur (que l’on rapproche du lecteur), une tension alternative.
Le transpondeur redresse cette tension et l’utilise pour alimenter la puce qu’il contient. Cette puce, une fois alimentée, produit son code, constitué d’une séquence d’impulsions logiques : chaque impulsion active un transistor court-circuitant la self primaire du redresseur, ce qui détermine, dans la self du lecteur, une réaction d’induit comme dans un transformateur. En effet, la self du lecteur et celle du transpondeur forment respectivement le primaire et le secondaire d’un transformateur à air (c’est-à-dire sans fer ni ferrite). La réaction détermine une variation de courant dans la self du lecteur, variation se présentant sous forme d’impulsions facilement déchiffrables par la section d’entrée du U2270. Les variations, converties en impulsions TTL, passent au microcontrôleur dont le rôle est de les mettre en signaux carrés et d’examiner les données qu’elles contiennent.
Entre autres choses, le PIC s’occupe aussi de la régulation périodique de la fréquence de travail du U2270, opération permettant de garantir le meilleur rendement du lecteur et la distance maximale de lecture. Le microcontrôleur lit la fréquence produite par le U2270 et vérifie qu’elle est bien dans la fourchette de tolérance et si ce n’est pas le cas, il modifie le potentiel appliqué à l’entrée du VCO de la puce Temic, en superposant une composante PWM redressée et lissée : si la fréquence est inférieure à 125 kHz, le PIC augmente la valeur moyenne de la tension continue, si elle est supérieure, il la réduit en intervenant sur le rapport cyclique. Le contrôle est exécuté dès la mise sous tension du circuit et périodiquement : entre deux lectures consécutives, le potentiel fourni au VCO reste celui de la dernière intervention. Chacun des deux lecteurs fonctionne de manière autonome et, quand il lit une donnée, il l’envoie au microcontrôleur principal gérant toutes les fonctions de l’unité distante, parmi lesquelles la mémorisation de la donnée en une banque de mémoire constituée de quatre EEPROM bus I2C de 256 kilobits chacune. Bien sûr, le PIC16F876/MF449 enregistre l’heure de passage d’un transpondeur en fonction du lecteur lui communiquant les données : si elles arrivent du lecteur de gauche (entrée), il mémorise le passage comme heure d’entrée et dans l’autre cas comme heure de sortie, évidemment référées à un code d’identification intrinsèque du badge qui passe.
Pour mémoriser date et heure, l’unité centrale dispose d’un module RTC (“Real Time Clock”, horloge en temps réel) maintenant l’heure et la date du système et les communiquant au PIC quand il en a besoin.
Le module est pourvu d’une batterie tampon le préservant d’une remise à zéro accidentelle due à une éventuelle coupure de courant. Le fonctionnement de l’unité distante est autonome : elle peut ainsi travailler, faire des milliers d’enregistrements, jusqu’à ce que la mémoire EEPROM de 1 Mo soit pleine. Entre-temps, l’opérateur gérant le système de recueil des données doit pourvoir périodiquement à l’acquisition des informations, hebdomadairement si la pointeuse est utilisée par une société moyenne ou mensuellement si le nombre des employés est limité à une dizaine. De toute façon, le circuit dispose d’une LED signalant que trois des quatre mémoires sont pleines. La décharge des données est indispensable car elle permet, grâce à une commande du programme de gestion sous Windows, d’effacer les enregistrements de l’EEPROM et donc de faire de la place pour les nouveaux enregistrements.
Et c’est là qu’entre en jeu l’interface de communication reliant au PC l’unité distante.
Comme le montrent les figures 4 et 5, dans l’unité distante se trouve une seconde platine effectuant la conversion des données sérielles de TTL en standard RS485 : ce standard permet le dialogue “full-duplex” à une distance jusqu’à une centaine de mètres, à condition d’utiliser un câble de données torsadé. Dans l’unité distante, il y a aussi la place pour installer l’interface radio émettrice/réceptrice WIZ434 composé d’un module AUREL XTR434 (travaillant sur 433,92 MHz) géré par un microcontrôleur déjà programmé en usine pour coordonner le flux des données.
Le microcontrôleur gère en même temps les temporisations des signaux afin d’obtenir du XTR le meilleur rendement et la plus grande vitesse de communication possible.
La communication se fait en “halfduplex”.
Le module que nous avons choisi est la version fonctionnant en 5 V et donc, une fois inséré avec le connecteur correspondant, il est alimenté directement par la platine de base. Une autre caractéristique remarquable du WIZ434 est que la section réceptrice et la section émettrice ont une antenne intégrée : il n’est donc besoin d’aucune antenne extérieure.
Si vous optez pour la liaison radio, le seul impératif à observer sera de choisir pour l’unité distante un boîtier plastique. En effet, du métal constituerait un obstacle à la propagation des ondes radio.

Figure 1 : Organigramme de la pointeuse.

Le dessin clarifie le principe de fonctionnement de notre pointeuse. Le programme de gestion réside sur un PC pouvant servir aussi à autre chose (comptabilité, etc.). Normalement le programme n’est pas actif et l’ordinateur n’occupe pas la ligne de connexion, via câble ou via radio. Les données relatives à l’entrée et à la sortie du personnel sont mémorisées dans l’unité distante, laquelle fonctionne de manière complètement autonome jusqu’à ce que nous l’interrogions. Chaque personne est munie de son propre badge avec lequel il active le lecteur à transpondeur, d’entrée ou de sortie, de l’unité distante, au début et à la fin de la plage de temps ouvrée.
Ces informations, conjointement à l’heure et à la date, sont sauvegardées dans la mémoire locale de l’unité distante. Un afficheur fournit toutes les informations de service et une LED indique quand la mémoire a atteint les 75 % de sa capacité. Pour transférer les données de l’unité distante au PC, il est possible d’utiliser la connexion par câble (nous avons prévu d’employer le standard RS485 permettant une portée d’une centaine de mètres) ou via radio (en ayant recours aux nouveaux modules de transmission de données AUREL WIZ434). Ici, la portée du système ne dépasse pas 50 à 100 mètres mais on évite un câblage qui, dans certains cas, peut s’avérer plus coûteux que l’achat des deux modules radio.

Figure 2 : Le module WIZ434.

VUE DE FACE

  1 = TX Data (IN)
2 = XTR sortie analogique (OUT)
3-4 = GND
5 = RX Data (OUT)
6 = XTR Carrier Detect (OUT)
7 = CTS non utilisé (OUT)
8 = LED
9 = RTS non utilisé (IN)
10 = 5 V continu







Nous pouvons définir le module WIZ434 AUREL un “câble virtuel” via radio. Cela permet le transfert “halfduplex” (demi-duplex) des données avec les plus grandes simplicité, rapidité et sécurité, si bien que l’on peut remplacer, comme nous l’avons fait, le câble de connexion entre les deux unités devant échanger des données.
Le circuit utilise un module émetteur-récepteur XTR434 intégré par un microcontrôleur dûment programmé, lequel s’occupe de gérer et synchroniser les flux en transit, en activant et désactivant le TX et le RX. La vitesse de transmission radio est toujours la plus grande permise par le module radio et il est possible de choisir la vitesse de transfert des données entre PC et module entre 9 600 et 115 000 bauds en agissant sur les micro-interrupteurs correspondants.
L’antenne utilisée en émission et en réception est réalisée sur le circuit imprimé du module et elle est accordée en usine pour le rendement maximum (50 à 100 mètres).

Figure 3a : La section radio.

Le coeur du module WIZ434 est l’émetteur-récepteur numérique XTR434 disponible aussi séparément. Ce dispositif offre des prestations très sophistiquées mais, selon de nombreux spécialistes, il est difficile à gérer. C’est peut-être pourquoi AUREL l’a intégré dans un module (WIZ434, justement) plus complet dans lequel la plupart des problèmes de gestion sont dévolus à un microcontrôleur ATMEL.

Figure 3b : Le protocole de communication.
Le protocole de communication WIZ434 permet l’envoi d’octets constitués de 10 bits (1 start, 8 data, 1 stop) sans contrôle de parité. Les données doivent être envoyées sous forme de paquets longs de 96 octets au plus.
Il n’est pas nécessaire d’indiquer la fin du flux par un bouchon car elle est détectée automatiquement, en fonction de la vitesse paramétrée, sur la base des données non reçues pendant une certaine durée par la section réceptrice HF du module. L’émission radio ne commence qu’après que le flux entier soit arrivé à l’entrée du module et ait été mémorisé par ce dernier. Avant l’envoi au module du paquet suivant, il est nécessaire d’attendre que le précédent ait été correctement transmis. Des données éventuelles, envoyées avant cette période, seraient irrémédiablement perdues. Le temps nécessaire à l’expédition d’un paquet se calcule avec la formule suivante :
T = 3,6 ms + (NOctet + 2) x 0,156 ms.

Le module WIZ434 passe automatiquement de réception en émission lorsqu’il y a des données en entrée. Il existe deux versions de modules, l’un alimenté en 5 V et l’autre en 12 V. Dans les deux cas, les signaux d’entrée/sortie sont au niveau TTL, pour lequel il est nécessaire d’utiliser un adaptateur de niveau si le module doit être relié à une sérielle au standard RS232.

Figure 4 : Vue intérieure de l’unité distante de la pointeuse avec liaison par radio.

L’intérieur de l’unité distante en version complète, capable de fonctionner par câble ou par radio (pas en même temps) : platine de couleur verte. Sur la platine principale sont présents les deux lecteurs à transpondeur (les selfs ne se voient pas car elles sont fixées côté cuivre, comme l’afficheur), le microcontrôleur principal, la mémoire et les étages d’alimentation. Sur la carte du bas se trouve le convertisseur RS485 avec la sortie correspondante et le module radio WIZ434.

Figure 5 : Vue intérieure de l’unité distante de la pointeuse, version simplifiée, avec liaison par fil.

Dans la version plus simple et plus économique, il n’y a pas de module radio et le système ne peut fonctionner qu’avec un câble. La photo montre l’espace vide sur la platine de communication. L’ajout du module radio peut se faire à tout moment sans avoir à effectuer la moindre modification du circuit ou du logiciel de gestion. Rappelons que l’unité distante dispose d’une horloge interne assez précise pouvant dans tous les cas être mise à jour pendant la connexion au PC.

Figure 6 : Vue de la platine (présente à l’intérieur du boîtier, voir figure 4) gérant les communications avec l’ordinateur.
A gauche le connecteur RJ45 utilisé pour les liaisons par fil et à droite la belle allure du module radio bidirectionnel WIZ434.


Figure : 7 L’ordinateur est relié au module de conversion RS232/485 d’où part le câble de liaison pour l’unité distante. Afin d’éviter l’utilisation de câble, il est nécessaire d’intégrer ce circuit avec un module radio WIZ434, visible en vert sur la photo.



Figure 8 : Le logiciel de gestion.

Ce logiciel tourne sur un PC ordinaire et dispose de toutes les fonctions nécessaires pour élaborer les données arrivant de l’unité distante jusqu’à l’obtention d’un tableau avec les heures de présence de chacun en fonction des différents jours du mois. Le logiciel, développé en Delphi, tourne sous Windows et peut fonctionner avec les versions 95, 98, Me, XP et NT. Le programme peut être subdivisé en deux parties : la gestion de l’unité distante et l’élaboration des données chargées. Les options prévues pour les deux sections permettent de contrôler facilement toutes les fonctionnalités du système. A partir du PC, il est possible de contrôler et de mettre à jour l’heure de l’unité distante, de bloquer ce dernier, d’activer la procédure de mémorisation des nouveaux badges et d’obtenir la suppression des données en mémoire.

Le dialogue avec le PC
L’unité distante est passive, en ce sens qu’elle ne transmet aucune donnée si l’ordinateur n’en demande pas.
Donc c’est l’ordinateur qui commence une session de communication, quand l’opérateur préposé au traitement des enregistrements le décide. Nous verrons dans la suite de l’article le programme pour Windows. Mais maintenant, jetons un coup d’oeil à l’interface permettant à l’ordinateur de dialoguer avec l’unité distante du système. Il s’agit, là encore, d’un circuit bivalent dont la structure prédéfinie comporte également une interface RS485 reliée à l’ordinateur à travers un double convertisseur TTL/RS232. Ce dernier est contenu dans un circuit intégré MAX232.
Pour la conversion de TTL à RS485, nous avons utilisé deux MAX485.
La ligne RS485 est bien sûr utilisée pour la liaison par câble, alors qu’avec les données de niveau TTL on pilote l’éventuel module radio permettant le dialogue avec l’unité centrale si, elle aussi, est dotée du même dispositif.
Dans la seconde partie, nous analyserons en détail les différents circuits constituant le système et nous nous occuperons de la réalisation pratique de l’unité distante et de l’interface PC. Enfin, nous présenterons le logiciel de gestion.

À suivre…

2ème Partie

1 commentaires:

  1. Merci pour l'information. Ceci est très utile. Si j'ai des problèmes avec les fichiers, j'utiliser ce site http://fr.fix4dll.com/msvcr120_dll. Il y a des instructions pour la correction.

    RépondreSupprimer

Related Posts Plugin for WordPress, Blogger...