Dernière mise à jour :
16/10/2016
Présentation
Cet interphone d'un genre un peu particulier s'appuie sur une liaison
filaire numérique en boucle de courant (parfait pour de grandes
distances) et permet le raccord simultané de plusieurs postes.
Une seule personne peut parler à un instant donné (poste en position
émission) et toutes les autres peuvent entendre (postes en réception).
Le passage d'un poste en mode émission bloque automatiquement les
autres postes en mode réception, la tentative de passer un second poste
en émission est refusée (c'est le plus rapide qui a gagné). Le montage
s'appuie sur un PIC
18F2420 pour effectuer la conversion A/N (microphone vers liaison
numérique) et pour effectuer la conversion N/A (liaison numérique vers
HP). L'UART interne au PIC est mis à contribution pour la gestion des
données émises (signal audionumérique) via un adaptateur RS485 qui
prend la forme d'un rigolo petit circuit intégré à 8 broches
nommé MAX487
(voir page
Bases
- MAX487).
Une autre version de cet interphone, l'
interphone 004 à base de PIC 16F886, a servi de base à la construction de celui-ci.
La différence principale entre les deux interphones
004 avec PIC 16F886 et 004b avec PIC 18F2420 réside dans la
vitesse de traitement des informations et dans la bande passante du
signal audio transmis en numérique.
- Interphone 004 avec PIC 16F886 : 2 kHz (2,5 kHz en poussant
un peu);
- Interphone 004b avec PIC 18F2420 : bande passante 3 kHz (4 kHz en
poussant un peu).
Pour
tout le reste (alimentation, préampli micro, ampli BF) il est fait
usage des mêmes circuits. Ce circuit n'est pas forcément plus performant qu'un bon
interphone analogique. Mais il permet un petit encryptage des données émises...
Avertissements
Quelques remarques...
- Ce projet a fait l'objet d'un dépôt de paternité
auprès de l'INPI
(Institut National de la Propriété Industrielle) sous le numéro 424252, et auprès de Copyright France en 2011.
- Pour l'instant je n'en suis encore qu'à l'étape de simulation. Les
résultats obtenus en simulation sont conformes à ceux attendus.
Prototype en cours de réalisation.
- Certaines sections (préampli micro, filtres et ampli BF de sortie) ne sont pas représentées dans cet article.
- La
liaison entre deux postes est de type asynchrone et ne fait pas usage
de tampon (buffer) ni d'extraction d'horloge pour "régulariser" la
vitesse des données reçues. Cela n'empêche pas l'ensemble d'être parfaitement
exploitable (on est dans le domaine de l'intercom, pas dans la hifi).
Schéma 004b - avec PIC 18F2420
Le schéma de l'interphone est décomposé en plusieurs sections
qui sont les suivantes :
- circuit principal avec PIC (coeur du montage)
- préamplificateur et filtre pour microphone
- filtre et ampli BF
- régulation d'alimentation
Circuit principal (coeur
du montage)
Vitesse de fonctionnement générale...
Avant de commencer l'analyse indépendante de chaque section, je
souhaite parler des réfléxions primaires qui ont conduit à
l'étude de ce circuit. Je savais dès le début que le traitement
d'échantillons obtenus après conversion analogique / numérique ne
pourrait pas se faire à une vitesse très élevée, même en employant un
quartz de 20 MHz (5 MHz en interne PIC) et en limitant la
quantification à 8 bits. Pour me faire une idée de la vitesse maximale
de traitement des échantillons (qu'on ne pourrait en aucun cas
dépasser) j'ai d'abord commencé en faisant le plus simplement du monde
possible
au niveau logiciel, à savoir envoyer directement les données acquises
par le module ADC (10 bits) vers le port B (8 bits de poids fort de la
valeur acquise). Histoire de voir à quelle fréquence de
traitement
des échantillons
on pouvait grimper (bien entendu, on pouvait aussi savoir cela par le calcul).
ADC_In -> PORTB
Avec un quartz 20 MHz pour l'horloge principale du PIC, on arrive à une
fréquence de traitement des échantillons légèrement supérieure
à
12,4 kHz (valeur à ne pas confondre avec la fréquence d'échantillonnage
du CAN du PIC). Donc
possibilité de passer un signal audio dont la bande passante ne dépasse
pas 6 kHz (théorème de Shanon / Niquist). Et encore, 6 kHz avec
un filtre passe-bas à pente très raide si on veut limiter au
max
les problèmes de repliement de spectre (aliasing) - il est plus
raisonable de se limiter à 5 kHz. Ce qui reste largement
suffisant pour passer un signal BF de type voix intercom - on peut se
contenter d'une limite supérieure de 3 kHz comme c'est le cas pour le
téléphone analogique standard RTC. Mais évidement, ajouter des
fonctions logicielles supplémentaires va forcément ralentir tout ça et
c'est là que ça devient intéressant. Maintenant, envoi des échantillons
non plus directement sur le port B du PIC mais sur la sortie RC6/TX (et
donc via l'UART), bouclage Tx/Rx en reliant ensemble les deux broches
RC6/TX et RC7/RX, puis transfert des données reçues sur RC7/RX vers le
port B.
ADC_In -> UART_TX ->
UART_RX -> PORTB
Toujours avec un quartz 20 MHz pour l'horloge principale du PIC et avec
une vitesse de transmission de 115200 bauds, on arrive à une
fréquence de traitement des échantillons légèrement
supérieure à 5 kHz, ce qui
permet de monter avec une bande passante un peu inférieure à 2,5 kHz.
Là encore cette valeur de 2,5 kHz serait plausible avec un très bon
filtre passe-bas, disons qu'une valeur de 2 kHz est plus réaliste. Ce
n'est pas ce qu'on peut faire de mieux, mais pour de la voix ça
passe encore même si ça sonne un peu "sourd". Si on descend la vitesse
de transmission à 9600 bauds, la
fréquence de traitement des échantillons dégringole à
860 Hz
pour une bande passante
de 350 Hz à 400 Hz. Là ça commence à faire mal, en fait ce n'est plus
du tout exploitable. En poussant la vitesse de transmission de l'UART à
200000 bauds, on arrive à une fréquence de traitement
des échantillons 6,4 kHz, ce qui nous permettrait en théorie
de
disposer d'une bande passante de 3 kHz. On n'est pas loin d'un truc
correct, non ?
Circuit principal avec PIC (coeur du montage)
Tout (ou
presque) repose sur
un circuit intégré de quelques euros. Le PIC assure en effet le rôle de
convertisseur A/N, de convertisseur N/A (on utilise ici un
réseau
de résistances R/2R mais on aurait pu employer un DAC 8 bits tel
le DAC80x), il cadence l'émission et la réception des
échantillons
audio sous format série (RS232/RS485), et il gère l'ensemble des
actions utilisateur. Ce qu'il faut lui ajouter (qu'il ne peut pas assurer
lui-même) concerne toute la circuiterie audio analogique requise pour
la préamplification et le filtrage du signal microphone et
l'amplification de puissance pour attaquer un HP.
Le MAX487 permet de transmettre des données jusqu'à une vitesse de 250
kbps (250000 bauds) ce qui convient parfaitement ici.
Préamplificateur et filtre pour microphone
Le
microphone délivre un
signal dont l'amplitude de quelques mV est trop faible pour
attaquer directement le convertisseur A/N du PIC qui fonctionne sur une
plage de 0 à +5 V. On aurait pu abaisser cette plage en faisant usage
d'une référence de tension haute inférieure à +5 V au niveau du CAN du PIC,
mais je ne me suis pas ennuyé avec ça. Une amplification est donc
nécessaire et c'est la tâche qui se voit confiée aux circuits U3:A et
U3:B, qui assurent l'amplitude requise en deux étapes successives. Le
filtrage quant à lui est indispensable pour éviter que le signal audio
ne soit trop entâché de cochonneries sonores "métalliques". La bande
passante est en effet limitée par la fréquence de traitement des
échantillons sonores et il convient de ne pas laisser passer des
fréquences audio qui dépassent la moitié de cette fréquence de
traitement. Certes, le filtrage adopté ici est quelque peu sommaire
(pente d'atténuation pas très raide) et insuffisant pour un résultat
parfait. Mais dans l'ensemble le message sonore parlé est
compréhensible et c'est la priorité. L'ajout d'un compresseur/limiteur
de dynamique même très simpliste (AOP+FET) serait ici un plus très
apprécié pour optimiser le rapport signal/bruit de l'ensemble émetteur/récepteur.
Filtre et ampli BF
Un filtrage
est également
nécessaire en sortie BF, car si on ne fait rien on a droit à un
splendide petit sifflement dans les oreilles. Et dans le cas présent
mieux vaut le filtrer assez énergiquement, même si ce dernier n'est pas
audible en période de pause, quand aucun poste n'est en mode émission.
L'amplification BF en elle-même est confiée à un circuit intégré que
j'ai utilisé de multiples fois et qui fonctionne très bien, le LM386.
Libre à vous d'adopter un autre type d'amplificateur BF, ce n'est pas
ce qui manque sur le marché !
Régulation d'alimentation
Enfin un
module simple dans
cet horrible réalisation ! Un régulateur de tension intégré de type
7805 suffit en effet à fournir la tension de +5 V et l'énergie requise
pour le PIC. Notez que l'amplificateur BF prend sa source
d'alimentation avant la régulation de cette tension de +5 V.
Procédure de simulation
La simulation a été opérée en deux étapes, comme je l'avais fait pour
la version 004 avec PIC 16F886 :
- première étape consistant à mettre un seul circuit en place
et
à vérifier le bon fonctionnement des routines de base.
- seconde étape consistant à mettre en place deux circuits
identiques
sur une même ligne "RS485" avec un des deux positionné en émission,
comme le montre le schéma suivant.
Prototype
Tests pratiques à venir avec des modules RS485 "prêts à l'emploi".

Je possède déjà plusieurs CI d'interface RS485, mais ai décidé d'effectuer mes tests avec des modules précâblés.
Logiciel du PIC
Pro - Non disponible.
Circuit imprimé
Non réalisé.
Historique
16/10/2016
- Première mise à disposition.