TPs NUCLEO STM32

vendredi 6 avril 2018
par  Christian

Objectifs de la série de TP :
Acquérir les connaissances et savoir-faire nécessaires à la mise en œuvre d’objets techniques simples supportant un microcontrôleur STM32 pour les étudiants en BTS Systèmes Numériques ou en école d’ingénieurs.

Les applications terminales des objets connectés sont très généralement alimentées par batteries/piles. La gestion fine de la consommation est alors un enjeu très important.
Le choix du système de gestion numérique doit tenir compte de cette contrainte. Les ordinateurs embarqués de type Raspberry Pi sont performants mais gourmands en énergie et ne peuvent garantir une longue autonomie, ils ne représentent pas une solution adaptée à l’internet des objets embarqués.
Les microcontrôleurs STM32 sont actuellement à la pointe de la technologie embarquée avec des consommations remarquables. Il y pratiquement au moins un STM32 dans chaque téléphone portable. Une solution de développement logicielle gratuite est proposée avec des performance tout à fait suffisantes. Des outils commerciaux plus avancés sont également disponibles.
Le microcontrôleur STM32 peut servir de support pour les apprentissages puisqu’il est à la frontière entre le monde analogique et le monde numérique. La possibilité d’implanter un système d’exploitation (MBED-OS) avec un noyau temps réel, des interfaces Ethernet, WIFI ou LORA le rend également très adapté aux enseignements informatiques autour de l’internet des objets (IOT).
Possédant à la fois des convertisseurs analogiques/numériques et numériques/analogiques (ADC-DAC), il peut servir de support de TP pour les enseignement autour du traitement numérique du signal (filtres, compressions, stockages etc...)

L’étudiant peut être mis en situation d’autonomie, le cours étant très imbriqué aux TP.

Prérequis :


Éléments de langage C/C++ :
- structure d’un programme en C/C++, main, fonctions, #include, #define
- types, constantes, variables
- algorithmique simple : boucles, tests
Éléments de langage C++ :
Instanciation d’un objet, appel des méthodes
Connaissances élémentaires su microcontrôleur STM32 et de ses outils de développement logiciel ( lire le document : Développement_logiciel_sur_STM32.pdf, rubrique "Cours ARM et STM32" )

Équipements :


Un ordinateur avec un accès internet, pour le développement logiciel et la documentation
Un carte Nucleo STM32, par exemple
NUCLEO-L073RZ, Farnell 13€ ref : 2517902 ou
NUCLEO-F411RE, Farnell 11€, ref 2433469
Quelques LEDs, résistances, thermistances CTN, et pour les TP SPI/I2C des « breakouts » à moins de 10€.

Pour les néophytes, les TP doivent être réalisés dans l’ordre (ils sont numérotés).

TP au format pdf à télécharger ci-dessous
Ces ressources pédagogiques sont également publiées sur EDUSCOL

0 : pem, prise en main de l’outil de développement.
1 : GPIO, la numérotation des broches, l’accès aux GPIO, exercices simples.
2 : UART, communications asynchrones, mise au point d’un programme (debug)
3 : ADC_DAC, conversion analogique/numérique et numérique/analogique (attention le F411RE ne possède pas de DAC)
4 : Interruptions, mise en œuvre des interruptions sur GPIO
5 : TIMER, production et mesure de temps, interruptions périodiques
6 : PWM, contrôle de valeur moyenne
7 : SPI, commande d’un afficheur 7 segments
8 : I2C, contrôle d’un afficheur LCD alphanumérique
9 : RTOS, système d’exploitation temps réel



Documents joints

TP1 - les GPIO
TP1 - les GPIO
TP0 - découverte de l'environnement MBED et (...)
TP0 - découverte de l'environnement MBED et (...)
TP3 ADC-DAC
TP3 ADC-DAC
TP4 Interruptions
TP4 Interruptions
TP5 TIMER
TP5 TIMER
TP6 PWM
TP6 PWM
TP7 SPI
TP7 SPI
TP9 RTOS
TP9 RTOS
TP8 I2C
TP8 I2C
TP2 - UART
TP2 - UART
Liaison UART over USB et debug