Archives mensuelles : mars 2012

Alarme pour habitation basée sur PIC18F4685 et réseau CAN

Voici une alarme conçue autour d’un microcontrôleur PIC 18F4580 et d’un réseau CAN. Elle n’a jamais été mise en service faute de temps pour terminer le projet et d’obsolescence. Les enseignements tirés sont expliqués à la fin de cet article. Les sous ensembles et les choix techniques sont expliqués ci dessous.

Téléchargement :

Schéma général :

Illustration de la face avant :

Vue 3D face endroit :

Vue 3D face envers :

Insolation double face du circuit, à l’aide de l’insoleuse décrite ici :

Vue générale de la réalisation, la carte est au format A4 :

Ensemble microcontrôleur

Le PIC 18F4585 a été choisi pour son nombre d’entrées sorties et sa capacité mémoire. Il est cadencé à 40 Mhz. Sur la photo ci dessous on voit en bas à gauche le condensateur ajustable qui permet de régler finement le quartz « horloger » de 32 768 hz qui sert au PIC a décompter l’heure.

Ci dessous l’interface SPI du PIC avec la carte SD, l’ensemble sert à faire l’interface entre les 5V du PIC, qui sont ramenés à 3,3v par 3 ponts diviseurs sur les entrées SCK SDO et SEL_SD. La sortie SDI de la carte SD est reliée directement au PIC, étant donné que les +3.3V que cette sortie fournit sont suffisants pour trigger l’entrée du PIC, dont la bascule est autour de 2,5V.

Sous ensemble monitoring d’alimentation

Cette alarme est alimentée par deux alimentations 19V 4A. L’objectif est d’avoir une redondance si l’une d’elle grille et s’arrête spontanément. étant donné qu’elles sont raccordées en parallèle, cet arrêt d’une des alims serait invisible vu de l’alarme qui continuerait à être alimentée sans coupure.

Afin de monitorer la consommation de l’ensemble, les résistances R38 et R39 forment un shunt sur lequel est monté un ampli opérationnel câblé en ampli différentiel. Sa sortie est calibrée entre 0 et 5V proportionnels aux 0 à 4A d’alimentation. Une entrée analogique du PIC sert à surveiller cette donnée.

Pour détecter une faiblesse ou une interruption d’une des alimentations, le courant délivré par celles ci est surveillé individuellement. Pour cela les résistances R59 et R60 sont montées en shunt, avec le même schéma d’ampli différentiel branché sur deux entrées analogiques du PIC.

Ce système permet de monitorer la chaine d’alimentation, et de logger et de prévenir s’il y a une défaillance matérielle.

Ce système de double alimentation est également secouru par une batterie plomb-acide de 12V. La connexion de la batterie au système en cas de coupure secteur est assurée par le relais RLY1. En cas de coupure secteur, ce relais est alimenté et fait la jonction de la batterie. Il peut également être piloté par le PIC pour faire des essais de décharge, ou manuellement par le bouton BUT1.

Les essais en réel, sous une charge de 4A, montrent que dès la détection de perte secteur, la mise en liaison de la batterie par le relais se fait en moins de 250 mS. Ces 250 mS sont comblés par le reste d’énergie présent dans les condensateurs des alimentations. Ainsi le système d’alarme ne subit aucune coupure de basculement lors d’une perte secteur, même sous charge maximale de 4A.

Sous ensemble chargeur de batterie plomb-acide

Par rapport au système d’alimentation et de secours par une batterie plomb-acide 12V décrit ci dessus, en fonctionnement normal, alimenté par le secteur, la batterie est maintenue en charge.

Cette fonction de charge et maintien en charge est assurée par un circuit analogique dédié, le UC3906. Il a la capacité de maintenir la batterie en « floating » à 13,8V, et ainsi éviter sa dégradation dans le temps.
Les schémas ci dessous montrent le câblage de ce composant et l’ensemble des résistances nécessaires pour l’ajustement des tensions et intensités de charge.

Sous ensemble coupure volontaire secteur

L’intégration de cette fonction a été décidée pour avoir la possibilité de faire des tests de décharge batterie automatique. Le système à la capacité de couper le secteur fourni aux deux alimentations, de suivre la tension batterie et l’intensité d’alimentation, afin d’en déduire l’énergie fournie totale lorsqu’elle atteint le seuil minimal de 10,8V. Une fois à ce seuil, l’alimentation est rétablie, et la batterie est rebasculée vers le chargeur qui la remet en charge.
L’idée était de faire par exemple un essai de ce type tous les ans, afin de suivre la dégradation de la batterie et avertir de la nécessité de son remplacement.

Cette fonction est assurée par l’usage d’un optotriac piloté par le PIC, qui active un triac, qui alimente les alimentations 19V. Le transformateur TR1 sert à la détection de présence secteur.

Sous ensemble réseau CAN

L’alarme devait être reliée à diverse cartes filles via un bus CAN, qui elles auraient comporté les entrées de détection (détecteurs de mouvements, contacts des portes, etc…). Ceci aurait permis de monitorer plusieurs dizaines d’entrées, sans avoir des liasses de fileries à gérer, simplement deux fils de bus CAN, et deux fils d’alimentation 12V.

Cette liaison CAN utilise le module présent intrinsèquement dans le PIC 18F4585, et le driver le ligne CAN est un MCP2551.

Sous ensemble interface modules additionnels

Ce sous ensemble vise à étendre le bus SPI sur des cartes filles:

  • Une servant pour le GSM, piloté grâce à des commandes AT envoyées par le PIC. L’objectif était d’envoyer des SMS d’alarme, indépendamment du réseau téléphonique filaire.
  • Une servant pour un modem RTC, afin de passer des appels téléphoniques par le téléphone filaire de la box internet et de diffuser des messages vocaux d’alerte.
  • Une servant pour connecter une étendeur de ports MCP23S18
  • Une enfin servant de carte de puissance pour activer les signaux d’alarme (sirène, flashs lumineux…)

Sous ensemble clavier-écran

Classiques et nécessaires pour paramétrer l’alarme. A noter que le clavier donne sur une unique entrée analogique du PIC. C’est la combinaison des résistances grâce aux touches qui permet de savoir quelle touche est appuyée, en fonction de la tension mesurée par le PIC.

Enseignements tirés de cette réalisation

Les enseignements tirés de cette réalisation jamais mise en service sont nombreux. Moins sur l’aspect électronique que sur l’aspect cahier des charges, modularité et gestion de projet.

Déjà, quand on regarde cette réalisation, on se rend compte que j’ai quasiment recréé un raspberry PI, qui aurait pu faire l’affaire en direct si je m’étais renseigné et découvert son existence 🙂

De plus, certaines fonctions auraient dû être développées dans un seconde temps, après la mise en service de la partie principale de l’alarme. C’est le cas par exemple du principe d’essais de décharge batterie.
De même, certaines fonctions sont « trop riches » et n’étaient pas nécessaires sur un prototype, par exemple le monitoring individuel des alimentations.

Au niveau modularité, l’intégration sur la même carte d’un système de chargeur de batterie était une mauvaise idée. Ça aurait été plus simple d’externaliser cette fonction en dehors de la carte principale, et d’ailleurs la réalisation sur un UC3906 a été une perte de temps. Utiliser directement un chargeur du commerce à 15€ aurait fait gagner du temps.