IMPULSIOMÈTRE avec le TIMER1.

La mesure des Impulsions et des rapports cycliques avec l’ATmega328 :

Encore une fonction gratuite à ajouter au mini laboratoire, car à l’instar des fréquences et des périodes nous allons encore utiliser l’entrée D5. Mesurer des impulsions ne présente pas beaucoup de sens avec des signaux autres que « rectangulaires. Tous ceux qui doivent ajuster la durée d’un temporisateur, la constante de temps d’un monostable qu’il soit redéclenchable ou non comprendront immédiatement le parti que l’on peut tirer d’un appareil de mesure qui permet de mesurer la durée d’une impulsion à l’état « 1 » ou celle d’un créneau à l’état « 0 ». Mais dans l’univers des petits automatismes, ce sont les signaux

Fig 1

rectangulaires périodiques tels que ceux montrés sur la Fig.1 qui envahissent le devant de la scène. Sur ce dessin Pls + représente une impulsion dite positive. Qu’elle soit en niveaux TTL entre 0 et +5Vcc, en RS232 comprise entre -12Vcc et +12Vcc n’est pas significatif. Ce qui importe c’est sa durée à l’état « 1 ». De manière analogue Pls – est une impulsion réputée négative. Elle se caractérise par sa durée à l’état « 0 ». Comme le signal est répétitif, vous avez déjà compris que la somme des deux durées donne la période T.

Statistiquement, dans le territoire d’Arduino, les durées Pls + et Pls – ne sont pas les informations les plus significatives. Le plus souvent, on désire gérer une sortie nommée « analogique » pour illuminer plus ou moins une LED par exemple. Dans ce cas, l’information pertinente n’est plus du tout la fréquence, la durée Pls + ou la durée Pls –. L’effet lumineux ne dépendra que de la valeur efficace pour peu que la fréquence soit suffisamment élevée pour éliminer tout phénomène de clignotement ou de scintillation. Cette valeur efficace est caractérisée par le rapport cyclique.

La faculté de générer des signaux rectangulaires à fréquence fixe mais de Rapport cyclique pouvant varier de 0 à 100 est tellement commode que l’ATmega328 peut configurer six de ses sorties pour générer de tels signaux. Les sorties fonctionnent alors en mode PWM. (Pulse Width Modulation) En bon Français on utilise le vocable d’impulsions à modulation de largeur. Sans préciser tous les détails, la PWM sur l’ATmega328 est générée à 490 Hz sur quatre des sorties dédiées, dont celle qui sera sollicité dans notre projet. (Soit une période de 2040μS) Comme ce type de génération met en service l’un des TIMERS, donc il est possible d’obtenir un tel signal en tâche de fond. Ainsi disponible en parallèle de certaines fonctions de notre mini laboratoire, on pourra de la sorte tester le fréquencemètre, le périodemètre et naturellement cette nouvelle fonction d’impulsiomètre.

Bien que l’on pourrait générer un signal de rapport cyclique quelconque, le choix s’est porté sur des durées égales pour Pls + et Pls – soit un rapport cyclique de 0,5. Le petit programme expérimental P13_Impulsiometre_sur_USB.ino est encore une copie honteuse du démonstrateur P12_Periodemetre_sur_USB_avec_formatage.ino avec très peu de modifications. La Fig.2 permet de détailler le principe des mesures. En (1) on attend un état « 0 » pour se préparer à l’arrivée d’un front montant. Quand en (2) il est détecté (État « 1 ».) on déclenche un chronométrage rapide.
Puis on surveille l’arrivée de l’état état « 0 » qui en (3) dénonce le front descendant suivant. On stoppe le compteur et l’on en extrait la valeur de Pls +. On recommence quelques part en (5) où un état « 1 » anticipe la prochaine mesure qui débute en (6) quand D5 repasse à « 0 ». On attend alors la « remontée » du signal qui en (7) détermine le front montant. Le TIMER1 est alors stoppé et l’on calcule Pls –.

Fig 2

En réalité pour chaque impulsion on effectue la moyenne sur dix mesures. Mais comme Pls + et Pls – sont mesurées à des moments différents, la mesure des impulsions est plus fluctuante que celle des périodes. Des valeurs de Pls + et Pls – sont déduites celles de la période et de la fréquence, du rapport cyclique mais ce ne sont que des évaluations approximatives relativement instables.

>>> Page suivante.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *