Académique Documents
Professionnel Documents
Culture Documents
Systèmes Embarqués-PWM
Systèmes Embarqués-PWM
TP Systèmes Embarqués
1. Définition
Le PWM pulse width modulation ou MLI (en Français : Modulation par Largeur d'Impulsion) est
une technique de création de signaux qui permet de contrôler de l'analogique avec des sorties numériques
d'un microcontrôleur. La commande en PWM consiste en une succession rapide d’impulsion électrique. Le
PWM est un signal tout ou rien, c'est-à-dire alternant sans transition entre une valeur minimale
(généralement 0V) et une tension maximale (en général 5V ou 3.3V).
2. Propriétés
La commande par PWM est très liée à la notion de fréquence car la série impulsions sont caractérisé
principalement par la durée du cycle.
Pour que l'impression d'une valeur moyenne constante d'allumage apparaisse, il faut que l'alternance
d'allumage/extinction soit suffisamment rapide pour qu'elle ne se remarque pas.
En fonction de la durée de l'impulsion, nous pouvons obtenir une valeur moyenne en pourcentage
du temps d'activation par rapport au temps total de la période du signal. Ce rapport est appelé rapport
cyclique ou Duty Cycle en Anglais.
Le temps d'activation est noté Ton et la période est noté T. Le rapport cyclique " Duty cycle " est
noté " 𝜶 " soit :
𝑇𝑜𝑛
𝛼=
𝑇
Dans la figure 1 , nous pouvons remarquer que le temps d'activation est du quart de la période, soit
un Duty cycle de 25%.
3. Principe
Pour obtenir un signal PWM dans un microcontrôleur, il faut fixer l'adresse du signal, la fréquence
du signal et le rapport cyclique.
3.1. Adresse
Pour déterminer l'adresse du signal nous devons avant tout comprendre la source du signal PWM.
Prenons l'exemple de notre carte STM32F407. Cette carte est munie de 14 Timers.
A titre d'exemple le Timer 4 le Channel1 est connecté au PD12, le Channel2 est connecté au PD13,
le Channel3 est connecté au PD14 et le Channel4 est connecté au PD15.
NB1 : Lors de vos manipulations le CubeMX renvoie les channels activés avec les pins
respectifs.
NB2 : Le channel d'un Timer n'a pas une adresse de sortie unique. Cela dépend de la
configuration.
3.2. Fréquence
La fréquence du signal PWM est liée directement par la fréquence du Timer qui est alimenté en
fréquence par l'un des deux périphériques d'horloges APB1 et APB2. Le "bloc diagram" fig 4
montre l'acheminement du signal d'horloge vers les différents Timers.
Chaque Timer comprend un diviseur de fréquence "Prescaler " qui est valorisé sur 16 bits (soit une valeur
maximale de 65535). Dans la génération de PWM, nous utilisons un deuxième registre qui est le ARR
(AutoReload Register). Ce registre fixe une valeur comptage à Partir de la fréquence du Timer.
𝐹𝐴𝑃𝐵1/𝐴𝑃𝐵2
𝐹𝑃𝑊𝑀 =
(𝑃𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 + 1) × (𝐴𝑅𝑅 + 1)
Le rapport cyclique est déterminé par la valeur du registre CCR (Capture Compare Register).
4. Instructions
ARR=100
(1) Activation du signal PWM du Timer4 Channel1(Voir UM1725 User Manual p 884)