[Outils/Fab/Comp] Compter les impulsions avec raspberry Pi3 et son gpio
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 38

Compter les impulsions avec raspberry Pi3 et son gpio



  1. #1
    snaille

    Compter les impulsions avec raspberry Pi3 et son gpio


    ------

    Bonjour,
    je suis en train de faire des essais avant d’installer mon compteur à eau avec capteur impulsion Gioanola (0.25 Litre/Impulsion).

    J'ai un pi3B+ avec le logiciel jeedom qui centralise la domotique de la maison.

    J’ai fais les branchements depuis le Gpio du Pi (comme sur mes captures/photos) et configuré les pins gpio avec Jeeduino (plugin de jeedom).
    Quand je souffle dans la turbine du compteur, cela compte bien les impulsions, (sans que je vérifie pour l’instant le débit réel) ce qui m’embête, c’est que le compteur avec la turbine bloquée (pour ne pas tourner) arrive à compter au bout de 24h, entre 5 et 15 impulsions /jour
    Dans Jeeduino j’ai activé la résistance pull-up, fallait-il le faire sachant que j’ai mis une résistance de 10K sur le branchement ?, je n’ose pas enlever pour l’instant cette résistance de 10K de peur de griller le gpio.
    Je ne comprend pas pourquoi ce comptage existe malgré une turbine bloquée, merci de pouvoir m’éclairer si possible sur ce problème.

    Merci d'avance pour votre aide.

    Ci-joint les captures/photos du montage.

    gpio2 (Moyen).jpg

    shema-gpio-resistance2.jpg

    -----

  2. #2
    Forhorse

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Pour faire du comptage il faut un OS temps réel, je ne crois pas que Debian soit dans cette catégorie.
    Et jeeduino, la dernière fois que j'ai regardé dans le code, j'ai trouvé ça très moyen (pour rester poli)
    Tout projet flou conduit à une connerie précise !

  3. #3
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Merci pour la réponse rapide, certains l'ont fait et en sont content(comptage avec jeedom, jeeduino, gpio), cela fonctionne depuis plusieurs années, est-ce que mon montage électrique est correct ?

    Config jeeduino :

    Nom : Gpio10.jpg
Affichages : 427
Taille : 46,6 Ko

  4. #4
    Vincent PETIT
    Animateur Électronique

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Bonjour,
    Pour répondre avec certitude il faudrait connaître les caractéristiques de l'impulsion : tension, durée de l'état haut et bas.

    Concernant l'utilisation d'un OS non temps réel pour compter des impulsions qui par définition sont temps réels, c'est toujours risqué. Si la technique utilisée est le polling ; le programme passe verifier l'état d'une entrée de manière cyclique, la fréquence du cycle de vérification est liée à la taille du programme. Plus le programme est long et plus il se passe de temps entre 2 scrutations de l'entrée à surveiller. On imagine alors très bien que si l'impulsion tombe entre 2 scrutations, on l'a raté. Ça fonctionne que dans certaines conditions (par exemple une impulsion avec un long temps à l'état haut et bas ou un programme super rapide qui passe tres souvent par l'étape de scrutation de l'entrée)
    Là où il n'y a pas de solution, il n'y a pas de problème.

  5. A voir en vidéo sur Futura
  6. #5
    fdamien12

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Salut

    Citation Envoyé par Forhorse Voir le message
    Et jeeduino, la dernière fois que j'ai regardé dans le code, j'ai trouvé ça très moyen (pour rester poli)
    Moi j'aurais ajouté "comme Jeedom plus ou moins en général"...

    Les GPIOs du RPi peuvent générer des interruptions, dans ces conditions il n'y a pas trop de raison d'avoir des ratés, même si effectivement le logiciel (distrib Linux non temps réel) n'est pas tellement fait pour cela .
    De toute façon, le pb potentiel évoqué ferait sauter certaines impulsions, ici c'est l'inverse.

    Avec une pull-up de 10k, je suis surpris que des parasites fassent bouger l'état du port, mais pourquoi pas.
    Question bête, sans le capteur connecté, as-tu également ces impulsions comptées ?
    Tu peux aussi essayer de rajouter un condensateur d'environ 1µF en parallèle du capteur, au plus près du Raspberry Pi.

    A+

  7. #6
    Seb.26

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    compter des impulsions c'est bien plus facile pour un uCPU (arduino, pico pi, ...etc.) car il a des périphériques pour cela ... ensuite tu envois cela à ton rPI via UART par exemple ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  8. #7
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Citation Envoyé par Seb.26 Voir le message
    compter des impulsions c'est bien plus facile pour un uCPU (arduino, pico pi, ...etc.) car il a des périphériques pour cela ... ensuite tu envois cela à ton rPI via UART par exemple ...
    Merci pour vos réponses techniques, utiliser le gpio est justement pour éviter de rajouter (encore) des appareillages, mon gpio est actuellement inutilisé, j'essai d'utiliser au mieux ce qui reste de disponible, à vous lire, le gpio n'est pas l'idéal pour compter les impulsions, certains le font, on ne fait pas de mesures ultra précises non plus.

  9. #8
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Citation Envoyé par Blue Sn4ke Voir le message
    Salut



    Moi j'aurais ajouté "comme Jeedom plus ou moins en général"...

    Les GPIOs du RPi peuvent générer des interruptions, dans ces conditions il n'y a pas trop de raison d'avoir des ratés, même si effectivement le logiciel (distrib Linux non temps réel) n'est pas tellement fait pour cela .
    De toute façon, le pb potentiel évoqué ferait sauter certaines impulsions, ici c'est l'inverse.

    Avec une pull-up de 10k, je suis surpris que des parasites fassent bouger l'état du port, mais pourquoi pas.
    Question bête, sans le capteur connecté, as-tu également ces impulsions comptées ?
    Tu peux aussi essayer de rajouter un condensateur d'environ 1µF en parallèle du capteur, au plus près du Raspberry Pi.

    A+
    Je vous trouve un peu dur avec l'équipe jeedom, cela fais 6 ans que mon pi (3B+)+jeedom "s'occupe" de la maison en pilotant les VR sur cycle du soleil, pilote le Ballon ECS en fonction de sa température car chauffé aussi par PV sur routeur (tignous/rolrider), 4 sondes températures filaires... j'ai pas des scénarios de malade mais cela fait le taf pour moi, tout est à la maison, rien sur le "cloud".

    Pour en revenir à mon sujet, je sais pas si la résistance interne pull up du gpio est activée ou pas dans mon cas (avec jeeduino ?) j'ai mis une résistance de 10K sur le 3.3v comme sur mon shéma, la 10K + l'interne (si activée) sont peut être de trop ?

    Aujourd'hui j'ai sortis le capteur du compteur ( comme sur la photo, embout gris avec sont bouchon de verrouillage) et je n'ai eu qu'une seule impulsion "parasite".

    Je suis preneur d'un schéma avec le condensateur en // car comme cela je vois pas trop.

    Merci pour les renseignements, précisions.
    A+

  10. #9
    Vincent PETIT
    Animateur Électronique

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Bonjour,
    Tu n'as pas la doc de ce compteur ?
    Là où il n'y a pas de solution, il n'y a pas de problème.

  11. #10
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Citation Envoyé par Vincent PETIT Voir le message
    Bonjour,
    Tu n'as pas la doc de ce compteur ?
    Compteur Gioanola 0.25 Litres/Imp.

    Y a pas grand chose sur la doc...

    Il est équipé d'un compteur d'impulsions de type ampoule reed (ILST) pour la télérelève, et dispose d'un cadran sec orientale sur 360°.

    La sortie d'impulsion permet de le relier à une centrale de mesure ou à une box domotique via l'entrée contact sec d'un module compatible, afin de comptabiliser le débit d'eau s'écoulant dans le compteur. Elle permet ainsi d'assurer le suivi de la consommation d'une installation, d'un appartement, d'une canalisation, etc... avec une fiabilité de 100%.

    Compteur agréé CEE. Fourni avec une sonde et les raccords nécessaires au montage.

    CARACTERISTIQUES
    Température de fonctionnement : 0 à +125°C
    Type d'émetteur : contact sec (ampoule reed)
    Tension max contact : 30V / 200mA
    Longueur du câble : 2m
    Diamètre du raccord : 3/4"
    Utilisation uniquement horizontale, diamètre DN20
    Température maximum de l'eau :
    Version eau froide : 30°C
    Version eau chaude : 90°C
    1 impulsion / 1 litre
    Débit min : 50 L/h
    Débit max : 5m³/h
    Classe: A
    Garantie 2 ans.

  12. #11
    Vincent PETIT
    Animateur Électronique

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Bonjour,
    En effet c'est bien maigre.

    Si tu as activé la pull-up interne (50k il me semble) alors retire la 10k extérieure.

    Quelle est la longueur du câble entre le Rpi et le compteur ?
    Est-ce un câble blindé ?
    Passe t-il à proximité d'autres câbles, électriques notamment ?
    Là où il n'y a pas de solution, il n'y a pas de problème.

  13. #12
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    En fait je sais pas si la résistance interne est activée (voir ma capture jeedouino) si elle est activée + la 10K, il n'y a peut-être plus assez de jus dans le circuit?
    J'ose pas enlever pour l'instant la 10K de peur de griller mon Pi...
    Longueur de câble de deux mètres d'origine, non blindé, oui il passe à proximité d'un tableau électrique (je ferais un photo).
    Dernière modification par snaille ; 07/05/2023 à 19h53.

  14. #13
    Forhorse

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    une resistance de pull-up ne protège rien du tout, qu'elle soit présente ou non c'est pas ça qui va empêcher ton rpi de griller si ça doit arriver.
    ça peut être juste nécessaire au fonctionnement quand les niveaux ne sont pas clairement fixé par quelque chose.
    S'il y en a une interne, l'externe ne sert généralement à rien... et réciproquement.
    Tout projet flou conduit à une connerie précise !

  15. #14
    Vincent PETIT
    Animateur Électronique

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Citation Envoyé par snaille Voir le message
    En fait je sais pas si la résistance interne est activée (voir ma capture jeedouino)
    De ce que je vois de la capture d'écran, la pinuche 11 du RPI à sa pull-up d'activée donc si ton câble va bien sur la broche 11 alors c'est bon, tu peux retirer la 10k. Comme dit Forhorse, la 10k n'apporte aucune protection ce n'est pas son role.

    Citation Envoyé par snaille Voir le message
    Longueur de câble de deux mètres d'origine, non blindé, oui il passe à proximité d'un tableau électrique (je ferais un photo).
    Ça ça craint par contre car ce fil va ramasser, comme une antenne, les champs électromagnétiques du tableau électrique.

    Il faudrait un câble blindé avec une paire torsadée à l'intérieur. La paire torsadée sert à réduire la surface de l'antenne que forme le câble et ça annule les courants induits par les champs électromagnétiques de l'environnement.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  16. #15
    fdamien12

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Citation Envoyé par Vincent PETIT Voir le message
    De ce que je vois de la capture d'écran, la pinuche 11 du RPI à sa pull-up d'activée donc si ton câble va bien sur la broche 11 alors c'est bon, tu peux retirer la 10k. Comme dit Forhorse, la 10k n'apporte aucune protection ce n'est pas son role.


    Ça ça craint par contre car ce fil va ramasser, comme une antenne, les champs électromagnétiques du tableau électrique.

    Il faudrait un câble blindé avec une paire torsadée à l'intérieur. La paire torsadée sert à réduire la surface de l'antenne que forme le câble et ça annule les courants induits par les champs électromagnétiques de l'environnement.
    Salut

    Moi je laisserais la 10k : plus la pull-down est faible, plus il faut de perturbations pour changer l'état du signal.
    Et puisque son câble transite justement dans un environnement perturbé...
    On pourrait même la passer à 1k : il faudrait alors 3 mA pour changer l'état du signal.

    Un condensateur de 1µF entre l'entrée et la masse, au plus proche du RPi, pourrait également améliorer les choses.

  17. #16
    Pascal071

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    bonsoir à tous

    le capteur étant une ampoule reed, il faut le traiter comme un contact sec.
    entre autres les rebonds

    comme dit par Blue Sn4ke,
    autant diminuer R10k
    avec 3k3, 1mA dans l'ampoule reed c'est bien et ça diminue l'impédance du circuit, donc des éventuels parasites
    (ils donnent le capteur pour 30v et 0,2A max.)

    ou simplement un p'tit 100nF , avec 10k ça pourra encore compter 500tours/seconde soit 125 L/seconde !

    cordialement

  18. #17
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Merci à tous vos cet échange, c'est intéressant même si je comprend pas tout,

    Citation Envoyé par Pascal071 Voir le message
    bonsoir à tous

    le capteur étant une ampoule reed, il faut le traiter comme un contact sec.
    entre autres les rebonds

    comme dit par Blue Sn4ke,
    autant diminuer R10k
    avec 3k3, 1mA dans l'ampoule reed c'est bien et ça diminue l'impédance du circuit, donc des éventuels parasites
    (ils donnent le capteur pour 30v et 0,2A max.)

    ou simplement un p'tit 100nF , avec 10k ça pourra encore compter 500tours/seconde soit 125 L/seconde !

    cordialement
    Si j'ai bien suivis, il faudrait remplacer la 10K par 3 résistances de 3K en serie? et le condensateur, de 100nF, il se positionne ou ?, dans mon shéma ?

    Merci.

    Nom : shema-gpio-resistance2.jpg
Affichages : 383
Taille : 55,0 Ko

  19. #18
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    ....Oups....3K3 c'est 3.3K, je me suis documenté.....Sorry donc 1/3 de 10K on réduit donc la résistance et on ajoute un condensateur...
    Dernière modification par snaille ; 08/05/2023 à 10h19.

  20. #19
    Vincent PETIT
    Animateur Électronique

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Bonjour,
    Citation Envoyé par Blue Sn4ke Voir le message
    Moi je laisserais la 10k : plus la pull-down est faible, plus il faut de perturbations pour changer l'état du signal. [...] On pourrait même la passer à 1k : il faudrait alors 3 mA pour changer l'état du signal.
    Citation Envoyé par Pascal071 Voir le message
    comme dit par Blue Sn4ke,
    autant diminuer R10k
    avec 3k3, 1mA dans l'ampoule reed c'est bien et ça diminue l'impédance du circuit, donc des éventuels parasites
    (ils donnent le capteur pour 30v et 0,2A max.
    Vous avez raisons, c'est souhaitable d'abaisser la pull-up, peu importe l'état du reed quand la perturbation a lieu et la nature du couplage, avoir une grande résistance de pull-up peut poser problème en terme de chute de tension quand le reed est ouvert ou en terme d'impédance quand le reed est fermé.

    Reed fermé on peut être dans ce cas (couplage par inductance mutuelle, apparition d'une tension parasite)
    Capture043.PNG

    Reed ouvert on peut être dans ce cas (partie gauche de l'image ; couplage champ a câble, apparition d'un courant parasite)
    Capture044.PNG


    Citation Envoyé par Pascal071 Voir le message
    le capteur étant une ampoule reed, il faut le traiter comme un contact sec.
    entre autres les rebonds
    Exacte !

    @snaille, désactive la pull-up interne afin qu'elle ne soit pas en parallèle de celle extérieure, sinon ça va augmenter la résistance globale de la pull-up.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  21. #20
    Pascal071

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    bonjour

    avec ou sans pull-up interne (50k), le résultat sera identique

    garder 10k et placer un condensateur en parallèle sur l'entrée.
    comme tout contact sensible sur une entrée UC.
    Nom : shema-gpio-resistance2.jpg
Affichages : 396
Taille : 30,1 Ko

    cordialement

  22. #21
    Pascal071

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Re
    les entrées du gpio:
    Il est possible de régler le courant de sortie de 2 mA à 16 mA par pas de 2 mA,
    de choisir la pente (slew rate = vitesse de balayage) du signal et de mettre en service l'hystérésis sur l'entrée.
    Ces choix sont valables pour l'ensemble des broches du GPIO.
    Il est impossible de modifier séparément chaque broche.
    MRemarque
    L’hystérésis permet de mettre en forme un signal en utilisant des seuils différents sur le
    front montant et sur le front descendant.
    Il est utilisé pour éliminer le bruit d’un signal par exemple.
    Lorsque l'hystérésis est activée, la porte d’entrée prend alors le nom de trigger de Schmitt. Les
    seuils sont alors différents pour le front montant et pour le front descendant du signal. Ceci
    permet de s'affranchir d'éventuelles perturbations présentes sur les signaux. Les valeurs des
    seuils pour le BCM2xxx ne sont pas publiées par Broadcom.
    L'hystérésis est utilisée pour éliminer le bruit d’un signal, par exemple.
    3.4 Seuil du signal d'entrée
    La porte placée en entrée accepte des tensions comprises entre 0 et 3,3 volts. Elle décide que le
    signal d'entrée est bas ou haut en le comparant à un seuil de tension. Par défaut, le seuil vaut
    environ 1,8 volt, mais il n'est pas garanti. Le seuil peut se situer n'importe où entre la tension
    maximum donnant un 0 et la tension minimum donnant un 1, c’est-à-dire entre 0,8 volt et
    2,0 volts
    Dernière modification par Pascal071 ; 08/05/2023 à 14h46.

  23. #22
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Vous êtes tous, vraiment une mine d'information pour moi, je vais remplacer dans un 1er temps ma résistance 10K par une 3.3K, et trouver un 100nF, mais de quelle qualité ?, je sais pas ou encore, en chine?
    j'ai trouvé cela :
    Lot de 25 Condensateurs céramiques 104, 100nF - 50V
    Neuf à environ 2€


    Cela conviendrais ?
    Merci.
    Dernière modification par snaille ; 08/05/2023 à 22h21.

  24. #23
    Pascal071

    Re : Compter les impulsions avec raspberry Pi3 et son gpio


  25. #24
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Ok, merci, condensateur commandé.

  26. #25
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Bonjour,
    J'ai remplacé la 10k par une 3.3k, cela compte toujours (3 impulsion en 12heures), en attendant le condensateur, j'essaye de remplacer le câble d'origine par un cat. 5e avec une paire?, ça m'embête de couper le câble d'origine mais bon...
    Merci

  27. #26
    Vincent PETIT
    Animateur Électronique

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Ça déconne encore en baissant la pull-up ?

    Si ça t'embête de couper le câble d'origine attend l'arrivée du condo.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  28. #27
    Pascal071

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    bonjour

    problème solutionné sur un forum Arduino:
    https://forum.arduino.cc/t/compteur-...chement/289166

    Comme vous j'avais des perturbations, il y avait une cinquantaine de litres en plus par jour qui partait dans le vent, alors que cela ne correspondait en rien à ma consommation réel.
    En cherchant, j'ai compris que ces perturbations étaient bien matériel, et qu'elles étaient liées essentiellement aux petites entrées de l'Arduino chaotiques et bien incertaines et qu'il faut absolument dompter pour obtenir quelque chose de stable.
    Pour ça deux solutions, Matériel et/ou Logiciel :
    MATÉRIEL :
    Rajouter un petit condensateur de 10μF en parallèle avec l'interrupteur Reed (les deux fils du compteur d'eau). Cela permettra d'éviter les sursauts en montagne russe, au moment du contact électrique et viendra lisser parfaitement le courant comme un tampon. Déjà avec ça on est pas mal !
    LOGICIEL :
    Dans le code Arduino, mettez une temporisation de contrôle de 50 ou 80ms sur le HIGH de la PIN, pour que l'arduino puisse vérifier si le contact dure au moins cette période. Comme ça vous êtes sûr qu'un petit sursaut parasite de quelques millisecondes ne sera pas pris en compte et passera à la trappe ! C'est assez facile à faire avec "Debounce" (il faudra jongler avec la fonction "millis", vous verrez c'est pas bien compliqué

    De mon côté j'ai opté pour la combinaison des deux solutions : matériel et software, qui me permet de n'avoir eu aucun problème jusqu'ici !

  29. #28
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Hello, il me tarde de recevoir mon condo. pour essayer vos solutions ...

  30. #29
    Forhorse

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Tu n'as aucun appareil électronique en attente d'aller à la déchetterie ?
    Pour ce genre de composant non critique, la récup est une bonne source d'appro, au moins pour faire des essais.
    Tout projet flou conduit à une connerie précise !

  31. #30
    snaille

    Re : Compter les impulsions avec raspberry Pi3 et son gpio

    Ha oui, un starter électronique de neon 1x36w changé dernièrement que j'ai gardé pour essais dessoudage...

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. [Analogique] Compter des impulsions avec un raspberry
    Par invite0270b539 dans le forum Électronique
    Réponses: 5
    Dernier message: 11/11/2020, 20h36
  2. [Programmation] compter les impulsions d'un codeur incremental avec modicon m221
    Par invite40191e1f dans le forum Électronique
    Réponses: 1
    Dernier message: 26/04/2017, 11h12
  3. Raspberry pi 2 protection d'entree gpio avec optocoulpeur
    Par invite3cd57b33 dans le forum Électronique
    Réponses: 12
    Dernier message: 20/04/2015, 11h22
  4. Compter des impulsions avec un pic
    Par invite02a9928f dans le forum Électronique
    Réponses: 30
    Dernier message: 30/03/2010, 19h32
  5. Compter des impulsions avec une carte K8055 (Velleman)
    Par invitef7c180e6 dans le forum Électronique
    Réponses: 9
    Dernier message: 04/02/2009, 15h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...