Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Enseignant du Supérieur
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

LAB 1 : GENERATION D’UN SIGNAL PWM A VALEUR MOYENNE CONSTANTE

Back                  << Index >>

Calculs Préliminaires

Le Convertisseur Analogique-numérique

Quelle est la taille des données converties ?

Génération du signal PWM (Pulse Width Modulation)

Quelle est la valeur max admissible dans les registres CCR des timers associés à la génération des signaux PWM ?


Prise en main de l’environnement Pysimcoder

PROJET SOURCE

PMSM_PYSIM

Le répertoire PMSM_PYSIM contient :

Pysimcoder permet donc dans un premier temps de réaliser un système sous forme de schémas blocs, de le tester ( tracé de courbes en simulation ), puis de générer un fichier correspondant à ces blocs afin de programmer une cible STM32.

Simulation

  1. Ouvrir un terminal dans le répertoire PMSM_PYSIM/PYSIMCODER et taper :
  1. Dans pysimcoder, faire File–> New, sauvegarder ce fichier avec le nom pmsm.dgm
  2. Choisir des blocs dans Library afin de construire le système suivant ( le bloc Const contient la valeur 100 ) :

REMARQUE : Un bloc doit avoir systématiquement une entrée.
Ici le bloc potentiomètre reçoit la valeur de CONST en simulation, et le résultat de la conversion analogique-numérique pour le potentiomètre sur la cible.
En effet le code associé au bloc potentiometre est le suivant :

  1. Simulation –> Simulate
  2. Double cliquer sur le bloc Plot, la courbe s’affiche

REMARQUE : Pour toute nouvelle simulation, il faut fermer la fenêtre avec la courbe, simuler, et recliquer sur le bloc plot

Generation du Code et Test sur Cible

  1. Renommer le fichier précédent en pmsm_target.dgm.
  2. Supprimer le bloc plot ( ce dernier ne peut générer du code pour la STM32 )

  1. Simulation –> Generate C-code
    Vérifier dans le terminal la mention ’### Created executable: pmsm_target’
  2. Ouvrir stm32cubeIDE ( cf tutorial stm32cubeIDE ), avec pour workspace WORKSPACE_F446_PMSM_STM32CUBEIDE
  3. Compiler ( CTRL+B ) et Lancer le programme avec la session de Debug.
  4. Observer à l’oscilloscope la tension aux bornes du premier bras de pont de l’onduleur. On doit observer une tension PWM à valeur moyenne constante ; le rapport cyclique doit être modifiable avec le potentiomètre de la carte onduleur.
    Mesurer au passage la fréquence d’une des tensions de l’onduleur.
  5. Lancer dans un terminal ( dans le répertoire PMSM_PYSIM ) :

On doit observer un signal carré ( Pulse ) dont l’amplitude est réglable avec le potentiomètre.

Côté carte, l’envoi des données se déroule dans la tache Print_Task( fichier main.c ) :


Modifications du Schéma

Génération du signal PWM, réglage du rapport cyclique avec le potentiomètre

Compléter le schéma pour adapter l’intervalle des valeurs issues du convertisseur analogique numérique (potentiomètre) à l’intervalle des valeurs du timer-PWM.

Modifier le schéma pour transiter par l’intervalle [-2^15,2^15[


Back                  << Index >>