Modifications

Sauter à la navigation Sauter à la recherche
3 726 octets ajoutés ,  15 octobre 2017 à 22:13
Ligne 2 : Ligne 2 :     
== Introduction ==
 
== Introduction ==
{{traduction}}
+
L'ESP8266 dispose une entrée analogique. Cette entrée analogique  est pris en charge par le convertisseur "analogique vers digital" (ADC, Analogic to Digital Converter).
 +
 
 +
{{ADFImage|FEATHER-ESP8266-Brochage-50.jpg|480px}}
 +
 
 +
Les entrées analogiques sont généralement notée A0, A1, A2, ..., An. L'ESP8266 ne disposant que d'une seule entrée analogique, celle-ci correspond a A0 mais elle est simplement nommée "ADC".
 +
 
 +
Tout serait parfait dans le meilleur des mondes si le convertisseur était capable de lire une tension couvrant la totalité du niveau logique de l'ESP8266.
 +
 
 +
<font color="red">'''Malheureusement la tension maximale supportée par l'entrée ADC est de 1.0 Volts'''</font>.
 +
 
 +
Il convient donc de ne pas faire d'erreur de calcul ou de câblage lorsque l'on désire utiliser l'entrée analogique.
    
== Schéma ==
 
== Schéma ==
Le montage suivant utilise un {{pl|33|potentiomètre de 10 Komhs}} auquel est adjoint une résistance de 26.7K (une résistance 22K + une résistance 4.7K).
+
Le montage suivant utilise un {{pl|33|potentiomètre de 10 Komhs}} permettant de faire varier la tension entre 0 et 0.9V (environ). Le potentiomètre et la résistance de 26.7K créent un pont diviseur de tension.  
   −
Notez que nous n'utilisons que le plot centrale et extrémité du potentiomètre.
+
La résistance de 26.7K est le résultat d'un raisonnement et de calculs détaillés plus loin dans ce tutoriel.
 +
 
 +
Le principe reste identique pour tout les senseurs de type résistif comme les photo-résistances, senseurs de force.
    
[[Fichier:FEATHER-MICROPYTHON-ADC.jpg|640px]]
 
[[Fichier:FEATHER-MICROPYTHON-ADC.jpg|640px]]
   −
La tension au borne de l'ADC varie donc entre 0V et 0.899V.
+
{{ambox-stop|text=Notez que le montage utilise uniquement le plot central et une extrémité du potentiomètre.}}
    
== Tester ==
 
== Tester ==
{{traduction}}
+
Utiliser l'entrée analogique est très simple sous MicroPython. La classe ADC permet de faciliter la lecture de la valeur sur le convertisseur.
 +
 
 +
La résolution du convertisseur est de 10 bit. Cela signifie que le convertisseur retourne une valeur entre 0 et 1024 (soit une précision de 0.9 mV.
 +
 
 +
<syntaxhighlight lang="python">
 +
>>> import machine
 +
>>> analog = machine.ADC(0)
 +
>>> value = analog.read()
 +
>>> print( value )
 +
764
 +
>>> voltage = value * (1/1024)
 +
>>> print( voltage )
 +
0.746094
 +
</syntaxhighlight>
 +
 
 +
La classe ADC prend le numéro de broche analogique en paramètre. ADC(0) fait donc référence à l'entrée analogique A0.
    
== Calcul de la résistance ==
 
== Calcul de la résistance ==
Ligne 21 : Ligne 48 :  
Désirant utiliser un potentiomètre de 10 KOhms, cette résistance à été calculée et fixée de sorte à ne pas dépasser la tension maximale sur l'entrée analogique (soit 1.0V).
 
Désirant utiliser un potentiomètre de 10 KOhms, cette résistance à été calculée et fixée de sorte à ne pas dépasser la tension maximale sur l'entrée analogique (soit 1.0V).
    +
=== Calcul de la valeur idéale ===
 
Voici le schéma du pont diviseur sur lequel nous avons repris les informations connues.
 
Voici le schéma du pont diviseur sur lequel nous avons repris les informations connues.
   Ligne 45 : Ligne 73 :     
Une résistance R1 = 23 KOhms permet d'avoir une tension maximale de 1V sur l'ADC.
 
Une résistance R1 = 23 KOhms permet d'avoir une tension maximale de 1V sur l'ADC.
* Toute résistance R1 < 23 KOhms induit une tension supérieure à 1V sur l'ADC lorsque R1 (le pot.) est à 10 KOhms.
+
* Toute résistance R1 < 23 KOhms induira une tension supérieure à 1V sur l'ADC lorsque R1 (le pot.) est à 10 KOhms. <font color="red">'''Il y a donc danger de surtension sur l'ADC dans ce cas de figure'''</font>
 +
* Toute résistance R1 > 23 KOhms induira une tension inférieure à 1V sur l'ADC lorsque R1 (le pot.) est à 10 KOhms. <font color="teal">'''Situation de confort écartant le risque de surtension sur l'ADC'''</font>
 +
 
 +
=== La résistance dans le monde réel ===
 +
Le calcul ci-dessus démontre que la résistance R1 idéale est de 23 KOhms. Mais qui dispose d'une résistance de 23 KOhms dans ses cartons.
 +
 
 +
C'est sans compter sur la tolérance de la résistance, généralement +/- 5%. Une résistance de 23 KOhms peut donc avoir une valeur située entre 21.85 KOhms (<font color="red">induisant une situation à risque pour l'ADC</font>) et 24.15 KOhms (<font color="teal">situation de confort pour l'ADC</font>).
 +
 
 +
Comme indiqué dans le "calcul de la valeur idéale" ci-dessus, il est préférable d'avoir une résistance R1 supérieure à 23 KOhms.
 +
 
 +
Nous avons dans nos cartons une résistance de 22 KOhms et une autre résistance de 4.7 KOhms, soit un total de 27.6 KOhms. Avec la tolérance de 5%, la résistance totale sera entre 26.7 KOhms - 5% = 25.36 KIhms et 26.7 KOhms + 5% = 28.03 KOhms. Nous restons donc bien au dessus de la valeur minimale théorique de 23 KOhms.
 +
 
 +
'''Une question demeure:''' quelle sera maintenant la tension U2 sur le convertisseur ADC avec notre résistance R1 fixée 26.7 KOhms et lorsque le potentiomètre de 10 K sera au maximum.
 +
 
 +
En reprenant le schéma ci-dessus, nous pouvons y mettre les nouvelles données:
 +
 
 +
[[Fichier:FEATHER-MICROPYTHON-ADC-01.png|240px]]
 +
 
 +
* U1 = 3.3V
 +
* R1 = 26.7 KOhms (26700 Ohms)
 +
* R2 = 10 KOhms (10000 Ohms)
 +
 
 +
<nowiki>U2 = U1 * R2 / (R1 + R2)
 +
# Avec U1 = 3.3V, R2 = 10000 Ohms,
 +
# R1 = 26700 Ohms
 +
U2 = 3.3 * 10000 / (26700 + 10000)
 +
U2 = 0.899 Volts</nowiki>
 +
 
 +
La tension appliquée sur le convertisseur ADC sera de 0.899 Volts Max.  
    +
Pour cette tension maximale, le convertisseur ADC retournera la valeur numérique maximale de 0.899 / (1/1024) = 920 
    
<hr />
 
<hr />
29 917

modifications

Menu de navigation