Sunteți pe pagina 1din 16

Cours sur les microcontrleurs STI2D ET SSI

GENERALITES

Le microcontrleur rassemble en un seul circuit les composants d'un petit ordinateur (processeur,
mmoire) auquel on ajoute un nombre important d'entre-sorties. Sa miniaturisation et son faible cot lui
permet de remplacer la logique cble maintenant obsolte, l'lectronique de traitement analogique tant
le plus souvent elle aussi rduite au minimum.

Dans la chaine d'information il assure le traitement de linformation

On peut aussi le retrouver en tant que bloc SysML (gestion du fonctionnement)

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 1


Il peut aussi tout simplement satisfaire quelques exigences par une de ses fonctions, ici la
conversion analogique-numrique ou lchantillonnage.

Il remplace bien souvent des technologies devenues obsoltes, on peut le voir ici avec la commande
marche-arrt dun systme.

Version relais Version Cble

Version programme (sans les boutons)

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 2


Le moteur est pilot par une sortie du microcontrleur

Cest lalgorithme qui permet de traiter les consignes de marche et darrt

Programme correspondant

Les entres sorties des micro-contrleurs.


LES ENTREES SORTIES BINAIRES (TOR)

Une broche peut en gnral tre configure en entre ou en sortie, le plus souvent avec des niveaux de
tension de 0V pour ltat 0 et 5V pour ltat 1.

Cblage en entre Cblage en sortie

LES ENTREES ANALOGIQUES

La tension mesure en entre est convertie en une valeur numrique sur 10 bits en gnral.

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 3


LES PORTS DE COMMUNICATION
On trouve en gnral un (ou plusieurs) port srie pour changer des donnes avec un autre circuit. Un seul
circuit peut tre connect sur le port srie, la sortie transmission de lun est relie sur la rception de
lautre et rciproquement.

On trouve aussi un ou plusieurs bus de communication pour changer des donnes entre circuits (I2C, SPI,
CAN), le mme bus peut communiquer avec plusieurs circuits, ils se distinguent par des adresses
diffrentes.

LES SORTIES PWM

Elles permettent le plus souvent de commander des moteurs en vitesse, ce sont des sorties pseudo-
analogiques.

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 4


LA PROGRAMMATION
Chaque microcontrleur dispose de son propre langage plus ou moins standardis

Exemple de programmation en basic Cubloc Exemple de programmation en C++ arduino

La famille ARDUINO

Arduino est un circuit imprim en matriel libre sur lequel se trouve un microcontrleur qui peut tre
programm pour analyser et produire des signaux lectriques de manire effectuer des tches trs
diverses comme la domotique (le contrle des appareils domestiques - clairage, chauffage), le pilotage
d'un robot, etc. C'est une plateforme base sur une interface entre/sortie simple.

Un module Arduino est gnralement construit autour d'un microcontrleur Atmel AVR (ATmega328 ou
ATmega2560 pour les versions rcentes, ATmega168 ou ATmega8 pour les plus anciennes), et de
composants complmentaires qui facilitent la programmation et l'interfaage avec d'autres circuits.
Chaque module possde en gnral un rgulateur linaire 5 V et un oscillateur quartz 16 MHz (ou un
rsonateur cramique dans certains modles).

Le microcontrleur est prprogramm avec un bootloader de faon ce qu'un programmateur ddi ne


soit pas ncessaire. Les modules sont programms au travers d'une connexion USB-srie. L'Arduino utilise

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 5


la plupart des entres/sorties du microcontrleur pour l'interfaage avec les autres circuits. Le logiciel de
programmation des modules Arduino est une application Java, libre et multi-plateforme, servant d'diteur
de code et de compilateur, et qui peut transfrer le firmware et le programme au travers de la liaison srie
(RS-232, Bluetooth ou USB selon le module).

Le langage de programmation utilis est le C++ li la bibliothque de dveloppement Arduino,


permettant l'utilisation de la carte et de ses entres/sorties. La mise en place de ce langage standard rend
ais le dveloppement de programmes sur les plates-formes Arduino, toute personne matrisant le C ou
le C++.

LE CIRCUIT ARDUINO LEODARNO

Les caractristiques du circuit Leonardo

La carte de test

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 6


Mise en pratique

PROGRAMMATION DUN CHENILLARD.

Lobjectif est ici dallumer et teindre


successivement les cinq leds de la carte dans
lordre.

Le programme est complter.

COMMANDE D'UN RELAIS (MARCHE ARRET)

On souhaite ici commander le relais avec les deux


boutons poussoirs marche et arrt

Le programme est complter

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 7


MESURE DUNE TENSION

On souhaite maintenant mesurer la tension issue du potentiomtre, celle-ci varie entre 0 et 5v.
Le microcontrleur va donc devoir effectuer une conversion analogique numrique.

La conversion analogique numrique

Source : www.abcelectronique.com

Caractristique de transfert

Source : www.abcelectronique.com

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 8


Programme avec renvoi sur le port srie

Complter ce programme pour calculer et afficher la tension en volt

MISE EN UVRE DUN CAPTEUR

La mise ne uvre dun capteur ncessite le traitement du flux dinformation entre la grandeur mesurer et la valeur
finale exprime dans une grandeur du systme dunit SI.

Chaine d'acquisition

Le capteur utilis ici est un capteur de courant effet hall qui converti le courant qui le traverse en une
tension. La mesure tant bipolaire, le courant de 0 Ampre correspond une tension de sortie de 2,5 volts.

La grandeur mesurer est en gnral convertie en une tension, le facteur de conversion est ici de 185 mV/A.

Ce signal peur tre filtr, avec un filtre passe bas par exemple, pour le rendre plus propre , si la sensibilit du
capteur nest pas suffisante, il peut tre amplifi pour avoir une excursion en entre proche de 5V.

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 9


Le schma structurel du dispositif de mesure.

Mesure du courant en Ampre

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 10


COMMANDE DUN MOTEUR PAR UNE SORTIE PWM

La sortie PWM est une sortie sur laquelle on peut faire varier le rapport cyclique du signal, la tension moyenne
dalimentation du moteur est alors gale au produit de la tension dalimentation par ce rapport cyclique.

Pour commander le moteur avec deux sens de rotation, il faut mettre en place un dispositif pont en H, les
quatre contacts reprsents ici seront en fait des transistors.

Nous utiliserons un petit motorducteur quip dun codeur incrmental, il sera ainsi possible de mesurer
sa vitesse voire de faire un petit asservissement.

Le moteur avec encodeur

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 11


Le driver de moteur (pont en H)

Le programme propos va recevoir une consigne de vitesse envoye pas le terminal srie, la vitesse mesure sera
affiche en retour.

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 12


Programme avec mesure de vitesse

La consigne de vitesse est envoye avec la moniteur srie du programme IDE Arduino et termine par une fin de
ligne (caractre 10).

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 13


Mesure du courant dans le moteur

La mesure du courant envoye sur le port srie peut tre rcupre dans un programme Labview

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 14


Affichage du courant dans Labview

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 15


Correction des exemples

Cours sur les microcontrleurs alain.charbonnel@ac-caen.fr page 16