Mesure de la constante de temps d'un circuit RC à l'aide d'une carte Micro:bit

MéthodeMontage et utilisation de la carte

Le montage est donné ci-contre. La carte Micro:bit est utilisée :

  • pour appliquer une tension de 3,3 volts aux bornes de l'assemblage résistance - condensateur en série grâce à une sortie numérique ;

  • pour mesurer la tension aux bornes du condensateur à l'aide d'une entrée analogique.

On peut placer un interrupteur poussoir en dérivation sur le condensateur pour permettre une décharge instantanée avant de mesurer la durée de la charge.

Une fois le condensateur déchargé, la sortie numérique n°0 de la carte passe à l'état haut, une tension \(U_0 = 3{,}3\ \mathrm V\) s'applique aux bornes du montage.

Montage pour la mesure de la constante de temps d'un dipôle RC à l'aide d'une carte MicrobitInformations[1]

La carte Micro:bit s'insère dans le montage précédent comme indiqué ci-contre.

Câblage d'une carte Microbit pour la mesure de la constante de temps d'un dipôle RCInformations[2]

Lors de la charge, la tension aux bornes du condensateur est donnée par la relation suivante :

\(U_C = U_0 \times \left(1- e^{-\dfrac{t}{\tau}}\right)\)

On en déduit que pour \(t=\tau\) :

\(U_C = 0{,}632 \times U_0\)

En mesurant la tension aux bornes du condensateur à l'aide de la carte Microbit, on peut déterminer la date t à laquelle ce niveau est atteint, et donc connaître \(\tau\).

Courbe de charge d'un condensateur dans un circuit RCInformations[3]

La tension UC est mesurée sur l'entrée analogique pin2 de la carte Micro:bit. Le convertisseur analogique/numérique de la carte renvoie 1023 si la tension lue vaut 3,3 V. La valeur correspondant à une charge à 63,2% est \(\dfrac{1023 \times 63{,}2}{100}=\mathbf{647}\).

Principe de la mesure

On utilise la carte Micro:Bit pour mesurer le temps nécessaire pour atteindre 647 sur l'entrée analogique, condensateur initialement déchargé.

Le principe de la mesure est le suivant :

  • On appuie sur le bouton A de la carte pour entamer une décharge du condensateur en plaçant la pin0 à 0. Si la décharge est trop lente, on peut aussi appuyer sur le bouton ajouté sur la platine d'essai.

  • Une fois le condensateur déchargé, l'afficheur dessine une flèche invitant à appuyer sur le bouton B.

  • On relève la date t0, puis on commence la charge en passant la pin 0 à 3,3V. On boucle sans rien faire en mesurant à chaque tour le niveau lu sur l'entrée analogique. Quand ce dernier atteint la valeur 647, on sort de la boucle et on mesure la date t1.

  • La constante de temps en ms se déduit par une simple différence.

  • Après affichage de la valeur de la constante de temps, l'afficheur dessine une flèche invitant à appuyer sur le bouton A pour entamer un nouveau cycle de mesure.

Remarque importante

Pour obtenir des mesures suffisamment précises, il faut des constantes de temps plutôt longues, de l'ordre de la seconde. La durée d'une boucle incluant la mesure de la tension est de l'ordre du dixième de milliseconde, ce qui ne permet pas de mesurer des charges trop rapides.

Ci-dessous, le programme permettant de réaliser cette mesure.

1
# -*- coding: utf-8 -*-
2
3
from microbit import *
4
5
#fleche vers bouton A
6
A = Image("00900:"
7
          "09000:"
8
          "99999:"
9
          "09000:"
10
          "00900")
11
#fleche vers bouton B
12
B = Image("00900:"
13
          "00090:"
14
          "09999:"
15
          "00090:"
16
          "00900")
17
display.show(A)
18
while True:
19
    if button_a.is_pressed():
20
        print("Decharge du condensateur : pressez le bouton sur la platine si la decharge est trop longue")
21
        pin0.write_analog(0)
22
        while pin2.read_analog()>5:
23
            sleep(50)
24
        display.show(B)
25
        print("Condensateur decharge")
26
    if button_b.is_pressed():
27
        print("Charge du condensateur")
28
        t0=running_time()
29
        pin0.write_analog(1023)
30
        while pin2.read_analog()<1000:
31
            sleep(10)
32
        t1=running_time()
33
        tau = str((t1 - t0))+" ms"
34
        print(tau)
35
        display.scroll(tau,delay=500)
36
        sleep(3000)
37
        display.show(A)

ComplémentTracer les courbes de charge et décharge en fonction du temps

Le grapheur de Mu-Editor permet d'afficher les données graphiquement en cliquant sur le bouton Graphique.

Ci-dessous le programme modifié pour afficher les courbes ainsi qu'un exemple de sortie graphique.

1
from microbit import *
2
pin0.write_analog(0)
3
sleep(2000)
4
tension=998
5
while True:
6
    charge=0
7
    while tension>23:
8
        tension=pin2.read_analog()
9
        print((0,tension*3.3/1023,0))
10
        sleep(100)
11
    pin0.write_analog(1023)
12
    while tension<1000:
13
        tension=pin2.read_analog()
14
        print((0,tension*3.3/1023,3.3))
15
        sleep(100)
16
    pin0.write_analog(0)
Courbes de charge et décharge d'un condensateur - Traceur Mu-editorInformations[4]