cours pwm

43
Micro-contrôleurs PIC : MC-II3 Le module de génération de signaux MLI (PWM)

Upload: zakarii

Post on 16-Sep-2015

5 views

Category:

Documents


0 download

DESCRIPTION

Cours PWM

TRANSCRIPT

  • 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