Capteur anémomètre DAVIS - Valeurs Wind vane différentes avec ESP32 ou Wemos D1 pro mini

Bonjour à tous,

Je teste un capteur Davis 6410 parce qu'il donne des mesures différentes de direction du vent suivant que je l'utilise avec un Wemos D1 pro mini ou un ESP32 Wroom.
En effet, en utilisant le programme ci dessous, avec l'ESP32 j'obtiens ces valeurs :

  • N : 0;
  • E: 1045
  • S: 2480
  • O: 4095
  • N: 4095
    Pour le même capteur avec le Wemos D1 pro mini, j'obtiens :
  • N : 0
  • E : 250
  • S : 500
  • O : 800
  • N : 1024
    Ce sont des valeurs moyennes car le capteur est très sensible.

Voici le programme de test:

const int windVanePin = 34;//A0 = Wemos D1 PRO mini; 34=ESP32 wroom

void setup() {
  Serial.begin(115200);
}

void loop() {
  int vaneValue = analogRead(windVanePin);
  Serial.print("vaneValue: ");
  Serial.println(vaneValue);
  delay(1000);
}

Quelqu'un a t'il une explication?
Merci d'avance.

AnalogRead() ne fonctionne pas de la même manière dans les deux cas pour plusieurs raisons :

1°) Sur la carte Wemos D1 Pro Mini un pont diviseur de tension est câblé en amont de l'entrée ADC de l'ESP8266, pas sur les entrées analogiques des diverses avec des ESP32

2°) L'ADC des ESP8266 est sur 10 bits, celui des ESP32 est , par défaut 12 bits

Il n'est donc pas surprenant d'obtenir de valeurs différentes pour une même tension appliquée

Pour information: dans les cas des ESP32 on peut utiliser une intéressante fonction
AnalogReadMillivolts()

la partie

* O: 4095
* N: 4095

semble indiquer que vous avez saturé l'ADC...

Quelle est la tension de sortie de votre Davis 6410 ?

(sinon la gamme de valeur 0-1023 et 0-4095 sont normales pour une lecture 10 bits ou 12 bits suivant comment analogRead() est configuré)

Sur la notice de l'anémomètre Davis convcerné on peut lire pour la partie girouette :
image

IL faut donc adapter ce capteur résistif à l'ADC utilisé : EPS826- sur la carte D1 Mini Pro, ou ESP32 avec la résolution choisie

Merci à tous les deux pour vos réponses.

Pour J.M.L, la tension mesurée va de 0 volts pour une position nord à 5 volts pour la position Ouest. La tension semble bien saturer l'ADC comme vous l'indiquez.
Comment remédier au problème? (Pont diviseur?).
Pour Al1fch, je vais regarder la commande analogReadMilliVolts().

Merci encore

Avec 5V vous risquez de griller vos ESP... il ne faut pas dépasser 3.3V

➜ un adaptateur de tension est nécessaire

Un schéma montrant la liaison girouette - ESPx ne serait pas de trop !

comment la sortie girouette est-elle câblée ? d'où vient le 5V ?
si la girouette n'est qu'une résistance variable (c'est ce que semble dire sa notice) il est alors possible de la mettre dans un pont diviseur alimenté en 3,3V

Bonsoir,
Voici un schéma du câblage ESP32 + Capteur Davis 6410 en PDF.
Finalement je vais alimenter le capteur en 3.3v.
Merci de votre aide
balise_meteo_ESP32_Davis6410.pdf (80,7 Ko)

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.