Améliorations au Yocto-PWM-Rx

Améliorations au Yocto-PWM-Rx

Suite à différentes demandes de clients, nous avons récemment apporté quelques améliorations au Yocto-PWM-Rx. Si vous utilisez ce module, vous serez peut-être intéressé à en savoir plus que les quelques mots que vous avez peut-être déjà trouvé dans les release notes de la liste des firmwares. Voici donc quelques explications...




Les améliorations sont de deux types: matérielles d'une part, et logicielles d'autre part. Les améliorations matérielles ne concernent naturellement que les modules achetés récemment (depuis mi-juillet 2017), mais par contre tous les utilisateurs peuvent profiter des améliorations logicielles en mettant simplement à jour le firmware de leur module.

Mesure de fréquence avec précision accrue


Les modules achetés depuis mi-juillet 2017 portent la marque "Rev.B". La principale amélioration de cette révision matérielle est l'ajout d'un oscillateur de précision pour la mesure de la fréquence. En effet, lorsque le produit a été initialement conçu, la seule valeur mesurée précisément était le rapport cyclique (duty cycle). La mesure de fréquence n'était fournie qu'avec une précision de 2% seulement. Or, il est apparu que de nombreux utilisateurs étaient intéressés par une mesure précise de la fréquence. C'est donc désormais possible, avec une précision de 50ppm, soit 0.05 pour mille. Cette amélioration élargit donc le spectre d'applications possibles du module.

Suppression des rebonds


Initialement pensé pour mesurer des signaux digitaux, exempts de rebonds, le Yocto-PWM-Rx a aussi trouvé des utilisations pour des applications de comptage d'impulsions produites par des actuateurs mécaniques (interrupteurs ou relais). Or le problème de ce type de dispositifs mécaniques est qu'ils ne sont pas propres: à la place de produire une transition unique, claire et nette, ils ont tendance à produire des rebonds avant de se stabiliser, comme on peut le voir sur l'illustration ci-dessous:


Commutation digitale, propre  Commutation mécanique, avec rebond
Signal de commutation produit par un dispositif digital (à gauche) et mécanique (à droite)


Sur un signal avec des rebonds, la capacité du Yocto-PWM-Rx de détecter des impulsions même extrêmement courtes pouvait se transformer en désavantage: chaque rebond comptait comme une impulsion, et le compteur de cycles se retrouvait à avancer trop vite.

Nous avons donc ajouté au firmware du Yocto-PWM-Rx un filtre logiciel, paramétrable individuellement sur chaque canal, pour supprimer les rebonds. Il suffit de configurer la durée de l'impulsion la plus courte qui doit être prise en compte, et les commutations plus courtes seront automatiquement ignorées. Pour des relais ou des interrupteurs mécaniques, la valeur de 25ms est en général efficace pour supprimer les rebonds intempestifs.

Choix de la valeur utile


Chaque canal du Yocto-PWM-Rx peut mesurer simultanément la fréquence, le rapport cyclique, la longueur absolue des impulsions et le décompte de transitions. Mais en général, pour une application donnée, seule l'une de ces valeurs est pertinente. On indique donc dans la configuration de chaque entrée quelle la valeur utile, valeur qui sera non seulement mesurée en temps réel (comme les autres) mais qui peut en plus être enregistrée par le data logger, et propagée via un YoctoHub vers un service de cloud par exemple.

Toujours dans le but d'élargir la palette d'applications du module, nous avons ajouté de nouvelles possibilités de choix pour la valeur utile. Il est désormais possible de choisir entre:

  • la durée des impulsions en ms
  • la rapport de cycle (duty cycle), en pour-cent
  • la fréquence en Hz, inférée des dernières impulsions
  • le CPS, nombre d'impulsions observées durant la dernière seconde
  • le CPM, nombre d'impulsions par minute, mesuré dans les dernières 6 secondes
  • le nombre de changements d'état, vers le haut et vers le bas
  • le nombre d'impulsions, soit en général la moitié du nombre de changements d'état
  • l'état de la ligne, soit 0 soit 1 (après suppression des rebonds)


Gestion des basses fréquences


Finalement, nous avons amélioré les algorithmes servant à détecter le commencement et la fin d'un signal périodique à basse fréquence. Jusqu'à présent, un signal n'était signalé que dès la réception de trois périodes complètes, et la fin du signal (fréquence 0Hz) dès l'absence de transition durant 10 périodes complètes. Ces paramètres convenaient bien pour les signaux de fréquence supérieure à 5Hz, mais introduisaient beaucoup de latence pour les signaux moins rapide. Les signaux lents sont donc désormais signalés dès la première période complète, et leur arrêt établi dès l'absence de transition durant 3 périodes.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.