PCF8583 en compteur d'évènement

Bonjour, je souhaite utiliser ce type de composant en sortie d'anémomètre pour compter des événements jusqu'à 100 hHz sur une durée de 5 min. Concernant ce sujet, la data Sheets indique :


image
ou un mode de compteur d'événements peuvent être sélectionnés.
Le mode compteur d'événements permet de compter les impulsions appliquées à l'entrée de l'oscillateur (OSCO laissé en circuit ouvert). Le compteur d'événements stocke jusqu'à 6 chiffres de données.
avez vous des remarques, cordialement

Bonjour @berunous

C'est une utilisation intéressante de cette référence particulière de RTC

Je ne suis pas certain que configuré mode 'compteur d'évènements' (entrée sur OSC1 et OSC2 en l'air) le bloc DIVIDER soir actif.

Sans avoir encore fait l'essai je m'attends à ce que le diviseur (qui sert à gérer soit le 50Hz soit le 32768 kHZ) soit bypassé quand le mode 'compteur d'évènements' est sélectionné

Sur la Data Sheet il est dit que dans ce mode le PCF85383 compte sur 6 digits les impulsions présentes sur l'entrée (une impulsion = 1 incrément du compteur ?)
https://www.nxp.com/docs/en/data-sheet/PCF8583.pdf

ici un exemple d'utilisation d'un PCF8583 en mode 'compteur d'évènements' dans un compteur Geiger

Bonjour et déjà merci. En mode de comptage, nous devrions avoir une impulsion = 1 incrément du compteur.
Peux-tu m'indiquer la fonction du condensateur C2 sur l'entrée OSCI du PCF8583 ? S'agit-il du condo dont il parle dans les observations de mise en œuvre et ou il dit qu'il ne serait pas nécessaire ?
À 100 Hz, le temps de chargement de ce condo est-il compatible ?
tu laisses entendre "Sans avoir encore fait l'essai, je m'attends" que tu vas faire un essai, je suis très intéressé.
Cordialement

Bonjour @berunous

Essai prévu (j'ai des PCF8583) mais je ne sais pas quand...

En attendant voici un retour d'expérience où 2 incréments de compteur,1 par front d'impulsion , ont été constatés .

C2 sur le schéma du compteur Geiger PC-GM3 ?
L'impédance d'entrée d'OSCI est très élevée , C2 est un condensateur de liaisonn, il n'a pas le temps de se charger et décharger au rythme des impulsions ,
On peut supposer que le concepteur a , après essais, décidé de respecter une éventuelle polarisation de cette entrée très particulière d'oscillateur

Bonsoir @berunous

Premier test de comptage plutôt concluant en envoyant un signal carré propre directement sur l'entrée OSCI,
image

l'ESP32-C3 configure le PCF8583 en 'compteur d'évènements' et lit sa valeur chaque seconde.
La bibilothèque utilisée, PCF8583 v1 de Xose Perez est disponible dans le gestionnaire de bibliothèques.
En parallèle l'ESP produit pour le test, sur GPIO10, un signal carré (entre 200Hz et 100kHz) qui envoyé directement sur l'entrée OSCI du PCF8583.

#include "PCF8583.h"

PCF8583 counter(0xA0);

void setup() {

  // PWM ledc
  ledcSetup(0, 100000, 8);  // canal 0, Fréquence, résolution
  ledcAttachPin(10, 0);     // Canal 0 -> GPIO10
  ledcWrite(0, 128);        // canal 0 ,rapport cyclique 50%

  Serial.begin(115200);

  // PCF8586 en mode compteur d'évènements sur OSCI
  counter.setMode(MODE_EVENT_COUNTER);
  counter.setCount(0);
}

void loop() {
  Serial.println(counter.getCount());
  delay(1000);
}

progression constatée à 200Hz (le PWM ledc ne descend pas beaucoup plus bas)

0
200
401
601
802
1002
1203
1403
1604
1804
2005
2205
2406

progression constatée à 100kHz avec le code ci dessus

0
39
100018
205518
305518
406018
506018
606518
706518
807018
907018
7518  
107518
208018

Remarque : OSCI est une entrée analogique d'oscillateur , quand un quartz est présent la tension est plus ou moins de forme sinusoïdale. L'utilser comme entrée de comptage d'impulsions suppose des signaux propres (trigger d e Schmitt , anti rebond..... fortement conseillés ))

Avec ce genre d précautions il peut être intéressant d'avoir un petit compteur autonome , alimenté sur pile et de temps à autre 'relever le compteur' par un microcontrolleur. Le PCF8583 peut aussi sortir un signal d'interruption quand le cumul atteint une valeur programmée

Bonjour et merci pour le test. J'essaye d'avoir des informations auprès du vendeur du kit sur les caractéristiques du signal en sortie de l'anémomètre et du pluviomètre.

Aucune informations coté vendeur du kit excepté que le capteur de l'anémomètre est un capteur ILS.

Tu as bien raison, ci-après un extrait de data Sheets " En mode compteur d'événements, les événements sont stockés au format BCD. D5 est le chiffre le plus significatif et D0 le chiffre le moins significatif. Le diviseur est contourné. “D iviseur contourné” : Cette phrase indique que le diviseur, qui est généralement utilisé pour diviser la fréquence d'entrée du compteur afin de la rendre gérable pour le compteur, est ignoré dans ce mode de fonctionnement. En d'autres termes, la fréquence d'entrée est directement utilisée par le compteur sans être divisée.

Bonjour,
ci-joint pour vos commentaires le câblage en objet. Les impulsions sont issues d'un capteur ILS, qui est raccordé à l'entrée OSCI d'un PCF 8583 via un filtre RC et un triger de schmitt à base d'AOP.
cdlt

hello
page 25 de la datasheet

Là, avec un RC série, on a un différentiateur. C'est vraiment ce que tu veux?

Voir page 5 pour le trigger de Schmidt.
aop.pdf (42.1 KB)

Bonjour, dans ce contexte, je ne comprends pas le terme différenciateur?
L'objectif est :
1 avec le filtre RC qui forme un filtre passe bas pour lisser les rebonds du contact
2 associés à un trigger de Schmitt qui nettoie le signal filtré et génère une transition franche entre les niveaux bas et haut avec un hystérésis.
Ce schéma, convient-il pour cela et les valeurs des composants sont-elles adaptées ?
Cdlt

Justement, ce n'est pas un filtre passe-bas mais un filtre passe-haut que tu as fait.
Un filtre passe-bas est intégrateur.
Un filtre passe-haut est différentiateur.

Pour faire un filtre passe-bas le condensateur doit se trouver entre la résistance et GND.

Salut,
Pour ce type d'utilisation, est-il préférable d'avoir un différenciateur ou un intégrateur, fréquence maxi du signal 200 kHz. Les autres valeurs des composants sont-elles adaptées au besoin ? Cdlt

Lorsqu'on met un circuit RC sur un signal logique qui vient d'un inter, ou comme ici d'un ILS, c'est pour atténuer les rebonds et/ou les parasites que l'on peut attraper si la connexion est un peu longue donc il faut un montage passe-bas comme sur le schéma que j'ai corrigé.

Un filtre passe-haut va accentuer les rebonds et les parasites qui normalement ne serait pas vus par le circuit de comptage.

Salut et merci. Dans ce type de montage avec un ILS et une alimentation VCC = 3.3 V quel niveau de seuil et d'hystérésis faut-il prévoir ? CDLT

Salut et merci. Dans ce type de montage avec un ILS et une alimentation VCC = 3.3 V quel niveau de seuil et d'hystérésis faut-il prévoir ? CDLT

En principe, on utilise un trigger Schmitt pour couvrir un besoin particulier.
Pour se protéger de bruit sur une ligne de donnée, pour éviter les rebonds sur un signal avec des transitions lentes. On caractérise un besoin et on adapte le montage.

S'il n'y a pas de besoin avéré, n'importe quoi fait l'affaire puisqu'on ne sait pas ce que l'on cherche à supprimer.

Donc, au pif:

  • le seuil pour une transition montante 2V,
  • le seuil pour une transition descendante 1.2V.

Avec 800mV d'hystérésis tu es à l'abris de pas mal de bruit et les seuils sont autour de Vcc/2

Salut,
ci-joint pour commentaires, le schéma de câblage des 2 PCF8583.
anémometre_pluviometre.pdf (161.4 KB)
personne n'a vu que les PCF8583 n'étaient pas alimentés.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.