Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

Génération d’un Signal PWM avec un Timer

Back                  << Index >>

Configurations

Le signal PWM ( Pulse Width Modulation / Modulation de Largeur d’Impulsion ) résulte de la comparaison entre une valeur courante de comptage contenue dans CNT, et un registre représentant le rapport cyclique :

La période de remise à zéro du timer est définie, comme précédemment, par PSC et ARR.
Le registre duty correspond au registre CCRx.
Le résultat de la comparaison entre CNT et CCRx met à jour la sortie channel x : TIMx_CHx.
Un timer possède 4 signaux de sortie : CH1, CH2, CH3, CH4.

Les registres CCMR1 et CCMR2 permettent de configurer respectivement CH1, CH2 et CH3, CH4.

Configuration des Broches

Nous souhaitons contrôler la luminosité de la Led verte avec un signal PWM :

La led verte est reliée à la broche PC7.
D’après la Datasheet STM32F411 (p50) :

Nous pouvons utiliser le Timer 3 ( alternate function 02 ) pour générer un signal PWM à destination de la led verte.

Il faudra donc ajouter le code suivant dans le fichier stm32f4xx_hal_msp.c :

stm32f4xx_hal_msp.c

Génération du signal PWM

La fonction HAL_TIM_PWM_Init() permet de définir les registres PSC et ARR, et le mode de fonctionnement.

stm32f4xx_hal_tim.c

La fonction HAL_TIM_PWM_ConfigChannel() permet , pour un channel donné, de :

stm32f4xx_hal_tim.c

La fonction HAL_TIM_PWM_Channel_Set() permet de changer le rapport cyclique d’un channel donné :

stm32f4xx_hal_tim.c

Travaux Pratiques

Rapport cyclique Fixe

Q1. Configurer le périphérique Timer de telle sorte que la luminosité de la LED verte soit contrôlée par un signal PWM généré par le Timer 3.
La période du signal PWM doit être de 10 ms.

Effectuer un test pour un rapport cyclique de 90%, puis de 10%.
Vérifier à l’oscilloscope la fréquence du signal, et le rapport cyclique.

Contrôle du rapport Cyclique avec les boutons

Q2. Modifier le programme pour contrôler la luminosité de la LED Bleue avec un signal PWM.
Le rapport cylclique doit être modifiable en appuyant sur les boutons.


Back                  << Index >>