Parlons Arduino > Bibliothèques

Fast PWM et phase correct PWM

(1/2) > >>

Benoit92:
J'ai vu que l'on pouvait modifier la fréquence de récurrence  du PWM.
Par exemple, le Timer 2 peut modifier  la fréquence de récurrence  du PWM sur les broches 3 et 11.
//TCCR2B = TCCR2B & B11111000 | B00000001;    // set timer 2 divisor to     1 for PWM frequency of 31372.55 Hz
//TCCR2B = TCCR2B & B11111000 | B00000010;    // set timer 2 divisor to     8 for PWM frequency of  3921.16 Hz
//TCCR2B = TCCR2B & B11111000 | B00000011;    // set timer 2 divisor to    32 for PWM frequency of   980.39 Hz
  TCCR2B = TCCR2B & B11111000 | B00000100;    // set timer 2 divisor to    64 for PWM frequency of   490.20 Hz
//TCCR2B = TCCR2B & B11111000 | B00000101;    // set timer 2 divisor to   128 for PWM frequency of   245.10 Hz
//TCCR2B = TCCR2B & B11111000 | B00000110;    // set timer 2 divisor to   256 for PWM frequency of   122.55 Hz
//TCCR2B = TCCR2B & B11111000 | B00000111;    // set timer 2 divisor to  1024 for PWM frequency of    30.64 Hz
Question :
Ces fréquences correspondent t-il à un :
 - mode « Fast PWM Mode »
ou à un
 - mode « Phase Correct PWM Mode »
?????????

Dominique:
Et la balise code ?

Une petite recherche sur le forum, la question à déjà été traitée.
http://forum.locoduino.org/index.php?topic=279.msg2614#msg2614

Et la fiche produit de l'ATMega328, très détaillée...

Benoit92:
Merci Dominique,
Première chose : pas touche au Timer 2. pourquoi ??


--- Citation de: PhB22560 le février 02, 2017, 11:57:54 am ---Merci pour ta réponse rapide.

Bon, donc il y a trois Timers (UNO ou MEGA) :
Le Timer 0 correspond aux broches 5 et 6
Le Timer 1 correspond aux broches 9 et 10
Le Timer 2 correspond aux broches 3 et 11.

Première chose : pas touche au Timer 2.
Cà tombe bien puisque je commande le pont en H avec les broches 5 et 6 donc le Timer 1.

D'après ce que j'ai compris la fréquence PWM "de base" est de 400 Hz.
Si je veux la faire varier, il me suffit de charger la bibliothèque qui va bien.

Par le gestionnaire de bibliothèque, j'ai trouvé une biblio qui s'appelle TimerOne by Jesse Tane et d'autres auteurs.
Est-ce bien cela?
Merci d'avance

--- Fin de citation ---

Jean-Luc:
M’enfin, il y a quelques temps, je te suggère d’aller lire l’article http://www.locoduino.org/spip.php?article202 où il y a toutes les réponses à tes questions. Il y a même la bibliothèque pour changer la fréquence à la fin de l’article.

A quoi ça sert qu’on s’enquiquine à écrire ces trucs ? Sérieusement ? A croire que tu ne l’as pas lu

Benoit92:
1) C'était simplement une remarque que j'ai vu sur le lien :
http://forum.locoduino.org/index.php?topic=279.msg2614#msg2614
Comme j'ai l'intention d'utiliser le Timer2, j'essaie simplement de comprendre le sens de cette remarque
(qui peut éventuellement être pertinente : j'en sais rien !!!).

2) pour la réponse à ma question initiale : c'est bon, j'ai trouvé sur ton lien :
    -  Le timer 0 est configuré avec une division par 64 et la PWM est en Fast PWM Mode ;
    -  Les timers 1 et 2 sont configurés avec une division par 64 et la PWM est en Phase Correct PWM Mode.

3) Sur l'include en en-tête du programme (#include <PWMFreq.h>), contrairement aux autres include (par exemple #include <Servo.h>), le terme PWMFreq ne passe pas en rouge.
Est ce normal ?

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique