mercredi 29 août 2018

Capteur de présence : le HC-SR501 sous 3.3V, 3.7V et 5V

Le HC-SR501 sous 3.3V, 3.7V et 5V

Le but de cet article est de faire fonctionner un détecteur de mouvement HC-SR501 sous différentes tensions. Dans un article précédent je l'avais modifié pour le faire fonctionner en 3.3V.

Voyons ce qu'il en est plus précisément.

1. Le HC-SR501

Ce module accepte une tension d'alimentation de 5 à 20V.

Sa sortie est à zéro volts au repos et passe à 3.3V lors de la détection de passage d'un personne.

Sa consommation est de 60µA au repos, et passe à 260µA lorsqu'il détecte un passage.

Une diode sur la broche d'alimentation protège la carte contre les inversions de polarité.

Un petit rappel sur les branchements et l'utilisation des potentiomètres :

L'angle de détection est de 120°.

Le cavalier doit être placé sur H si l'on désire une répétition des détections.

Le réglage de sensibilité permet de réduire la distance de détection, de 3 mètres à 7 mètres. Le réglage de temps d'activation permet de fixer le temps pendant lequel la sortie restera à l'état haut, de 3 secondes à 5 minutes.

Il faut savoir qu'après une détection une nouvelle détection ne pourra être faite qu'après un délai de 3 secondes.

2. Le schéma

Examinons de plus près le schéma :


Le régulateur embarqué sur la carte est un 7133-1.

Cet excellent régulateur est capable de fournir 30mA et accepte une tension d'entrée de 18V (24V maxi). Sa tension de drop-out est de seulement 100mV et il consomme 5µA maxi ("quiescent current").

La diode en série sur l'entrée du régulateur fait chuter la tension d'environ 0.55V

Le circuit principal BISS0001 accepte une tension d'alimentation minimale de 3V.

3. Fonctionnement sous 5V et plus

Sous 5V et plus la tension en sortie du régulateur est bien de 3.3V.

La sortie passe à 3.3V lors de la détection de passage, tension suffisante pour assurer le basculement de l'entrée d'un microcontrôleur 5V du genre ARDUINO.

4. Fonctionnement sous 3.7V

Sous 3.7V la tension en sortie du régulateur est de 3.15V.

Première remarque : la chute de tension provoquée par le régulateur est ridicule : 1mV !

Le fonctionnement reste correct.

Le module est parfaitement capable l'être alimenté par une batterie LITHIUM-ION ou LIPO ou 3 batteries NI-MH en série.

5. Fonctionnement sous 3.3V

Si l'on alimente le PIR en 3.3V il reste 2.75V en sortie de régulateur.

Normalement à 2.75V le circuit BISS0001 ne devrait plus fonctionner mais ce n'est pas le cas, il continue à assurer la détection. Mais ce fonctionnement est hors spécifications. Rien ne dit que l'on aura pas la malchance de tomber sur un exemplaire ne fonctionnant pas sous cette tension.

Dans le cas d'une alimentation en 3.3V, il vaudrait mieux court-circuiter la diode en entrée de régulateur afin d'assurer une tension d'alimentation suffisante au BISS0001.

Sous 3.3V le régulateur n'est plus utile. On peut également le supprimer et court-circuiter ses broches VIN et VOUT. Cette opération est néanmoins peu intéressante. Elle permet de gagner au maximum 5µA de consommation.

Il y a toutefois un effet indésirable. La moindre perturbation sur l'alimentation génère de fausses détections, par exemple en activant ou désactivant un relais. Mais en général, si l'on fonctionne sous 3.3V, c'est que l'on recherche la basse consommation, et l'utilisation de relais ou de moteurs est à proscrire dans ce cas.

6. Test

Pour tester le capteur, nul besoin de le raccorder à un ARDUINO, il suffit d'une alimentation et d'une LED, branchés comme ceci :

Avec le branchement de gauche, la LED s'allumera en cas de détection.

Avec le branchement de droite, la LED s'éteindra en cas de détection.

Également, un capteur PIR est tout à fait capable d'allumer une lampe à l'aide d'un simple relais, sans avoir recours à un ARDUINO, comme ceci :

Le réglage de temps d'activation permettra de fixer le temps pendant lequel la lampe sera allumée, de 3 secondes à 5 minutes.

7. Alternative

Il existe un autre modèle bien plus petit, sans réglages : le MH-SR602 :


Il consomme 20µA, et peut être alimenté entre 3 et 15V.

7. Références

Le PIR : HC-SR501
Le régulateur : 7133-1
Le circuit de détection : BISS0001
Un article d'Yves Pelletier : Capteur à infrarouge passif (PIR)


7 commentaires:

  1. Bonjour, j'ai un transmetteur d'alarme qui fonctionne a pile sous 3V, il a également une sortie 3.3 pour y raccorder un détecteur. J'aimerais bien lui brancher un détecteur de lumière pour être averti que ma boité aux lettre a été ouverte par le facteur. J'ai donc 2 fils pour alimenter le PIR et deux autres réservés à l'alarme.
    Pensez-vous que le MH-SR602 puisse faire l'affaire ? Merci !!!

    RépondreSupprimer
    Réponses
    1. Un MH-SR602 n'est pas un détecteur de lumière.

      Supprimer
    2. Bonjour, il me semble que si, prés du capteur sur le circuit imprimé, il y a 2 pads marqués RL ou l'on peut souder une photorésistance, celle-ci doit se trouver sous la coupole pour être fonctionnelle.

      Supprimer
    3. Oui, effectivement, la LDR CDS2 du schéma du HC-SR501 permet de ramener la broche INH du BISS0001 à ZÉRO si la lumière est suffisante, ce qui inhibe la détection de mouvement. Mais la résistance R3 me semble mal câblée. Elle devrait être entre INH et +3.3V, comme dit dans la datasheet.
      http://www.ladyada.net/media/sensors/BISS0001.pdf

      Supprimer
  2. Bonsoir, y a t il dans gérer les Biliotheques(IDE Arduino) ou ailleurs un petit exemple de code qui fait sortir de veille lorsqu'un mouvement est détecter par le capteur ?

    RépondreSupprimer
    Réponses
    1. Non, mais la librairie low-power le propose:
      https://github.com/rocketscream/Low-Power
      L'exemple powerDownWakeExternalInterrupt

      Supprimer
  3. Merci bien pour l'info, ça devrai aller.

    RépondreSupprimer