Micropython-PIR-alarm

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

Introduction

Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.

En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus "professionnel" ?

Cet article concerne quelques un de ces capteurs.

Capteur PIR-476 standard

Voici le capteur le plus commun, destiné à un usage en intérieur.

   

Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)

Caractéristique Valeur
Application Intérieur
Couverture 10m x 10m
Angle de détection ~90°
Hauteur installation 2.0 à 2.7m
Alimentation 9 à 16V DC (31mA)
Sortie OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)
Température -10°C à 50°C
Dimensions 52mm x 60mm (Haut: 92mm)
Poids 80 gr
Autre * Compensation de la température

Fonctionnement de la sortie:

  • Detection = LED Allumé = OptoCoupleur "Ouvert"
  • Non detection = LED Eteinte = OptoCoupleur "Fermé"

De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.

 

Contact Description
+ Alimentation: 9 à 16V DC.
- Alimentation: masse/GND.
com Optocoupleur: Commun (son "émetteur")
NC Optocoupleur: Contact normalement fermé (Normally Closed) lorsque le capteur ne détecte rien.
"Collecteur" de l'optocoupleur.
Tamper Contacts de l'anti-sabotage (si présent).

Connexion sur MicroContrôleur

Raccordement Simple

L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).

Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.

L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.

 

L'entrée GP2 reste au niveau bas si rien n'est détecté.

 

Le script pour lire l'état de l'entrée est relativement simple:

import time
from machine import Pin
p = Pin( 2, Pin.IN )
while True:
    print( "ALARM" if p.value() else "---" )
    time.sleep(1)

Raccordement en cascade

Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.

L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.

 

Raccordement analogique

Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.

J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur.

Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.

Augmenter la tension

Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal.

Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.

Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.