Modifications

Sauter à la navigation Sauter à la recherche
4 751 octets ajoutés ,  1 novembre 2021 à 20:54
Ligne 1 : Ligne 1 :  
== Introduction ==
 
== Introduction ==
 +
{{ambox|text=Dans ce tutoriel, nous allons ruser un peu pour utiliser l'anémomètre avec microcontrôleur 3.3V.}}
 +
 +
Cet anémomètre 0-30 m/s est conçu comme un capteur prêt à l'emploi.
 +
 +
[[Fichier:Anemometre.png|267px]]
 +
 +
Le capteur produit une tension de sortie entre 0 et 5V proportionnelle à la vitesse du vent.
 +
 +
Il suffit donc de brancher ce capteur sur une entrée analogique pour déterminer la vitesse du vent sur un microcontrôleur 5V comme Arduino UNO.
 +
 +
La vitesse du vent est calculée avec la formule 6*VOut. Une tension de 2.5V correspond à une vitesse de 15m/s.
 +
 +
'''Relation pragmatique entre vitesse du vent et ressenti:'''
 +
 +
[[Fichier:vitesse-vent.jpg|800px]]
 +
 +
'''Détails techniques:'''
 +
* Modèle:JL-FS2 à 3 soucoupes
 +
* Matériau: alliage d'aluminium
 +
* Gamme du signal de sortie:0 à 5V
 +
* Tension d'alimentation: 9-24V Continu
 +
* Consommation:<=0.3W sous 24V
 +
* Vitesse du vent de mise en rotation:0.4 à 0.8 m/s
 +
* Résolution:0.1 m/s
 +
* Gamme de mesure:0 à 30 m/s
 +
* Erreur:+/-3%
 +
* Distance de transmission: > 8m
 +
* Câble transmission (3 fils)
 +
* Température de fonctionnement:-40℃ à 80℃
 +
* Raccordement
 +
** VCC: rouge, 9-24V
 +
** GND: noir
 +
** Signal en Tension: jaune (0 à 5V)
 +
** Signal en Courant: bleu (non utilisé)
 +
* Poids:1Kg
    
== Raccordement ==
 
== Raccordement ==
 +
 +
Dans le schéma ci-dessous, un {{pl|551|régulateur Step-up U3V12F9}} élève la tension de 5V à 9V pour faire fonctionner l'anémomètre.
 +
 +
[[Fichier:MICROPYTHON-ANEMOMETER-10.jpg|640px]]
 +
 +
Un couple de résistance, idéalement 5 KOhms + 10 KOhms, permet de réduire la tension de sortie au 2/3.
 +
 +
Dans le cas présent il s'agit de résistances de 4.7K et 10K à disposition. Une fois mesurée avec précision, ces résistances sont de 4.6126 KOhms et 9.855 KOhms.
 +
 +
Vesp = Vout * 9855 / (9855 + 4612.6) = Vout * 0.68117
 +
 +
Si l'entrée analogique de l'ESP32 mesure une tension de 0.627 V:
 +
* Tension anémomètre Vout = Vesp / 0.68117 = 0.627 / 0.68117 = 0.920 V
 +
* Vitesse vent (m/s) = 6 * Vout = 6 * 0.920 = 5.52 m/s
 +
* Vitesse vent (Km/h) = m/s * 3.6 = 5.52 * 3.6 = 19.87 Km/h
    
== Code ==
 
== Code ==
 +
 +
Le code MicroPython ci-dessous effectue une lecture sur l'entrée analogique A3 (IO39). Cette lecture 12 bits (0-4095) est convertie en tension d'entrée (0-3.3V).
 +
 +
Elle est ensuite convertie en tension de sortie sur l'anémomètre (0-5V) pour enfin être converti en vitesse exprimée en m/s.
 +
 +
Enfin, la vitesse en km/h est obtenue en multipliant la vitesse en m/s par 3.6.
 +
 +
Voici le contenu du script que vous pouvez téleverser sur votre carte MicroPython pour y être exécuté.
 +
 +
<syntaxhighlight lang="python">
 +
#
 +
# Anemometer measurement
 +
#
 +
# See tutorial: https://wiki.mchobby.be/index.php?title=MICROPYTHON-ANEMOMETER
 +
from machine import Pin, ADC
 +
from time import sleep
 +
 +
A3 = 39 # Analog 3 on IO39
 +
# Resistor Divider at ADC input
 +
R_BRIDGE_RATIO = 0.68117 # See tutorial
 +
 +
ana = ADC(Pin( A3 ))
 +
ana.atten( ADC.ATTN_11DB ) # Full 3.3V Range
 +
 +
while True:
 +
value = ana.read() # 0..4095
 +
v_esp = 3.3 * value / 4096
 +
v_anem = v_esp / R_BRIDGE_RATIO
 +
# Wind speed in meter per second
 +
speed_mps = 6 * v_anem
 +
# wind speed in Km per Hour
 +
speed_kmph = speed_mps * 3.6
 +
 +
print( "value: ", value )
 +
print( "m/s:", speed_mps )
 +
print( "km/h:", speed_kmph )
 +
print( "--------------------" )
 +
sleep( 0.5 )
 +
</syntaxhighlight>
 +
 +
Ce qui produit les résultats suivants:
 +
 +
<nowiki>value:  0
 +
m/s: 0.0
 +
km/h: 0.0
 +
--------------------
 +
value:  28
 +
m/s: 0.1987045
 +
km/h: 0.7153363
 +
--------------------
 +
value:  47
 +
m/s: 0.3335397
 +
km/h: 1.200743
 +
--------------------
 +
value:  40
 +
m/s: 0.2838636
 +
km/h: 1.021909
 +
--------------------
 +
value:  62
 +
m/s: 0.4399886
 +
km/h: 1.583959
 +
--------------------
 +
value:  48
 +
m/s: 0.3406363
 +
km/h: 1.226291
 +
--------------------
 +
value:  74
 +
m/s: 0.5251477
 +
km/h: 1.890532
 +
--------------------
 +
value:  78
 +
m/s: 0.553534
 +
km/h: 1.992723
 +
--------------------
 +
value:  80
 +
m/s: 0.5677272
 +
km/h: 2.043818
 +
--------------------
 +
value:  123
 +
m/s: 0.8728806
 +
km/h: 3.14237
 +
--------------------
 +
value:  117
 +
m/s: 0.8303011
 +
km/h: 2.989084
 +
--------------------
 +
value:  73
 +
m/s: 0.5180511
 +
km/h: 1.864984
 +
--------------------
 +
value:  131
 +
m/s: 0.9296533
 +
km/h: 3.346752
 +
--------------------
 +
value:  190
 +
m/s: 1.348352
 +
km/h: 4.854068
 +
--------------------
 +
value:  177
 +
m/s: 1.256096
 +
km/h: 4.521947
 +
</nowiki>
 +
 +
== Vitesse du vent et Broker MQTT ==
 +
Si vous comptez mesure la vitesse du vent pour alimenter un broker MQTT, nous recommandons de ne pas noyer le broker sous un flot continu d'information.
 +
 +
Il est recommandé d'effectuer des mesures en continu pendant une période de temps déterminée (par exemple 15min) afin de déterminer un maxima et un minima.
 +
 +
Ensuite en envoyer les deux informations (minima et maxima) vers le broker.
    
== Où acheter ==
 
== Où acheter ==
 
* Le {{pl|1852|module Anémomètre}} est disponible chez MCHobby
 
* Le {{pl|1852|module Anémomètre}} est disponible chez MCHobby
 +
* Le {{pl|551|régulateur Step-up 9V U3V12F9}}
 +
* Le {{pl|1226|Carte Feather ESP32 - HUZZAH32}}
29 917

modifications

Menu de navigation