Microcontrôleurs

Qu’est-ce qu’un microcontrôleur ?

Un microcontrôleur est un circuit intégré regroupant un micro-processeur, de la mémoire et des périphériques sur la même puce. Contrairement à un microprocesseur classique, un microcontrôleur est surtout utilisé pour une application spécifique. De nos jours, les microcontrôleurs sont présents un peu partout : dans les appareils domestiques,  médicaux, de télécommunication, dans les voitures, les avions, l’industrie, …

Microcontrôleurs en sciences physiques

Pour être plus en phase avec le monde qui nous entoure, les microcontrôleurs ont été introduits aux programmes de lycée de sciences physiques depuis la rentrée 2019.

Ces petits circuits programmables sont utilisables dans divers domaines de cet enseignement :

  • Mesures de tension, courant, résistance (capteurs résistifs), capacité (capteurs capacitifs) ;
  • Mesures directes de grandeurs physiques (capteurs spécifiques analogiques ou numériques) ;
  • Mesures de durée (durée d’impulsion, période, fréquence, …) ;
  • Génération de signaux (génération d’un son, de tension particulière) ;
  • … etc.

Ils offrent surtout la possibilité d’aller au delà de la simple mesure en mettant en oeuvre des applications concrètes comme par exemples : un thermomètre (capteur CTN), un télémètre (écho d’ultrasons), un capteur de niveau d’eau (capteur capacitif), …

Les microcontrôleurs offrent aussi la possibilité de  :

  • faire de l’acquisition de données en mode autonome (ex. mesure de pression sur un ballon sonde) ou mode interface (avec un ordinateur) ;
  • réaliser des appareils de mesure programmables et modulables (ex. pressiomètre, teslamètre, joulemètre, …).

Quels types de microcontrôleurs ?

Apparus dans les années 70, les microcontrôleurs à architecture 8 bits ne sont pas près de disparaître. Très peu chère, on les retrouve dans des petites applications (ex. télécommande). Par exemple, la célèbre carte Arduino UNO fonctionne avec un microcontrôleur 8 bits !

Actuellement, la tendance est aux microcontrôleurs 32 bits (STM32, SAMD, ESP32, …) qui sont plus adaptés aux applications évoluées. C’est ce type de microcontrôleur qui a permis le portage du langage Python au sein des microcontrôleurs : le langage MicroPython. Les cartes Micro:bit, Pyboard ou encore à base d’ESP32 en sont les parfaits exemples !

Microcontrôleur en 3,3 V ou 5 V ?

La plupart des microcontrôleurs récents sont alimentés en 3,3 V (norme actuelle). Seules certaines cartes Arduino comme la célèbre UNO implémentent des niveaux de tension  de  5 V (obsolète) !

Cela peut poser des problèmes de compatibilité avec les capteurs et les actionneurs du marché. Il est donc important veiller à bien choisir des modules compatibles à la fois à 3,3V et 5V.

Programmation des microcontrôleurs

A l’origine, les microcontrôleurs se programmaient en langage machine (assembleur). Ce langage existe encore mais il est réservé à des spécialistes.

Langage Arduino

Puis les langages compilés plus évolués ont fait leur apparition. C’est la cas du langage Arduino qui est proche du langage C/C++. Ces types de langages ne sont pas conseillés au lycée car trop complexes.

Langage MicroPython

Depuis quelques années, les performances des microcontrôleurs ont permis le portage du langage Python au sein du microcontrôleur. MicroPython permet d’interpréter des instructions Python sur le microcontrôleur sans ordinateur !

 

 

 

 



Arduino Uno R4 Minima – Test de la sortie analogique (DAC)

La sortie analogique (DAC) est la grande nouveauté de la mise à jour de la carte Arduino Uno en version R4. Cette fonctionnalité est disponible sur la broche analogique A0 utilisée habituellement en entrée analogique. Cet article propose un rapide test de la linéarité de ce Convertisseur Numérique Analogique (CNA)… Lire la suite

Capteur de pression absolue Grove MPX5700AP

Introduction Le module Grove MPX5700AP est un capteur de pression absolue délivrant une tension analogique compatible 5 V (Arduino) ou 3,3 V (Pyboard, Micro:bit, …). Pour rappel, la logique 3,3 V est devenue la norme dans le domaine des microcontrôleurs. Présentation du MPX5700AP Le circuit  MPX5700AP est un capteur de… Lire la suite

Capteur résistif : cas d’une CTN

Une CTN est un capteur résistif à coefficient de température négatif dont l’évolution de la résistance en fonction de la température est donnée par la figure suivante : Principe de mesure d’une résistance La plupart des modules pour capteur résistif utilise un pont diviseur de tension pour la mesure de la résistance… Lire la suite

Installation de MicroPython sur une carte Pyboard

L’installation du firmware MicroPython sur une carte Pyboard se fait assez facilement à condition de respecter les différentes étapes. Téléchargement du firmware MicroPython La micro-distribution MicroPython est archivée dans un fichier binaire au format DFU. Le tableau ci-dessous donne les liens de téléchargement des firmware pour différentes cartes Pyboard. Placer… Lire la suite

Les bases de Micropython pour la Pyboard

Cet article résume les bases de la programmation d’une carte Pyboard officielle en langage MicroPython. IDE de développement Thonny reste un des meilleurs outils de développement pour les cartes microcontrôleurs sous MicroPython. Noms des broches Sur la Pyboard, les broches de GPIO sont divisées en deux groupes symétriques de X1… Lire la suite

Les bases de Micropython pour la Feather STM32F405 Express (Pyboard)

Cet article se base sur une carte Feather STM32F405 Express d’Adafruit. Il s’agit au final d’une «PyBoard» au format Feather utilisant une notation du type Arduino pour ces broches à un tarif très intéressant ! Cette carte de développement est disponible chez Mouser.fr pour un peu plus de 20 €… Lire la suite

Les bases de Micropython pour la Micro:bit

Cet article résume les bases de la programmation d’une carte Micro:bit en langage MicroPython. IDE de développement Thonny Thonny est un environnement de développement assez complet pour MicroPython. Il a l’avantage de gérer la plupart des cartes  : PyBoard, ESP32, Micro:bit, … Trouvez ici une documentation sur l’utilisation de Thonny… Lire la suite

Charge et décharge d’un condensateur avec la Pyboard

Montage Le montage est basé sur une carte Feather STM32F405 Express d’Adafruit (idem Pyboard) et d’un module pour capteur capacitif compatible Grove. Afin d’utiliser un uniquement câble Grove, la broche A0 est définie en sortie digitale ! Programme MicroPython Le programme suivant utilise le timer du microcontrôleur pour réaliser une… Lire la suite

Loi de Mariotte avec capteur de pression Adafruit MPRLS

Cet article met en évidence la loi de Mariotte avec un microcontrôleur PyBoard et un capteur pression absolue MPRLS (0 à 25 PSI) de chez Adafruit. Montage Un seringue de 60 mL est nécessaire pour cette expérience. Programme MicroPython Le programme suivant s’exécute en mode REPL (interfaçage par USB). Les… Lire la suite