Une commande vocale 20 ou 40 canaux

Voici un circuit de haute technologie capable de reconnaître 20 ou 40 commandes vocales préalablement mémorisées, en les associant à autant de combinaisons logiques visualisées par l’intermédiaire d’un afficheur qui sera également utile durant les phases d’apprentissage, de vérification et de fonctionnement.


Il y a peu de temps, nous nous sommes penchés pour la première fois (ELM numéro 5, octobre 1999, pages 25 et suivantes), sur le domaine des systèmes de reconnaissance de la voix.
Nous vous proposions alors un circuit à 8 canaux dont les sorties étaient activables, justement, à l’aide de commandes vocales.
Nous revenons sur ce sujet afin de vous offrir un nouveau montage de reconnaissance vocale basé, non plus sur un circuit complexe d’élaboration du signal, mais sur un seul circuit intégré fabriqué par Hualon, le HM2007.
Ce microprocesseur est spécialement conçu pour la reconnaissance de la voix. Il est essentiellement composé d’un élaborateur muni d’un étage analogique pour l’amplification du signal provenant d’un microphone, d’un convertisseur analogique/numérique, d’une unité logique pour l’apprentissage et la comparaison des mots ainsi que d’un bus de sortie à 8 bits, par l’intermédiaire duquel est signalée la commande reconnue ou les éventuels messages d’erreur.

Une vue générale du fonctionnement
Le circuit intégré HM2007 (U2) est conçu pour utiliser une mémoire externe (U3) dans laquelle seront conservés les mots ou courtes phrases appris.
Il s’agit donc d’un microprocesseur LSI complexe et au potentiel énorme car il permet de reconnaître jusqu’à 40 mots ou courtes phrases en associant une commande à chacun d’eux.
On peut résumer son fonctionnement ainsi : en prononçant un mot ou une courte phrase à proximité du micro électret, le HM2007 permet de le digitaliser (numériser) et de le comparer avec ceux précédemment mémorisés dans la SRAM.
Si la comparaison donne un résultat positif, le microprocesseur vocal présente le numéro de l’échantillon correspondant sur le bus de sortie, dans la forme parallèle de 8 bits. Il faut, bien sûr, qu’une commande soit tout d’abord mémorisée et associée à un nombre pour pouvoir ensuite être reconnue : ce nombre peut être compris entre 1 et 20, ou bien entre 1 et 40, en fonction de l’état de la broche 13 WLEN (Word LENght).

Tableau 1 : Principales caractéristiques

Alimentation ......................................... 12 Vcc
Consommation ......................................... 200 mA
Reconnaissance vocale ................................ 20 ou 40 canaux
Durée d’un message de commande ....................... 0,9 sec. ou 1,92 sec.
Echantillonnage de la voix ........................... automatique ou manuel
Mémorisation des commandes ........................... sur SRAM spéciale
Batterie tampon ...................................... 2 piles de 1,5 volt

La phase d’apprentissage s’effectue par l’intermédiaire du microphone et d’un clavier.
Nous décrirons d’abord le circuit de base permettant le fonctionnement du microprocesseur HM2007. En effet, s’il constitue à lui seul un système de reconnaissance vocale complet, un afficheur deux chiffres sera utile pour indiquer, entre autres, son état de fonctionnement.
Cet étage afficheur sera décrit ensuite.
Pour permettre au système de reconnaissance vocale d’activer des charges électriques, chaque fois qu’il reconnaît la commande correspondante, il faut mettre au point une interface capable de lire le bus de données et capable d’en exploiter les combinaisons logiques pour piloter un relais, un triac ou d’autres systèmes de commande.
En raison de la complexité de sa structure, le circuit intégré ne peut pas conserver de façon interne les commandes vocales : c’est pour cela qu’il a besoin d’une mémoire externe, une SRAM de 8 k x 8 (U3), devant être alimentée par une pile de 3 volts, de façon à ne pas perdre les informations emmagasinées en cas de rupture d’alimentation.
La SRAM HY6264 contient donc tous les mots ou courtes phrases appris, chacune d’entre elles étant rappelée pour la comparaison pendant la réception d’un signal audio à l’entrée du microphone.
Chacune des paroles enregistrées est caractérisée par une adresse précise et se trouve toujours à un même emplacement, qui lui est réservé en mémoire et qui correspond à la combinaison d’apprentissage du clavier.
A présent que nous avons résumé les principales caractéristiques de la commande vocale, voyons maintenant comment nous l’avons utilisée pour réaliser le schéma proposé en figure 2.
Le HM2007 fonctionne selon la configuration conseillée par le constructeur.
Il est muni d’un microphone “electretcondenser” pour recueillir les mots ou courtes phrases prononcées par l’utilisateur soit pendant l’apprentissage, soit en phase de commande, d’un clavier à matrice et d’une mémoire SRAM.
Le tout est complété par un latch à 8 bits nécessaire pour distinguer l’entrée/sortie des données pendant l’apprentissage (écriture en SRAM) ou la comparaison des mots (lecture de la SRAM) et assurer l’émission des combinaisons logiques correspondant aux commandes reconnues.
On a prévu de relier au connecteur de sortie à 14 broches une unité d’affichage, à deux chiffres, permettant de visualiser ce qui est tapé sur le clavier, mais également le numéro du canal reconnu par le microprocesseur.
Les deux digits permettent, en outre, la visualisation de 5 messages d’état, utiles pour l’utilisation du système car ils indiquent la présence de la tension principale (power-on), une erreur de la mémoire lorsque le mot prononcé est trop long ou trop court ou la non-reconnaissance du mot.
Nous verrons plus tard tous les messages, mais pour l’instant, examinons les différentes parties du circuit, en voyant, par la même occasion, comment opère le microprocesseur.

Figure 1 : Le prototype monté. Le bus raccordé au module d’affichage peut également être relié à un circuit à relais pouvant commander jusqu’à 40 canaux ! (Ce circuit sera décrit prochainement).

Ce dont il s’agit…
La “commande vocale” est en réalité un module de reconnaissance de la voix, réalisé en utilisant un microprocesseur capable de mémoriser soit 20 soit 40 mots ou courtes phrases en leur assignant l’adresse donnée par l’utilisateur pendant la phase de programmation. Le système peut ensuite les reconnaître en produisant la même adresse sur un bus de 8 bits dont 4 représentent, en BCD, le chiffre correspondant aux unités et les quatre autres, celui correspondant aux dizaines (toujours en format BCD).
La capacité de reconnaissance est bonne et la tolérance plus qu’acceptable, même si, pour que tout fonctionne parfaitement, il faut essayer de répéter les commandes avec plus ou moins la même voix et la même cadence que celles utilisées lors de leur mémorisation. Cela signifie que le système répond exclusivement à celui qui l’a programmé, et qu’il n’accepte pas “d’ordres” de voix différentes ce qui n’est pas un inconvénient, au contraire.
Le microprocesseur permet, lors de l’apprentissage, par l’intermédiaire d’un clavier, de coupler des valeurs numériques à des mots ou à de courtes phrases captés par un microphone. Il peut ensuite vérifier, grâce à son système de comparaison, qu’un mot quelconque produise effectivement sur l’afficheur le nombre qui lui a été attribué.
Si, par exemple, on enregistre le mot “lumière” dans l’emplacement 01 de la mémoire, et si tout fonctionne normalement, en prononçant le mot “lumière” près du micro, on doit voir apparaître le chiffre “01” sur l’afficheur.
Si le microprocesseur ne reconnaît pas ce qui a été dit, on voit apparaître “77”, ce qui signifie : “le mot n’a pas de correspondance en mémoire”.
Lorsque la comparaison échoue parce que le mot est trop court ou, qu’au contraire, il est plus long que le temps maximum autorisé, les messages respectifs sont “66” et “55”.
Il faut considérer que ce montage ne garantit pas une grande sécurité. Il faut éviter de l’utiliser pour commander l’ouverture de la porte principale de votre habitation par exemple.
Pour vous assurer d’un fonctionnement parfait, il est préférable d’utiliser des commandes les plus différentes possible les unes des autres afin de réduire au maximum les “doutes” de la reconnaissance vocale.
Un circuit à relais exploitant les possibilités de ce montage sera décrit prochainement.

L’étude du schéma du circuit principal
Toute la procédure d’acquisition des mots ou courtes phrases est commandée à l’aide du clavier, nommé “TST” sur le schéma, de type à matrice de 3 colonnes et 4 lignes, connectées à K1, K2, K3 et K4 (lignes) et S1, S2 et S3 (colonnes).
Les touches numériques servent à composer le numéro du mot ou de la courte phrase de commande à mémoriser, tandis que CLR (*) et TRN (#) servent respectivement à effacer et à écrire une position de mémoire.
Dans le détail, CLR signifie que le mot ou la courte phrase associé au canal indiqué par le nombre visualisé doit être effacé, tandis que la touche TRN est celle qui indique à l’appareil de reconnaissance vocale que le mot qui va être prononcé doit être mémorisé à l’emplacement que l’on a tapé à l’aide du clavier.
Pour clarifier cette phase importante de l’utilisation, nous allons analyser le procédé de “clear-memory”, c’est-àdire l’effacement d’un mot et l’apprentissage d’une commande.
Pour effacer complètement le contenu de la RAM (clear-memory), il faut taper “99” sur le clavier, puis taper sur la touche “CLR”.
Par contre, pour effacer le mot ou la courte phrase correspondant à un canal déterminé, il suffit de taper sur le clavier le numéro du canal à effacer, puis CLR.
A titre d’exemple, on obtient l’effacement du message de commande du premier canal en tapant “01”, puis la touche “CLR”.
L’union d’une commande vocale et d’un canal s’effectue en tapant tout simplement le numéro désiré suivi de la touche “TRN”, en parlant près du micro, c’est-à-dire à une distance comprise entre 10 et 60 cm, avec une voix normale.
Imaginons, par exemple, que l’on veuille mémoriser le mot “lumière”, de façon à ce qu’il commande le canal “01”. On tape tout d’abord “01” sur le clavier, la diode LED reste éteinte, on appuie alors sur “TRN” et on contrôle que la diode LED s’allume, on prononce alors le mot “lumière”, la diode LED doit alors clignoter.
Pour les opérations de programmation ou d’effacement, il faut retenir deux choses très importantes : le temps réservé à chaque mot ainsi que le fonctionnement du clavier.
La durée autorisée pour chacun des mots ou des courtes phrases de commande est en fait prédéterminée et sélectionnée par l’intermédiaire du cavalier J1.
Si ce cavalier est ouvert (broche 13 du HM2007 placée à “0” grâce à une résistance de pull-down interne au microprocesseur), on peut enregistrer 40 mots ou courtes phrases de 0,9 seconde chacun, tandis que s’il est fermé (broche 13 au niveau haut), on peut en enregistrer 20 de 1,92 seconde chacun.
Evidemment, dans les deux cas, pendant le fonctionnement normal, le HM2007 peut identifier soit 40 soit 20 commandes et donc produire chaque fois les combinaisons logiques correspondant à chacune d’entre elles sur le bus de sortie.
Quant au fonctionnement du clavier, il faut préciser que le circuit intégré U2 le gère directement et qu’il est préprogrammé pour accepter soit des combinaisons à 1 chiffre, soit à 2 chiffres.
Pour indiquer la première dizaine, c’est-à-dire les chiffres de 1 à 9, il suffit de taper le chiffre correspondant, précédé de la touche 0.
Chaque fois que l’on appuie sur la touche d’un chiffre, ou bien lorsque le microphone capte un son ou une voix au-dessus du niveau du seuil établi à l’intérieur du HM2007, la diode LED reliée à la broche 7 (RDY) qui est normalement allumée, pour indiquer que le composant est prêt (ReaDY) à travailler, s’éteint.
LD1 se rallume à la fin de l’opération, qu’il s’agisse d’effacer, de mémoriser ou de tenter de reconnaître un mot ou une courte phrase.
Ceci étant dit, voyons à présent le circuit intégré HM2007 et les lignes correspondantes d’entrée/sortie.

Figure 2: Schéma de la carte principale du circuit de commande vocale.

Le fonctionnement du HM2007
Comme nous l’avons déjà vu, les broches 8, 9, 10 et 11, appelés K1, K2, K3 et K4, sont reliées aux lignes du clavier, tandis que les broches 4, 5 et 6, appelés S1, S2 et S3, sont connectées sur les colonnes du clavier.
Ce dernier est géré par le microprocesseur. En fait, un “0” logique “défile” sur les lignes S1, S2 et S3, tandis que les lignes K1, K2, K3 et K4 sont dotées, de façon interne, d’une résistance de pull-up et sont lues de façon cyclique.
Lorsque U2 détecte un “0” logique sur une entrée de ligne, cela signifie que l’on a appuyé sur une touche.
Nous avons dit que la voix captée par le microphone est numérisée à l’intérieur du HM2007 et mémorisée dans une SRAM externe de 8 kbytes. Cette mémoire est gérée par le circuit intégré à reconnaissance vocale de façon classique, c’est-à-dire par l’intermédiaire d’un bus d’adresse et d’un bus de données.
Le premier est composé des 13 lignes de sortie de U2 référencées de A0 à A12, qui correspondent aux 13 lignes d’entrées correspondantes (A0 à A12) de la mémoire U3.
Le HM2007 peut ainsi adresser 8192 emplacements mémoire.
Le bus de données est bidirectionnel, il est à 8 bits repérés sur le schéma par D0 à D7. Ce bus est connecté aux lignes de données (D0 à D7 également) de la mémoire SRAM et aux broches d’entrée d’un latch de type 74HC373 ou 74LS373.
Le microprocesseur de reconnaissance vocale utilise trois autres lignes particulières de sortie pour travailler avec la mémoire et le latch : la ligne DEN (Data Enable Signal), la MR/MW (Memory Read / Memory Write) ainsi que la ME (Memory Enable).
La première sortie (broche 16 de U2) est reliée à la broche 11, LE (Latch Enable) du 74HC373 ou 74LS373, la seconde (broche 35) et la troisième (broche 34), sont respectivement reliées aux broches 27, WE (Write Enable), 20, CE (Chip Enable) et 22, OE (Output Enable) de la mémoire SRAM.
Le fonctionnement de ces lignes de contrôle est évident, mais donnons-en tout de même une brève explication.
Le microprocesseur HM2007 utilise le bus de données (D0 à D7) pour inscrire une donnée en mémoire, pour lire une donnée de la mémoire ou pour présenter à U4 le résultat d’une opération de reconnaissance.
Voyons donc quels sont les rôles assumés par les trois lignes de contrôle pendant chacune de ces phases.
Commençons par l’accès à la mémoire SRAM. Pour inscrire une donnée en mémoire, U2 doit porter sa broche MR/MW au niveau logique “0” pour sélectionner l’inscription en mémoire (broche Write Enable de U3 au “0” logique), il doit ensuite présenter respectivement l’adresse de la mémoire ainsi que la donnée à écrire sur les deux bus. Pour finir, il doit enfin mettre, pour un bref instant, sa broche 34 (CE et OE de la mémoire) à un niveau logique bas. L’inscription en mémoire est alors terminée.
Le même procédé sert également pour la lecture d’une donnée de la mémoire SRAM, la seule différence étant la ligne MR/MW qui, cette fois, est maintenue au niveau logique 1 pour indiquer à la mémoire que l’opération en cours est une opération de lecture: broche Write Enable de U3 au niveau logique 1.
Le troisième et dernier rôle confié au bus de données, est de faire transiter vers le latch, et donc vers l’afficheur, le nombre associé à un mot ou à une courte phrase reconnu, ou bien le nombre tapé sur le clavier, ou bien encore un nombre utilisé par le HM2007 afin de valider le résultat d’une opération.
Lorsque l’une de ces trois fonctions est demandée, le HM2007 prépare la valeur sur le bus de données et produit une impulsion sur la broche DEN.
La valeur qui se trouve sur le bus de données est ainsi “latchée” et maintenue sur les broches de sortie de U4, le 74HC373 ou 74LS373.
Pendant cette phase, les deux lignes “Chip Enable” et “Output Enable” de la mémoire sont maintenues au niveau logique haut : la mémoire SRAM est alors désactivée.
La valeur présentée sur le bus de données, à la fin d’une reconnaissance ou pendant le processus d’apprentissage, est toujours exprimée en format BCD. En bref, le byte peut être décomposé en deux chaînes qui expriment, en format BCD, le nombre des unités et celui des dizaines, et c’est en fait exactement ce que nous faisons avec notre circuit de visualisation.

Vers le circuit de visualisation
La chaîne de D0 à D3 est respectivement envoyée aux broches A à D d’un 7448 (U2 du circuit de visualisation) qui contrôle l’affichage des unités.
L’autre chaîne du bus de données, c’est-à-dire les broches D4, D5, D6 et D7 sont respectivement connectées aux entrées A à D d’un second 7448 (U1 du circuit de visualisation) gérant l’affichage des dizaines.
Les deux circuits intégrés 7448 ont pour rôle de convertir la donnée en format BCD à 7 segments et les sorties correspondantes sont inter facées, grâce à des résistances externes de limitation de courant, à des afficheurs 7 segments à diodes LED.

Figure 3 : Brochage et fonctions de la mémoire 8 k x 8 SRAM utilisée dans cette réalisation.

Figure 4 : Schéma de la carte d’affichage du circuit de commande vocale.

A l’intérieur du HM2007
Le coeur de notre système de reconnaissance vocale est un microprocesseur composé d’un étage analogique pour l’amplification du signal provenant d’un micro, d’un convertisseur analogique/numérique, d’une unité logique pour la comparaison et l’apprentissage des mots ou courtes phrases, ainsi que d’un bus de sortie à 8 bits pour l’interface avec un circuit afficheur et l’unité d’exploitation des commandes.
Le circuit intégré doit être couplé à une mémoire externe dans laquelle sont stockés les mots appris.
Le HM2007 est un microprocesseur au potentiel énorme, qui permet de reconnaître jusqu’à 40 commandes, sous forme de mots ou de courtes phrases, en associant chacune d’elles à une adresse spécifique.
En prononçant une commande, préalablement apprise, à proximité du microphone, le composant présente, sur le bus de sortie, le numéro (composé de deux chaînes en format BCD) correspondant au canal de la commande reconnu.
Pour fonctionner, le microprocesseur a donc besoin d’un microphone électret, pour recevoir les commandes prononcées par l’utilisateur pendant l’apprentissage ainsi que durant la phase d’exécution, d’un clavier à matrice destiné à l’entrée de valeurs numériques ou de commandes spécifiques, ainsi que d’une mémoire SRAM connectée au bus de données et au bus adresse. Un latch vient compléter cet ensemble à 8 bits, nécessaire pour distinguer entrée/sortie des données, pendant l’apprentissage (inscription en mémoire) ou durant la confrontation du son reçu par le microphone avec les commandes vocales de référence (lecture de la RAM) et l’émission des combinaisons.
Signalons que l’étage analogique d’entrée peut être désactivé en mettant la broche 15 (WAIT) au niveau logique 0 et qu’il est également équipé d’une sorte de circuit à seuil qui permet de générer le trigger pour l’échantillonnage de la voix captée par le micro lorsque son intensité dépasse une valeur déterminée : cela permet un fonctionnement tout à fait automatique, c’est-à-dire une véritable commande vocale sans aucune intervention manuelle de la part de l’utilisateur. Si le mot n’est pas reconnu, il suffit d’attendre un instant puis de le répéter.
Le microprocesseur est muni d’une sortie (broche 7) pour piloter une diode LED indiquant l’état : cette dernière est normalement allumée et s’éteint lorsque l’on appuie sur une touche du clavier.
Elle se rallume ensuite lorsque l’on tape CLR ou TRN pour activer l’opération d’effacement ou d’apprentissage.
Après avoir alimenté le circuit de reconnaissance vocale, la diode LED est allumée et l’affichage indique 00. En prononçant une commande préalablement mémorisée, la diode LED s’éteint juste un instant et l’adresse correspondant à ce mot apparaît à son tour sur l’affichage.
En temps normal, c’est-à-dire lors de la phase de reconnaissance, la diode LED s’éteint lorsque le circuit VOX interne au HM2007 relève la présence de la voix et se rallume par l’intermédiaire de la broche 13 (WLEN) lorsque le temps fixé s’est écoulé. Lorsque cette broche est reliée au positif, la durée de chaque commande est de 1,92 seconde, ce qui équivaut à 20 commandes vocales, tandis que si elle reste déconnectée (pull-down interne), la durée est de 0,9 seconde et permet 40 commandes vocales.

Figure 5a : Vue sur le microprocesseur HM 2007 et sa mémoire SRAM.

Figure 5b : Brochage du HM2007.

Figure 5c : Tableau des fonctions des broches du HM2007.

La détection et l’exploitation de la voix
Voyons à présent comment s’opère la réception ainsi que l’éventuelle exécution d’une commande vocale : au repos, au moment où le microphone “MIC” capte une voix ou un bruit dont le niveau dépasse celui du seuil, le microprocesseur commence à travailler, en effectuant la conversion A/D. En parallèle, il effectue la comparaison des données de l’échantillon avec celles qui se trouvent en mémoire.
Cette opération consiste à confronter les données acquises avec celles disponibles en mémoire, d’une allocation initiale à une autre finale.
Si le microprocesseur est programmé pour travailler avec 20 mots, la mémoire est subdivisée en autant de zones, chacune caractérisée par une adresse initiale, une adresse finale et d’un nombre compris entre 1 et 20.
L’adresse initiale et l’adresse finale de cette portion de mémoire sont calculées par le microprocesseur en fonction de la position du cavalier J1, c’est-à-dire par l’état de l’entrée WLEN (Word LENgth select pin).
Pendant un processus de reconnaissance, le microprocesseur place dans sa mémoire interne le résultat de la conversion A/D du mot ou de la courte phrase reçu par le microphone. Il transfère également dans sa RAM interne zone mémoire numéro 1.
Une fois cette phase terminée, le microprocesseur applique l’algorithme de reconnaissance numérique entre le mot obtenu par le résultat de la conversion A/D et celui lu dans la première zone de mémoire.
Si le résultat de la comparaison est positif, le microprocesseur produit le nombre 1, dans le format déjà vu précédemment, sur le bus de données.
Dans le cas contraire, il effectue un nouveau transfert de données de la mémoire externe vers sa mémoire interne, puis il procède à une nouvelle confrontation. Si le résultat est à nouveau négatif, il poursuit avec les autres zones de mémoire jusqu’à atteindre le dernier mot ou phrase mémorisé : le numéro 20 dans notre exemple ou le numéro 40 si J1 est ouvert.
Dans le pire des cas, si le mot prononcé au micro coïncide avec celui en mémoire à l’allocation 40, le processus tout entier ne dure pas plus de 300 millisecondes !

Figure 6 : Schéma d’implantation des composants de la carte principale du circuit de commande vocale.

Figure 7: Photo de la carte principale. Les composants de cette carte sont montés sur un circuit imprimé double face.

Figure 8a : Dessin du circuit imprimé à l’échelle 1 de la face soudures du circuit principal de commande vocale.

Figure 8b : Dessin du circuit imprimé à l’échelle 1 de la face composants. Si vous réalisez le circuit imprimé vous-même, les pastilles devront toutes être en liaison avec la face opposée, soit en soudant le composant qui les traverse des deux côtés, soit par un petit morceau de chute de queue de résistance.

Liste des composants de la carte principale
R1 = 6,8 kΩ
R2 = 10 kΩ
R3 = 22 kΩ
R4 = 100 kΩ
C1 = 220 μF 16 V électrolytique
C2 = 100 μF 16 V électrolytique
C3 = 100 nF multicouche
C4 = 1 μF 63 V polyester pas de 5 mm
C5 = 4,7 nF 63 V polyester pas de 5 mm
C6 = 220 μF 16 V électrolytique
U1 = Régulateur 7805
U2 = Intégré HM2007P speech recognition
U3 = SRAM 8K x 8 HY6264
U4 = Latch 74HC373
Q1 = Quartz 3,58 MHz
LD1 = Diode LED rouge 5 mm
D1 = Diode 1N4007
D2-D3 = Diode 1N4148
TST = Clavier à matrice 12 touches

Divers :
1 Support 2 x 10 broches
1 Support 2 x 14 broches
1 Support 2 x 24 broches
3 Borniers 2 pôles
1 Connecteur male 14 broches pour ci (AMP-MODU II)
1 Câble plat 14 conducteur
2 Connecteurs femelles 14 points pour câble plat (AMP-MODU II)
1 Support 2 piles 1,5 V pour ci
1 Radiateur ML26 ou équivalent
7 Picots en bande sécable
2 Cavaliers type informatique
1 Circuit imprimé double face réf. S338B


L’alimentation
Nous terminerons la description des circuits en disant que le module principal est alimenté par une tension continue de 12 volts sous 300 milliampères, appliquée aux points + et – 12 volts du bornier. Cette tension, après avoir traversé D1 sera disponible sur le connecteur 14 broches. Le régulateur U1, un classique 7805, sert à obtenir les 5 volts stabilisés, nécessaires au fonctionnement de la logique, c’est-à-dire du HM2007, de la SRAM, du latch et du module d’affichage complet.
Le + 12 volts n’est, en réalité, pas utilisé dans notre application, bien qu’il soit disponible sur le connecteur 14 broches. Il pourra être nécessaire pour un circuit de commande qui sera raccordé au système.
Un dernier détail concernant la sauvegarde des données de la SRAM. On peut penser qu’une telle commande reste en permanence sous tension.
Sinon, quel intérêt ? Donc, en temps normal, c’est-à-dire s’il n’y a pas de coupure de courant, la SRAM est toujours alimentée par l’intermédiaire de la diode D2, qui lui fournit les 5 volts prélevés à la sortie du régulateur U1.
Les piles n’interviennent pas et la diode D3 empêche que le courant de l’alimentation ne les atteigne.
Lorsque la tension secteur, donc le 12 volts, vient à manquer, les piles continuent d’alimenter la RAM par l’intermédiaire de la diode D3, tandis que D2 empêche celles-ci de prendre également en charge le reste du circuit.
On peut donc, à présent, s’intéresser à la construction du système pour lequel il faut deux circuits imprimés, un pour le circuit de commande vocale et un pour le circuit d’affichage.

Figure 9 : Schéma d’implantation des composants de la carte d’affichage du circuit de commande vocale.

Figure 10 : Le circuit d’affichage terminé.

Figure 11 : Dessin du circuit imprimé à l’échelle 1 de la carte d’affichage.

Liste des composants de la carte d’affichage
R1à R14 = 220 Ω
C1 = 100 nF multicouche
C2 = 100 nF multicouche
U1-U2 = Intégré 74C48
Décimal = Afficheur 7 seg. cath. commune
Unity = Afficheur 7 seg. cath. commune

Divers :
2 Support 2 x 8 broches
1 Connecteur mâle 14 broches pour ci (AMP-MODU II)
2 Entretoises 1,5 cm environ
1 Circuit imprimé réf. S338D


La réalisation
Vous pouvez réaliser les circuits imprimés à l’aide des figures 8 a et b et 11, par votre méthode habituelle. Ces circuits sont également disponibles déjà percés et sérigraphiés.
Si vous réalisez le circuit double face vous-même, n’oubliez pas les diverses liaisons entre les deux côtés.
Lorsque vous disposerez des circuits imprimés ainsi que des composants nécessaires, commencez par monter les résistances et les diodes, puis insérez les supports, qui doivent être de type avec contacts “tulipe” car ils facilitent la soudure des broches sur les deux faces.
Poursuivez avec les condensateurs, en veillant à la polarité des électrolytiques, puis continuez avec les composants restants, en vous rappelant qu’il faut orienter chacun d’eux comme indiqué dans les figures 6 et 9.
Encore une fois, n’oubliez pas de souder des deux côtés du circuit principal les composants dont les trous ont des pistes communes sur chaque face.
Une fois tous les composants montés et les soudures terminées, placez les circuits intégrés sur leurs supports respectifs en respectant l’orientation de leur encoche-détrompeur.
Pour assembler les circuits, vous pouvez utiliser de petites entretoises, métalliques ou non, d’une hauteur d’environ 1,5 cm. Vous obtiendrez ainsi un ensemble semblable à ce que vous pouvez voir sur les photos présentes dans ces pages.
Quant à l’interconnexion des deux platines, utilisez des connecteurs mâles à 14 broches (type AMP-MODU II) au pas de 2,54 mm et réalisez un morceau de câble plat finissant par des connecteurs femelles du même type.
Le clavier doit être de type à matrice de 4 lignes pour 3 colonnes. Ses lignes doivent être connectées, de façon ordonnée, aux points K1, K2, K3 et K4 du microprocesseur U2, et ses colonnes, respectivement à S1, S2 et S3.
Pour les deux piles LR6 de sauvegarde, fixez deux supports individuels sur le circuit imprimé principal, puis reliez les contacts aux pistes respectives en faisant attention à la polarité indiquée.
Les contacts pour les cavaliers J1 et J2 du circuit principal sont réalisés à l’aide de picots en bande sécable au pas de 2,54 mm.
Les cavaliers eux-mêmes proviennent des surplus informatiques.
Souvenez-vous que lorsque J1 est ouvert, le système peut travailler avec 40 commandes d’une durée de 900 ms chacune, tandis que lorsqu’il est fermé, les commandes se réduisent à 20, mais de 1,9 seconde.
Par contre, J2 est le cavalier qui décide d’activer ou de désactiver l’interface audio du HM2007 : fermé, il permet de déchiffrer ce que capte le microphone, alors qu’ouvert, il bloque l’interface audio, et donc, il empêche de recevoir les commandes vocales et de mémoriser des mots.

Figure 12 : Le système de reconnaissance prêt à fonctionner, avec son affichage, son micro et son clavier.

Comment gérer les sorties
Pour permettre au circuit principal d’activer des charges électriques chaque fois qu’une commande vocale est reconnue, il faut lui relier une interface capable de lire le bus de données et capable d’en utiliser les combinaisons logiques pour piloter des relais par exemple.
Dans ce but, nous vous présenterons dans un prochain numéro des circuits de commande d’utilisation générale.
Ceux qui veulent se lancer dès maintenant trouveront en figure 13a le schéma électrique d’une inter face simple capable de commander 10 relais.
Les quatre bits qui expriment les unités du numéro de commande reconnue sont envoyés à un latch 74LS373 puis à un convertisseur BCD/décimal 4028. La broche LE (Latch Enable) du latch est gérée par une simple logique, contrôlée, cette fois, par les bits des dizaines du numéro reconnu.
Ainsi, le nombre qui apparaît sur l’afficheur des unités, en format BCD sur le bus, sera converti en décimal sur les lignes de sortie du 4028 pour commander un des 10 relais.

Figure 13a : Schéma électrique d’une interface simple 10 sorties basée sur un 4028.

Figure 13b : Table de vérité du convertisseur BCD-décimal CD4028.

Figure 13c : Schéma synoptique interne et brochage du latch 74HC373 ou 74LS373.

Figure 13d : Table de vérité du latch 74HC373 ou 74LS373.

Pour conclure
Dès que vous alimentez le montage, vérifiez que les afficheurs indiquent 00. Effacez ensuite la SRAM pour éliminer toutes les données éventuelles qui pourraient fausser le fonctionnement, ou bien faire obstacle à l’enregistrement dans des positions déterminées : dans ce but, tapez 99 sur le clavier, suivi de CLR.
Vous pouvez alors essayer le circuit en vous souvenant que l’association d’une commande vocale avec un canal s’effectue en tapant simplement le numéro désiré suivi de TRN, et donc en parlant tout près du microphone, à une distance comprise entre 10 et 60 cm, avec une voix normale. On tape par exemple “01” au clavier et on prononce “un” en vérifiant que la LED s’allume, puis on tape “02” au clavier et on prononce “deux”, on poursuit de façon à mémoriser quelques mots. Ensuite, on essaye de prononcer “un”. Si tout fonctionne correctement sur l’afficheur, on voit apparaître les chiffres “0” et “1”. Et ainsi de suite pour chaque commande enregistrée.

0 commentaires:

Enregistrer un commentaire

Related Posts Plugin for WordPress, Blogger...