Ce ne sont pas les seules fréquences disponibles pour les signaux PWM. Cependant, ce sont les fréquences déterminées par le prédéfinisseur appliqué (que vous pouvez facilement modifier comme détaillé ci-dessous).
Chacune des 3 paires de broches PWM est liée à une minuterie, chacune ayant sa propre fréquence de base, comme suit:
- Les broches 5 et 6 sont appariées sur timer0, avec une fréquence de base de 62500Hz
- Les broches 9 et 10 sont appariées sur la minuterie 1, avec une fréquence de base de 31250 Hz
- Les broches 3 et 11 sont appariées sur la minuterie 2, avec une fréquence de base de 31250 Hz
Ensuite, chaque jeu de broches a un certain nombre de valeurs de pré-échelle qui peuvent être choisies, qui diviseront la fréquence de base de cette paire de broches. Les valeurs de mise à l'échelle disponibles sont:
- Les broches 5 et 6 ont des valeurs de mise à l'échelle de 1, 8, 64, 256 et 1024
- Les broches 9 et 10 ont des valeurs de mise à l'échelle de 1, 8, 64, 256 et 1024
- Les broches 3 et 11 ont des valeurs de pré-échelle de 1, 8, 32, 64, 128, 256 et 1024
Les différentes combinaisons produisent des fréquences différentes dans une broche PWM donnée. Notez que le temporisateur 2 (lié aux broches 3 et 11) a plus de valeurs de pré-échelle disponibles, résultant en plus de fréquences disponibles.
Maintenant, pourquoi la minuterie 2 est différente, c'est une question distincte.
Edit: Voici une liste des fréquences PWM possibles par broche (à partir de cet article ):
Pour les broches 6 et 5 (OC0A et OC0B):
- Si TCCR0B = xxxxx001, la fréquence est de 64 kHz
- Si TCCR0B = xxxxx010, la fréquence est de 8 kHz
- Si TCCR0B = xxxxx011, la fréquence est de 1 kHz (c'est la valeur par défaut du chargeur de démarrage Diecimila)
- Si TCCR0B = xxxxx100, la fréquence est de 250 Hz
- Si TCCR0B = xxxxx101, la fréquence est de 62,5 Hz
Pour les broches 9, 10, 11 et 3 (OC1A, OC1B, OC2A, OC2B):
- Si TCCRnB = xxxxx001, la fréquence est de 32 kHz
- Si TCCRnB = xxxxx010, la fréquence est de 4 kHz
- Si TCCRnB = xxxxx011, la fréquence est de 500 Hz (c'est la valeur par défaut du chargeur de démarrage Diecimila)
- Si TCCRnB = xxxxx100, la fréquence est de 125 Hz
- Si TCCRnB = xxxxx101, la fréquence est de 31,25 Hz
TCCRnB
est l'endroit où vous définissez les bits de mise à l'échelle pour la minuterie n
, en les remplaçant n
par 0, 1 ou 2, selon la minuterie que vous souhaitez définir. Si vous n'êtes toujours pas sûr des opérations au niveau du bit, lisez ce didacticiel de mathématiques sur les bits .
Mes sources:
Notez qu'il semble y avoir une divergence dans ces sources quant à savoir si les broches 9 et 10 ont le même comportement que 5 et 6 ou 3 et 11, mais vous avez quand même l'idée. Je lis le datashet pour essayer de déterminer ce qui est correct, ou s'il s'agit d'une différence entre les cartes.