cours pwm
DESCRIPTION
Cours PWMTRANSCRIPT
-
Micro-contrleurs PIC : MC-II3
Le module de gnration de signaux MLI (PWM)
-
Prsentation
Un signal MLI (Modulation de Largeur d'Impulsions) ou PWM en anglais (Pulse Width Modulation) est un signal dont le rapport cyclique varie.
-
Prsentation
En gnral, les applications les plus courantes travaillent frquence fixe :
Alimentation dcoupage, variateur de vitesse et d'une manire gnrale un grand nombre de dispositifs d'lectronique de puissance.
-
Prsentation
Autre application : conversion numrique analogique
Cest une manire simple et efficace de gnrer une tension analogique avec un microcontrleur. Peu dentre eux sont en effet quips dun convertisseur numrique analogique.
-
Prsentation
Le principe est de gnrer un signal logique (valant 0 ou 1), frquence fixe mais dont le rapport cyclique est contrl numriquement. La moyenne du signal de sortie est gale au rapport cyclique : il suffit donc de mettre un filtre pour obtenir la valeur analogique recherche.
-
Prsentation
Les niveaux de tensions gnrs par le micro-contrleur sont celles de son alimentation (en gnral 0 ~ 5V), mais la frquence et le rapport cycliques sont configurables/variables.
-
Ressources matriels
Que faut-il utiliser pour gnrer un tel signal ? Le micro-contrleur PIC 18F4520 dispose de
deux modules appels CCP1 et CCP2 CCP : Capture/Compare/PWM En fonction de son mode d'utilisation, le
module CCP1 ou CCP2 utilise le Timer 1, 2 ou 3
Un module CCP est forcment li un Timer
-
Principe de fonctionnement
La gnration d'un signal MLI se fait en deux temps :
On utilise un compteur qui fixe la frquence du signal gnrer.
On compare en permanence la valeur du compteur une valeur fixe qui permet de dfinir le rapport cyclique
-
Principe de fonctionnement
Lorsque le compteur est infrieur la valeur fixe, la sortie est 1
Lorsque le compteur est suprieur la valeur fixe, la sortie est 0.
-
Principe de fonctionnement
La documentation constructeur nous donne, page 140 :
Pour gnrer un signal PWM, il faudra donc utiliser le Timer 2.
C'est donc ce compteur qui fixera la frquence du signal.
-
Principe de fonctionnement
La valeur de comparaison, qui permet de configurer le rapport cyclique, est fixe dans un registre du module CCP1 (ou CCP2).
C'est donc ce registre qui est compar en permanence au registre de comptage du Timer 2.
-
Possibilits des modules CCP1/2
Le table 15-4 nous donne les caractristiques des signaux susceptible dtre gnrs avec un micro-contrleur PIC cadenc 40MHz :
On peut par exemple gnrer un signal carr 39 kHz avec 1024 valeurs diffrentes de rapport cyclique.
-
Configuration des modules CCP
Comme nous l'avons vu prcdemment, nous pouvons dcomposer le problme en deux parties distinctes :
Configuration de la frquence de la MLI Cette tache est assure par le Timer 2
Configuration du rapport cyclique Cette tache est assure par le module CCP
Les signaux gnrs seront sortis sur les broches RC1(pour le module CCP2) et RC2 (pour le module CCP1) du micro-contrleur PIC.
-
Configuration des modules CCP
Si les deux modules CCP (CCP1 et CCP2) sont utiliss en mme temps pour gnrer deux signaux PWM, ceux-ci auront la mme frquence.
C'est normal car chacun d'eux doit utiliser le Timer 2 pour configurer la frquence ...
-
Fonctionnement
-
Timer 2 : rappels
Le dbut de comptage est obligatoirement 0 et la fin de comptage est la valeur entrer dans le registre PR2 (valeur dfinie).
-
Timer 2 : rappels
C'est un compteur 8 bits appel TMR2
Un pr-compteur fixe (diviseur par 4)
Un pr-compteur variable (diviseurpar 1, 4 ou 16)
Le registre TMR2 sincrmente chaque front dhorloge de la sortiedu prescaler jusqu ce quil soit galau contenu du registre PR2.
Ds que la valeur de TMR2 atteint PR2,TMR2 repasse 0et recommence sincrmenter
Dans le mode de fonctionnement PWM,nous nutiliserons pas le post-diviseur
-
Timer 2 : rappels
Formule permettant de calculer le temps de comptage :
Cette formule est similaire celle donne dans la documentation (page 144) :
T=T quartzValeur du pr-compteur fixe Valeur du pr-compteur rglable (Valeur dfinie + 1)
-
Timer 2 : rappels
Il n'y a que 2 registres configurer : T2CON
et PR2
-
Exemple On dsire crer un signal 400Hz.
Il faut donc crer une temporisation avec le Timer 2 de 2,5ms ( T = 1 / F = 1 / 400).
Avec la formule ci-dessous :
Plusieurs possibilits soffrent nous : Nous prendrons celle laissant le plus de choix
possible pour le rapport cyclique. Pour cela nous allons prendre pour PR2 la
valeur la plus grande possible. Soit un prcompteur de 16, et une valeur de
PR2 de 156.
T=T quartzValeur du pr-compteur fixe Valeur du pr-compteur rglable (Valeur dfinie + 1)
-
Le module CCP
La configuration du Timer 2 nous permet simplement de dfinir la frquence du signal gnr.
Le module CCP1 ou CCP2 va nous permettre de gnrer un signal MLI en agissant sur le rapport cyclique.
Les modules CCP1 et CCP2 sont identiques, un dtail prs que l'on verra plus tard ...
-
Le module CCP
Registre de configuration CCP1CON ou CCP2CON
-
Le module CCP
Registre de configuration CCP1CON ou CCP2CON 1re tape : configurer le module CCP pour
qu'il gnre un signal PWM C'est le rle des bits CCPxM
CCP1M pour CCP1CON CCP2M pour CCP2CON
-
Le module CCP
Registre de configuration CCP1CON ou CCP2CON Il reste 2 bits configurer dans ce registre
que l'on verra tout l'heure ...
-
Le module CCP
Principe de fonctionnement (module CCP1) Le Timer2 compte les impulsions
provenant de lhorloge du PIC (horloge prdivise par les diffrents pr-compteurs du Timer2)
Le registre TMR2 est compare : PR2, ce qui permet de
configurer la frquence CCPR1H, ce qui permet de
configurer le rapport cyclique Ces 2 comparateurs sont connects
sur les entres 'R' et 'S' d'une bascule RS, dont la sortie est connecte sur la broches RC2 (ou RC1 pour CCP2)
-
Le module CCP
Principe de fonctionnement (module CCP1) Lorsque le registre TMR2 est gal la valeur
place dans PR2 trois actions se produisent : Le compteur TMR2 est remis 0 Lentre S de la bascule RS est active
plaant la sortie Q de celle-ci 1 La valeur place dans CCPR1L est affecte
CCPR1H
Le compteur continu compter les impulsions provenant de lhorloge du micro-contrleur PIC.
-
Le module CCP
Principe de fonctionnement (module CCP1) Lorsque le registre TMR2 est gal la valeur
place dans le registre CCPR1H, lentre R de la bascule RS est active plaant la sortie Q de celle-ci '0'.
Remarque importante : Lorsque la valeur dans le registre CCPR1H est plus grande que la valeur max du Timer2, la sortie du module CCP reste '1'.
Le signal de sortie sera remis '1', lorsque le registre TMR2 sera gal PR2.
-
Le module CCP
Principe de fonctionnement (module CCP1) Cette dernire partie du schma nous prcise
quil faut absolument affecter la broche RC2 en sortie pour pouvoir disposer du signal PWM en sortie du PIC .
-
Les diffrents registres associs
-
Les diffrents registres associs
Les registres INTCON, PIR1, PIE1, IPR1 sont utiliss pour grer le Timer2 et le module CCP en interruption.
Le registre TRISC est utilis pour placer la ligne RC2 et RC1 en sortie pour visualiser les signaux provenant respectivement du module CCP1 ET CCP2 .
Les trois registres TMR2, PR2, T2CON sont lis au timer2. Il ny a donc que trois registres configurer/utiliser pour
chacun des modules CCP : CCPR1L, CCPR1H et CCP1CON pour le module CCP1 CCPR2L, CCPR2H et CCP2CON pour le module CCP2
-
Prcision du rapport cyclique
Le Timer 2 est un compteur 8 bits Les registres CCPR1H et CCPR1L sont galement
des registres sur 8 bits Nous devrions donc avoir un signal PWM avec une
prcision sur 8 bits pour le rapport cyclique. Or, le constructeur nous annonce (premire page de
la documentation) une PWM avec une prcision sur 10 bits :
-
Prcision du rapport cyclique
Le tableau ci-dessous nous donne des exemples :
Plus la frquence gnre est leve, moins la prcision sur le rapport cyclique est importante.
-
Prcision du rapport cyclique
Revenons sur la figure 8.3 et faisons attention maintenant aux parties encadres :
-
Prcision du rapport cyclique
Le registre CCPR1L fixant le rapport cyclique est sur 8 bits et peut tre complt avec les bits 4 et 5 du registre CCP1CON pour former un mot de 10 bits.
Ce mot de 10 bits est compar au registre TMR2 complt par les deux bits les plus significatifs du prescaler.
-
Exemple de programme
But du programme : Gnrer un signal carr 400Hz sur la sortie du module CCP1.
Void main (void){ // configuration de la ligne RC2 en sortie TRISC.2 = 0;
// configuration du Timer2 (priode de 2.5ms) PR2 = 156; T2CON=0x07; // prescaler de 16
// configuration du module CCP CCP1CON = 0x0C; // mode PWM CCPR1H = PR2 / 2; // rapport cyclique 50%
while (1);}
-
Gnration de son
Notes de musique Nous allons expliquer succinctement quelques
notions de musique, mais pour de plus amples informations vous pouvez consulter le site : www.theoriedelamusique.com/notes.html
Les notes de musiques se dessinent sur une porte compose de 5 lignes parallles :
-
Gnration de son
Au dbut de la porte se trouve la cl. En gnral on utilise la cl de sol mais il existe aussi la cl de
FA, de DO ou d'UT
Le commun des mortels connait les sept notes: DO, RE, MI, FA, SOL, LA, SI.
Leurs reprsentation
sur la partition est:
DO
DO
REMI
FASOL
LASI
-
Gnration de son
Les 12 notes : En fait il existe douze notes. En effet, il existe des demi-tons
appels dise ou bmol suivant quils lvent ou abaissent la note. Ces douze notes forment une octave.
Ces douze notes sont facilement visualisables sur un piano. Les touches noires sont les dises.
-
Gnration de son
La note de rfrence: Les musiciens, pour accorder leurs appareils de musiques,
utilisent gnralement un diapason. Cet appareil gnre un son parfait correspondant un 'la' de la 4me octave.
Un son parfait = signal sinusodal 440 Hz
Les octaves : Nous avons tous remarqu qu'il n'y a pas que ces douze touches sur un clavier mais beaucoup plus. Il y a en effet beaucoup d'octaves. Notre oreille entend 10 octaves de 16Hz 16kHz.
-
Gnration de son
Les frquences des notes d'une octave : On prend le 'la' de rfrence en on multiplie
par un coefficient :
Constations: Pour passer d'une octave la suivante on multiplie par 2.
F note = LA * ( 2 )X/12
O X reprsente la place de la note dsire par rapport au LA.
notes La La# Si DoDo# r
Re# mi fa
Fa# sol
Sol# la
position 0 1 2 3 4 5 6 7 8 9 10 11 12Frquence
Hz 440 880
-
Gnration de son
-
Gnration de son
La dure d'une note : Nous avons tous en mmoire qu'il existe des
rondes, des blanches, des noires, des croches, des doubles croches, des triples croches et des quadruples croches.
La dure de chacune des notes est lie au temps donn la ronde.
rondes blanches noires croches doubles crochestriples
crochesquadruples
crochesT T/2 T/4 T/8 T/16 T/32 T/64
-
Gnration de son
La dure d'une note :
Le tempo de la mlodie peut augmenter ou diminuer le temps T.
Diapo 1Diapo 2Diapo 3Diapo 4Diapo 5Diapo 6Diapo 7Diapo 8Diapo 9Diapo 10Diapo 11Diapo 12Diapo 13Diapo 14Diapo 15Diapo 16Diapo 17Diapo 18Diapo 19Diapo 20Diapo 21Diapo 22Diapo 23Diapo 24Diapo 25Diapo 26Diapo 27Diapo 28Diapo 29Diapo 30Diapo 31Diapo 32Diapo 33Diapo 34Diapo 35Diapo 36Diapo 37Diapo 38Diapo 39Diapo 40Diapo 41Diapo 42Diapo 43