Combien d'épingles PWM sur Arduino Uno

Combien d'épingles PWM sur Arduino Uno
PWM est un acronyme de la modulation de largeur d'impulsion qui est utilisé pour obtenir la sortie dans des signaux pulsants ou pour créer une sortie d'onde carrée. En utilisant cette technique, nous pouvons interface des appareils analogiques avec Arduino via des moyens numériques. Arduino offre plusieurs façons d'interfacer les périphériques avec lui. PWM est l'un de ceux à contrôler les appareils comme les servomoteurs, les moteurs CC et d'autres modules analogiques.

PWM avec Arduino

PWM dans Arduino a une large gamme d'applications utilisées pour contrôler les appareils analogiques à l'aide de signaux numériques. La sortie des broches numériques Arduino peut être classée en deux niveaux de tension élevés, ce qui est 5 V ou bas, ce qui indique 0V. En utilisant PWM dans Arduino, nous pouvons générer un signal ayant une fréquence constante mais avec une largeur variable d'impulsion. L'exemple le plus courant de l'utilisation de PWM dans Arduino contrôle la luminosité d'une LED et le contrôle de la vitesse d'un moteur.

Le signal de modulation de la largeur d'impulsion a les deux caractéristiques suivantes:

  • Fréquence: La fréquence du signal PWM indique à quelle vitesse un cycle sera terminé. Alternativement, la fréquence de PWM décide à quelle vitesse le signal de sortie se déplacera entre un état élevé et bas.
  • Cycle de service: Il décrit la durée pour laquelle un signal de sortie reste à haut état en pourcentage du temps total nécessaire pour effectuer un cycle.

PWM Pins sur Arduino Uno

Arduino Uno a un total de 14 broches de sortie d'entrée numérique, sur ces broches numériques, 6 broches PWM sont disponibles sur la carte Arduino Uno. Sur les broches d'E / S numériques Arduino Uno UNO 3, 5, 6, 9, 10 et 11 sont des broches PWM. Le nombre d'épingles PWM varie d'une carte à une autre.

La contre-vitesse dans Arduino détermine la fréquence des signaux PWM. Dans le compteur Arduino Uno, l'horloge est égale à l'horloge système divisée par la valeur des préscaleurs. Trois prescaleurs stockent la valeur du comptoir registre. Ces trois préscalers sont connus sous le nom de: CS02, CS01 et CS00. Comme le nombre total d'épingles PWM est 6, donc trois comptoirs sont utilisés dans Arduino Uno ayant des précaleurs séparés pour contrôler les broches PWM.

Registres de minuterie / comptoir Broches PWM
Tccr0b Contrôle les broches 6 et 5
Tccr1b Contrôle les broches 9 et 10
Tccr2b Contrôle les broches 11 et 3

Chacun de ces trois registres peut configurer trois plages de fréquence différentes pour les signaux PWM. Normalement, par défaut, un arduino uno a des fréquences suivantes pour les broches PWM:

Épingles arduino Fréquence PWM
5 et 6 980 MHz
9, 10,11 et 3 500 MHz

Comment utiliser des broches PWM à Arduino

Les broches numériques sur Arduino peuvent être configurées en utilisant pinMode (), DigitalRead () et DigitalWrite (). Ici, la fonction pinmode () définit une broche en entrée et en sortie. Lorsque nous configurons les broches numériques en tant qu'entrée, la fonction DigitalRead () est utilisée lors de la définition d'une broche en fonction de la fonction numériquewrite () est utilisée.

analogwrite ()

Pour configurer les broches PWM que nous utilisons analogwrite () fonction. Cette fonction écrit une valeur analogique à une broche numérique. Il peut définir le cycle de service du signal PWM. Lorsque la fonction analogique est appelée sur une broche spécifique, une onde carrée régulière avec un cycle de service défini est générée. Cette onde carrée restera là jusqu'à ce que nous appelions une nouvelle fonction analogwrite () pour cette broche ou écrivez une nouvelle valeur à l'aide de DigitalRead () ou DigitalWrite ().

Syntaxe

Analogwrite (broche, valeur)

La fonction analogwrite () prend deux arguments:

  • Broche: Épingle dont la valeur doit être définie.
  • Valeur: Il décrit le cycle de service entre 0 qui est un état bas et 255 qui est élevé ou à l'état.

Un autre argument facultatif en cas de PWM est la fréquence. Si cela n'est pas spécifié par défaut, c'est 500 Hz.

La valeur analogwrite () définit le cycle de service pour les signaux PWM:

  • Analogwrite (0) signifie un signal PWM ayant 0% de cycle de service.
  • Analogwrite (127) signifie un signal PWM ayant un cycle de service de 50%.
  • Analogwrite (255) signifie un signal PWM ayant un cycle de service à 100%.

Conclusion

PWM dans Arduino est une technique ou une méthode pour contrôler les appareils analogiques à l'aide de signaux numériques. Toutes les cartes Arduino ont des épingles PWM à bord. 6 broches PWM sont présentes dans Uno Sur le total de 14 broches numériques. Ici, nous avons discuté de la façon dont nous pouvons configurer ces broches en utilisant la fonction analogwrite () dans Arduino Uno.