Modifications

Sauter à la navigation Sauter à la recherche
150 octets ajoutés ,  8 février 2021 à 21:13
Ligne 107 : Ligne 107 :  
===Configuration via CubeMX===
 
===Configuration via CubeMX===
 
Avant de sauvegarder le fichier .ioc (fichier de config STM32CubeMX) et générer le code du projet, nous devons faire quelques configurations supplémentaires.
 
Avant de sauvegarder le fichier .ioc (fichier de config STM32CubeMX) et générer le code du projet, nous devons faire quelques configurations supplémentaires.
# Nous choisissons le pin PA5 pour générer le PWM (pin connecté à la LED intégrée LD2). Le signal est généré par un timer et donc nous devons “connecter” le pin à ce périphérique. Pour ce faire, veuillez cliquer sur la pâte PA5 (dans la vue ‘’Pinout view’’). D'après le menu qui apparaît, ce pin peut être connecté au canal 1 du timer 2 (TIM2_CH1) et au canal 1 du timer 8 (TIM8_CH1N). Nous choisissons TIM2_CH1 (cliquer pour activer). [[Fichier:PWM1.png]]
+
# Nous choisissons le pin PA5 pour générer le PWM (pin connecté à la LED intégrée LD2). Le signal est généré par un timer et donc nous devons “connecter” le pin à ce périphérique. Pour ce faire, veuillez cliquer sur la pâte PA5 (dans la vue ‘’Pinout view’’). D'après le menu qui apparaît, ce pin peut être connecté au canal 1 du timer 2 (TIM2_CH1) et au canal 1 du timer 8 (TIM8_CH1N). Nous choisissons TIM2_CH1 (cliquer pour activer). [[Fichier:PWM1.png|sans_cadre|centré|300px]]
# Ensuite, accéder à la catégorie ‘’Timers’’ (menu à gauche) et sélectionner le TIM2. Activer le canal 1 en mode ‘’PWM Generation’’ et choisir ‘’Internal Clock’’ comme ‘’Clock Source’’.[[Fichier:PWM2.png]]
+
# Ensuite, accéder à la catégorie ‘’Timers’’ (menu à gauche) et sélectionner le TIM2. Activer le canal 1 en mode ‘’PWM Generation’’ et choisir ‘’Internal Clock’’ comme ‘’Clock Source’’.[[Fichier:PWM2.png|sans_cadre|centré|300px]]
# Maintenant, nous devons configurer les horloges du microcontrôleur. Accéder à l'onglet ‘’Clock Configuration’’. Puis enter 180 MHz comme fréquence de processeur (maximale pour ce microcontrôleur) et appuyer sur entrée. CubeMX règle automatiquement la fréquence des périphériques. [[Fichier:PWM3.png]]
+
# Maintenant, nous devons configurer les horloges du microcontrôleur. Accéder à l'onglet ‘’Clock Configuration’’. Puis enter 180 MHz comme fréquence de processeur (maximale pour ce microcontrôleur) et appuyer sur entrée. CubeMX règle automatiquement la fréquence des périphériques. [[Fichier:PWM3.png|sans_cadre|centré|300px]]
# D'après la [https://www.st.com/resource/en/datasheet/stm32f446re.pdf documentation] du microcontrôleur (p.16) nous voyons que le timer 2 est connecté au bus APB1. [[Fichier:PWM4.png]] et d'après la vue précédente, les timers de APB1 tournent à 90 MHz (x2 de APB1 peripheral clocks). [[Fichier:PWM5.png]]
+
# D'après la [https://www.st.com/resource/en/datasheet/stm32f446re.pdf documentation] du microcontrôleur (p.16) nous voyons que le timer 2 est connecté au bus APB1. [[Fichier:PWM4.png|sans_cadre|centré|300px]] et d'après la vue précédente, les timers de APB1 tournent à 90 MHz (x2 de APB1 peripheral clocks). [[Fichier:PWM5.png|sans_cadre|centré|300px]]
# Revenant sur la configuration du TIM2, nous devons configurer le registres ‘’Prescaler’’ et ‘’Counter Period’’ pour régler la fréquence du signal généré d'après la formule suivante : f_PWM = f_APBx_timer/((PSC+1)*(CounterPeriod+1)). Pour arriver à une fréquence de 50 Hz, nécessaire pour piloter un servomoteur analogique, nous pouvons entrer les valeurs suivantes: [[Fichier:PWM6.png]]
+
# Revenant sur la configuration du TIM2, nous devons configurer le registres ‘’Prescaler’’ et ‘’Counter Period’’ pour régler la fréquence du signal généré d'après la formule suivante : f_PWM = f_APBx_timer/((PSC+1)*(CounterPeriod+1)). Pour arriver à une fréquence de 50 Hz, nécessaire pour piloter un servomoteur analogique, nous pouvons entrer les valeurs suivantes: [[Fichier:PWM6.png|sans_cadre|centré|300px]]
    
==Porter une bibliothèque==
 
==Porter une bibliothèque==

Menu de navigation