ANALYSE D'UNE PHOTORESISTANCE
Mise en situation
La photorésistance est un composant électronique dont la résistance varie selon la lumière reçue.
Pour en connaître les caractéristiques, il suffit d'étudier la documentation qui lui est associée.
Une autre solution consiste à tester son comportement.
Pour cela, on la place à proximité immédiate d'une DEL (diode électroluminescente) blanche.
Une carte Arduino UNO est programmée pour allumer et éteindre cette DEL, générant ainsi de courtes impulsions lumineuses à intervalles réguliers.
Le signal généré par le montage est envoyé à l'ordinateur via la liaison USB.
Un programme trace, à partir des données reçues, la courbe à analyser.
Hypothèses et données
Caractéristiques des composants
- Tension délivrée par la carte Arduino : U = 5 V
- Courant maximal par connecteur : Imax = 20 mA
- Tension de seuil d'une DEL blanche : Useuil = 3,5 V
- Résistance placée en série avec la DEL : RDEL = 100 Ω
- Résistance placée en série avec la photorésistance : R = 10 kΩ
- Courant passant par le connecteur A0 : Nul (négligeable)
Câblage
Tension mesurée aux bornes de la résistance en fonction du temps
Symboles électroniques
Etude demandée
- Compléter le schéma de câblage ci-dessous.
- Lire sur le graphique les durées :
- Lorsque la DEL commence à éclairer, quel temps T1, en s, met
la résistance de la photorésistance pour atteindre sa valeur minimale?
- Lorsque la DEL cesse d'éclairer, quel temps T2, en s, met
la résistance de la photorésistance pour atteindre sa valeur maximale?
- Quelle est la durée T3, en s, d'une impulsion lumineuse?
- Lorsque la DEL éclaire :
- Quelle est la tension UR, en mV, aux bornes de la résistance de 10 kΩ?
- En déduire la tension UP, en mV, aux bornes de la photorésistance.
- Calculer le courant I, en mA, traversant la résistance de 10 kΩ et la photorésistance.
- Conclure en déterminant la résistance RP, en Ω, de la photorésistance.
- Répondre aux mêmes questions lorsque la DEL a cessée d'éclairer depuis 7 s ou plus.
Annexes
Programme pour la carte Arduino UNO
void lire(unsigned long duree) {
unsigned long debut=millis();
while (millis()-debut<duree) {
Serial.println(analogRead(0));
delay(50);
}
}
void setup() {
Serial.begin(115200);
pinMode(6, OUTPUT);
}
void loop() {
digitalWrite(6, HIGH);
lire(500);
digitalWrite(6, LOW);
lire(7500);
}
Programme en Python pour tracer la courbe
#!/usr/bin/python3 # Pour un système GNU/Linux
import time
import serial
import matplotlib.pyplot as plt
liaison='/dev/ttyUSB0' # Adapter à la liaison USB
portUSB=serial.Serial(liaison, 115200)
temps=[]
tension=[]
duree=8
t=0
dt=0.05
while (t<duree) :
temps.append(t)
tension.append(5000*float(portUSB.readline())/1023)
t=t+dt
time.sleep(dt)
plt.xlabel("Temps en s")
plt.ylabel("Tension en mV")
plt.grid(True)
plt.plot(temps,tension)
plt.show()