alarme à ultra sons pour voiture, très simple, très compacte, gérée par des PIC12C508
Etudes/Réalisation par DA, novembre 2001
On choisit un module ultra sons TELECONTROLLI UTR1 pour générer le 40 kHz et faire la détection. Attention, il semble qu'il y ait une erreur sur la note d'application, les diodes de redressement ne sont pas correctement mises.
On pourra utiliser des diodes Schottky au lieu des Germanium.
La consommation de ce module est directement liée à la tension d'alim. Nominallement donné pour 9-14 Volts, il fonctionne très bien jusqu'à 5 Volts. Cela dit on va rester au dessus de 7 Volts, tension pourlaquelle il consomme 4 mA. Avec une résistance série de 1000 Ohms, avec une capa de filtrage et on peut se brancher sur la batterie (12-14 V) sans risque et en ayant minimisé la consommation, mais la consommation du module n'est pas suffisamment constante pour autoriser ce principe. On utilise donc 2 LED verte en série, ce qui fait chuter la tension environ de 2 Volts.
Cela garantit le fonctinnement dans une gamme de 11 à 15 Volts, avec une consommation inférieure à 9 mA.
Attention, la sortie du module (broche 3) est un inverseur CMOS suivi d'une résistance de 1k. L'escursion est 0-Vcc, donc la sortie peut monter jusqu'à 8 ou 9 Volts. Il faut monter un diviseur de tension si les circuits suivants sont alimentés en 5V.
La gestion de la logique est confiée à un PIC12C508 avec oscillateur interne et sans broche reset : il est toujours en mode SLEEP pour consommer le moins possible. Il sort du sommeil :
Attention, le PIC12C508 a une particularité lorsqu'il sort de veille (sur time out ou sur pin change), il remet à 1111111 le registre TRIS, ce qui met toutes les pins en entrées. Donc on peut constater pendant ~300 usec (durée du reset), un changement d'état des sorties. Pour éviter cela, il faut mettre un réseau RC pour tamponner l'état précédent sur toutes les pins qui pourraient être sensibles à ce phénomène.
Le circuit pilote 2 LED par l'anode (sortie 5V si actif) :
Il existe 4 modes
Mode | Description |
OFF | hors tension |
INIT | Ce mode est là pour mettre en route le module ultra son et le laisse s'équilibrer avant d'autoriser la sirène. Il fait suite à la mise sous tension ; on reste dans ce mode pendant à peu près 2 secondes, puis on passe en veille ; un déclenchement pendant ce mode n'a aucune action. Dans ce mode la LED_status est on. |
VEILLE | Mode principal ; la LED_status est clignotante lente (typiquement 1/16) |
ALARME | Suite à un certains nombre de changements sur la pin 6 (GP1), et ceci pendant une durée prédéterminée (quelques centaines de millisecondes), on passe dans ce mode. Ce filtrage évite les déclenchements intempestifs. la sirène est mise en route, la LED_status est clignotante rapide, et une tempo est armée. |
Condition de déclenchement de l'alarme :
Le circuit passe en mode alarme s'il détecte au moins AlSeuil changements d'état de la pin 6 (GP1) distants les uns des autres de moins de TrigDelay. En effet, chaque trigger remet à zéro la temporisation, et si cette temporisation arrive à terme (au bout de TrigDelay x 144 ms), elle remet à zéro le compteur de trigger.
Condition de retour en veille :
Une fois en mode alarme, une temporisation est armée. Elle est armée et remise à zéro à chaque détection de changement sur l'entrée trigger pin 6.
S'il n'y a pas d'autre triggers, la sirène s'arrête d'une trentaine de secondes (AlDelay x 144 ms) et on repasse dans le mode veille. Autrement dit, l'alarme cesse une trentaine de secondes après le dernier trigger.
Le code est disponible là, on le compilera sous MPLAP pour générer un fichier .HEX nécessaire à la programmation du circuit.