Anémomètre SEN0170 sur ESP32

Bonjour à tous,

Je viens d’acquérir un anémomètre SEN0170 qui fonctionne sous une alimentation Dc 12 / 24V et une plage de signal de sortie de 0 à 5V.

Anémomètre SEN0170

J'ai besoin de récupérer la valeur de signal via une connexion Wifi car l'anémomètre sera situé dans mon jardin. J'ai donc pensé à l’associer à un ESP32 mais le problème réside dans la compatibilité des ADC.
Je dois lire une valeur analogique ( 0 / 5V ) | 0, 1023 compatible avec toutes les cartes Arduino classique et une capacité pour l'ESP32 de ( 0 / 3,3V ) | 0, 4095.

Quelles sont les possibilités :

  • Une conversion dans le programme pour adapter l'ESP32 à un 5V ?

  • Brancher l'anémomètre à une carte Méga relié à un ESP32 en liaison série ?

Merci d'avance pour votre aide.

Ludo

You have posted in the English section of the forum. I will move your topic to an appropriate section.

Use a voltage divider to reduce the 5V signal to 3.3V.

You should know that the analog inputs on the ESP32 have some faults. If these are a problem for you, you could use an external ADC module such as ADS1115.

Vous mettez deux résistances pour faire un pont diviseur de tension

J'ai un DAC MCP4725 à la maison, ça ne génère qu'une sortie et non une entrée ?

Vous avez une sortie analogique en 5V que vous voulez transformer en 3.3V. Le D de DAC c'est Digital donc ce n'est pas adapté.

deux résistances:

diviseur

Cela est en quelque sorte le contraire, pour convertir une valeur binaire(numérique) en tension analogique.
Toi tu veux convertir une tension en une valeur binaire (numérique).
Edit: Mais comme l'indique @J-M-L pour utiliser l'ADC du ESP32, tu dois adapter la tension à lire aux capacité de l'ESP32.

Son anémomètre génère une tension entre 0 et 5V

mais l'ESP ne sait lire qu'entre 0 et 3.3V (et pas tout à fait bien aux extrêmes).

il faut donc juste une adaptation de tension 5V ➜ 3.3V et le plus simple reste le pont diviseur de tension, non ?

Oui, quel est le rapport ?

Ba si, je suis complétement d'accord avec ta proposition.

je ne comprenais pas votre phrase

pour moi il veut convertir une tension en une autre tension

mais je vois maintenant ce que vous vouliez dire. S'il n'utilisait pas le CAN de l'ESP32 il aurait pu utiliser un autre CAN compatible avec 5V en entrée mais pas le DAC dont il parlait.

Recherche de la documentation sur les défauts de l’ADC de l’esp32.
Il y a une nombreuse littérature.
Regarde si la non linéarité de la réponse, au dela d’une tension à échantillonner supérieure à environ 2,5 V, est compatible avec la précision dont tu as besoin.

Deux actions possibles :

  1. pont diviseur pour n’avoir que 2 V quand l’anémomètre donne 5 V.
  2. utiliser un ADC externe (I2C) qui sera plus précis => normal, il ne fera qu’une fonction et la fera mieux.

un article qui en parle

voici la courbe

Oui, c'était ça mon arrière pensé, mais comme c'est bien plus simple d'adapter la tension, j'ai préféré ne pas l'évoquer :slight_smile:

Bonjour à tous,

Désolé pour cette réponse tardive et merci à tous pour vos retours, je me documente sur le fonctionnement des ADC depuis et je cherche à faire la schématisation sur Fritzing.
Le schéma suivant avec pont diviseur est il correct ?

Bonne soirée à tous,
Ludo

Bonsoir à tous,

Plus je me documente et plus je trouve que la stabilité d'un ADC indépendant procure une stabilité dans les résultats. Je viens de créer un schéma intégrant une alimentation à découpage de 12V pour alimenter l'anémomètre et une alimentation 5Vcc indépendante pour alimenter l'ADC Adafruit 1083 sur un BUS 12 bits similaire à celui de l'ESP32. Dites moi selon vous si le branchement est ok pour vous avant de passer à l'étude du code.

Merci par avance,
Ludo

Câblez les GNDs en étoile pas en cascade à travers les composants (la sortie de l’anémomètre est pas en 5V et fait référence à son GND, de l’autre côté vous passez au travers de l’ESP32 pour joindre les GNDs des deux alims.

En théorie c’est la même chose mais en pratique vous pouvez capter des perturbations qui se propagent).

Joignez les GNDs de deux alims et partez de là pour aller vers tous les composants


Attention l’anémomètre Adafruit n’est pas prévu pour aller dehors lors d’intempéries prononcées (vous risquez de griller l’électronique s’il y a du vent et de la pluie).

Leur doc dit:

This eanemometer is not IP rated, so it is not designed to withstand water ingress without additional gasketting or protection.

Bonjour,

Merci pour les précisions de l'anémomètre, je le protègerais lors des grosses dépression.
J'ai refais un schéma avec des masses mieux réparties normalement et j'ai opté pour le convertisseur ADS1115 qui a une résolution plus importante.

C'est mieux normalement ?

Bonne journée,

Ludo

oui c'est mieux. Comment est alimenté l'ESP32 ? via USB?

J'alimente l'ESP32 par un régulateur de tension " BuckBoost01 " ( que j'ai fabriqué sous Frizing hier ). Voir le schéma ci dessous.
J'entre en 12 Vcc et j'en ressors avec 5Vcc.

ça a l'air pas mal

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