HA-Gestion piscine-7_Mesure de pression

Intro

La pression du filtre à sable reflète le niveau d’encrassement de celui-ci, il est un facteur clef dans l’optimisation de la consommation d’énergie quotidienne d’un piscine, plus il est sale moins il est efficace. Je vous propose dans cet article la mise en oeuvre d’une mesure de pression simple et économique.

Cahier des charges

  • Mesurer la pression
  • Notifier sur dépassement d’un seuil

Liste des courses

J’ai acheté ce type de capteur. Gamme de pression 30psi ce qui fait 2068.33 mbar.

Entrée: 0-30 psi
Sortie: sortie de tension linéaire de 0.5V ~ 4.5V. 0 sortie psi 0.5V, 15 sorties psi 2.5V, 30 sorties psi 4.5V.
Précision: à moins de 2% de la lecture (pleine échelle).
Filetage: 1/8 « -27 NPT.
Connecteur de câblage: déconnexion rapide étanche à l’eau. Le connecteur d’accouplement est inclus.
Câblage:

  • Rouge pour + 5V
  • Noir pour le 0 V
  • Vert pour le signal analogique

Pour l’interfacer avec HA, j’ai choisi de le raccorder sur la voie analogique A3 de l’ESP32 de la piscine.

Mise en oeuvre

Peut être la partie la plus délicate, sur le ballon j’ai ajouté un Té en laiton entre le ballon et le pressostat d’origine.

Le câblage est simple, le capteur délivre une valeur analogique comprise entre 0.5 et 4.5 V proportionnelle à la pression (pour mémoire 1 psi = 68,9476 mbar):

  • 0 psi -> 0 mbar -> 0.5 Vcc
  • 15 psi -> 1034.21 mbar -> 2.5 Vcc
  • 30 psi -> 2068.43 mbar -> 4.5 Vcc

Le schéma global de l’ESp32 est le suivant:

Un zoom sur la voie analogique A3:

J’utilise un ESp32 Lolin, les voies analogiques sont limitées à 3.3 V, il convient d’adapter la tension de 5V à 3.3 V. Un simple pont diviseur fait l’affaire, vous pouvez le calculer facilement sur ce site:

J’ai choisi ces deux résistances dispo dans mon stock. Ce qui donne pour:

  • 0.5 V en entrée -> 0.37 V sur l’entrée Ana soit 0 mbar
  • 2.5 V en entrée -> 1.83 V sur l’entrée Ana soit 1034.21 mbar
  • 4.5 V en entrée -> 3.3 V sur l’entrée Ana soit 2038.43 mbar

Bien entendu, ces valeurs sont théoriques et dépendent en grande partie de la précision des résistances, mais nous sommes bien d’accord, nous ne sommes pas dans un laboratoire.

Bon ça c’est la théorie car en pratique, j’obtiens en valeur brute (il faut pour ce faire supprimer dans un premier temps la mise à l’échelle « filters: …)):

  • Pompe à l’arrêt: 0 bar sur mon pressostat à aiguille et 0.5 V en entrée ANA
  • Pompe en marche: 0.8 bars sur mon pressostat à aiguille et 2.21 V en entrée ANA

N’ayant pas de moyen d’étalonner la chaîne de mesure, je me contente de ces 2 valeurs pour calculer la mise à l’échelle, ce qui donne dans l’ESP Home:

# Mesure de la pression filtre
  - platform: adc
    pin: A0
    id: esp125_pression_filtre
    name: "Pression filtre"
    unit_of_measurement: "Bars"
    update_interval: 60s
    attenuation: 11db
    filters:
      - calibrate_linear:
        - 0.5 -> 0.0
        - 2.21 -> 0.8
# moyenne sur 30 mn + affichage toutes les 10 mn
      - sliding_window_moving_average:
          window_size: 30
          send_every: 1
         

Pour le fun, je calcule la moyenne glissant sur 30 mn avec un affichage toutes les minutes

Notification

Un automatisme tout simple envoyant une notification si la pression est supérieure à 1 bar pendant plus de 15 mn

alias: 3_1_5 Piscine-Pression haute
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.pression_filtre
    above: '1'
    for:
      hours: 0
      minutes: 15
      seconds: 0
      milliseconds: 0
condition: []
action:
  - service: notify.telegram
    data:
      message: >-
        Pression Haute = {{states("sensor.pression_piscine_p")
        }}{{-"\n"-}}{{states("sensor.date_time") }}
      title: Piscine Alerte Pression Filtre !!!
mode: single

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.