Mesure intervalle de temps avec Teensy 4.1
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Mesure intervalle de temps avec Teensy 4.1



  1. #1
    Chameautin

    Mesure intervalle de temps avec Teensy 4.1


    ------

    Bonjour,
    Je voudrais mesurer l'intervalle de temps entre 2 fronts montant d'un signal PWM sur une broche de mon Teensy 4.1. Utiliser micros() fonctionne bien mais j'aimerais faire mieux. Y a t il un moyen d'améliorer cette mesure?
    Merci!

    -----

  2. #2
    Murayama

    Re : Mesure intervalle de temps avec Teensy 4.1

    Bonjour!

    Je voudrais mesurer l'intervalle de temps entre 2 fronts montant d'un signal PWM sur une broche de mon Teensy 4.1.
    La réponse la plus précise que je puisse trouver, c'est : ça dépend.
    De plus, je m'interroge quant à l'utilité d'un tel système. Ce qui est intéressant dans PWM, ce n'est
    pas la période mais le rapport cyclique, du moins dans les applications courantes. Vous devez donc mesurer
    entre 2 fronts montants pour avoir la période, mais vous devez aussi mesurer la distance entre un front
    montant et un front descendant pour avoir la durée "ON".
    -> Vous voulez réellement mesurer la période et non le rapport cyclique?

    Utiliser micros() fonctionne bien mais j'aimerais faire mieux.
    Qu'appelez-vous mieux? Pourquoi changer si ça marche? Plus précis? Avec un système à 600 MHz, il
    y a probablement moyen de faire plus précis que des µs. Pour répondre, il faudrait connaître l'ordre
    de grandeur de la période et la précision que vous voulez obtenir.

    Y a t il un moyen d'améliorer cette mesure?
    Améliorer comment? Plus précis? Plus rapide?

    Pascal

  3. #3
    Chameautin

    Re : Mesure intervalle de temps avec Teensy 4.1

    Bonjour Pascal,
    Merci de ta réponse,
    Je cherche à mesurer la vitesse de rotation d'un moteur avec un codeur incrémental IERS3 500. Dans le cadre de mon projet, je ne peux pas utiliser le Canal I. Je cherche donc la période d'un créneau sur le canal A pour avoir la vitesse (w=2π/(500*T)). Quand je parlais de quelque chose de mieux je me référais à quelque chose de plus précis. La fréquence max est de 30kHz et j'aimerais obtenir une précision de quelques ns. Je pensais me servir du compteur de cycle du processeur de la carte Teensy mais je ne sais pas trop comment m'y prendre.

  4. #4
    Murayama

    Re : Mesure intervalle de temps avec Teensy 4.1

    Bonjour!

    Je cherche à mesurer la vitesse de rotation d'un moteur avec un codeur incrémental IERS3 500. Dans le cadre de mon projet,
    je ne peux pas utiliser le Canal I. Je cherche donc la période d'un créneau sur le canal A pour avoir la vitesse (w=2π/(500*T)).
    Une grande partie de mon travail consiste à concevoir des encodeurs, et je ne sais pas ce qu'est le canal I. Peut-être
    une spécificité linguistique. Ici, on appelle les canaux incrémentaux A B et Z. Z comme zéro.
    Tout dépend si vous avez besoin de suivre la vitesse au plus près, (asservissement de vitesse par exemple) dans quel cas il est
    effectivement nécessaire d'avoir une valeur souvent, ou si c'est juste une histoire d'affichage de vitesse dans quel cas vous n'avez
    pas besoin d'aller vite.

    La fréquence max est de 30kHz et j'aimerais obtenir une précision de quelques ns.
    Est-ce que vous avez besoin d'avoir une valeur à chaque période de A?
    -> Si oui, il va falloir taper directement sur les registres. 600 MHz d'horloge, vous pouvez probablement avoir un timer qui
    fonctionnera en multiples de 3.3ns (1/2 de la fréquence horloge). Mais je ne connais pas l'environnement de développement
    Teensy et ne peux pas vous conseiller. Il doit y avoir un moyen de le faire en C. 30 kHz -> 33ms. Donc en mesurant avec
    3.3ns, le timer grimpera jusqu'à 10 000 environ, ce qui est une résolution acceptable.
    -> S'il n'est pas nécessaire d'avoir une valeur par période, alors vous pouvez diviser et mesurer par exemple la durée
    de 100 périodes. Ou d'un nombre arbitraire.

    Pascal

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

    Re : Mesure intervalle de temps avec Teensy 4.1

    Concernant le nom du canal, merci pour votre précision je ne savais pas qu’on appelait cela un canal Z (j’ai repris le nom de la datasheet du codeur) car c’est la première fois que je me frotte à un codeur incremental.
    En effet je vais en avoir besoin pour un asservissement en vitesse. Chaque impulsion j’ajouterais la valeur de vitesse calculée dans un buffer que j’enverrais a une fréquence de 50Hz.
    Merci Pascal!

  7. #6
    Murayama

    Re : Mesure intervalle de temps avec Teensy 4.1

    Re!

    Avant d'oublier, 30 kHz, c'est 33µs, pas ms. Par contre, le facteur 10000 est bon.
    Je précise ce qu'est le Z: une impulsion par tour qui permet de connaître l'origine
    du comptage des angles. Ou en linéaire, une impulsion sur la règle. L'impulsion
    a en général une largeur de 1/4, 1/2 ou 1 périoda A ou B.

    Au fait, votre premier message était un peu hors sujet. Les signaux A et B ne sont
    pas des PWM. Leur rapport cyclique est fixe, autour de 50%. Avec une tolérence
    de +/- 10 pour les encodeurs rapides, donc entre 40 et 60% de rapport cyclique.

    Pascal

  8. #7
    Seb.26

    Re : Mesure intervalle de temps avec Teensy 4.1

    Le plus simple : un timer/compteur pour compter les impulsions et un autre timer périodique pour regarder combien d'impulsions il y a eu et RAZ le 1er compteur ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

Discussions similaires

  1. [Outils/Fab/Comp] Mesure constante de temps avec Spice
    Par lausa1 dans le forum Électronique
    Réponses: 0
    Dernier message: 06/01/2017, 17h01
  2. Mesure d'intervalle de temps par acquisition vidéo
    Par invite9defdc19 dans le forum Physique
    Réponses: 6
    Dernier message: 07/12/2012, 09h52
  3. TPE : la mesure du temps, la mesure du temps selon les époques influences sur la vie
    Par invite02663f50 dans le forum TPE / TIPE et autres travaux
    Réponses: 2
    Dernier message: 29/09/2011, 20h09
  4. montre digitale avec fonction intervalle de temps
    Par invite6a88e821 dans le forum Électronique
    Réponses: 1
    Dernier message: 10/06/2009, 19h05
  5. formule de mesure du temps avec le pendule
    Par invitefdef10d8 dans le forum Archives
    Réponses: 2
    Dernier message: 14/04/2008, 22h34
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...