AP régulation de lumière sous Arduino CAN ET PWM

publicité
AP régulation de lumière sous Arduino
CAN ET PWM
Matériel et documents nécessaires :
 1 carte Arduino avec une plaquette d'essai
 1 câble USB
 1 PC équipé du logiciel Arduino
 Le « Livret Arduino »
 1 LED et 1 résistance de 220 Ω (rouge rouge marron)
 1 LDR + 1 résistance de 47 kΩ (jaune, violet, orange)
 Le logiciel de saisie de schéma « PROTEUS 8 »
 Le simulateur UnoArduSim.exe
1- Gestion d'une entrée analogique
On souhaite maintenant faire clignoter une LED à une fréquence qui dépendra de la luminosité ambiante.
Pour cela, vous utiliserez une photorésistance LDR et une résistance de 47 kΩ que vous câblerez comme
indiqué le schéma ci dessous
LDR cL Le capteur LDR sera connecté sur l’entrée analogique N°0 : AD0
La LED sera connectée sur la sortie N° 13

Réalisez le câblage des composants sur la carte
Faites vérifier le câblage par votre professeur.
int capteurLDR = 0;
// variable identifiant un port ana. 0 de la carte
int LED1 = 13;
// variable identifiant le port num. 13 de la carte
int lum1 = 0;
// variable identifiant la valeur de la luminosité du capteur 1
void setup()
{
pinMode(LED1, OUTPUT);
// configure la broche 13 comme une sortie
Serial.begin(9600);
// initialise la vitesse de la liaison serie.
}
void loop()
{
lum1 = analogRead( capteurLDR);
// lire la donnée capteur
digitalWrite(LED1, HIGH);
// allumer la LED 1
delay(lum1);
// attendre pendant la valeur donnée par le capteur en millisecondes
digitalWrite(LED1, LOW);
// éteindre la LED 1
delay(lum1);
// attendre pendant la même valeur
Serial.println("Mot numerique lumiere"); // écrire sur la liaison série la phrase Mot numé…..
Serial.println(lum1, DEC);
// écrire le contenu de la variable lum1 en décimal
delay(1000);
// attendre pendant 1s
}
AP regulation de lumièresous arduino CAN-pwm_élève
Page
l
1/6
2 – Simulation sur PROTEUS 8




Ouvrir le fichier Arduino-TP3-ELV-1.pdsprj
Sur l’onglet Saisie de schéma compléter le câblage du capteur de
lumière LDR ( il sera simulé par une résistance variable) .
Câbler le voltmètre
Insérer le programme dans l’onglet code source, puis simuler le
fonctionnement en appuyant sur play.
AP regulation de lumièresous arduino CAN-pwm_élève
Page
l
2/6

Lum1
Vad0
Compléter le tableau, et déterminer le nombre de bits du convertisseur
0
5
Pour un mot de n bits on pourra avoir 2 n messages différents.







Pour transférer le programme dans la carte réelle il faut configurer le port COM et définir
la carte arduino UNO.
Cliquez sur l’icône puce
Conclure.
cliquez sur l’icône configurer le projet.
Renseigner le port de communication com…
Sélectionner Arduino uno dans le menu INTERFACE.
Cliquez sur l’icône puce pour transférer le
programme




Ouvrir le logiciel Arduino .
Copier le programme et le transférer sur la carte.
Ouvrir le moniteur série.
Et comparer les écarts entre la simulation et le réel.
AP regulation de lumièresous arduino CAN-pwm_élève
Page
l
3/6
3 – Simulation sur UnoArduSim.exe




Copier puis coller le programme
Réaliser le câblage le capteur de lumière LDR sera simulé une tension variable 0- 5V, puis
connecter une LED sur la sortie 13.
Simuler et conclure.
Donner la valeur maximale de la temporisation en seconde.
4 – Simulation sur PROTEUS 8
On souhaite maintenant faire varier l’éclairage d’une LED proportionnellement à l’éclairage reçu
par le capteur le lumière LDR.
La LED sera piloté par une fonction PWM
Adaptation de l’échelle entre le Convertisseur Analogique Numérique ( 10 bits) ou est connecté
la LDR, et le CNA qui pilote la LED en Pulse Wide Modulation ( 8bits).
luminosite = map(sensorValue,0, 1023, 0, 255)







Ouvrir le fichier Régulation_éclairage.flv, et visualiser la vidéo.
Arduino-TP3-ELV-2.pdsprj
Pourquoi faut t’il changer de numéro de sortie et passer de 13 à 9 ?
Compléter le programme dans l’onglet code source, notamment l’acquisition de la mesure
du capteur LDR, puis lancer la simulation.
Réaliser le câblage le capteur de lumière LDR sera simulé par une résistance variable.
Câbler le voltmètre
Conclure.
D'abord, la PWM sa veut dire : Pulse Width Modulation et en français cela donne
Modulation à Largeur d'Impulsion (MLI). La PWM est en fait un signal numérique qui, à
une fréquence donnée, a un rapport cyclique qui change.
La fréquence et le rapport cyclique
La fréquence d'un signal périodique correspond au nombre de fois que la période se répète en
UNE seconde. On la mesure en Hertz, noté Hz. Prenons l'exemple d'un signal logique qui émet
un 1, puis un 0, puis un 1, puis un 0, etc. autrement dit un signal créneaux, on va mesurer sa
période (en temps) entre le début du niveau 1 et la fin du niveau 0 :
AP regulation de lumièresous arduino CAN-pwm_élève
Page
l
4/6
Ensuite, lorsque l'on aura mesuré cette période, on va pouvoir calculer sa fréquence (le
nombre de périodes en une seconde) grâce à la formule suivante :
Avec :
: fréquence du signal en Hertz (Hz)
: temps de la période en seconde (s)
Le rapport cyclique, un mot bien particulier pour désigner le fait que le niveau logique 1 peut
ne pas durer le même temps que le niveau logique 0. C'est avec ça que tout repose le principe
de la PWM. C'est-à-dire que la PWM est un signal de fréquence fixe qui a un rapport cyclique
qui varie avec le temps suivant "les ordres qu'elle reçoit".
Le rapport cyclique est mesuré en pour cent (%). Plus le pourcentage est élevé, plus le niveau
logique 1 est présent dans la période et moins le niveau logique 0 l'est.
Étudions maintenant la fonction permettant de réaliser ce signal : analogWrite(). Elle prend deux arguments :
Le premier est le numéro de la broche où l'on veut générer la PWM
Le second argument représente la valeur du rapport cyclique à appliquer. Malheureusement on n'exprime
pas cette valeur en pourcentage, mais avec un nombre entier compris entre 0 et 255
Si le premier argument va de soi, le second mérite quelques précisions. Le rapport cyclique s'exprime de 0 à 100 %
en temps normal. Cependant, dans cette fonction il s'exprimera de 0 à 255 (sur 8 bits). Ainsi, pour un rapport
cyclique de 0% nous enverrons la valeur 0, pour un rapport de 50% on enverra 127 et pour 100% ce sera 255. Les
autres valeurs sont bien entendu considérées de manière proportionnelle entre les deux..
AP regulation de lumièresous arduino CAN-pwm_élève
Page
l
5/6

Compléter le tableau depuis la simulation
Luminosité 0
Rapport
cyclique β
Vad0
V LEDmoy

255
5
En déduire la relation entre V LED = f (Vcc ; β)
5 – Simulation sur UnoArduSim.exe




Copier puis coller le programme
Réaliser le câblage le capteur de lumière LDR sera simulé une tension variable 0- 5V, puis
connecter une LED sur la sortie 9.
Simuler et conclure.
Donner la valeur maximale de la temporisation en seconde.
AP regulation de lumièresous arduino CAN-pwm_élève
Page
l
6/6
Téléchargement