Programmation de Microcontrôleurs STM32

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quelle fonction HAL est utilisée pour démarrer la calibration de l'ADC ?

  • HAL ADC Start
  • HAL ADC PollForConversion
  • HAL ADCEx Calibration Start (correct)
  • HAL Delay

Quel est le rôle de HAL ADC PollForConversion ?

  • Attendre la conversion de l'ADC (correct)
  • Calibrer l'ADC
  • Récupérer les valeurs de l'ADC
  • Démarrer l'ADC

Combien d'heures de travaux dirigés sont prévues dans le programme ?

  • 16h
  • 14h (correct)
  • 10h
  • 12h

Quelle méthode est utilisée pour récupérer les valeurs converties par l'ADC après une interruption ?

<p>HAL ADC GetValue (C)</p> Signup and view all the answers

Quelle équation représente la tension pour la machine à courant continu ?

<p>$u(t) = Kω(t) + Ri(t)$ (A)</p> Signup and view all the answers

Dans le déclenchement par DMA, que se passe-t-il une fois que le buffer est rempli ?

<p>Une interruption est générée (A)</p> Signup and view all the answers

Quels périphériques sont nécessaires pour un micro-contrôleur ?

<p>Des capteurs et des actionneurs (B)</p> Signup and view all the answers

Quel est l'objectif principal d'un déclenchement par logiciel dans le processus d'acquisition des données ?

<p>Démarrer le processus d'acquisition des données (C)</p> Signup and view all the answers

Quel est le modèle de micro-processeur utilisé dans le kit P-NUCLEO-IHM03 ?

<p>STM32G431RB (D)</p> Signup and view all the answers

Quelle fonction HAL est appelée après la fin de la conversion pour gérer l'interruption ?

<p>HAL ADC ConvCpltCallback (B)</p> Signup and view all the answers

Quel outil fait partie de STM32CubeIDE pour le développement ?

<p>CubeMX (B)</p> Signup and view all the answers

Quel est le système d'exploitation pour lequel STM32CubeIDE n'est pas disponible ?

<p>Android (D)</p> Signup and view all the answers

Quel type de déclenchement est relancé par le micro-processeur dans le processus d'acquisition ?

<p>Déclenchement par logiciel (B)</p> Signup and view all the answers

Quelle Interruption est mise en place après la conversion de l'ADC dans un déclenchement par logiciel ?

<p>Interruption d'acquisition (C)</p> Signup and view all the answers

Quel driver est utilisé pour le moteur triphasé dans le kit P-NUCLEO-IHM03 ?

<p>STSPIN830 (A)</p> Signup and view all the answers

Quelle est la principale fonction de STM32CubeIDE ?

<p>Développement d'applications pour micro-contrôleurs (A)</p> Signup and view all the answers

Quelle est la fonction du service d'interruption généré par le DMA ?

<p>Il indique que le buffer a été rempli. (D)</p> Signup and view all the answers

Quel est le rôle du micro-processeur lors d'un déclenchement software ?

<p>Démarrer la conversion. (B)</p> Signup and view all the answers

Quelle fonction HAL est utilisée pour démarrer le DMA pour l'ADC ?

<p>HAL ADC Start DMA (C)</p> Signup and view all the answers

Quel type de déclenchement utilise une base de temps pour initier des conversions ?

<p>Déclenchement hardware par Timer (C)</p> Signup and view all the answers

Pourquoi le DMA est-il privilégié pour la gestion des entrées/sorties ?

<p>Il permet un accès direct à la mémoire vive. (C)</p> Signup and view all the answers

Qu'implique un déclenchement software dans le contexte d'ADC et DMA ?

<p>Activation manuelle par le micro-processeur. (D)</p> Signup and view all the answers

Quel mécanisme décrit le DMA ?

<p>Accès à la mémoire vive sans intervention du processeur. (C)</p> Signup and view all the answers

Quelle fonction est appelée lorsque la conversion ADC est complétée ?

<p>HAL ADC ConvCpltCallback (A)</p> Signup and view all the answers

Quelle est l'une des grandesurs mesurées pour l'asservissement des moteurs ?

<p>Le courant (A)</p> Signup and view all the answers

Quel capteur est utilisé pour la mesure de la vitesse dans l'asservissement des moteurs ?

<p>Tachymétrie (A)</p> Signup and view all the answers

Quelle caractéristique des capteurs numériques de moteurs les rend insensibles au bruit ?

<p>Roue codeuse (B)</p> Signup and view all the answers

Quels types de signaux sont générés pour l'asservissement des moteurs ?

<p>Signaux en quadrature de phase (B)</p> Signup and view all the answers

Comment éviter de saturer le compteur lors de la mesure à vitesse rapide ?

<p>Fixer un ∆t en amont (C)</p> Signup and view all the answers

Qu'est-ce que le signal ω(t) représente dans la mesure de la vitesse du moteur ?

<p>La vitesse angulaire (B)</p> Signup and view all the answers

Quel est le rôle du capteur à effet hall dans un moteur synchrone ?

<p>Mesurer la position (D)</p> Signup and view all the answers

Pourquoi la précision de la mesure peut-elle diminuer à vitesse lente ?

<p>∆t peut être trop petit (D)</p> Signup and view all the answers

Quels sont les modes de fonctionnement d'un DMA ?

<p>Normal et Circulaire (B)</p> Signup and view all the answers

Quelle est la largeur des données pouvant être gérées par un DMA ?

<p>8, 16 ou 32 bits (D)</p> Signup and view all the answers

Quel type de commande utilise un moteur pas à pas ?

<p>Wave drive, Full step drive, Half step drive et Microstepping (A)</p> Signup and view all the answers

Quel est l'inconvénient principal des moteurs pas à pas ?

<p>Limitations de vitesse par rapport aux moteurs à courant continu (B)</p> Signup and view all the answers

Quels paramètres sont importants à considérer lors de l'utilisation d'un ADC ?

<p>Temps d'acquisition et de conversion (D)</p> Signup and view all the answers

Quel type de moteur est un 28BYJ48 ?

<p>Moteur pas à pas (A)</p> Signup and view all the answers

Quelle caractéristique n'est pas une partie des paramètres d'un DMA ?

<p>Fonction de contrôle (B)</p> Signup and view all the answers

Quel est une caractéristique du mode circulaire d'un DMA ?

<p>Utilisation d'un buffer circulaire (D)</p> Signup and view all the answers

Qu'est-ce qu'un pré-scaler en relation avec un ADC ?

<p>Un composant pour modifier la fréquence de l'horloge (B)</p> Signup and view all the answers

Quelle est une méthode de commande complémentaire décalée ?

<p>α = 0.5 (A)</p> Signup and view all the answers

Quelle est la relation entre fA et fN selon le contenu?

<p>fA ≈ (πfN Te)/(πTe) (A), fA = tan(πfN Te)/(πTe) (C)</p> Signup and view all the answers

Quand la distorsion fréquentielle est-elle plus perceptible?

<p>À haute fréquence (B)</p> Signup and view all the answers

Quelle forme de filtre peut être utilisée pour appliquer cette méthode de transformation?

<p>Tout type de filtre (C)</p> Signup and view all the answers

Dans quelle condition fN Te est-il considéré comme inférieur ou égal à 1?

<p>Lorsque fN est inférieur à fe (B)</p> Signup and view all the answers

Quelle équation représente le rapport entre fA et Te pour des valeurs élevées de fN?

<p>fA = tan(πfN Te)/(πTe) (A)</p> Signup and view all the answers

Quelle fonction est impliquée dans le calcul de fA?

<p>tan (D)</p> Signup and view all the answers

Qu'implique la relation non linéaire entre fA et fN?

<p>Distorsion en réponse fréquentielle (C)</p> Signup and view all the answers

Quel terme décrit la nature conservée du filtre lors de cette transformation?

<p>Conservation de la nature du filtre (D)</p> Signup and view all the answers

Quelle est la première étape pour exprimer p?

<p>Substituer z par ej2πfe (A)</p> Signup and view all the answers

Flashcards

Machine à courant continu

Un type de moteur électrique qui convertit l'énergie électrique en énergie mécanique.

u(t) = Kω(t) + Ri(t)

Equation décrivant la tension d'un moteur à courant continu, impliquant la vitesse angulaire et le courant.

C(t) = Ki(t)

Équation décrivant le couple d'un moteur à courant continu, dépendant du courant.

Micro-contrôleur

Un circuit intégré qui combine un processeur, de la mémoire et des périphériques pour contrôler des systèmes électroniques.

Signup and view all the flashcards

STM32G431RB

Un micro-processeur spécifique de la marque STM.

Signup and view all the flashcards

STM32CubeIDE

Environnement de développement intégré pour programmer des circuits STM32.

Signup and view all the flashcards

CubeMX

Outil graphique pour configurer les composants matériels d'un microcontrôleur STM32.

Signup and view all the flashcards

Librairie HAL

Une bibliothèque de fonctions pour faciliter la programmation matérielle du micro-contrôleur STM32.

Signup and view all the flashcards

Déclenchement logiciel

Le microprocesseur (CPU) initie la conversion.

Signup and view all the flashcards

Déclenchement par Timer

Un timer (horloge) produit des événements réguliers pour lancer les conversions ADC.

Signup and view all the flashcards

DMA (Direct Memory Access)

Mécanisme permettant aux périphériques (comme l'ADC) d'accéder à la mémoire sans passer par le CPU, améliorant les performances.

Signup and view all the flashcards

HAL ADCEx Calibration Start

Fonction pour calibrer l'ADC (Analog-to-Digital Converter).

Signup and view all the flashcards

HAL ADC Start DMA

Fonction pour lancer une conversion ADC avec transfert DMA.

Signup and view all the flashcards

HAL TIM Base Start

Fonction pour démarrer le timer.

Signup and view all the flashcards

Interruption

Signal qui interrompt le processus courant pour traiter un événement.

Signup and view all the flashcards

Conversion ADC

Conversion de la tension analogique en une valeur numérique (en bits).

Signup and view all the flashcards

Acquisition ADC par déclenchement logiciel

Le micro-processeur initie l'acquisition par l'ADC, puis attend une interruption pour récupérer les données.

Signup and view all the flashcards

Interruption sur acquisition ADC

Le processeur est notifié lorsqu'une conversion par l'ADC est terminée, lui permettant de récupérer les données.

Signup and view all the flashcards

Fonction HAL ADC Start IT

Fonction HAL qui démarre l'acquisition ADC avec gestion d'interruption.

Signup and view all the flashcards

Fonction HAL ADC GetValue

Fonction pour récupérer la valeur convertie par l'ADC.

Signup and view all the flashcards

Fonction HAL ADC PollForConversion

Fonction pour attendre la fin d'une conversion ADC.

Signup and view all the flashcards

Acquisition ADC par DMA

L'ADC transmet les données au DMA qui gère le transfert vers d'autres zones de mémoire.

Signup and view all the flashcards

Interruption par DMA

Le DMA signale au processeur que le transfert de données est complet.

Signup and view all the flashcards

Déclenchement logiciel ADC

Le micro-processeur initie l'acquisition.

Signup and view all the flashcards

Asservissement du moteur

Contrôle précis de la vitesse ou de la position d'un moteur.

Signup and view all the flashcards

Capteur Hall

Détecte la position d'un aimant en rotation dans un moteur synchrone.

Signup and view all the flashcards

Tachymetrie

Mesure la vitesse de rotation d'un moteur.

Signup and view all the flashcards

Roue codeuse

Capteur numérique qui mesure la position et la vitesse d'un moteur.

Signup and view all the flashcards

Signaux en quadrature de phase

Deux signaux qui ont la même fréquence mais sont décalés de 90 degrés.

Signup and view all the flashcards

Compter les crans

Méthode pour déterminer la vitesse d'un moteur à partir des signaux d'une roue codeuse.

Signup and view all the flashcards

Timer

Circuit électronique qui permet de mesurer le temps.

Signup and view all the flashcards

Choix du timer

Le choix du timer dépend de la vitesse du moteur et de la précision souhaitée.

Signup and view all the flashcards

DMA

Un mécanisme de transfert de données direct entre la mémoire et un périphérique, sans intervention du processeur.

Signup and view all the flashcards

Modes DMA

Deux modes principaux du DMA :

  • Normal: Transfert linéaire, séquentiel d'une adresse à l'autre.
  • Circulaire: Transfert continu, l'adresse revient au début après la dernière.
Signup and view all the flashcards

Increment d'adresse DMA

Détermine l'incrémentation de l'adresse mémoire à chaque transfert de données. Exemple : 8 bits, 16 bits ou 32 bits.

Signup and view all the flashcards

ADC

Convertisseur Analogique-Numérique. Transforme un signal analogique (continu) en valeur numérique (discrète).

Signup and view all the flashcards

Modes de conversion ADC

Différents modes de conversion disponibles pour l'ADC, chacun optimisé pour un type de signal différent.

Signup and view all the flashcards

Temps d'acquisition ADC

Le temps nécessaire à l'ADC pour échantillonner et convertir un signal analogique.

Signup and view all the flashcards

Moteur pas à pas

Un moteur électrique qui se déplace par étapes angulaires précises (pas) en fonction des signaux de commande.

Signup and view all the flashcards

Types de moteurs pas à pas

Deux types principaux :

  • Unipolaire: Chaque bobine est alimentée séparément.
  • Bipolaire: Les bobines sont alimentées par paires, en alternance.
Signup and view all the flashcards

Commandes de moteurs pas à pas

Différentes techniques de commande pour le moteur pas à pas, permettant de contrôler sa vitesse et sa précision.

Signup and view all the flashcards

PWM

Modulation de largeur d'impulsion. Permet de contrôler la puissance d'un moteur en modifiant la durée de l'impulsion électrique envoyée.

Signup and view all the flashcards

Discrétisation du signal

Le processus de conversion d'un signal analogique en un signal numérique, en le représentant par une série de valeurs discrètes dans le temps.

Signup and view all the flashcards

Fréquence d'échantillonnage (fe)

Le nombre d'échantillons prélevés par seconde sur un signal analogique pour le convertir en signal numérique.

Signup and view all the flashcards

Fréquence de Nyquist (fN)

La fréquence maximale d'un signal qui peut être parfaitement reconstruite à partir de ses échantillons.

Signup and view all the flashcards

Théorème d'échantillonnage de Nyquist-Shannon

Pour reconstruire parfaitement un signal analogique, la fréquence d'échantillonnage doit être au moins deux fois plus grande que la fréquence maximale du signal.

Signup and view all the flashcards

Distorsion en réponse fréquentielle

Une déformation du signal due à la discrétisation et à la conversion analogique-numérique, affectant certaines fréquences plus que d'autres.

Signup and view all the flashcards

Effet de crénelage

Un artefact visuel qui apparaît lorsque le signal numérisé est affiché ou joué, ce qui donne l'apparence de créneaux.

Signup and view all the flashcards

Aliasing

Un artefact qui se produit lorsque la fréquence d'échantillonnage est trop faible par rapport à la fréquence du signal, ce qui provoque l'apparition de fréquences erronées.

Signup and view all the flashcards

Filtre anti-repliement

Un filtre qui élimine les fréquences supérieures à la fréquence de Nyquist avant la numérisation, afin de prévenir l'aliasing.

Signup and view all the flashcards

Study Notes

Présentation du cours

  • Le cours porte sur les actionneurs et l'automatisation appliquée (ESE_3745).
  • Le conférencier est Nicolas Papazoglou, et son adresse email est [email protected].
  • La date de la présentation est le 14 novembre 2021.

Organisation du cours

  • Objectifs : Présenter fonctionnellement les différents types d'actionneurs électriques utilisables dans les applications industrielles embarquées.
  • Contenu :
    • Différents types de machines électriques (courant continu, alternatif, pas à pas, etc.).
    • Principaux capteurs associés (mesure de courant, vitesse, position).
    • Modélisation des actionneurs électriques (machine, alimentation, capteurs et commande).
    • Réalisation d'un système de commande numérique directe et asservissement d'un actionneur électrique par micro-contrôleur STM32.
    • Travaux pratiques sur la commande numérique d'un moteur à courant continu avec asservissement.
  • Moyens :
    • 14 heures de cours/TD
    • 12 heures de TP

Cible du cours : Machine à courant continu

  • Description : Le cours se concentre sur les machines à courant continu.
  • Équations : Les équations électriques d'une machine à courant continu sont présentées comme suit:
    • u(t) = Kw(t) + Ri(t)
    • C(t) = Ki(t)

Micro-contrôleur

  • Objectifs : Explorer les capacités du microcontrôleur.
  • Questions clés :
    • Quels périphériques sont nécessaires ?
    • Quelle capacité de calcul est requise ?
    • Comment interagir avec l'utilisateur ?

Micro-processeur

  • Matériel : Le kit P-NUCLEO-IHM03, basé sur un microprocesseur STM32G431RB, avec le pilote STSPIN830 pour moteur triphasé.

STM32G431

  • Connectivité : 1x USB 2.0 FS, jusqu'à 170 MHz, CAN-FD.
  • Accélérateurs : ART Accelerator, 1x USB 2.0 FS, 16-bit advanced timer, 10-COM-SRAM, Math Accelerators, Filtering, Single Bank, 22-Kbyta SRAM.
  • Timers...etc

Documentation

STM32CubeIDE

  • IDE : Développé par ST, incluant CubeMX, Librairie HAL et basé sur Eclipse.
  • Caractéristiques : Compilateur et débogueur intégrés, disponible sur Windows, Mac OS et Linux.
  • MOOC : Un MOOC (Massive Open Online Course) est proposé par ST sur STM32CubeIDE.

Timer, PWM, DMA et ADC

  • Modules : Le cours couvre les modules Timer, PWM, DMA et ADC.
  • PWM Mode : Le mode PWM permet de générer un signal à fréquence déterminée par le registre TIM ARR et un cycle actif déterminé par le registre TIM x CCR.

PWM commandé par un Timer

  • Pour générer un signal PWM, il faut connaître:
    • Période de la PWM.
    • Résolution de la PWM.
    • Forme de la PWM (edge aligné ou centre aligné),
    • Mode Symétrique ou Asymétrique.
    • Fréquence de l'horloge du timer.
    • Choix de résolution du timer.

Servo-moteur

  • Le contrôle des servo-moteurs est réalisé en mode PWM.

ADC par pooling

  • L'acquisition par pooling est gérée par le microprocesseur (soft).
  • Le processeur récupère les valeurs converties par l'ADC.
  • Les fonctions HAL utilisées incluent: HAL_ADCEx_Calibration_Start, HAL_ADC_Start, HAL_ADC_Start_IT

ADC par interruption en fin d'acquisition

  • Le microprocesseur (soft) déclenche l'acquisition par l'ADC.
  • Une interruption est générée une fois l'acquisition terminée.
  • Les fonctions HAL incluent: HAL_ADCEx_Calibration_Start, HAL_ADC_Start_IT, HAL_ADC_GetValue,HAL_ADC_ConvCpltCallback.

ADC par interruption avec DMA

  • Le soft déclenche l'acquisition par l'ADC, les données sont transmises au DMA.
  • Une interruption est générée une fois le buffer rempli par le DMA.
  • Les fonctions HAL incluent: HAL_ADCEx_Calibration_Start, HAL_ADC_Start_DMA.

Déclenchement hardware (Timer) et interruption par le DMA

  • Un timer génère l'acquisition par l'ADC.
  • Les données sont transmises au DMA.
  • Une interruption est générée une fois le buffer rempli.
  • Les fonctions HAL incluent: HAL_ADCEx_Calibration_Start, HAL_ADC_Start_DMA, HAL_TIM_Base_Start.

DMA (Direct Memory Access)

  • Le DMA est un mécanisme qui permet d'accéder directement à la mémoire vive sans passer par le processeur.

Paramètres DMA

  • Direction : Périphérique vers mémoire, mémoire vers périphérique ou mémoire vers mémoire.
  • Modes : Normal ou circulaire.
  • Incrémentation d'adresse.
  • Largeur des données : 8, 16 ou 32 bits.

ADC, pour aller plus loin

  • Différents modes de conversion (mono-canal, mono-conversion, multi-canal, multi-conversion).

Autres paramètres ADC

  • Temps d'acquisition et de conversion des données, horloge et pré-scalage.
  • Modes de conversion (single ended, differential).

Moteur pas à pas

  • Principe du moteur pas à pas unipolaire.
  • Exemples de matériel: driver ULN2003, moteur pas à pas 28BYJ48. Vue interne d'un moteur pas à pas.
  • 4 types de commande: Wave drive, Full step drive, Half step drive, Microstepping.

Commande du moteur pas à pas

  • Différents types de signaux de commande pour moteur pas à pas (Wave drive, Full step drive, Half step drive et Microstepping).

Commande de MCC, hacheur et gestion des temps morts

  • Principe du hacheur 4 quadrants.
  • Contrôle de moteur synchrone.
  • Schéma 3 phases du moteur (moteur synchrone).

PWM Edge et Center Aligned

  • Graphiques illustrant les formes d'ondes PWM Edge aligné et PWM Center Aligné.

PWM Deadtime configuration

  • Réglages du registre TIM_BDTR pour gérer le temps mort dans les commutations PWM.

Commande complémentaire décalée

  • Commandes classiques et complémentaires décalées à différentes valeurs de alpha (0,5; 0,75; 0,875).

Capteurs des moteurs (Courant, Hall)

  • Capteurs nécessaires pour l'asservissement des moteurs (courant, Hall, vitesse).
  • Capteur à effet Hall pour la position d'un moteur synchrone.
  • Capteurs numériques de moteurs (roue codeuse).

Objectifs et principe mécanique des capteurs

  • Asservissement en vitesse ou en position
  • Capteur optique pour éviter le couple résistif du moteur.
  • principe mécanique des capteurs optiques de position et génération des signaux.

Signaux générés

  • Caractéristiques des signaux générés par la roue codeuse.
  • Signaux en quadrature de phase et leur similitude avec les signaux PWM.

Comment compter et décompter

  • Deux cas pour compter: vitesses rapides et lentes.
  • Utilisations de timer ou de mode d'interface encoder.
  • Différents types de mode de comptage et remise à zéro du compteur(avec index, sans index).

Pour aller plus loin

  • Mise en œuvre de l'asservissement avec un TP.
  • BEMF (Back Electromotive Force).
  • Outils de développement ST et diagrammes.

Calcul du champ magnétique résultant, flux magnétique et vitesse de rotation

  • Comment calculer le champ magnétique résultant.
  • Comment faire varier le flux magnétique continuellement.
  • Comment faire varier la vitesse de rotation.

Régénération des phases sinusoïdales

  • Régénération des 3 phases sinusoïdales pour le contrôle du moteur synchrone.
  • Utilisation des Math Accelerators pour des calculs trigonométriques.
  • Relation entre l'amplitude (rapport cyclique) et le couple du moteur.
  • Accélération du moteur par changement de la fréquence des 3 phases associées

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Testium STM32 Chip Cognitionis
5 questions

Testium STM32 Chip Cognitionis

ImportantDalmatianJasper avatar
ImportantDalmatianJasper
STM32 Clock Configuration Quiz
18 questions
STM32 Core Peripherals Overview
15 questions
Use Quizgecko on...
Browser
Browser