Complément sur les Microcontrôleurs (2016 – JV)

Dans ce second thème, vous allez découvrir le monde du numérique, du pilotage de systèmes et de l’acquisition de données numériques, à travers la programmation d’un microcontrôleur en langage C++.

Cahier des charges

Le système final permettra de :

  1. Piloter une LED (ou plusieurs) en tout ou rien puis en luminosité (à l’aide de bouton-poussoir)
  2. Convertir un signal analogique en une série de données numériques (de manière régulière)

Le traitement numérique devra être réalisé à l’aide d’une carte Nucléo L476RG.

Les performances, en particulier en terme de fréquence maximale détectable, devront être mesurées.

Objectifs pédagogiques

A la fin des 2 séances de TP associées à ce thème, les étudiant·e·s seront capable de :

  • définir et exécuter un protocole expérimental pour :
    • valider le fonctionnement d’un système vis-à-vis d’un cahier des charges (contraintes et performances)
  • choisir et mettre en oeuvre une solution analogique adaptée à un cahier des charges pour :
    • la mise en forme d’un signal provenant d’un capteur ou d’un autre système
    • le filtrage de certaines composantes fréquentielles, à partir d’un gabarit donné (filtres actifs – ordre 1 et 2 – et universels)
  • choisir et mettre en oeuvre une solution mixte (analogique et numérique – microcontrôleur) adaptée à un cahier des charges pour :
    • l’acquisition d’une donnée analogique
    • la commande numérique (TOR, PWM…) de composants “lents” (moteurs à courant continu, LED…)
  • décomposer un système simple en un ensemble de fonctionnalités réalisables et caractérisables indépendamment (schéma et description fonctionnels)
  • synthétiser et documenter chaque étape de la réalisation et des tests d’un système

Acquisition et traitement numérique à intervalle régulier

Un des principaux challenges de ce système est de pouvoir réaliser l’acquisition du signal analogique et son traitement numérique dans un laps de temps très court, afin de garantir un échantillonnage adéquat et une restitution des résultats en “temps réel” pour l’être humain.

La première séance sera consacrée à la découverte des cartes Nucléo et de leur programmation pour :

  • piloter en tout ou rien (TOR) des éléments extérieurs (type LED)
  • commander en modulation de largeur d’impulsion (PWM) des composants extérieurs (LEDs)
  • convertir une grandeur analogique en données numériques

La seconde séance portera sur l’amélioration de l’étage de conversion du signal analogique afin de rendre l’échantillonnage périodique.

Vous pouvez vous référer au document de conception suivant : Conception d’un système d’affichage de spectre audio en temps réel

Matériels et logiciels utiles

Carte Nucléo et programme de base

Pour pouvoir réaliser les prochaines missions, vous devrez vous munir d’une carte Nucléo L476RG ainsi que d’un câble mini-USB.

Des tutoriels progressifs vous permettront de prendre en main le développement autour de ces cartes.

TeraTerm

Le logiciel TeraTerm se trouve dans le répertoire S:/CeTI/

Il suffit de double-cliquer sur le lien TeraTerm.

Etapes

Mission 1 / Piloter une LED à l’aide d’une carte Nucléo

Objectif

Votre mission est de réaliser une application embarquée permettant de contrôler la luminosité d’une LED visible (rouge).

La LED sera pilotée par une carte Nucléo L476RG, que vous allez devoir apprendre à programmer.

Ressources

Documents à produire

  • Une fiche de manipulation en ligne (partagée) contenant :
    • les programmes détaillés et commentés des étapes de mise au point du système
    • le schéma de câblage
    • les tests réalisés pour valider le fonctionnement
  • Un texte de quelques phrases expliquant :
    • le fonctionnement d’un microcontrôleur et de sa programmation
    • le principe appliqué ici (PWM – Pulsed Width Modulation / MLI – Modulation de Largeur d’Impulsion) pour faire varier l’intensité lumineuse

Mission 2 / Acquérir un signal numérique

Objectif

Votre mission est de modifier l’application précédente pour permettre de modifier la luminosité de la LED à l’aide de 2 boutons-poussoirs, l’un pour augmenter, l’autre pour diminuer.

Ressources

Documents à produire

  • Une fiche de manipulation en ligne (partagée) contenant :
    • les programmes détaillés et commentés des étapes de mise au point du système
    • le schéma de câblage
    • les tests réalisés pour valider le fonctionnement

Mission 3 / Acquérir un signal analogique

Objectif

Votre mission est de réaliser un voltmètre à partir de la carte Nucléo. L’affichage se fera à l’aide d’un ordinateur, via le protocole RS232 (console série – logiciel TeraTerm – il se trouve dans le répertoire S:/CeTI/ ).

Le test sera fait à l’aide d’un potentiomètre câblé sur l’une des entrées analogiques de la carte Nucléo.

Une contrainte supplémentaire est d’avoir un système de test de la liaison entre le PC et la carte Nucléo qui affichera un message lors de l’appui sur un bouton poussoir du système.

Pensez également à mesurer les temps d’exécution de chacune des instructions de conversion et d’affichage…

Ressources

Documents à produire

  • Une fiche de manipulation en ligne (partagée) contenant :
    • les programmes détaillés et commentés des étapes de mise au point du système
    • le schéma de câblage
    • les tests réalisés et les résultats pour mesurer
      • le temps de conversion
      • la fréquence d’échantillonnage
      • le temps d’affichage de la donnée
  • Un texte de quelques phrases expliquant :
    • les étapes de la conversion
    • les limites de cette méthode de conversion

Mission 4 / Acquérir un signal analogique à intervalle régulier

Objectif

Votre mission est de réaliser un système qui enregistre une séquence de N échantillons d’un signal analogique, après appui sur un bouton poussoir. Cette application devra afficher la moyenne des échantillons sur l’écran de l’ordinateur (protocole RS232).

Le système devra corriger les éventuelles limites de la méthode précédente. On pourra par exemple s’intéresser à l’utilisation d’un timer matériel (Ticker) pour réaliser une action à intervalle régulier et le mode de fonctionnement par interruption pour la gestion des événements extérieurs.

Vous devrez dans un premier temps réaliser une acquisition d’échantillons en continu mais à rythme régulier, en vérifiant que la fréquence d’échantillonnage que vous imposez est respectée !

Dans un second temps, vous pourrez vous intéressez à l’acquisition de N échantillons (pensez à utiliser des variables globales…) lors de l’appui sur un bouton poussoir (qui peut lui aussi être détecté de manière plus “subtil”…).

On souhaite également (en bonus) que ce système puisse réémettre les données stockées de manière analogique lors de l’appui sur un bouton-poussoir.

Ressources

Documents à produire

  • Une fiche de manipulation en ligne (partagée) contenant :
    • les programmes détaillés et commentés des étapes de mise au point du système
    • le schéma de câblage
  • Un texte de quelques phrases expliquant :
    • les étapes de la conversion
    • le fonctionnement du mode de gestion par interruption
    • les intérêts de cette méthode de gestion des événements extérieurs

Livrables finaux

Vous aurez 2 documents à fournir, au format PDF, sur la plateforme eCampus, module 5N-030-SCI, rubrique Dépôt des livrables.

  • Livrable 1 : Synthèse du travail réalisé avec validation de chacun des systèmes proposés (schémas, protocole utilisé, mesures réalisés, analyse et validation)
  • Livrable 2 : Carte conceptuelle : quels sont les rôles d’un microcontroleur ?

Synthèse du travail

Les modalités pour la rédaction des synthèses est donnée sur cette page : http://lense.institutoptique.fr/s5-electronique-evaluation-des-syntheses/

Une aide vous est également proposée sur la page suivante : http://lense.institutoptique.fr/rediger-une-synthese-de-travail/

Pensez à relever l’ensemble des informations qui vous ont permis d’aboutir aux résultats obtenus (schémas, protocole utilisé, mesures réalisés, analyse et validation).

Les livrables sont à déposer sur la plateforme eCampus, module 5N-030-SCI – Travaux Pratiques de Conception Electronique. La date de dépôt limite est le jeudi de la semaine suivant la dernière séance d’un bloc thématique. Cette date est également mentionnée sur la plateforme eCampus.

Sujet

Un.e artiste souhaite développer une œuvre dont l’éclairage, à LED, varie en fonction du volume sonore ambiant (principalement le son produit par les voix des visiteurs).

Il.elle a pour cela l’intention de réaliser un premier prototype basé sur une carte Nucléoquelques LEDs de type Kingbright L-53ND (documentation technique). Il a également déjà récupéré un micro pré-amplifié lui fournissant un signal analogique dont la tension est comprise entre 0 et 10V (pour rappel, la voix a des fréquences comprises entre 200 et 3000 Hz).

En tant qu’expert-conseil en électronique, indiquez-lui la marche à suivre pour réaliser ce prototype dans le cadre d’une application embarquée. Vous illustrerez vos propos à l’aide de votre expérience acquise au cours des TP (caractéristiques importantes, temps de calcul, mise en place de l’application embarquée, choix des autres composants, limitations en fréquence et en amplitude…).

Carte conceptuelle

Le second document à fournir est une carte conceptuelle qui doit répondre à l’une des questions proposées dans la section sujet.

Vous trouverez de l’aide sur les cartes conceptuelles dans les documents suivants :

Sujet

1/ Quels sont les mécanismes d’un microcontroleur qui permettent de réaliser une application « temps réel » ?

2/ quels sont les rôles d’un microcontroleur

Cette carte devra être illustrée par des exemples des TP.

Thème 1 / Découverte du monde numérique