Outils pour utilisateurs

Outils du site


start:arduino:pwm

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
start:arduino:pwm [2022/12/20 14:40] – [Changé les frequences Timer 0] gerardadminstart:arduino:pwm [2022/12/20 14:47] – [Comment changer la fréquence PWM d'Arduino] gerardadmin
Ligne 1: Ligne 1:
  
-=====Comment changer la fréquence PWM d'Arduino =====+========Comment changer la fréquence PWM d'Arduino ========
  : Guide épique  Robert Brun·11 juin 2021  : Guide épique  Robert Brun·11 juin 2021
 +
 +[[https://nerdytechy.com/how-to-change-the-pwm-frequency-of-arduino/|Changer Frequences PWM EN]]
  
 Le microcontrôleur possède plusieurs temporisateurs qui peuvent exécuter différentes fonctions, telles que la génération d'un signal PWM . Pour que le temporisateur génère un signal PWM, il doit être préconfiguré en éditant le registre du temporisateur. Lorsque nous travaillons dans l'IDE Arduino, les minuteries sont configurées à notre insu dans la bibliothèque Arduino.h et obtiennent en fait les paramètres souhaités par les développeurs. Et ces paramètres ne sont pas très bons : la fréquence PWM par défaut est faible et les minuteries ne sont pas utilisées à leur plein potentiel. Regardons le PWM standard de l'ATmega328 (Arduino UNO/ Nano / Pro Mini ) : Le microcontrôleur possède plusieurs temporisateurs qui peuvent exécuter différentes fonctions, telles que la génération d'un signal PWM . Pour que le temporisateur génère un signal PWM, il doit être préconfiguré en éditant le registre du temporisateur. Lorsque nous travaillons dans l'IDE Arduino, les minuteries sont configurées à notre insu dans la bibliothèque Arduino.h et obtiennent en fait les paramètres souhaités par les développeurs. Et ces paramètres ne sont pas très bons : la fréquence PWM par défaut est faible et les minuteries ne sont pas utilisées à leur plein potentiel. Regardons le PWM standard de l'ATmega328 (Arduino UNO/ Nano / Pro Mini ) :
Ligne 231: Ligne 233:
 } }
 </code> </code>
 +
 +=====Bibliothèques pour travailler avec PWM=====
 +
 +En plus de jouer manuellement avec les registres, il existe des bibliothèques prêtes à l'emploi qui vous permettent de modifier la fréquence PWM de l'Arduino. Jetons un coup d'œil à certains d'entre eux :
 +
 +**PWM library**  ( [[https://github.com/atmelino/Arduino/tree/master/libraries/PWM|GitHub]] ) - une bibliothèque puissante qui vous permet de modifier la fréquence PWM sur les microcontrôleurs ATmega48 / 88 / 168 / 328 / 640 / 1280 / 1281 / 2560 / 2561, dont 328 sur UNO/Nano/Mini et 2560 sur un Arduino Méga.
 +
 +    *Vous permet de définir n'importe quelle fréquence PWM, pré-retard, TOP
 +    *Un seul canal est disponible lorsque vous travaillez avec des minuteries 8 bits (par exemple, sur l'ATmega328, uniquement D3, D5, D9 et D10)
 +    *Permet de travailler avec des temporisateurs 16 bits à une résolution plus élevée (16 bits au lieu du standard 8)
 +    *La bibliothèque est très compliquée, elle ne peut donc pas être déchiquetée en morceaux.
 +    *Voir exemples dans le dossier avec la bibliothèque !
 +
 +**GyverPWM library**( [[https://github.com/GyverLibs/GyverPWM|GitHub]] ) - la bibliothèque que nous avons écrite avec mon ami. La bibliothèque permet un travail très flexible avec PWM sur le microcontrôleur ATmega328 (nous ajouterons Mega plus tard):
 +
 +
 +    *Vous permet de définir n'importe quelle fréquence PWM dans la plage de 250 Hz à 200 kHz
 +    *Sélection de bits : 4-8 bits pour les temporisateurs 8 bits, 4-16 bits pour les temporisateurs 16 bits (à 4 bits, la fréquence PWM est de 1 MHz)
 +    *Sélection du mode PWM : Fast PWM ou Phase-correct PWM (favorable aux moteurs)
 +    *Génération de fréquences de méandres de 2 Hz à 8 MHz sur la broche D9 avec une précision maximale
 +    *Un seul canal est disponible lorsque vous travaillez avec des minuteries 8 bits (par exemple, sur un ATmega328, uniquement D3, D5, D9 et D10)
 +    *Il existe des fonctions pour reconfigurer les sorties PWM standard sans perdre le PWM
 +    *La bibliothèque est écrite de manière très simple, et vous pouvez en prendre des morceaux de code
 +    *Voir exemples dans le dossier avec la bibliothèque !
 +
 +
 +
/home/chanteri/www/fablab37110/data/pages/start/arduino/pwm.txt · Dernière modification : 2023/01/27 16:08 de 127.0.0.1