TD 3 : Mode PWM

Sommaire[Masquer]

Le mode PWM (Pulse Mode Modulation = Modulation de largeur d'impulsion) permet de générer des signaux de rapport cyclique variable et donc de valeur moyenne comprise entre 0 et VCC.

L'objectif de ce TD est d'étudier le fonctionnement du module CompareComparePMW des PIC18F4550 afin de faire varier l'intensité lumineuse de la LED1.

1. Etude de la section 15.4 de la datasheet

La figure 15-3 constitue l'essence de cette étude.

  1. Sur cette figure, mettre en évidence toute la partie concernant le timer 2 déjà étudiée dans le TD 2.
  2. A quelle condition le signal de la broche CCPx est-il mis à 1 ? Que faut-il configurer pour que la broche correspondante se comporte comme une sortie ?
  3. Dresser la liste des broches qui peuvent être utilisées pour CCP1 puis pour CCP2, les deux modules CCP du uC.
  4. Préciser comment choisir la sortie sur laquelle se fait la sortie du module CCP2. Le bit concerné peut-il être changé pendant le déroulement du programme ?
  5. Quel est le rôle de CCPRxH ? Expliquer le mécanisme permettant de changer sa valeur ?
  6. Donner l'expression du rapport cyclique du signal ainsi généré sur CCPx en fonction de PR2 et CCPR1L.
  7. Combien de valeurs différentes pourra prendre le rapport cyclique ?

2. Application : variation de l'intensité lumineuse dans la LED1

On reprend la configuration du Timer 2 effectuée dans le TD2. Pour rappel, la période de TMR2IF était fixée à 5ms, soit une fréquence de 200Hz.

2.1. Etude préalable

  1. En reprenant cette configuration du Timer 2, quelle sera la période du signal PWM exprimée en fonction de N1 (prescaler du Timer 2), Fosc et PR2 ? Donner la fréquence correspondante.
  2. Compte tenu de la valeur de PR2, combien de niveaux d'intensité différents pourra prendre la LED1 ?
  3. Configurer le module CCP1 pour un fonctionnement en mode PWM.

2.2. Proposer le code de la fonction main pour illuminer la LED1 avec une faible intensité lumineuse en fixant le rapport cyclique de CCP1 à un dixième.