Electronique > Réalisations > Testeur alarme incendie 001

Dernière mise à jour : 14/11/2010

Présentation

Le présent projet met en oeuvre un PIC 18F2420 et des CAN PCF8591 et permet de mesurer la valeur de 16 résistances indépendantes sur un réseau de centrale d'alarme d'incendie.

testeur_alarme_incendie_001a_3d_a

Chacune des 16 entrées du testeur peut être raccordée sur un capteur dont la valeur résistive dépend de son état (repos ou alarme, connecté ou déconnecté). Pour chaque entrée, il est possible de spécifier les valeurs de résistance minimale et maximale que l'on est sensé trouver, avec comme valeur "centrale" celle que le capteur est censé présenter au repos. Un système de comptage permet de relever le nombre de fois qu'un capteur change de valeur (en plus ou en moins par rapport à la valeur de repos), ce qui permet d'effectuer des tests à distance (sans être à côté du testeur) et de vérifier ensuite si le nombre de changements enregistrés correspond bien au nombre de manoeuvres effectuées (en condition d'alarme). Une extension est d'ores et déjà prévue pour porter le nombre d'entrées de 16 à 32.
Remarque : ce projet n'est pas destiné aux seules personnes devant assurer la maintenance de centrales d'alarme. Il peut aussi intéresser quiconque souhaite acquérir plusieurs tensions analogiques de façon assez simple, en faisant appel à des convertisseurs A/N intégrés pilotés par microcontrôleur (le code source est livré pour ça).

Principe de fonctionnement

Il consiste à placer la résistance à mesurer dans un pont diviseur résistif simple, la première résistance du pont ayant une valeur parfaitement connue. En appliquant une tension aux extrémités du pont diviseur et en mesurant la tension que l'on a aux bornes de la résistance à tester, on en déduit sa valeur ohmique. La précision de la mesure dépend des paramètres suivants :
- précision de la mesure de la tension aux bornes de la résistance à tester. Ici, on utilise des convertisseurs analogique / numérique (CAN) d'une résolution de 8 bits (256 pas), sous une tension d'alimentation de +5 V. La précision côté tension mesurée est donc de 5 V divisé par 256 soit 20 mV environ.
- valeur effective de la résistance à tester par rapport à la valeur de l'autre résistance du pont. Ici, la valeur choisie permet de travailler avec des capteurs dont la résistance est comprise entre 100 ohms et 100 kO. La précision est moins bonne dans les faibles valeurs mais il reste possible de distinguer une résistance de 100 ohms d'une de 300 ohms. Inutile par contre de chercher à différencier deux résistances de 700 ohms et 800 ohms (cela serait cependant possible en modifiant un peu le montage et en limitant la plage de mesure à 10 kO dans les valeurs supérieures, ce point sera discuté plus loin).

Schéma

Le montage reste assez simple en regard des possibilités offertes. Cela est lié à l'usage de quatre circuits PCF8591 qui intègrent chacun de quoi échantillonner quatre sources analogiques, associés à un PIC 18F2420 pour gérer toute la tambouille informatique. Quelques résistances et quelques boutons poussoirs viennent décorer le tout, je n'avais pas envie d'un montage tout noir.

testeur_alarme_incendie_001a

Horloge du PIC
Dans le cas qui nous concerne ici, la précision de l'horloge n'a aucune espèce d'importance, on se contente donc de l'horloge interne à 8 MHz, plus que suffisante en terme de vitesse pour faire ce qu'il y a à faire. Voilà pourquoi aucun quartz ou résonnateur céramique n'est visible sur le schéma.

Mode programmation
Le circuit dispose de sept boutons poussoirs reliés sur les lignes du port B du PIC, ces boutons permettent de configurer le testeur.
- Mode : permet de passer en mode Rapport, en mode Réglage ou de revenir en mode d'Analyse (mode par défaut).
Next : en mode Rapport, permet de visualiser la valeur du compteur suivant de changement d'état. En mode réglage, permet de sélectionner le paramètre à modifier suivant celui en cours. En mode normal, permet de visualiser la valeur du paramètre suivant celui actuellement affiché.
Prev : en mode Rapport, permet de visualiser la valeur du compteur précédent de changement d'état. En mode réglage, permet de sélectionner le paramètre à modifier précédent celui en cours. En mode normal, permet de visualiser la valeur du paramètre précédant celui actuellement affiché.
Inc : en mode réglage, permet d'incrémenter la valeur du paramètre en cours de sélection. En mode normal et en mode rapport, n'a aucune action.
Dec : en mode réglage, permet de décrémenter la valeur du paramètre en cours de sélection. En mode normal et en mode rapport, n'a aucune action.
Run/Save : en mode réglage, permet d'enregistrer les modifications de paramètre effectuées. En mode normal ou en mode rapport, permet de tenir compte et d'enregistrer les changements d'état.
RAZ : en mode analyse et en mode rapport, permet de remettre les compteurs de sortie de plage à zéro. En mode réglage, n'a aucun effet.

Comptage des changements d'état
Le comptage est activé ou désactivé grâce au bouton poussoir Run/Save. En mode analyse, l'activation du comptage se traduit par la présence d'une information supplémentaire sur l'écran LCD, en bas à droite. Cette information complémentaire correspond tout simplement au nombre total de changements d'état résistif observés sur l'ensemble des entrées d'analyse. Les copies d'écran LCD qui suivent illustrent l'idée.

testeur_alarme_incendie_001a_lcd_001aComptage des changements désactivé. En mode analyse, n'est affichée que la valeur résistive lue pour l'entrée en cours de sélection. Rien n'est affiché en bas à droite de l'écran.
testeur_alarme_incendie_001a_lcd_001bActivation du comptage confirmé après appui sur poussoir Run / Save.
testeur_alarme_incendie_001a_lcd_001cEn absence de changement d'état, le compteur est à zéro et une simple étoile est affichée.
testeur_alarme_incendie_001a_lcd_001dChaque changement d'état (sortie de la plage spécifiée par l'utilisateur) incrémente le compteur général, dont le contenu est affiché à partir de la valeur 1.

Deux compteurs sont prévus pour chaque entrée :
- un compteur "Inférieur" qui comptabilise le nombre de fois que la résistance câblée sur l'entrée présente une valeur inférieure au seuil Min spécifié par l'utilisateur.
- un compteur "Supérieur" qui comptabilise le nombre de fois que la résistance câblée sur l'entrée présente une valeur supérieure au seuil Max spécifié par l'utilisateur.
Ces compteurs peuvent être consultés dans le détail en mode rapport.

testeur_alarme_incendie_001a_lcd_002aIl est possible après coup de passer en mode rapport pour voir l'état des compteurs individuels de chaque entrée. L'affichage est de type temps réel et de nouveaux changements d'état seront immédiatement visibles s'ils concernent l'entrée en cours de sélection.
testeur_alarme_incendie_001a_lcd_002bIci, affichage du nombre de fois que la valeur résistive mesurée est sortie de la plage spécifiée, par le haut.

Les seuils Min et Max qui fixent les limites utilisées pour le comptage peuvent être modifiés en mode Réglage.

testeur_alarme_incendie_001a_lcd_003bEn mode réglage, on peut spécifier la plage dans laquelle la valeur résistive mesurée est considérée comme "normale" (état nominal). Ici, affichage et modification possible du seuil inférieur.
testeur_alarme_incendie_001a_lcd_003cIci, affichage et modification possible du seuil supérieur de la valeur résistive "normale".

Extension 32 voies

L'ajout de quatre CI de type PCF8591 sur le bus I2C (lignes SCL et SDA) permet d'ajouter 16 lignes d'entrées analogiques et de porter leur nombre total à 32.

testeur_alarme_incendie_001a_ext

Alors que les quatre premiers PCF8591 avaient leur adresse (part variable) configurées en 0, 1, 2 et 3, les quatre PCF8591 suivant ont leur adresse (part variable) configurée en 4, 5, 6 et 7. Et on ne peut pas aller plus loin sur le bus I2C car le PCF8591 ne dispose que de 3 lignes de configuration d'adresse. Ceci dit, 32 entrées analogiques constituent déjà un bon nombre d'entrées.

Protection des entrées

Les entrées de mesures In1 à In16 sont physiquement reliées sur les convertisseurs analogique / numérique et peuvent être soumises à des perturbations importantes voire destructrices (en particulier des surtensions). Cela est d'autant plus probable si les tests s'effectuent sur des câbles de grande longueur et en milieu industriel. Il est donc important de protéger au minimum chaque entrée contre des surtensions que l'on peut prévoir. Le moyen le plus simple est de placer un condensateur de quelques nF qui ralentit les montées de tension impulsives, et des diodes limitant l'amplitude des perturbations à une plage proche de celle de la tension d'alimentation. Le schéma qui suit montre que l'on fait la même chose pour les 16 entrées.

testeur_alarme_incendie_001a_protect_entrees_001

Bien sûr ce groupe de composants devra être doublé si 32 entrées sont utilisées. Pour un travail en labo, cet ensemble de protection pourra éventuellement être omis.

Logiciel du PIC

L'ensemble des fichiers est disponible dans l'unique archive zip dont le lien suit. Code écrit et compilé dans MikroPascal Pro V3.80.

Simulation effectuée avec succès mais circuit pas testé en grandeur nature. Mis à disposition uniquement pour tests.


Testeur alarme incendie 001a - 18F2420 - (14/11/2010)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé, esquisses 2D et 3D uniquement là pour aperçu des composants utilisés.

testeur_alarme_incendie_001a_composants

Bien que non réalisé, circuit prévu pour superposition d'une seconde carte pour les 16 voies supplémentaires.