Un système TX / RX infrarouge à deux canaux

Ce système de contrôle à distance infrarouge compact pourra être utilisé à l’intérieur ou à l’extérieur pour couvrir des distances jusqu’à 15 mètres. L’émetteur est configurable pour commander jusqu’à huit récepteurs différents. La logique d’intervention des sorties, fonctionnant selon le principe d’auto-apprentissage des codes, est entièrement programmable.



Les télécommandes à infrarouges sont les plus simples car, codeur et décodeur mis à part, l’émetteur se limite à un transistor pilotant une ou plusieurs LED émettrices et le récepteur est constitué essentiellement d’une photodiode sensible aux infrarouges. Les techniques de codage/décodage mises en oeuvre sont par contre les plus modernes. L’utilité universelle d’un tel ensemble émetteur/récepteur de télécommande à deux canaux n’échappant à personne, commençons tout de suite sa description. L’émetteur, on le voit, tient dans un classique boîtier porte-clés et le récepteur, à peine deux fois plus encombrant, pourra se loger facilement là où vous en aurez besoin. Bien sûr, aucun obstacle ne devra s’interposer entre les deux LED IR d’émission et la photodiode de réception, moyennant quoi vous pouvez compter sur une portée de quinze mètres.

Les schémas électriques
L’émetteur
Celui de l’émetteur (voir figure 1) est fort simple : un microcontrôleur interfacé avec les deux touches et un transistor pilotant les deux LED IR. Le PIC est utilisé en factotum : il gère les touches grâce auxquelles l’usager envoie les commandes sur chacun des deux canaux, il produit les signaux codés correspondants puis les envoie au dispositif d’émission optique qui les adresse via l’éther au récepteur distant. Les codes sont au nombre de deux, un par canal : si on presse la touche 1 (SW1) on change l’état du relais RY1 du récepteur et si on presse la touche 2 (SW2) on affecte RY2 (par défaut). Le microcontrôleur ne se limite d’ailleurs pas à cela : le programme résident a en effet été écrit pour permettre à l’usager d’agir, avec un seul émetteur, sur (jusqu’à) huit récepteurs bicanaux. En d’autres termes, le micro de l’émetteur a en mémoire huit bases de codage (paires de codes) pouvant être appelées par une procédure très simple utilisant les deux touches servant à envoyer les commandes normales : en changeant (deux par deux puisqu’il y a deux canaux) les codes de l’émetteur suivant cette procédure simple, on peut commander successivement et séparément les (jusqu’à) huit récepteurs.
Le circuit est normalement au repos et, si aucune touche n’est pressée, il ne consomme aucun courant. Si l’on presse SW1 ou SW2 on met le micro sous tension et on sélectionne les deux codes mémorisés. ZD1 fournit le 5 V au PIC12F629 (huit broches) déjà programmé en usine. La pression d’une touche déclenche l’émission d’un flux de données codées dont les impulsions TTL sortent par la ligne GP2 pour polariser à travers R2 et LD3 la base de T1 (comme c’est un NPN, il se sature à chaque niveau logique haut et alimente avec le courant sortant de son collecteur les deux LED IR LD1 et LD2). Ces LED IR sont en série et non en parallèle pour limiter la consommation de courant. La troisième LED émet une lumière visible et s’allume à la pression d’une touche afin que l’usager sache que l’émission a bien lieu.
Le microcontrôleur de l’émetteur permet, on vient de le voir, de produire huit paires de codes différentes de façon à pouvoir le coupler à huit récepteurs qu’il commandera tour à tour par simple changement de paire de codes.
Mais comment fait le TX pour gérer toutes ces paires de canaux ? C’est simple : il charge une paire de codes à la fois au moyen d’une procédure consistant à presser et à maintenir pressées les deux touches en même temps (voir le dernier paragraphe de la figure 10).

Figure 1 : Schéma électrique de l’émetteur infrarouge à deux canaux.

Figure 2a : Schéma d’implantation des composants de l’émetteur infrarouge à deux canaux.

Figure 2b : Dessin, à l’échelle 1, du circuit imprimé de l’émetteur infrarouge à deux canaux.

Figure 3 : Photo d’un des prototypes de la platine de l’émetteur infrarouge à deux canaux.

Liste des composants de l'émetteur
R1 .... 470 Ω
R2 .... 470 Ω
R3 .... 47 Ω
R4 .... 33 kΩ
R5 .... 33 kΩ
R6 .... 33 kΩ
R7 .... 100 kΩ
R8 .... 100 kΩ
R9 .... 100 kΩ
C1 .... 100 nF multicouche
IC1 ... PIC12F629-EV162
D1 .... 1N4148
D2 .... 1N4148
ZD1 ... zener 5,1 V 1/2 W
LD1 ... LED IR (L-934F3BT)
LD2 ... LED IR (L-934F3BT)
LD3 ... LED 3 mm rouge
T1 .... BC639
SW1 ... micropoussoir
SW2 ... micropoussoir

Divers :
1 support 2 x 4
1 paire de contacts pour pile
1 boîtier plastique porte-clés


Le récepteur
Le schéma électrique du récepteur (voir figure 4) met en évidence l’utilisation d’un second PIC12F629 déjà programmé en usine employé comme décodeur : son programme résident comporte une routine spécifique capable de déchiffrer le code produit par l’émetteur. On ne voit en outre que quelques composants périphériques : le module IRx1 captant les rayons infrarouges, les deux relais permettant de contrôler les appareils utilisateurs et le régulateur VR1 produisant le 5 V stabilisé à partir de l’entrée 12 Vcc. Chaque fois que l’on pointe un émetteur vers le récepteur (la sensibilité du détecteur IR est telle cependant qu’un alignement n’est pas obligatoire : une réflexion sur un mur clair peut suffire à l’obtention de l’effet désiré) la photodiode comprise dans le module capte le signal numérique et augmente son courant de polarisation inverse à chaque pic d’émission.
Le circuit interne amplifie les variations et les met en quadrature pour obtenir les niveaux logiques qu’il peut alors acheminer vers la ligne GP3 du micro.
Après l’initialisation des E/S, le logiciel du PIC attend en boucle un changement de la condition logique de sa broche 4 : quand il se produit, c’est que le module a reçu une onde IR modulée et la subroutine de décodage peut alors commencer à analyser le signal (vérifiant d’abord qu’il a le bon format puis, en cas d’issue positive, le comparant à ceux mémorisés dans la “flash” EPROM lors de l’auto-apprentissage ou, s’il ne l’a pas, abandonnant la procédure et retournant à la phase d’attente d’une nouvelle commutation sur GP3).
La comparaison des codes prévoit avant tout la vérification de la partie fixe, soit la paire de codes évoquée plus haut à propos de l’émetteur : ceci parce que le récepteur doit tout de suite savoir si la commande reçue provient du TX auquel il est associé ou non (si non il abandonne la procédure). Si la compatibilité avec la partie fixe du code est confirmée, le micro analyse la partie variable et la compare avec celles mémorisées : si la correspondance est avérée pour au moins l’une d’elles, il met au niveau logique haut la sortie correspondant au canal concerné, en fonction du mode programmé par l’usager. Les sorties peuvent en effet travailler en impulsionnel ou en niveau (ce qui peut être choisi au moyen de la télécommande après couplage du TX et du RX. Voir figure 10, là encore, mais premier paragraphe cette fois).
En impulsionnel chaque comparaison du code avec issue positive détermine un niveau logique haut d’une seconde environ sur la ligne de sortie concernée : par exemple, si la commande reçue est celle du premier canal, GP0 passe au niveau logique 1 (5 V) et y reste une seconde, temps suffisant pour que T1, saturé, maintienne excité RY1. Si, en revanche, c’est le second canal quI est concerné, l’impulsion part de la ligne GP1 pour atteindre la base de T2 dont le collecteur alimente et excite RY2 pendant la même durée.
LD2 et LD3 en série avec bases des deux BJT jouent le rôle de témoins lumineux de fonctionnement car elles s’allument quand la sortie du PIC auquel elles sont reliées est au niveau logique 1, ce qui sature les transistors et donc indique l’état des relais. La troisième LED est utilisée par le micro différemment selon qu’il fonctionne comme décodeur ou qu’il est en phase d’autoapprentissage : dans le premier cas elle clignote lorsqu’elle reconnaît un code valide impliquant une commande de RY1 ou RY2, dans le second elle confirme l’exécution des diverses opérations (mode d’activation des sorties, couplages du TX avec les RX). Quant à la ligne GP5, elle est paramétrée comme entrée car elle sert au micro pour lire l’état du poussoir de programmation SW1 : à tout moment quand on presse ce dernier le logiciel suspend le mode décodeur et passe aux modes évoqués ci-dessus. N’oubliez pas que la pression sur l’une des touches de l’émetteur ne produit qu’un seul envoi de données : par exemple, si l’on veut faire apprendre le code d’un canal du TX, le récepteur retourne en mode normal après avoir mémorisé ce code et produit la signalisation correspondante.
Il va de soi que si l’on veut coupler les deux touches d’un émetteur il faut presser SW1, émettre, attendre la confirmation, puis presser à nouveau SW1 et continuer. Même chose pour le paramétrage du mode bistable/impulsionnel des sorties.
Si l’on presse et maintient pressée la touche alors qu’on applique l’alimentation aux points 12 Vcc, on provoque la remise à zéro de la mémoire et l’élimination de tous les codes éventuellement mémorisés. Le micro réinitialise les paramètres entrés, les deux sorties fonctionnant alors en monostable et répondant aux canaux 1 et 2 (ce que LD1 confirme par cinq éclairs rapides).
Quant à la programmation du récepteur, pour qu’il puisse recevoir une commande et actionner le relais, le dispositif doit avant tout posséder en mémoire les codes correspondant à ceux produits par l’émetteur. Ces codes sont auto-appris en pressant SW1 autant de fois que nécessaire pour que la LED du canal à configurer s’éclaire en lumière fixe. Par exemple, pour l’auto-apprentissage du premier canal, il faut presser la touche autant de fois que nécessaire pour allumer en fixe LD2 (le relais se déclenche en même temps) : il suffit alors de pointer l’émetteur vers le module du récepteur et de presser la touche à laquelle on souhaite faire correspondre le relais correspondant à LD2 (RY1). Le signal étant reçu et le code appris, la LED s’éteint, RY1 se relaxe et LD1 lance un éclair de confirmation. Même chose pour le second canal : presser sur SW1 pour faire s’allumer LD3 (et déclencher RY2) et pointer le TX vers le module du RX, puis presser la touche à laquelle on veut faire correspondre le canal 2 et un éclair de LD1 confirmera la réussite de l’opération (LD3 s’éteindra et RY2 se relaxera). Il est bien sûr possible de changer à tout moment la correspondance entre les touches de l’émetteur et les relais du récepteur : pour cela il suffit de presser le SW1 de ce dernier et de procéder à un nouveau couplage (voir figure 10, paragraphes 2 et 3).
Le mode de fonctionnement des relais peut être paramétré individuellement en impulsionnel ou en niveau : ceci grâce à SW1 encore. Maintenez-le pressé pendant une émission : à la première émission le canal correspondant à la touche pressée passe du mode impulsionnel au mode bistable (confirmation par LD1 qui émet deux éclairs), puis une autre pression sur cette même touche et on repasse au mode impulsionnel (confirmation par un seul éclair de LD1).
Donc, à chaque tentative de modification on inverse le mode d’activation du relais (voir figure 10, paragraphe 1).

Figure 4 : Schéma électrique du récepteur infrarouge à deux canaux.

Figure 5a : Schéma d’implantation des composants du récepteur infrarouge à deux canaux.

Figure 5b : Dessin, à l’échelle 1, du circuit imprimé du récepteur infrarouge à deux canaux.

Figure 6 : Photo d’un des prototypes de la platine du récepteur infrarouge à deux canaux.

Liste des composants du récepteur
R1 .... 560 Ω
R2 .... 560 Ω
R3 .... 560 Ω
R4 .... 47 kΩ
R5 .... 47 kΩ
R6 .... 47 kΩ
R7 .... 47 kΩ
C1 .... 100 μF 25 V électrolytique
C2 .... 100 nF multicouche
C3 .... 100 nF multicouche
IC1 ... PIC12F629-EV161
VR1 ... 7805
D1 .... 1N4007
D2 .... 1N4148
D3 .... 1N4148
LD1 ... LED 3 mm rouge
LD2 ... LED 3 mm rouge
LD3 ... LED 3 mm rouge
T1 .... BC547
T2 .... BC547
IRx1 .. IR38DM
SW1 ... micropoussoir
RY1 ... relais 12 Vcc miniature
RY2 ... relais 12 Vcc miniature
Toutes les résistances sont des 1/4 W 5 %

Divers :
1 support 2 x 4
3 borniers à 2 pôles


La réalisation pratique
La réalisation pratique de ce système émetteur/récepteur IR ne comporte aucune difficulté particulière.
Deux platines, bien sûr, une pour le très petit émetteur et une guère plus grande pour le récepteur : les deux circuits imprimés sont des simple face, les figures 2b (TX) et 5b (RX) en donnent les dessins à l’échelle 1. Insérez et soudez tous les composants en commençant par les deux supports de PIC (un par platine) et en terminant par les contacts de pile (TX) et les borniers d’entrée et de sorties (RX), pour cela aidez-vous respectivement des figures 2a et 3 et 5a et 6.
Installez ensuite la petite platine émettrice (avec sa pile) dans son minuscule boîtier plastique porte-clés (photo de début d’article) et la platine du récepteur à l’intérieur de l’appareil à commander, dans un boîtier mural ou dans un boîtier plastique propre de dimensions adéquates à placer près du dispositif à contrôler. Le récepteur est à alimenter en 12 Vcc (courant entre 150 et 200 mA) et ses deux sorties, configurées à votre convenance ou laissées telles quelles (par défaut) sont à relier aux appareils à commander.
Attention : le module récepteur ne doit pas être éclairé directement par une lumière (par exemple un lustre ou un spot) sous peine de diminuer notablement la portée du système.

Figure 7 : Connexions et signalisation.

1) LED de signalisation sortie 2.
2) LED de signalisation sortie 1.
3) LED de signalisation porteuse IR.
4) Module récepteur infrarouge IR38DM.
5) Poussoir de programmation.
6) Bornier d’alimentation.
7) Bornier sortie canal 1.
8) Bornier sortie canal 2.


Figure 8 : Brochage de deux des circuits intégrés utilisés. À gauche, le PIC12F629 et à droite le IR38DM.

Figure 9 : Contrôle des charges de puissance.

Les relais du récepteur sont utilisés comme de simples interrupteurs et donc, sur les borniers correspondants, arrivent exclusivement les contacts NO (normalement ouvert) et C (commun) : vous pouvez par conséquent les utiliser pour ouvrir ou fermer des circuits d’alimentation de lampes, moteurs électriques, circuits électriques et électroniques, enroulement de relais, ou d’éventuels servorelais, mais pas pour la commutation. Pour tous les emplois, les limites sont celles des composants utilisés : comme nous avons choisi des relais 3 A sous 120 VAC, le récepteur peut gérer des charges basse tension (jusqu’à 120 VCC ou CA) consommant jusqu’à 3 A. Si la charge à contrôler fonctionne sous une tension plus élevée (secteur 230 V par exemple) ou consomme davantage, il est nécessaire de monter un servorelais dont les caractéristiques seront adaptées à vos besoins. Le schéma est celui d’un circuit de puissance simple utilisant un servorelais en mesure de contrôler des charges secteur 230 V.

Figure 10 : Paramétrage du TX et du RX.

L’émetteur et le récepteur ont bien sûr des codes par défaut qui se correspondent !
Par conséquent, si on presse la touche 1 du TX porte-clés, on active le canal 1 du RX (pratique, non ?) et de même avec la touche 2 pour le canal 2. Dans les deux cas le système fonctionne en mode impulsionnel (la sortie du récepteur reste activée tant que la touche du TX reste appuyée). Pour modifier ce fonctionnement, il faut procéder comme suit :
Fonctionnement impulsionnel ou bistable
Pour modifier le mode de fonctionnement du premier canal, pressez et maintenez pressé le poussoir de programmation du récepteur puis pressez une ou plusieurs fois la première touche de l’émetteur. À chaque pression sur cette touche LD1 clignote une fois puis deux, puis encore une fois et ainsi de suite. Relâchez le poussoir de programmation dès que la LED a clignoté une fois : le canal correspondant fonctionnera de manière impulsionnelle ; si vous le relâchez après deux clignotements, il fonctionnera en mode bistable. Le second canal sera réglé de la même façon.
Appendre un code différent
Les émetteurs peuvent produire des codes différents de celui par défaut (voir ci après comment modifier le code de l’émetteur) afin de permettre à plusieurs systèmes de travailler dans un même lieu. Pour apprendre des codes différents, il est nécessaire de procéder comme suit : pressez plusieurs fois le poussoir de programmation jusqu’à ce que la LED du canal qui vous intéresse s’allume. Avec le poussoir PROG relâché et la LED allumée, pressez brièvement la touche du canal de l’émetteur : LD1 clignote, brièvement elle aussi, confirmant la mémorisation du code et tout de suite après les LED reviennent au repos. Pour vérifier que le code a été appris correctement, il suffit de presser la touche de l’émetteur.
Le second canal sera réglé, si nécessaire, de la même façon.
Retour aux paramètres par défaut
Si vous voulez revenir au fonctionnement et aux codes par défaut, il suffit de couper l’alimentation du circuit, de presser le poussoir de programmation et de rétablir l’alimentation du récepteur : après quelques instants LD1 clignote cinq fois pour signifier le retour aux conditions de départ (dites “par défaut”)
Modification des codes de l’émetteur
Chaque émetteur est en mesure de produire seize codes différents attribués deux par deux aux deux touches du TX. Par défaut, le code 1 est donné à la touche 1 et le code 2 à la touche 2, mais il est possible, par exemple, de leur donner les codes 5 et 6 ou bien 13 et 14 et ainsi de suite. Pour changer les codes de l’émetteur, il suffit de presser et maintenir pressées en même temps les deux touches : après cinq secondes environ la LD3 du TX commence à clignoter rapidement avec des pauses d’environ 1,5 seconde. Chaque série d’éclairs correspond au numéro d’ordre de la paire de codes : quand on relâche les deux touches après la première série d’éclairs on leur attribue les codes 1 et 2 ; après la deuxième série d’éclairs on leur attribue les codes 3 et 4 jusqu’à la dernière série d’éclairs (codes 15 et 16 attribués).

Un contrôleur pour moteurs pas à pas

Ce contrôleur pour moteurs pas à pas, permettant de piloter des moteurs unipolaires ou bipolaires, dispose d’une ligne bus I2C gérant le moteur, au moyen d’une interface externe, par voie logicielle et PC. Il est possible en outre d’effectuer un contrôle manuel grâce à deux poussoirs permettant de modifier la position de l’axe du moteur.



Les moteurs pas à pas ont des caractéristiques qui en font le choix idéal pour toutes les applications réclamant une précision élevée de déplacement angulaire et de vitesse de rotation d’un axe. Parmi les avantages de ce type de moteur, rappelons la possibilité de réalisation d’actions de précision contrôlées par ordinateur ou par microcontrôleur, sans devoir utiliser d’autre capteur de position ou de vitesse. Les autres caractéristiques importantes de ces moteurs sont leur robustesse mécanique et électrique élevée due à leur mode de fabrication, la facilité avec laquelle on peut faire faire à l’axe de petites rotations (dans un sens ou dans l’autre) et de le bloquer dans une position déterminée. Leur unique gros défaut est probablement la nécessité, pour les piloter, de mettre en oeuvre des circuits électroniques externes, généralement de type numérique.

Notre réalisation
Dans cet article nous verrons ensemble comment réaliser un contrôleur pour ce type de moteur. Les moteurs pas à pas ont comme caractéristique principale de pouvoir maintenir l’arbre moteur arrêté sur une position précise et définie : en effet, si on les alimente avec un courant constant ils se bornent à se bloquer dans une position angulaire.
Pour obtenir la rotation, il est nécessaire d’envoyer aux “phases” constituant le moteur une série d’impulsions de courant suivant une séquence déterminée, de façon à déplacer par pas successifs la position d’équilibre.
Il existe deux catégories différentes de moteurs se distinguant par le mode de commande : les moteurs bipolaires se caractérisent par deux phases et présentent généralement à l’extérieur deux paires de fils et les moteurs unipolaires à quatre phases présentant une inter face externe de cinq fils.

Le pilotage des moteurs unipolaires
Pour piloter des moteurs unipolaires il faut quatre interrupteurs (réalisables avec quatre transistors) faisant passer le courant dans les quatre phases suivant un ordre déterminé (voir figure 1).
En faisant circuler un courant dans une seule phase, le moteur reste bloqué dans une position d’équilibre, en revanche si l’on change (suivant une séquence particulière) la phase dans laquelle passe le courant, il est possible d’obtenir la rotation (dans les deux sens) de l’arbre moteur.

Figure 1 : Pilotage des moteurs unipolaires.

Schéma de la logique de contrôle d’un moteur unipolaire : la rotation de l’axe est obtenue en changeant, suivant une séquence précise, la phase F1 à F4 de circulation du courant. Pour cela notre circuit utilise quatre transistors T1 à T4 fonctionnant comme interrupteurs. Si nous faisons circuler le courant dans une unique phase, l’axe reste bloqué dans la même position.

Le pilotage des moteurs bipolaires
Les moteurs bipolaires se caractérisent par les quatre fils de connexion pour deux phases seulement : c’est pourquoi leur pilotage est légèrement plus complexe, en effet, le courant doit pouvoir traverser les deux phases dans les deux sens et par conséquent le circuit de pilotage est plus compliqué par rapport à celui d’un moteur unipolaire.
On utilise alors la configuration dite à “pont en H” (voir figure 2) qui, comme on le voit, est constituée de 8 transistors. Pour faire circuler le courant dans une phase, les deux paires de transistors placées en diagonales (par exemple, pour la phase F1, T6 et T11 pour le passage du courant dans un sens, T7 et T10 pour le passage du courant dans l’autre).
Dans ce cas également, pour obtenir la rotation de l’axe il est nécessaire de faire passer le courant (dans un sens comme dans l’autre) dans les phases F1 et F2, suivant une séquence déterminée.
Sachez que les circuits que nous venons de voir ne sont que des schémas de principe utiles pour comprendre la logique de pilotage d’un moteur pas à pas, en fait, afin d’éviter d’endommager les transistors, il est nécessaire d’insérer au moins une diode dite de “recirculation”. Il est en outre indispensable d’intégrer dans le schéma un circuit numérique spécialisé ou un microcontrôleur capable de commander l’activation et la désactivation des transistors utilisés.

Figure 2 : Pilotage des moteurs bipolaires.

Schéma de la logique de contrôle d’un moteur bipolaire : la rotation de l’axe du moteur est obtenue en faisant circuler, suivant une séquence précise, le courant (aussi bien dans un sens que dans le sens opposé) dans les deux phases F1 et F2. Pour cela on utilise une configuration dite “pont en H” composé de notre platine à huit transistors.

La carte d’interface pour moteur pas à pas
Voyons à présent comment fonctionne le contrôleur proposé dans cet article.
La carte est en mesure de fonctionner avec un moteur unipolaire aussi bien qu’avec un moteur bipolaire (la sélection entre les deux types se fait à l’aide d’un cavalier ou “strap”). En plus deux modes sont disponibles (“half” et “full step”), se différenciant par la vitesse de rotation et par la précision du mouvement.
Le circuit dispose de deux poussoirs (“step” et “half/full”) : le premier est utilisé pour commander le mouvement du moteur, le second sélectionne en revanche le mode de fonctionnement.
En outre, si l’on presse en même temps les deux poussoirs, il est possible de changer le sens de rotation de l’axe.
Le circuit dispose d’un connecteur de type bus I2C permettant de le relier à notre Carte d’interface pour ordinateur K8000 (ELM 59 p.46). Ainsi, en utilisant un logiciel téléchargeable sur le site www.velleman.be il est possible de contrôler le moteur directement par PC. Avec cette application des programmes vous sont aussi fournis à titre d’exemple, accompagnés d’une documentation permettant d’apprendre à gérer le contrôleur à travers les différents langages de programmation : Turbo Pascal pour Dos, QBasic et Visual Basic.

Le schéma électrique
On le trouve figure 3 : le coeur du système est bien entendu le microcontrôleur IC4 PIC16C54-EV8005, déjà programmé en usine, s’occupant de produire les formes d’onde et les impulsions nécessaires à la commande des transistors contrôlant le passage du courant dans les phases du moteur. Le PIC est directement relié aux poussoirs “step” et “half/full” (respectivement touches SW1 et SW2 connectées aux broches 2 et 1 du microcontrôleur) et, selon la pression que l’on exerce sur eux, il produit de façon différente les impulsions de courant. En outre, le microcontrôleur gère la communication avec l’extérieur à travers le bus I2C (broches 17 et 18).
Si nous analysons l’étage final de pilotage du moteur, il est possible de voir la fameuse configuration à “pont en H” évoquée en introduction : elle se compose des transistors T1, T2, T5 à T8, T11 et T12. En outre, on aperçoit les diodes de recirculation D9 à D16.
Cela aussi nous l’avons dit en introduction, la carte peut fonctionner avec des moteurs unipolaires comme avec des moteurs bipolaires.
La sélection de l’un ou l’autre type de moteur se fait par le cavalier JU (ouvert pour un moteur bipolaire et fermé pour un unipolaire). En ef fet, quand JU est fermé, à travers les portes NAND N11 à N14, les transistors T2, T6, T8 et T12 sont “déshabilités” et donc le circuit est mis en configuration unipolaire.
Dans le schéma électrique on a également le dip-switch SW3 à quatre micro-interrupteurs (A0 à A3) : en effet, dans l’article concernant la Carte d’interface pour ordinateur K8000, nous avions souligné qu’il était possible de lui relier plusieurs cartes, chacune étant identifiée par un code propre de quatre bits, eh bien grâce à SW3 il est possible d’identifier le Contrôleur pour moteur pas à pas EV8005 que nous allons construire. La gestion de la lecture du code et celle de l’identification se font directement par le microcontrôleur.

Figure 3 : Schéma électrique du contrôleur.

Figure 4a : Schéma d’implantation des composants du contrôleur.

Figure 4b : Dessin, à l’échelle 1, du circuit imprimé du contrôleur.

Figure 5 : Photo d’un des prototypes de la platine du contrôleur.

Liste des composants
R1 ................... 680 Ω
R2 ................... 270 Ω
R3 ................... 1,8 kΩ
R4 ................... 5,6 kΩ
R5 ................... 5,6 kΩ
R6 ................... 270 Ω
R7 ................... 1,8 kΩ
R8 ................... 680 Ω
R9 ................... 680 Ω
R10 .................. 5,6 kΩ
R11 .................. 270 Ω
R12 .................. 1,8 kΩ
R13 .................. 5,6 kΩ
R14 .................. 270 Ω
R15 .................. 1,8 kΩ
R16 .................. 5,6 kΩ
R17 .................. 680 Ω
R18 .................. 5,6 kΩ
R19 .................. 5,6 kΩ
R20 .................. 5,6 kΩ
R21 .................. 5,6 kΩ
R22 .................. 10 kΩ
R23 .................. 100 kΩ
R24 .................. 100 kΩ
R25 .................. 5,6 kΩ
R26 .................. 5,6 kΩ
R27 .................. 300 Ω
R28 .................. 1 kΩ
R29 .................. 1 kΩ
R30 .................. 3,3 Ω 1 W
R31 .................. 3,3 Ω 1 W
C1 ................... 100 nF multicouche
C2 ................... 100 nF multicouche
C3 ................... 18 pF céramique
C4 ................... 18 pF céramique
C5 ................... 10 μF 35 V électrolytique
C6 ................... 10 μF 35 V électrolytique
C7 ................... 2200 μF 35 V électrolytique
D1 ................... 1N4148
D2 ................... 1N4148
D3 ................... 1N4148
D4 ................... 1N4148
D5 ................... 1N4148
D6 ................... 1N4148
D7 ................... 1N4148
D8 ................... 1N4148
D9 ................... 1N4007
D10 .................. 1N4007
D11 .................. 1N4007
D12 .................. 1N4007
D13 .................. 1N4007
D14 .................. 1N4007
D15 .................. 1N4007
D16 .................. 1N4007
D17 .................. 1N4007
D18 .................. 1N4007
D19 .................. 1N4007
D20 .................. 1N4007
D21 .................. 1N4148
LD1 .................. LED 5 mm rouge
T1 ................... BC640
T2 ................... BC639
T3 ................... BC549
T4 ................... BC549
T5 ................... BC640
T6 ................... BC639
T7 ................... BC640
T8 ................... BC639
T9 ................... BC549
T10 .................. BC549
T11 .................. BC640
T12 .................. BC639
X1 ................... quartz 20 MHz
IC1 .................. 7408
IC2 .................. 7408
IC3 .................. 7404
IC4 .................. PIC16C54-EV8005 déjà programmé en usine
VR1 .................. 7805
SW1 .................. micropoussoir
SW2 .................. micropoussoir
SW3 .................. dip-switch à quatre microinterrupteurs

Divers :
2 .................... borniers à deux pôles
2 .................... borniers à trois pôles
3 .................... supports 2 x 7
1 .................... support 2 x 9
1 .................... barrette mâle à cinq pôles
1 .................... barrette mâle à dix pôles
1 .................... moteur unipolaire 12 VDC
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.


La réalisation pratique
Une fois qu’on a réalisé le circuit imprimé simple face (la figure 4b en donne le dessin à l’échelle 1), ou qu’on se l’est procuré, on monte tous les composants dans un certain ordre en regardant fréquemment les figures 4a et 5 et la liste des composants. Alors, leur insertion et leur soudure ne posent pas de problèmes particuliers.
Montez d’abord les quatre supports des circuits intégrés ainsi que le dipswitch SW3 à quatre micro-interrupteurs (chiffres en bas) : ensuite, vérifiez bien les soudures (ni court-circuit entre pistes et pastilles, ni soudure froide collée) en prenant votre temps.
Montez les nombreux “straps” filaires, en utilisant des queues de composants que vous auriez conservées ou du fil de cuivre étamé nu (en traits noirs sur la figure 4a).
Montez toutes les résistances sans les intervertir (classez-les au préalable par valeurs et par puissance, R30 et R31 sont des 1 W).
Montez ensuite les diodes D1 à D8 et D21 1N4148 (en verre), bagues noires repère-détrompeurs orientées comme le montre la figure 4a. Puis les diodes D9 à D20 1N4007, bagues blanches repère-détrompeurs orientées comme le montre la figure 4a.
Montez la LED rouge en respectant bien sa polarité (la patte la plus longue est l’anode +).
Montez tous les condensateurs en respectant bien la polarité des électrolytiques (la patte la plus longue est le +). Montez les deux poussoirs SW1 et SW2, le quartz debout et bien enfoncé et le régulateur de tension VR1 7805 debout sans dissipateur et semelle métallique vers C1/C2.
Montez tous les transistors plastiques demi-lune en les triant au préalable par type (attention : ils se ressemblent tous et il est très facile de les confondre !), orientez leurs méplats repère-détrompeurs dans le bon sens montré par la figure 4a.
Avant de poursuivre, vérifiez bien que vous n’avez commis aucune erreur.
Montez ou ne montez pas le cavalier JU (un simple “strap” filaire suffit) selon que vous voulez utiliser un moteur unipolaire ou bipolaire.
Montez les deux borniers à cinq pôles (ou 3 + 2) à gauche de la carte et, entre eux, la barrette mâle à cinq pôles. Montez enfin, en haut de la carte, la barrette mâle à dix pôles.
Vous pouvez alors enfoncer délicatement les circuits intégrés IC1 et IC2 7408, IC3 7404 (ne les confondez pas !) et IC4 PIC dans leurs supports en orientant bien leurs repère-détrompeurs en U dans le sens indiqué par la figure 4a, soit tous vers l’intérieur de la carte.
Toutes les soudures ayant été une ultime fois vérifiées (et pourquoi pas nettoyées avec un solvant pour flux décapant), reliez le moteur au connecteur SK2 barrette à cinq pôles mâles. En fait deux connecteurs sont disponibles : le premier, SK2, à gauche, à cinq pôles, est pour un moteur unipolaire 12 VDC et le second, SK1, en haut, à dix pôles, pour d’autres types de moteurs.

Figure 6 : Liaison du contrôleur à la platine d’interface pour PC K8000.

Le Contrôleur pour moteurs pas à pas EV8005 présenté dans cet article peut être relié à notre Carte d’inter face pour ordinateur K8000 (ELM 59 p.46). Ainsi, il est possible de contrôler le moteur directement par voie logicielle avec un ordinateur : on peut connecter jusqu’à seize dispositifs, chacun devant être identifié par un code univoque à quatre bits sélectionnable par le dip-switch SW3. La liaison entre les deux cartes se fait par une ligne bus I2C (constituée de deux fils) plus un câble de masse.

Les essais et l’utilisation
Carte terminée et moteur relié, nous pouvons effectuer les premiers essais. Le premier est en mode manuel, sans relier la Carte d’interface pour PC K8000 : reliez le connecteur SK2, si ce n’est déjà fait, au moteur unipolaire à piloter et branchez aux bornes AC AC la tension d’alimentation (+12V alternatif ou continu). LD1 s’allume pour indiquer que la section d’alimentation fonctionne bien.
Pressez la touche “step” : le moteur exécute des rotations, pour plus de précision dans le positionnement, à chaque pression correspond une rotation angulaire de 0,9° environ.
C’est pourquoi il peut être difficile d’apprécier à l’oeil un de ces pas (“step”), pour plus de visibilité, maintenez pressée la touche de façon à obtenir une rotation continue.
Ensuite, pressez la touche “half/full” de manière à changer de mode de fonctionnement (le “half mode” correspond à une rotation plus précise mais plus lente, le “full mode” à une rotation plus rapide mais moins précise).
Avec la touche “step”, commandez des rotations et vérifiez qu’effectivement le mode change.
Enfin, essayez de presser en même temps les deux touches : ainsi, le sens de rotation s’inverse (vérifiez-le en maintenant pressée la touche “step”).
Si tous ces tests vous donnent satisfaction, essayez de relier la Carte d’interface pour PC K8000 et de tester le pilotage du moteur par voie logicielle avec votre ordinateur.
Tout d’abord, reliez les deux cartes : pour ce faire, il vous faut trois câbles à monter entre les bornes GND, SCL et SDA des deux cartes.
Ensuite, agissez sur le dip-switch SW3 du Contrôleur pour moteur pas à pas de façon à paramétrer le code univoque à quatre bits identifiant chacun des seize dispositifs qu’il est possible d’utiliser. Avec un câble parallèle, reliez la Carte d’interface pour PC à l’ordinateur et sur le site www.velleman.be téléchargez le logiciel disponible.
Exécutez le programme install.exe afin d’installer le pack sur votre système : un nouvel onglet nommé EV8005 et contenant certains programmes de test pour Windows ou DOS sera créé.
Les deux versions sont simples et intuitives à utiliser : il suffit de suivre les instructions données à l’écran.
On l’a vu, avec le logiciel sont installés aussi les codes sources (disponibles en Turbo Pascal pour DOS, QBasic et Visual Basic) ainsi que la documentation de certains programmes démo montrant comment commander par voie logicielle le moteur pas à pas relié au Contrôleur.

Un clavier de six touches à effleurement

Ce pavé de six poussoirs à effleurement est doté de six sorties à relais pouvant fonctionner en mode impulsionnel ou en mode bistable.
Chaque touche détecte la variation de capacité due au contact ou à la proximité immédiate d’un doigt et, si elle est activée, une LED située à l’arrière s’allume pour confirmer le déclenchement.



Caractéristiques techniques
- Alimentation : 12 VDC 200 mA
- Six interrupteurs à effleurement complètement indépendants utilisant le principe de transfert de charge
- Six sorties à relais
- Système de contrôle d’erreur AKS (“Adjacent Key Suppression”)
- Paramétrage des sorties : monostable (10 s, 60 s, illimité), bistable
- Autocalibration des capteurs.

Pour réaliser un clavier de commande d’une installation domotique (ouverture de portail, allumage/extinction d’éclairage ou de chauffage/climatisation, etc.) la solution la plus élégante consiste à remplacer les classiques interrupteurs à levier par un clavier à effleurement : chaque touche reçoit la commande dès qu’on l’effleure du doigt ou même dès qu’on l’approche. Les avantages en sont la grande sensibilité et l’absence de pièce en mouvement (aucune usure et donc très grande longévité).
Ce dispositif est basé sur la variation de la quantité de charge sur une électrode et aujourd’hui il ne fonctionne plus avec des transistors mais au moyen de la nouvelle puce QT160 de Quantum.
Le montage que cet ar ticle vous propose de réaliser est une application de ce circuit intégré : il se fonde sur une interface à transfert de charge électrique et un discriminateur capable de vérifier si cette charge a été prélevée sur un condensateur adéquatement chargé. L’étage d’entrée applique initialement un potentiel à l’électrode reliée à la broche SNSA puis, la partie réceptrice étant bien ajustée, il attend que la charge déposée sur C5 et donc sur l’électrode soit prélevée, ce qui ne peut arriver que si quelque chose ferme, directement ou au moyen d’un diélectrique, la broche SNSA vers la terre. Précisons que l’électrode est la première armature d’un condensateur dont la seconde est la terre : tout ce qui peut s’interposer entre les deux constitue un diélectrique. Le condensateur virtuel peut être déchargé quand on touche l’électrode d’entrée directement avec le doigt ou bien, si l’électrode est protégée par une membrane isolante (pas trop épaisse toutefois), quand on touche cette dernière : dans les deux cas la charge est transférée vers la terre (dans le second cas la membrane constitue un diélectrique). L’air est également un diélectrique et donc le capteur Quantum peut être excité même si l’on se contente d’approcher le doigt sans contact : dans ce cas une certaine quantité de charge électrique est prélevée, inversement proportionnelle à la distance et directement proportionnelle aux surfaces en présence (électrode et doigt).
Chacune des sections du QT160 fonctionne exactement ainsi : après chaque mise sous tension et à la suite de chaque contact détecté (le délai étant écoulé), l’étage d’entrée se calibre automatiquement (c’est-à-dire qu’il s’adapte à la condition trouvée). Si quelque chose a changé dans les conditions de travail, cela lui permet d’évaluer, après un nouveau contact, quel est le seuil à partir duquel déclencher la sortie correspondante.
Durant la calibration, chaque étage du QT160 prépare une certaine quantité de charge à appliquer au condensateur externe (relié entre les broches SNSA et SNSB) afin de maintenir l’entrée du détecteur à un niveau supérieur au seuil de déclenchement : la quantité de charge cédée dépend de l’isolation de l’électrode et de ses dimensions (plus grande est l’électrode, ou plus l’air ambiant est humide, plus importante est la quantité de charge devant être cédée). Du fait que le circuit intégré se calibre automatiquement, chaque section s’adapte à d’éventuelles différences d’isolation ou de géométrie du capteur (le système est donc complètement autonome et capable de se gérer tout seul sans que l’on ait à inter venir même pour un réglage).
Après chaque calibration le circuit est au repos et attend qu’un corps posé sur le sol s’approche suffisamment de l’électrode-capteur : l’étage d’entrée (avec son seuil) se déclenche alors, ce qui active la sortie selon le mode défini lors du paramétrage préalable (état logique des broches 24 et 25).

Le schéma électrique
Le schéma électrique de la figure 1 nous montre que le QT160 met en oeuvre ses six plaquettes détectrices (c’est-à-dire le maximum), avec six relais pour les six sorties (leurs états sont signalés par autant de LED). Ce sont ces dernières, associées à un façonnage un peu particulier du circuit imprimé du clavier proprement dit, qui permettent de voir la touche s’illuminer dès qu’un doigt l’effleure (solution élégante… et étanche). L’appareil est constitué de deux circuits imprimés : l’un contient le QT160, l’alimentation, les LED et les relais et les pastilles de l’autre constituent les contactscapteurs (ce dernier est un double face, avec plans de masse et six couronnes cuivrées, ce qui a permis d’éviter toute inter férence entre une touche et l’autre lors d’une commande).
Voir figures 2 et 3.
Le circuit intégré est alimenté en 5 V stabilisé par le régulateur U1 7805 (filtré par C3 et C4) à partir du 12 V d’entrée. En aval de la cathode de D1 (protégeant le circuit de toute inversion malencontreuse de polarité) le 12 V filtré par C1 et C2 alimente les enroulements des six relais et les LED. Chaque section du QT160 travaille dans la configuration classique conseillée par le constructeur : une résistance de 1 k en série avec l’électrode-capteur et un condensateur de 47 nF externe (cédant ensuite, à travers l’électrode, la quantité de charge emmagasinée) permettent d’attaquer le pilote interne.
La sensibilité est réglée par la capacité de ces condensateurs (plus grande est leur capacité, plus sensibles sont les entrées et vice versa).
À la suite de chaque détection (par proximité ou contact) la sortie correspondante (broche 18 pour le premier canal, 19 pour le deuxième… et 23 pour le dernier) prend le niveau logique haut et le garde selon le mode défini par les broches OPT1 et OPT2.
Pour comprendre la relation entre détection et comportement de chaque sortie, revenons à la calibration automatique pendant le fonctionnement : elle sert à adapter dynamiquement un capteur aux éventuelles variations des conditions de travail. Par exemple, si l’accumulation d’une certaine quantité d’humidité modifiait les caractéristiques diélectriques d’un contact au point de provoquer un déclenchement inopiné, l’entrée correspondante resterait toujours activée et un toucher du doigt n’aurait aucun effet : en revanche, grâce à la calibration automatique, le circuit peut “prendre conscience” (!) des changements de conditions intervenus et “savoir” (!) qu’il ne doit pas considérer les nouvelles conditions comme devant déclencher le relais de sortie.
Bien sûr, cela ne doit pas se produire chaque fois que le capteur est activé, sinon en peu de temps il deviendrait inutilisable : songez, en effet, à ce qui se passerait si, après le deuxième effleurement d’une touche, le QT160 se disposait à considérer le premier contact comme condition de repos… il ne répondrait plus !
C’est pourquoi les concepteurs (de chez Quantum) ont imposé un délai, c’est-à-dire une durée maximale pendant laquelle chacune des six touches peut être activée l’une après l’autre : le délai écoulé, si une section est encore déclenchée, cela veut dire qu’une anomalie s’est produite et donc le capteur correspondant doit reconsidérer ses propres conditions de fonctionnement, c’est-à-dire se régler à nouveau en prenant comme normale la situation qui l’a excité pendant une durée prolongée.
Pratiquement, il redétermine son seuil en se basant sur la moyenne des lectures de la charge au cours de la période suivant le délai. Si ensuite le contact est nettoyé (pavé de touches séché), une nouvelle calibration a lieu et tout redevient comme avant.
Pour plus de latitude d’utilisation, Quantum donne une marge pour fixer le délai : le paramétrage de l’état logique des broches 24 et 25 permet de choisir entre 10 et 60 secondes de délai ou alors de faire qu’il n’y ait aucun délai et d’empêcher de ce fait que le circuit ne se calibre automatiquement pendant le fonctionnement.
L’activité des sorties est étroitement corrélée au système de recalibration, comme le montre la figure 4 : trois modes possibles. Le premier, monostable, prévoit que la sortie soit au niveau logique haut pendant la durée du contact (proximité ou effleurement) du doigt avec l’électrode, sans dépasser cependant le délai : quand le délai est écoulé, la recalibration a lieu et la sor tie retourne au zéro logique.
Ce mode, dit DC-out monostable, prévoit deux durées de délai sélectionnables au moyen des broches OPT1 et OPT2 : dix secondes en fermant J2 à la masse (broche 24 au zéro logique) et J1 à 5 V (broche 25 au niveau logique 1) ; une minute si la broche 25 est au zéro logique et la 24 au niveau logique 1.
Le deuxième mode prévoit en revanche que la sortie reste inconditionnellement active pendant toute la durée de la détection de la proximité ou du toucher du doigt : aucun délai n’est à considérer et, pour cette raison, le circuit ne peut se recalibrer ni s’adapter à aucune situation (il se règle automatiquement à la mise sous tension et, jusqu’à l’extinction, les six sections fonctionnent avec la sensibilité paramétrée au moment de la mise sous tension).
En mode monostable le dépassement du délai met immédiatement la sortie du capteur au niveau logique bas, ce qui le désactive jusqu’à ce que la recalibration soit effectuée. Enfin, le mode “toggle” ou bistable, est paramétrable en mettant les broches 24 et 25 au niveau logique haut : là, une sortie change d’état chaque fois que la touche correspondante est effleurée ou approchée par le doigt. Dans ce mode, la recalibration est active et le délai est fixe (10 secondes). Cette durée écoulée, contrairement à ce qui se passe en mode monostable, bien que le QT160 se recalibre, la sortie ne retourne pas au repos mais reste dans le dernier état : ceci afin de garantir effectivement le fonctionnement bistable (il inverse sa condition si la sor tie correspondante est à nouveau déclenchée).

Figure 1 : Schéma électrique du clavier de six touches à effleurement.

Figure 2a : Schéma d’implantation des composants du clavier de six touches à effleurement (les deux platines).

Figure 2b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine de base du clavier à effleurement, côté composants.

Figure 2b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine de base du clavier à effleurement, côté soudures.

Figure 2c-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine pavé à six touches du clavier à effleurement, côté interne (plan de masse).

Figure 2c-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine pavé à six touches du clavier à effleurement, côté externe.

Figure 3 : Photo d’un des prototypes des deux platines du clavier à effleurement.

Liste des composants
R1 ........................ 1 kΩ
R2 ........................ 1 kΩ
R3 ........................ 1 kΩ
R4 ........................ 1 kΩ
R5 ........................ 1 kΩ
R6 ........................ 1 kΩ
R7 ........................ 4,7 kΩ
R8 ........................ 4,7 kΩ
R9 ........................ 4,7 kΩ
R10 ....................... 4,7 kΩ
R11 ....................... 4,7 kΩ
R12 ....................... 4,7 kΩ
R13 ....................... 10 kΩ
R14 ....................... 10 kΩ
R15 ....................... 10 kΩ
R16 ....................... 10 kΩ
R17 ....................... 10 kΩ
R18 ....................... 10 kΩ
R19 ....................... 4,7 kΩ
R20 ....................... 4,7 kΩ
R21 ....................... 4,7 kΩ
R22 ....................... 4,7 kΩ
R23 ....................... 4,7 kΩ
R24 ....................... 4,7 kΩ
C1 ........................ 100 nF multicouche
C2 ........................ 470 μF 25 V électrolytique
C3 ........................ 100 nF multicouche
C4 ........................ 470 μF 25 V électrolytique
C5 ........................ 47 nF 100 V polyester
C6 ........................ 47 nF 100 V polyester
C7 ........................ 47 nF 100 V polyester
C8 ........................ 47 nF 100 V polyester
C9 ........................ 47 nF 100 V polyester
C10 ....................... 47 nF 100 V polyester
C11 ....................... 10 pF céramique
C12 ....................... 10 pF céramique
Q1 ........................ quartz 10 MHz
D1 ........................ 1N4007
D2 ........................ 1N4007
D3 ........................ 1N4007
D4 ........................ 1N4007
D5 ........................ 1N4007
D6 ........................ 1N4007
D7 ........................ 1N4007
U1 ........................ 7805
U2 ........................ QT160
T1 ........................ BC547
T2 ........................ BC547
T3 ........................ BC547
T4 ........................ BC547
T5 ........................ BC547
T6 ........................ BC547
LD1 ....................... LED 5 mm haute luminosité
LD2 ....................... LED 5 mm haute luminosité
LD3 ....................... LED 5 mm haute luminosité
LD4 ....................... LED 5 mm haute luminosité
LD5 ....................... LED 5 mm haute luminosité
LD6 ....................... LED 5 mm haute luminosité
RL1 ....................... relais 12 V
RL2 ....................... relais 12 V
RL3 ....................... relais 12 V
RL4 ....................... relais 12 V
RL5 ....................... relais 12 V
RL6 ....................... relais 12 V

Divers :
1 ......................... prise d’alimentation
6 ......................... borniers 3 pôles
1 ......................... support 2 x 14
4 ......................... entretoises 13 mm
4 ......................... entretoises 8 mm
4 ......................... boulons 3 MA
1 ......................... barrette mâle 6 pôles
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.


La réalisation pratique
Nous pouvons maintenant passer à la construction de l’appareil. Il utilise deux circuits imprimés double face à trous métallisés. Afin d’éviter toute interférence, nous vous déconseillons de modifier le tracé des pistes et pastilles, surtout de la platine pavé.
La platine de base reçoit les composants : la figure 2b-1 et 2 en donne les dessins à l’échelle 1. La platine pavé à six touches constitue les capteurs : la figure 2c-1 et 2 en donne les dessins à l’échelle 1. Quand vous avez devant vous la platine de base, montez tous les composants comme le montrent les figures 2a et 3, en contrôlant bien la liste. Quant à la platine pavé à six touches, comme le montrent ces mêmes figures, il suffit de la relier à la platine de base à l’aide de sept (six capteurs plus le commun) morceaux de fil de cuivre rigide (ou nappe à sept fils). Comme le montre la photo de début d’article, la platine pavé vient ensuite par-dessus la platine de base à laquelle on la fixe au moyen de quatre entretoises.
Il ne vous reste alors qu’à intégrer votre appareil dans un boîtier existant (par exemple mural) ou dans un boîtier spécifique.
Les cavaliers J1 et J2 sont à 3 picots au pas de 2,54 mm : paramétrez-les selon votre préférence en vous aidant de la figure 4. Pour alimenter le circuit, utilisez un bloc secteur 230 V ou piquez-vous sur une source de tension de l’installation existante : de toute façon elle doit fournir une tension continue de 12 à 15 V pour un courant de 200 mA au moins. Les relais ont été choisis pour supporter jusqu’à 1 A sous 250 V : adaptez ce choix à vos besoins réels.
Enfin, si vous choisissez le mode bistable avec délai, évitez de maintenir le doigt proche d’un contact pendant une durée voisine ou supérieure à celle du délai, car le circuit se recalibrerait pour considérer comme normale la situation qui l’a fait se déclencher : autrement dit, si auparavant le rapprochement du doigt déclenchait le relais, après la calibration ce même rapprochement ne le déclencherait plus Pour revenir aux conditions initiales, il suffit d’éteindre l’appareil et, après quelques secondes, de le rallumer.

Figure 4 : Le paramétrage des sorties.

Résumons rapidement les conditions possibles de fonctionnement des sorties du QT160 et les paramétrages respectifs des deux cavaliers présents dans le circuit : le tableau montre comment les fermer si l’on veut obtenir le mode monostable (DC-out) avec délai, ou sans délai (DC-out pur) ou le mode bistable (“toggle”). Dans le premier cas (sortie active tant qu’on maintient le doigt sur le capteur, jusqu’à la fin du délai), on peut paramétrer deux durées limites (10 et 60 secondes), dans le deuxième la sortie suit inconditionnellement l’entrée et dans le troisième l’état change à chaque toucher du capteur (les contacts A, B, C, D sont indiqués sur la sérigraphie).
Mode sortieJ1J2Délai (sec.)
monostableAD10
monostableCB60
monostable illimitéCAinfini
bistableDB10

Attention : les durées indiquées dépendent strictement de la fréquence d’horloge de l’oscillateur commun aux six sections (elles sont inversement proportionnelles à la fréquence). Les valeurs indiquées sont référées à l’horloge recommandée (quartz de 10,00 MHz).

Un micro-espion GSM

Relié à une ligne fixe, cet appareil permet d’écouter discrètement et à distance sur un téléphone mobile GSM toutes les conversations téléphoniques. Le circuit est également doté d’un microphone pour écoute locale dissimulée, d’une entrée auxiliaire et d’une sortie supplémentaire à relais. L’appareil utilise le module GSM GR47, une évolution du fameux GM47.



Caractéristiques techniques
- Alimentation : 12 VDC
- Consommation au repos : 50 mA
- Consommation en émission : 300 mA
- Entrée d’alarme : active au négatif
- Portée du relais de sortie : 3 A / 30 VDC
- Activation relais : par tons DTMF
- Type de ligne téléphonique : analogique
- Paramétrage numéros habilités : par SMS
- Possibilité de sélectionner source audio : par tons DTMF GSM
- Modem GSM Sony-Ericsson GR47
- Fréquence : 900 / 1 800 MHz
- Puissance : 2 W @ 900 MHz - 1 W @ 1 800 MHz AUDIO
- Capsule microphonique
- Ligne téléphonique
- Réglage volume : tons DTMF
- Niveaux d’écoute : 5

Nous vous avons déjà, maintes fois, proposé des circuits fonctionnant sur le réseau GSM pour l’écoute locale discrète. Ces appareils peuvent capter, avec leur capsule électret, ce qui se dit dans un lieu quelconque (maison, bureau, locaux commerciaux, etc.) : le signal audio est envoyé, grâce à un module GSM, à un usager distant pouvant ainsi écouter en secret, même s’il se trouve à des milliers de kilomètres !
Cette fois, notre montage offre quelque chose de plus : il permet d’écouter ce qui se dit dans un local, mais également les conversations téléphoniques (c’est-à-dire la voix des deux correspondants et non pas seulement celle de la personne présente dans la pièce où se trouve le micro). Pour cela notre appareil récupère le signal audio directement sur la ligne téléphonique. Il peut retransmettre, par voie GSM et donc par téléphone mobile (on disait naguère téléphone portable), les conversations effectuées par téléphone fixe (donc de la maison). Le système appelle automatiquement le numéro (fixe ou mobile) mémorisé. Il dispose en outre d’une capsule microphonique très sensible permettant d’écouter ce qui se passe dans la pièce. Il peut détecter si la ligne à laquelle il est relié est occupée ou si un appel arrive sur cette ligne (il appelle alors immédiatement la personne habilitée pour lui permettre d’écouter, secrètement, la conversation).
La personne habilitée est appelée également dans le cas où l’entrée auxiliaire, dont l’appareil est doté, est activée (l’audio est alors prélevé non sur la ligne mais par le micro incorporé, de telle façon que l’usager puisse entendre ce qui se dit dans la pièce). Le système peut, en outre, être interrogé à distance, simplement en appelant le numéro de téléphone de la carte SIM utilisée par le module GR47. Par sécurité l’appareil n’active la communication que si la personne appelant est autorisée : il est en effet possible de créer une liste d’usagers habilités à l’écoute dissimulée et de mémoriser un (seul) numéro qui sera appelé en cas d’alarme (sur un total de 50). Ces numéros peuvent être mémorisés, effacés ou modifiés à distance à l’aide de commandes effectuées par SMS (voir figure 5) et, pendant l’écoute, on peut, avec le clavier du téléphone mobile ou fixe, envoyer des commandes DTMF à l’appareil (voir figure 6). Une sor tie à relais permet d’activer d’éventuelles charges ou appareils : on pourra par exemple activer une alarme antivol ou un enregistreur local pour savoir ce qui s’est dit ou passé en notre absence.
Deux commandes d’activation sont disponibles : une pression sur la touche 1 permet d’activer le relais pendant environ une seconde et sur la 4 de l’activer en mode bistable (à chaque pression de la touche le relaischange d’état).
Si le relais est activé, deux bips sont émis et quatre s’il est désactivé.
Pour savoir l’état du relais avant ou après une activation, on utilise la touche 6 : deux bips si le relais est activé, quatre s’il est désactivé.
Quant à l’audio, l’appareil sélectionne automatiquement une entrée plutôt que l’autre selon certains critères : si un appel a été détecté, c’est la ligne téléphonique qui prime, si, en revanche, l’appareil a été activé par une impulsion sur l’entrée auxiliaire (ou bien par un appel de l’usager habilité), l’audio activé est celui de la capsule microphonique. Dans tous les cas il est possible de modifier la source d’écoute (micro ou ligne) en pressant la touche * (permettant d’écouter une conversation sur la ligne téléphonique, mais aussi de vérifier ce qui se passe localement).
Avec une pression sur # on peut déshabiliter l’envoi automatique de l’appel par l’appareil (quatre bips pour confirmer que cette fonction de non envoi est activée et deux bips pour revenir en mode normal de fonctionnement où l’envoi automatique a lieu).

Le schéma électrique
L’appareil est basé sur un microcontrôleur PIC16F876 et sur le modem GSM GR47 Sony-Ericsson déjà programmés en usine.
Ce dernier remplace le GM47 qui n’est plus disponible : le “stack” TCP/IP du nouveau modem permet d’utiliser pleinement le canal GPRS, pour le reste leur compatibilité est broche à broche et le petit dernier conserve les dimensions réduites et les caractéristiques vocales et de données du grand frère, avec cinq convertisseurs A/N contre trois pour l’ancêtre.
Surtout, le benjamin supporte le standard I2C-bus permettant l’extension des lignes de I/O numériques (à la base il en a quatre), mais aussi de relier au module divers types de périphériques comme capteurs de température, mémoires, pilotes LCD…
La disponibilité de ces périphériques rend le GR47 idéal pour les applications M2M et permet le développement d’applications complexes sans avoir à recourir nécessairement à des microcontrôleurs supplémentaires, puisqu’il incorpore un puissant processeur et un interprète.
La tension nominale est de 12 V et l’alimentation doit pouvoir fournir un courant d’au moins 1 A : la consommation est en effet de 50 mA au repos, mais en émission elle grimpe à des pics très éprouvants.
Le schéma électrique de la figure 1 montre un régulateur linéaire U1 7805 qui abaisse la tension d’entrée de 12 à 5 V, cette dernière tension étant nécessaire au PIC et au décodeur DTMF. C’est le régulateur U2 MIC2941 qui, avec R1 et R2, permet d’obtenir le 3,6 V nécessaire au GR47 : sur les lignes d’entrée et de sortie de ce régulateur des condensateurs électrolytiques de fortes capacités compensent les pics abyssaux du module GSM.
Celui-ci est allumé par le port RA0 du microcontrôleur : le régulateur U2 est habilité par mise à la masse de la broche 2 (“enable”). Pour réinitialiser le module, le PIC16F876 met au niveau logique haut la broche 2 et le MIC2941 s’éteint. Cette opération sature T4, ce qui rend plus rapide la décharge de C6 sur R17 et permet une extinction éclair du module.
Aux broches de ce dernier est relié directement le connecteur de la carte SIM (le porte-SIM) : sur la ligne d’alimentation nous avons prévu des condensateurs de filtrage pour éliminer les éventuelles perturbations.
La communication sérielle entre module GSM et microcontrôleur se fait par les deux ports sériels du GR47 : la ligne principale, sur laquelle il est possible d’envoyer directement des commandes AT, correspond aux broches 41 et 42 et celle de “service”, utilisée pour échanger des informations entre module et PIC aux broches 43 et 44.
Comme le montre la figure 1, ces deux lignes ont besoin d’une section spécifique d’inter façage permettant d’adapter les niveaux des deux sérielles.
En effet, les diverses tensions d’alimentation ne permettent pas de connecter directement entre elles les lignes de communication.
Outre les deux ports sériels, le PIC est relié au GR47 par les lignes RB5 et RC5 à travers lesquelles il reçoit ou donne des indications sur d’éventuelles opérations à effectuer ou effectuées.
Pour vérifier que l’appareil est bien relié au réseau, le PIC contrôle aussi la broche du modem GSM correspondant à la LED d’état.
En cas de problème de connexion GSM, l’appareil est réinitialisé par extinction et rallumage du module à travers la broche “ENABLE” de U2 alimentant le module GSM. Pour décoder les éventuels tons DTMF arrivant, on utilise un circuit intégré U4 8870 relié directement à la sortie audio du GR47.
En cas de réception d’un ton, le décodeur change l’état de ses sorties, ce qui permet au PIC d’identifier le ton reçu et d’agir en conséquence.
L’entrée audio du module GSM est, elle, reliée au microrelais RL1 lequel a pour rôle de sélectionner la source d’entrée : il est contrôlé directement (sans aucun transistor) à travers la ligne RA4 du micro. Ce port est doté d’une sortie “open-collector”. Quand le relais est excité, la capsule microphonique est sélectionnée : aucun réseau de polarisation n’est prévu car l’entrée microphonique du GR47 en est déjà intérieurement pourvue.
Afin d’éviter le plus possible que des perturbations n’affectent l’entrée audio du GSM, la masse du microphone est reliée directement à la masse analogique spécifique du modem mobile.
Pour prélever le signal audio sur la ligne téléphonique, un transformateur 1:1 (pour bloquer la composante continue), des diodes et des résistances sont utilisés : ils adaptent le niveau audio à la sensibilité d’entrée du module (là encore, la masse de référence est celle du module).
Pour détecter l’arrivée d’un appel ou l’occupation de la ligne, on a conçu un circuit qui ne charge pas complètement la ligne : cet étage (PT1, T1 et T2) permet d’activer la LED présente dans le photocoupleur FC1 seulement quand la ligne est occupée, c’est-à-dire quand l’alternatif de la sonnerie arrive sur la base de T1. Quand la ligne n’est pas occupée, la tension aux extrémités du pont de diodes maintient en saturation T1 lequel met la base de T2 à la masse.
Ceci maintient T2 en interdiction et donc aucun courant ne circule dans le photocoupleur. Quand le combiné est décroché, la tension sur la base de T1 chute nettement, ce qui provoque son interdiction et par conséquent T2 passe en saturation, ce qui permet au microcontrôleur de détecter cette condition à travers le RC2 relié à FC1.
Même chose lorsqu’arrive un appel : sur le port du microcontrôleur on a une série d’impulsions que le PIC16F876 reconnaît comme appel arrivant en lançant la procédure destinée à aviser l’usager mémorisé.
L’autre condition déterminant l’entrée en fonction du système avec l’appel du numéro mémorisé est l’habilitation de l’entrée auxiliaire.
En condition normale, la résistance de “pull-up” R10 maintient le port RA1 à un niveau logique haut et, en cas d’alarme, c’est-à-dire quand l’entrée AUX est à la masse, le microcontrôleur lance la routine d’appel.
Notre micro-espion est enfin doté d’une sortie à relais pouvant être activée en mode monostable pendant environ une seconde ou en mode bistable. Cette sortie correspond au port RA3 du PIC et utilise un relais 12 V contrôlé par T3.
Une LED bicolore signale les diverses opérations en cours : rouge quand une condition d’alarme est détectée, orange lorsque l’appel à la personne à avertir a été envoyé.
En condition normale la LED clignote en vert et refl ète la LED d’état du GR47.

Figure 1 : Schéma électrique du micro espion GSM.

Figure 2a : Schéma d’implantation des composants du micro espion GSM.

Figure 2b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du micro-espion GSM, côté soudures.

Figure 2b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du micro-espion GSM, côté composants.

Figure 3 : Photo d’un des prototypes de la platine du micro-espion GSM.

Liste des composants
R1 ....................... 200 kΩ 1 %
R2 ....................... 100 kΩ 1 %
R3 ....................... 4,7 kΩ
R4 ....................... 470 kΩ
R5 ....................... 10 kΩ
R6 ....................... 470 kΩ
R7 ....................... 470 Ω
R8 ....................... 82 kΩ
R9 ....................... 4,7 kΩ
R10 ...................... 4,7 kΩ
R11 ...................... 10 kΩ
R12 ...................... 470 Ω
R13 ...................... 470 Ω
R14 ...................... 4,7 kΩ
R15 ...................... 2,2 kΩ
R16 ...................... 4,7 kΩ
R17 ...................... 470 Ω
R18 ...................... 4,7 kΩ
R19 ...................... 1 kΩ
R20 ...................... 1 kΩ
R21 ...................... 330 kΩ
R22 ...................... 100 kΩ
R23 ...................... 100 kΩ
R24 ...................... 39 kΩ
R25 ...................... 56 kΩ
R26 ...................... 100 kΩ
R27 ...................... 4,7 kΩ
R28 ...................... 4,7 kΩ
R29 ...................... 4,7 kΩ
R30 ...................... 4,7 kΩ
R31 ...................... 10 kΩ
R32 ...................... 4,7 kΩ
R33 ...................... 4,7 kΩ
R34 ...................... 4,7 kΩ
R35 ...................... 4,7 kΩ
R36 ...................... 10 kΩ
R37 ...................... 4,7 kΩ
R38 ...................... 4,7 kΩ
R39 ...................... 4,7 kΩ
C1 ....................... 100 nF multicouche
C2 ....................... 470 μF 25 V électrolytique
C3 ....................... 100 nF multicouche
C4 ....................... 1000 μF 16 V électrolytique
C5 ....................... 100 nF multicouche
C6 ....................... 1000 μF 16 V électrolytique
C7 ....................... 1 μF 63 V électrolytique
C8 ....................... 10 pF céramique
C9 ....................... 10 pF céramique
C10 ...................... 100 nF 63 V polyester
C11 ...................... 100 nF multicouche
C12 ...................... 1 μF 63 V électrolytique
C13 ...................... 10 nF 250 V polyester
C14 ...................... 10 nF 250 V polyester
C15 ...................... 10 pF céramique
C16 ...................... 10 pF céramique
C17 ...................... 1 μF 100 V polyester pas 10 mm
C18 ...................... 100 nF multicouche
C19 ...................... 100 nF multicouche
Q1 ....................... quartz 20 MHz
Q2 ....................... quartz 3,58 MHz
D1 ....................... 1N4007
D2 ....................... 1N4007
D3 ....................... 1N4007
D4 ....................... 1N4007
D5 ....................... 1N4007
D6 ....................... BAT85
D7 ....................... BAT85
U1 ....................... 7805
U2 ....................... MIC2941
U3 ....................... PIC16F876-EF556A déjà programmé en usine
U4 ....................... MT8870DE
FC1 ...................... 4N25
GSM ...................... GR47-EF556B déjà programmé en usine
T1 ....................... MPSA44
T2 ....................... MPSA44
T3 ....................... BC547
T4 ....................... BC547
T5 ....................... BC547
T6 ....................... BC557
T7 ....................... BC547
T8 ....................... BC557
LD1 ...................... LED bicolore 3 mm
TF1 ...................... transformateur 1:1
RL1 ...................... relais miniature SY-12-K
RL2 ...................... relais 12 V un contact
PT1 ...................... pont W02M
MIC ...................... capsule microphonique électret

Divers :
1 . bornier 3 pôles
2 . borniers 2 pôles
1 . support 2 x 14
1 . support 2 x 9
1 support 2 x 3
1 . porte SIM
1 . connecteur 60 pôles pour GR47
2 . dissipateurs ML36
1 . connecteur RJ11
1 . boîtier Teko TENCLOS 660
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.


Le programme résident
Le GR47 comme le PIC16F876 sont programmés pour remplir leurs fonctions : le premier s’occupe de gérer les messages arrivant, d’en vérifier la syntaxe et la validité (ID mémorisé) et en outre, sur demande du microcontrôleur, le module effectue l’appel vers les usagers mémorisés. Le PIC, lui, gère l’entrée auxiliaire, contrôle que le modem fonctionne correctement et, en fonction des informations reçues de ce dernier, agit adéquatement : entre autres il décode les tons DTMF avec l’aide du décodeur 8870, transformant les signaux audio en données numériques.
La routine DTMF, que vous trouverez sur notre site Internet, permet de charger dans la variable TOUCHE le nombre correspondant au ton reçu.
En fonction de la valeur de ce nombre, des opérations différentes se dérouleront.
La routine GESTDTMF s’occupe justement de cela : si la variable TOUCHE vaut 1, un bip est émis et le relais 1 est activé pendant une seconde.
L’instruction :
HSEROUT [“AT+VTS=”,34,”9”,34,13]

sert à faire envoyer par le GR47 sur la ligne un bip nous permettant de savoir que la commande envoyée a été effectivement exécutée.
Les touches 2 et 8 permettent respectivement d’augmenter et de diminuer la variable AUDIO qui sera utilisée dans la routine VOLUME pour régler le niveau d’écoute.
Si la touche pressée est la 4 et si le relais est activé, quatre bips sont émis et le relais est relaxé, sinon il est activé et deux bips seulement sont émis.
La touche 6 est utilisée pour réclamer l’état du relais : s’il est désactivé quatre bips sont émis, sinon deux seulement.
La touche * est reconnue comme touche 11 et sa pression permet de changer la source écoutée. La touche # (12) permet de déshabiliter l’envoi de l’appel (dans ce cas on ne considère plus l’entrée auxiliaire ni l’état de la ligne). Là encore quatre bips sont émis pour signaler que cette fonction a été désactivée (deux bips seulement dans le cas contraire).
La dernière routine concerne le réglage du volume d’écoute : selon la valeur prise par la variable AUDIO, un fl ux de configuration différente est envoyé au GR47 (il y a cinq niveaux allant de l’extinction au volume maximum).
Après chaque configuration avec la commande :
HSEROUT[“AT*E2EAMS=255”,13]

le profil paramétré est mémorisé.

La réalisation pratique
La réalisation pratique de ce microespion sophistiqué requiert un certain doigté ! En effet le circuit imprimé est à double face et des composants sont des CMS (le module GR47 utilise un connecteur CMS à 60 pôles : utilisez un fer de 20 W à pointe très fine).
Mais avec beaucoup de soin c’est tout à fait faisable.
La platine unique tient donc sur un circuit imprimé double face à trous métallisés : la figure 2b-1 et 2 en donne les dessins à l’échelle 1.
Quand vous l’avez devant vous, montez d’abord les composants de la face “composants” (sur la figure 2a les composants dessinés en traits continus) puis celui du côté cuivre (sur la figure 2a le porte-SIM dessiné en pointillés) en contrôlant bien les valeurs sur la liste des composants et en confirmant avec la photo de la figure 3. Attention à la polarité de la capsule électret.
Prenez le boîtier Teko TENCLOS 660 et percez-le pour laisser passer, sur un petit côté, les trois borniers enfichables et la RJ11, sur le petit côté opposé la prise socle FME d’antenne et en face avant la LED et la capsule microphonique.

Figure 4 : Les liaisons.

Les liaisons se font par bornier : l’alimentation (12 Vcc), l’entrée auxiliaire d’alarme et la sortie supplémentaire à relais. La connexion à la ligne utilise une RJ11 : l’appareil est à connecter en parallèle avec la prise téléphonique. La liaison à l’antenne met en oeuvre une prise socle FME, à fixer au boîtier Teko TENCLOS 660. Avant de fermer le couvercle, insérez la SIM dans son logement (côté soudures du circuit imprimé). En face avant, deux trous : l’un pour l’affleurement de la LED de signalisation et l’autre pour l’accès du son capté à la capsule microphonique.

Figure 5 : La configuration du micro espion GSM.

Les numéros habilités à l’écoute et le numéro à appeler en cas d’alarme résident à l’intérieur du GR47 et peuvent être paramétrés avec des commandes envoyées par SMS. Pour être valides, elles doivent bien sûr respecter la syntaxe :

#<commande><reponse><numero>*<password>#

où commande identifie l’opération requise, le “fl ag” reponse peut prendre la valeur 0 ou 1 et précise si le système doit informer la personne ayant envoyé la commande que l’opération a bien eu lieu, numero est le numéro devant être éliminé ou ajouté à la liste (complet avant préfixe et extension internationale), “password” est le code de sécurité permettant d’accéder au système et correspondant aux cinq derniers chiffres de l’IMEI du mobile. Quatre autres commandes sont disponibles : elles permettent de mémoriser le numéro devant être appelé en cas d’alarme (H), d’habiliter un numéro à l’écoute locale dissimulée (A), d’effacer un numéro (C) ou bien de vider complètement la mémoire (#Z).
Les éventuelles réponses sont envoyées au numéro ayant demandé l’opération et, en cas de commande A ou H, également au numéro habilité. Les phrases de réponse possibles sont :
- “Effacement total exécuté”
- “Le numéro +330623456789 a été habilité”
- “Le numéro +330623456789 a été déshabilité”
- “Le numéro +330623456789 a été habilité avec alarme”
- “Le numéro +330623456789 est déjà présent en mémoire”
- “Attention, mémoire pleine”

Par exemple, pour effacer complètement la mémoire avec demande de SMS de confirmation, le fl ux à envoyer doit être : #Z1*39020#
Pour habiliter le numéro 0623456789 à l’écoute et demander au système l’envoi des SMS de confirmation, la commande est : #A1+330623456789*39020#
Pour mémoriser le numéro 0123456789 afin qu’il soit appelé en cas d’alarme sans SMS de confirmation, le texte à envoyer est : #H0+330623456789*39020#
Pour ôter ce même numéro de la liste (avec SMS de confirmation) la commande est : #C1+330623456789*39020#
Il est en outre possible d’ajouter également des numéros de téléphone fixe : par exemple, pour habiliter le numéro 0123456789 sans SMS de confirmation, le texte à envoyer est : #A0+330123456789*39020#


Figure 6 : Les commandes DTMF.

Durant la connexion il est possible, à distance, avec le clavier du téléphone mobile ou du téléphone fixe, de modifier certains paramètres fonctionnels. En appuyant sur les touches, des tons DTMF sont envoyés : notre appareil les reçoit, les décode et les interprète en fonction du programme résident. Comme l’indique le tableau, avec les touches 2 et 8 on peut augmenter la sensibilité microphonique, avec la 4 activer ou désactiver la sortie supplémentaire à relais, avec la 6 demander l’état de cette sortie, avec la touche * modifier la source audio (ligne téléphonique ou capsule microphonique) et enfin, avec la touche # déshabiliter l’appel en cas d’alarme.
ToucheFonction
Touches 2 et 8augmente (2) et diminue (8) l’audio
Touche 4active la sortie supplémentaire à relais
Touche 6demande l’état de la sortie à relais
Touche* (11)change la source d’écoute
Touche# (12)déshabilite l’envoi de l’appel


Les essais
Reliez l’alimentation : le circuit s’alimente en 12 V 1 A, par exemple avec un bloc secteur 230 V. Vérifiez l’exactitude des tensions (12 V, 5V et 3,6 V) avant d’avoir inséré les circuits intégrés dans leurs supports.
Coupez l’alimentation puis insérez les circuits intégrés : le module GR47 et le PIC (déjà programmés), le décodeur, le photocoupleur et, sur l’autre face, insérez la carte SIM dans son support. Reliez la FME au cordon de l’antenne GSM. Rétablissez l’alimentation : la LED émet de brefs éclairs verts, pour signaler que l’appareil est opérationnel, puis après quelques secondes clignote (toujours en vert) au rythme d’une seconde pour indiquer que le système est en réseau.
Effacez complètement la mémoire avec la commande Z. Si vous avez demandé la réponse, l’appareil confirme l’effacement par l’envoi d’un SMS.
Procédez à la mémorisation du numéro à contacter avec la commande H et à celle des éventuels numéros habilités à l’écoute dissimulée. En appelant à par tir d’un de ces numéros vous devez entendre le son capté par le microphone : essayez de régler le volume avec les touches 2 et 8. Activez le relais avec la touche 1 et vérifiez qu’il colle.
Vous pouvez alors relier la RJ11 à la ligne téléphonique fixe à sur veiller (en parallèle avec la prise téléphonique).
Quand la LED clignote en vert, décrochez et tout de suite le LED devient rouge puis jaune : c’est que l’appareil appelle le numéro mémorisé.
Après quelques instants votre téléphone mobile ou fixe reçoit en effet l’appel : si vous répondez vous entendez l’audio capté par la ligne téléphonique. Vérifiez la commutation de la source en pressant la touche * (vous entendez alors le son capté par le microphone).

Le paramétrage
Les numéros habilités à l’écoute et le numéro à appeler en cas d’alarme sont dans la mémoire du GR47 et peuvent être paramétrés par des commandes envoyées à l’appareil par SMS. Voir figure 5.

Un enregistreur/reproducteur de huit minutes

Cet appareil permet d’enregistrer et de reproduire numériquement un message d’une durée maximale de huit minutes. Toutes les fonctions (REC, PLAY, STOP) sont commandées par trois poussoirs situés sur la platine. Le circuit peut être piloté de l’extérieur grâce à un connecteur barrette.



La firme ISD (Information Storage Devices, maintenant Winbond Electronics Corporation, pour en savoir plus reportez-vous au site www.winbond.com), a été une des premières sociétés à proposer une gamme de circuits intégrés (appelés ChipCorder) capable de remplir les mêmes fonctions qu’un magnétophone traditionnel (à bande ou à disque). Mais si les premières puces enregistreuses n’avaient qu’une capacité de quelques secondes, celles d’aujourd’hui (séries ISD4000 et ISD5000) contiennent jusqu’à seize minutes d’enregistrement vocal. Notre montage utilise le ISD4003 en version “08M” (capacité huit minutes). Vous le connaissez sans doute déjà si vous avez lu les articles ET519/ET537 (Un enregistreur de 16/64 messages) et encore mieux si vous avez construit un des deux appareils ! Dans le cas présent, le message est, en revanche, unique et il pourra donc avoir la taille de la capacité totale de la mémoire de la puce. Le circuit intégré, en boîtier dip 28 broches, dispose d’une mémoire “fl ash” de 1 920 ko (1 200 lignes de 1 600 cellules chacune), de convertisseurs A/N et N/A, d’un préamplificateur différentiel en entrée, d’une sortie “single-ended” et d’une unité logique de contrôle pour interfacer le ISD4003 à un microcontrôleur.
La tension d’alimentation nominale est de 3 V : ce peut être très utile pour un couplage avec un téléphone mobile…

Le schéma électrique
Vous le trouvez figure 1. Le ISD4003 enregistre un seul message d’une durée maximale de huit minutes (échantillonnage à la fréquence de 4 kHz). Il n’est par contre pas possible d’opérer une partition de la mémoire interne puisque chaque fois qu’on active la commande d’enregistrement le contenu précédent est surscrit (c’est-à-dire effacé par la nouvelle écriture). En fait, la capacité de mémoire de tous les modèles de ISD4003 (qu’ils fassent 4, 5, 6 ou 8 minutes) est égale : ce qui change, c’est la fréquence d’échantillonnage (voir figure 2), plus grande est la capacité, plus basse est cette fréquence et donc moindre est la qualité du son (avec notre ISD4003-08M, la bande du signal est limitée à 1,7 kHz par le filtre passe-bas “antialiasing” présent sur la ligne d’entrée). Cette bande passante réduite limite certes les applications possibles de ce circuit intégré, le montage ne pouvant être utilisé que pour l’enregistrement de la voix.
Les “ChipCorder” étant des enregistreurs audio, nécessitent des commandes pour activer l’enregistrement (REC), la reproduction (PLAY) et pour l’arrêt (STOP). Pour cela le ISD4003 doit recevoir des instructions et c’est pourquoi nous avons monté un microcontrôleur (PIC 16F876-EF552 déjà programmé en usine) dans le circuit : il gère les durées et les modes de travail (en fait, il élabore les instructions provenant de l’usager et les envoie au ISD en format sériel avec temporisation et synchronisation par signal d’horloge). Le contrôle se fait par interface à deux fils SPI (“Serial Peripheral Interface”) disponible à l’intérieur du micro dont les lignes RC3 et RC5 sont initialisées comme sorties : la première produit l’horloge synchronisant le transfert des données, la seconde est la sortie MOSI (“Master Out Slave In”) à travers laquelle les données passent du micro au ISD. Chaque fois qu’une commande est passée, le microcontrôleur s’occupe de mettre au niveau logique bas la broche 1 de U4 (SS), qui n’est autre que la ligne d’activation de la puce quand elle fonctionne en mode Esclave (“Slave”), comme c’est le cas pour notre montage. En dehors du fait qu’il envoie les instructions, le PIC doit encore contrôler les conditions de travail du ISD : ce dernier doit être considéré comme un simple magnétophone à cassette exécutant les instructions lui parvenant de l’usager. S’il reçoit une commande REC il enregistre jusqu’à ce que le micro (qui est ici le Maître ou “Master”), par une instruction de STOP, lui dise de s’arrêter. S’il reçoit une commande PLAY il lit toute la mémoire, indépendamment de la durée du message précédemment mémorisé. Le micro gère donc la totalité du “ChipCorder” en lui envoyant les commandes passées par l’usager et en lisant les signalisations émises par le ISD. À travers le port RB1 le micro lit le INT (broche 25) et à travers RC4 il vérifie les signaux arrivant du MISO (“Master In Slave Out”, soit la broche 3 du ISD4003).
Le signal INT est actif au zéro logique et il est utilisé par U4 dans deux situations particulières : en reproduction il indique la fin du message et en enregistrement l’atteinte de la dernière cellule de mémoire disponible. Si la puce, sur une demande de l’usager, cesse d’enregistrer avant d’avoir atteint la durée limite (huit minutes), INT reste à l’état logique haut.
Voyons ce qui se passe en reproduction : si le message a une durée inférieure à la capacité maximale de la mémoire, INT donne l’ordre au micro d’arrêter la lecture. Par exemple, avec un message d’une minute, en l’absence de signal de contrôle la reproduction continuerait pendant huit minutes, avec sept minutes de blanc… En revanche, grâce à notre système, à la fin du message une commande interrompant le cycle de reproduction est produite. Le programme résidant dans le PIC lit le INT, aussi bien en lecture qu’en écriture : en lecture, dès qu’il détecte le passage par le zéro logique, il envoie au ISD la commande de STOP, ce qui arrête la reproduction et met le composant au repos. En enregistrement, la fonction installée est la suivante : comme INT se met au niveau logique bas seulement si la durée disponible est dépassée, le PIC communique à l’usager (par voie lumineuse) que l’”overfl ow” (dépassement de capacité) est atteint et que l’enregistrement est terminé. Nous avons dit que la ligne MISO constitue la sortie sérielle de U4 : les signaux sortant de cette broche sont lus par le micro sur RC4 (broche 15).
Comme la tension d’alimentation du ISD est de 3 V et celle du microcontrôleur de 5 V, nous avons dû utiliser un circuit d’adaptation des niveaux logiques des deux dispositifs.
Quant aux entrées analogiques du ISD (auxquelles le signal audio est appliqué), leur configuration est de type différentiel (conseillée par le constructeur). La capsule microphonique electret utilisée est polarisée par R13 et R12 alors que C9 et C10 servent au découplage du continu.
Le réseau R14/C11 constitue un filtre passe-bas en série avec l’alimentation de la capsule afin de limiter le risque de bruit et de résidu d’alternatif superposés au signal audio utile. En ce qui concerne la sortie, le signal reproduit par U4 est disponible sur la broche 13 d’où il est acheminé à une sortie auxiliaire (BF) et à un final BF de petite puissance, un LM386 (U2) capable de fournir environ deux watts. Le signal peut être atténué par le trimmer R16, C14 découple le continu pour le LM386 et l’étage de sortie du ISD. Aux bornes SPK on peut relier un petit haut-parleur de 4, 8 ou 16 ohms de 2 W au moins. La sortie auxiliaire BF est conçue pour utiliser un système externe d’amplification ou pour envoyer le signal sur un mélangeur, un amplificateur de puissance ou la ligne téléphonique.

Figure 1 : Schéma électrique de l’enregistreur/reproducteur numérique.

NOMDURÉE MAXIMALE (minute)FRÉQUENCE ÉCHANTILLONNAGE (kHz)FRÉQUENCE COUPURE FILTRE (kHz)
O4M48,03,4
O5M56,42,7
O6M65,32,3
O8M84,01,7

Figure 2 : Les différentes versions du ISD4003.

Figure 3a : Schéma d’implantation des composants de la platine de l’enregistreur/reproducteur numérique.

Figure 3b : Dessin, à l’échelle 1, du circuit imprimé de l’enregistreur/reproducteur numérique.

Figure 4 : Photo d’un des prototypes de la platine de l’enregistreur/reproducteur numérique.

Liste des composants
R1 .... 300 Ω 1 %
R2 .... 200 Ω 1 %
R3 .... 270 Ω
R4 .... 4,7 kΩ
R5 .... 470 Ω
R6 .... 470 Ω
R7 .... 470 Ω
R8 .... 4,7 kΩ
R9 .... 4,7 kΩ
R10 ... 4,7 kΩ
R11 ... 4,7 kΩ
R12 ... 2,2 kΩ
R13 ... 2,2 kΩ
R14 ... 2,2 kΩ
R15 ... 1 kΩ
R16 ... 4,7 kΩ trimmer
R17 ... 1 kΩ
R18 ... 10 kΩ
R19 ... 4,7 kΩ
R20 ... 470 Ω
C1 .... 100 nF multicouche
C2 .... 470 μF 25 V électrolytique
C3 .... 100 nF multicouche
C4 .... 470 μF 25 V électrolytique
C5 .... 100 nF multicouche
C6 .... 220 μF 35 V électrolytique
C7 .... 10 pF céramique
C8 .... 10 pF céramique
C9 .... 100 nF multicouche
C10 ... 100 nF multicouche
C11 ... 4,7 μF 63 V électrolytique
C12 ... 220 nF 63 V polyester
C13 ... 220 nF 63 V polyester
C14 ... 220 μF 35 V électrolytique
C15 ... 10 μF 63 V électrolytique
C16 ... 220 μF 35 V électrolytique
C17 ... 100 nF multicouche
C18 ... 100 nF multicouche
C19 ... 10 μF 63 V électrolytique
C20 ... 100 nF multicouche
C21 ... 1 μF 63 V électrolytique
D1 .... 1N4007
D2 .... 1N4007
D3 .... 1N4007
D4 .... 1N4007
LD1 ... LED 5 mm verte
LD2 ... LED 5 mm jaune
LD3 ... LED 5 mm rouge
U1 .... L7805
U2 .... LM386
U3 .... PIC16F876-EF552 déjà programmé en usine
U4 .... ISD4003
U5 .... LM317
Q1 .... quartz 20 MHz
T1..... BC547
T2..... BC557
T3..... BC557
P1 .... micropoussoir
P2 .... micropoussoir
P3 .... micropoussoir

Divers :
4 borniers à 2 pôles au pas de 5 mm
1 support 2 x 4
1 support 2 x 14 au pas double
1 support 2 x 14
1 barrette mâle 6 pôles
1 microphone préamplifié
1 haut-parleur 8 ohms 70 mm
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.



Le microcontrôleur
La gestion de l’enregistreur numérique lui doit tout : à travers l’interface SPI, il dialogue avec le ISD4003 dont il contrôle le fonctionnement. Il ne met en marche l’amplificateur de puissance LM386 que lorsqu’on en a besoin, c’est-à-dire pendant la reproduction : quand la ligne RC2 est mise au niveau logique bas, le PNP T3 est saturé et ainsi le LM386 est mis sous tension. Les RA0 et RA1 sont aussi initialisées comme sorties : quand on met les broches 2 et 3 (correspondant à RA0 et RA1) à l’état logique haut, LD3 (jaune) et LD2 (rouge) s’allument (elles signalent la reproduction et l’enregistrement).
Les trois lignes RB5, RB6, RB7 complètent le “set” des E/S initialisées à la mise sous tension du microcontrôleur : elles constituent les entrées pour la lecture des touches REC, STOP et PLAY.
Chacune possède à l’intérieur un transistor MOS de “pull-up” (maintien du niveau haut). Les commandes REC, PLAY, STOP sont donc actives quand elles sont au niveau logique bas.
Afin d’étendre les possibilités d’utilisation du circuit, les broches 26, 27 et 28 sont disponibles également de l’extérieur, de façon à permettre d’intervenir sur l’enregistreur automatiquement au moyen d’un autre microcontrôleur. Nous pourrons ainsi, par exemple, le coupler à un capteur de mouvement afin de reproduire un message quand le passage d’un client (promobox dans un commerce) ou d’un véhicule (annonce vocale dans un parc autos) est détecté. Les diodes en série avec les broches 26, 27 et 28 permettent de relier les entrées P (PLAY), S (STOP) et R (REC) à des dispositifs fonctionnant sous des tensions différentes de 5 V : si la cathode d’une d’elles est mise à 0 V, alors la broche correspondante du micro se met au niveau logique bas et si un potentiel supérieur à 5 V est présent, la diode ne permet pas le passage du courant (polarisation inverse protégeant la ligne et évitant tout dommage).

L’alimentation
Les tensions nécessaires à cet appareil enregistreur (+3 V et + 5 V) sont obtenues à partir de la tension d’entrée de 12 V (tension continue, même si elle n’est pas stabilisée, à appliquer en PWR + et –) : elle est filtrée par C1 et C2, D1 protège le circuit contre toute inversion de polarité, la tension d’alimentation de 12 V est disponible aussi sur le connecteur barrette de sortie (pour alimenter un éventuel dispositif externe, comme un capteur de proximité ou de mouvement ou un temporisateur pour la reproduction cyclique, etc.). U1 est le régulateur de tension 7805 fournissant le 5 V aux points IN et GND (pour le microcontrôleur et l’amplificateur). À sa sortie, un second régulateur U5 (LM317) fournit une tension variable que le concepteur peut facilement paramétrer avec le pont R1/R2 sur la broche ADJ : dans notre circuit U5 fournit le 3 V alimentant le ISD et l’étage d’entrée microphonique. LD1 indique la présence du 3 V alimentant le ISD4003.

Le programme résident
Pour mémoriser les messages, il est nécessaire de maintenir P1 pressé pendant toute la durée de l’enregistrement, pour faire autrement il suffit de mettre au zéro logique la cathode de D2. Sur notre site Internet, vous trouverez le programme principal résidant dans le PIC : celui-ci tourne en boucle dans l’attente d’un événement et, quand il survient, il appelle la routine “record” laquelle met au niveau logique bas la broche 4 (RA2) du micro.
Ainsi, la broche 1 (SS) du ISD se met au niveau logique bas et par conséquent l’enregistreur est activé et il est prêt à remplir les fonctions demandées.
De plus, la broche 2 (RA0), activant LD3 (rouge, signalisation REC), se met au niveau logique haut. Le PIC charge alors en mémoire les instructions à envoyer en mode sériel au ChipCorder à travers RC5 (la ligne MOSI de l’interface SPI). La routine de commande prévoit les instructions : POWERUP, SETREC, REC. La première (bit de contrôle respectivement à 00100) active le ISD4003 et le prépare à exécuter les deux autres, la deuxième (00101) établit les marges d’enregistrement et la suivante (01101) force le circuit intégré à enregistrer jusqu’à la survenue de la commande STOP, ou bien jusqu’au remplissage complet de la mémoire. La syntaxe exacte de la deuxième instruction comprend l’adresse par laquelle commencer, exprimée avec onze bits, suivie du code d’identification (justement, 00101).
Pour terminer la mémorisation, il faut agir sur P2 (STOP) : ainsi le micro synthétise et envoie la commande STOPPWRDN (cette commande non seulement bloque l’enregistrement mais arrête toutes les opérations et met en “standby” U4). La syntaxe de la commande ne prévoit aucune adresse et présente les bits de contrôle paramétrés comme x10x0 (par “x” on entend que les bits correspondants peuvent être indifféremment au 1 ou au 0 logiques). L’arrêt manuel force aussi l’extinction de la LED rouge. À partir de l’envoi de l’instruction REC, il programme teste continûment la condition logique de la ligne RB1 : si, avant que l’usager n’arrête manuellement la procédure (en mettant au niveau logique bas la broche 27, au moyen de P2 ou à travers la ligne S), la broche INT de U4 se met au zéro logique et y reste, le micro s’en aperçoit et envoie l’instruction STOPPWRDN. Cette condition est signalée par LD3 laquelle, avant de s’éteindre, clignote cinq fois rapidement.
L’enregistrement terminé, le PIC remet au niveau logique haut la ligne SS du ISD afin de désactiver l’enregistreur numérique.
La reproduction est un peu plus complexe car elle met en oeuvre une ligne de plus. On commence en mettant au zéro logique la ligne RB7 au moyen de P3 ou en intervenant avec un dispositif externe sur le point P. Cette condition, lue par le programme principal tournant en boucle, active la routine de PLAY contenant trois instructions pour le ISD et trois pour l’activation stable des lignes RA2, RC2 et RA1. Cette dernière est mise au niveau logique haut et permet à la LED jaune de s’allumer alors que RC2 passe du niveau logique haut au niveau logique bas et y reste, ce qui sature T3 et alimente l’amplificateur de sortie. RA2 elle aussi se met à zéro, de façon à activer U4 (à travers la broche 1, SS) et à le préparer à recevoir du micro le signal d’horloge et les commandes sur l’interface SPI. Les instructions pour le ISD4003 (contenues dans la subroutine “ply”) sont, dans l’ordre, POWERUP, SETPLAY, PLAY : la première (code 00100, sans adresse) met fin à l’état de “standby” et prépare le circuit intégré au déroulement des opérations suivantes requises et la deuxième lance la reproduction à partir de l’adresse spécifique (la syntaxe prévoit onze bits d’adresse binaire et cinq bits de contrôle, réglés comme 00111). La troisième (bit de contrôle 01111, sans adresse) fait procéder à la lecture de la mémoire et à la conversion N/A jusqu’à ce que la ligne RB6 soit forcée au zéro logique, ou bien jusqu’à ce que la mémoire soit pleine (c’est-à-dire que le message y ait occupé tout l’espace disponible).
En reproduction aussi le micro teste continûment la ligne RB1 pour saisir l’instant où la broche INT du ISD donne l’impulsion de niveau logique bas correspondant à la fin du message. Dès que cela arrive, la routine spécifique du PIC appelle la subroutine “finish”, par laquelle est envoyée à U4 la commande STOPPWRDN (sans adresse et avec bit de contrôle x10x0) arrêtant l’opération en cours et mettant au repos le circuit intégré (la LED jaune s’éteint et la ligne SS du ISD ainsi que la broche 13 se met au niveau logique haut afin d’éteindre l’amplificateur). La même chose se passe si l’usager met au niveau logique bas le point S ou presse P2. Une particularité de la reproduction consiste dans le fait qu’on peut la poursuivre indéfiniment en maintenant au niveau logique bas la ligne de commande correspondante, c’est-à-dire en maintenant toujours pressé P3 : en effet, le logiciel est structuré de telle façon que le signal de fin de message (que l’on a quand INT se trouve à l’état logique bas) est ignoré si la broche 28 se trouve à l’état logique bas. En fait le programme ne force au niveau logique haut ni RC2 ni RA2 et laisse l’amplificateur allumé et le canal de données du ISD activé. La LED jaune reste allumée car RA1 ne revient pas à zéro. Le PIC envoie à nouveau les commandes de SETPLAY et PLAY, ce qui produit la répétition du message dans le haut-parleur. Quand l’impulsion arrive sur la ligne INT, la routine de PLAY vérifie à nouveau la condition de RB7 : si la ligne se trouve encore au zéro logique, le cycle est répété et le message est lu encore une fois, sinon on part de la subroutine “finish”. Le tout se répète car le contrôle de RB7 se fait en boucle.
Cette modalité particulière a été prévue pour permettre la reproduction cyclique du message (bien des applications commerciales y trouveront leur compte).

Figure 5 : Contrôles et réglages.

1. Touches REC, STOP, PLAY.
2. Lignes pour la gestion du ISD4003 par un microcontrôleur externe. Sont disponibles les lignes pour le contrôle des fonctions d’enregistrement (R), reproduction (P) et d’arrêt (S), une ligne pour le contrôle de la broche “INT” du circuit intégré, la masse et le +12 V alimentation.
3. Bornier pour connecter l’alimentation (+12 Vcc).
4. LED verte signalant la présence de l’alimentation.
5. Entrée pour microphone electret.
6. Trimmer régler le volume de sortie.
7. Prise haut-parleur (4, 8 ou 16 Ω).
8. Line Out.
9. LED jaune (allumée en reproduction).
10. LED rouge (allumée en enregistrement).

La réalisation pratique
Nous pouvons maintenant passer à la construction de l’appareil. Le montage tient sur un circuit imprimé dont la figure 3b donne le dessin à l’échelle 1.
Quand vous l’avez devant vous, montez-y tous les composants dans un certain ordre (en ayant constamment sous les yeux les figures 3a et 4 et la liste des composants). Commencez par les supports de circuits intégrés (ceux-ci seront insérés à la toute fin, dans le bon sens !) et terminez par les borniers.
Parmi les deux sorties audio, celle qui est préamplifiée est disponible sur le bornier désigné par SPK et la sortie directe (à amplifier soi-même pour un meilleur son) sur le bornier désigné par BF. Le bornier PWR, reçoit le 12 V à 15 V d’alimentation générale (au moins 400 mA). Le bornier MIC d’entrée microphone est en bas près de SPK. Réglez le trimmer R16 afin d’obtenir le volume d’écoute désiré et vérifiez bien que les LED s’allument comme indiqué plus haut.

Related Posts Plugin for WordPress, Blogger...