Peut-on alimenter le module HX711 en 3.3v comme le sous-entend la datasheet ou faut il l'alimenter en 5v comme certaines discussions semblent le conseiller ?
Je précise que je travaille avec des pro mini 3.3v et je projette d'utiliser le Vcc du CPU pour alimenter le HX711.
'sous-entend' ? La notice du composant est explicite (texte , tableaux et schémas)
Le composant HX711 peut fonctionner avec une alimentation comprise entre 2,6V ou 2,7V et 5,5V
Ensuite il faut prendre en compte le montage particulier réalisé sur les petites cartes courantes économiques conçues,elles, pour être alimentées sous 5V.
Sur ces cartes économiques la tension AVDD est produite à partir du 5V par le régulateur de tension intégré au HX711. cette tension ( avec les valeurs choisies pour les résistances R1 er R2 (pont diviseur) est d'environ 4,3V.
Cette partie , bien entendu, ne peut plus donner AVDD=4,3V si le HX711 est alimenté sous 3,3V. Vérification faite le régulateur est câblé pour donner 2,5V, donc aucun problème à alimenter ces cartes sous 3,3V
Deux solutions envisageables (impliquant une petite modification des cartes) INUTILE
-alimenter le haut du pont et AVDD en 5V par une alimentation externe , en coupant dont la liaison entre le collecteur du transistor PNP et AVDD( Non nécessaire mais peut être utilse pour augmenter la tension d'excitation du pont)
Trouvant étonnant qu'il ny ait pas eu de retour sur ce sujet de la part d'utilisateurs du HX711 avec des ESP8266, ESP32 ou Raspberry j'ai préféré vérifier ce matin sur une des mes cartes avec un HX711
Le pont diviseur du régulateur est (actuellement )formé par 20 kOhm et 8,2 kOhm,
La tension régulée alimentant le pont est alors fixée à 2,5V (2,43 V mesurés)
Cette partie de la carte fonctionne donc également quand la carte est alimentée en 3,3V
-> pas de modification à faire pour fonctionner en 3,3V , c'est 'étudié pour'....sauf peut être pour certaines cartes avec d'autres valeurs pour le pont diviseur
Confirmé par ce schéma (je joins également le schéma complet)
Il faut voir les modules HX711 (à distinguer du composant unitaire HX711 , lui même)
comme un module permettant de faire de l'acquisition ET de l'excitation de pont de Wheastone sous une gamme d'alim allant Grosso- Merdo de 2.5V à 5.5v
Ceci etant posé
IL est aussi intéréssant de se pencher sur le HX711 comme compo
Perso je suis en train de faire qq manips à documenter
j'ai évoqué ça récemment :
acquisition vitesse air ,basée sur du MPX10 en capteur primaire (non compensé), HX7111 en amplification/intégration/numérisation
à ce stade les meilleurs résultats obtenus le sont :
en alimentant le HX711 au travers d'une ref de tension (MCP1841en l’occurrence pas encore testé avec du MCP1825) Ce n'est pas absolument academique 8)
en excitant le pont au travers d'une tension permettant là la meilleure dynamique acceptable par le HX711 (caracteristiques electriques du pont )
cette tension d'excitation pouvant etre aussi une reference de tension
et merci de vos réponses documentées. Si je me pose la question c'est que plusieurs fils de discussion évoquent le problème (s'il y en a un).
Dans mon dispo utilisant un esp8266 (dont je viens de revérifier le montage), je ne me suis pas embarrassé à l'époque, j'ai alimenté mon HX711 avec la sortie 3.3 du esp8266 et je n'ai pas eu de problème. D'où mon interrogation.
Je fonctionne avec pro mini 3.3v et hx711 et je n'ai eu aucun problème.
Je teste actuellement avec esp32 (lora) pour l'instant ça donne des valeurs aberrantes mais la raison peut être ailleurs, je ne maîtrise pas encore les fonctionnalités de toutes les broches donc j'hésite à alimenter l'HX711 avec du 5 volts craignant d'envoyer du 5 volt sur les broches de l'esp32.
Je fonctionne avec pro mini 3.3v et hx711 et je n'ai eu aucun problème.
Je teste actuellement avec esp32 (lora) pour l'instant ça donne des valeurs aberrantes mais la raison peut être ailleurs, je ne maîtrise pas encore les fonctionnalités de toutes les broches donc j'hésite à alimenter l'HX711 avec du 5 volts craignant d'envoyer du 5 volt sur les broches de l'esp32.
Cordialement
Bonjour Lacuzon
Le niveau haut de DOUT est fonction du niveau de tension appliqué sur pin DVDD HX711 (le compo)
Pour faire court/simpliste si DVDD = 5V Niveau haut DOUT = 5V = hors specifs vu du niveau d'entréee toléré par l'esp32.
Petit complement :, comme seul le pin DOUT HX711 est en sortie à destination de l'esp32 c'est tres simple à adapter avec un petit pont diviseur
c'est bien ce que je craignais, j'allais appliquer du 5 volts sur la broche de l'esp32. Oui, je peux effectivement régler le problème avec un simple pont diviseur.
Cela dit avant d'aller dans cette voie, je vais continuer à chercher la raison de ce comportement. J'ajoute que j'ai utilisé l'HX711 avec des nanos puis des pro mini, je n'ai pas eu à galérer pour que ça marche.
Faut dire que je ne comprends pas toutes les subtilités entre les broches utilisables ou non de l'esp32. Il y a encore du pain sur la planche (au sens propre et figuré).
J'ai un pèse ruche qui fonctionne depuis des mois avec un esp8266 sans souci (sauf un problème deja évoqué ailleurs) donc je pensais que la transposition allait rouler...
En fait c'est plus qu'une valeur aberrante la valeur est bloquée à plus de 600 kg. Les apiculteurs professionnels peuvent s'aligner .
je n'ai pas rencontré non plus de pb pour faire fonctionner une petite carte à HX711 , sous 3,3V , avec un ESP32
Il faut dire que la carte à ESP32 utilisée (Lolin 32) laissait un accès libre à la plupart des GPIOs, non accaparés par un afficheur , une puce LoRa, une carte µSD.
Pour les cartes à ESP32 TTGO ou Heltec avec LoRa , Oled et parfois µSD il n'est pas toujours évident de trouver le schéma ou même simplement l'indication claire des GPIO qui restent disponibles.
Bonjour,
il me semble que dans un autre post tu parles d'un Heltec, dans ce cas il faut bien choisir les pins libres et faire attention a celles qui sont uniquement en entrée (34 a 39) ESP32 Heltec
rjnc38:
Bonjour,
il me semble que dans un autre post tu parles d'un Heltec, dans ce cas il faut bien choisir les pins libres et faire attention a celles qui sont uniquement en entrée (34 a 39) ESP32 Heltec
Je ne connais pas cette "carte" qui semble à priori au demeurant assez "sympa" 8)
C'est sur qu'il faut bien se poser sur le "mapping pins " pour ne pas se faire avoir avec les spécificités des pins dispos externes
c'est sans doute mon problème, j'ai des cartes esp32 ttgo lora (version sans affichage). Les exemples de base fonctionnent sous l'IDE d'arduino et sous la plateforme platformio. J'ai été séduit par la puce loRa car c'est très simple à programmer. Il suffit de voir les sketches loRa sender et loRa receiver. Ilsi sont faciles à transposer.
Mon programme de base fonctionne sous esp8266 et pro mini. Sous esp32 il compile sans problème sous platformio mais pas sous IDE arduino. Il plante à la toute fin avec un message d'erreur de type "Erreur de compilation pour la carte Heltec_WIFI_LoRa_32"... idem avec les autres environnements comme esp32 DEV module ou DOIT ESP32 devkit V1. C'est apparemment la bibliothèque lora.h qui pose problème. Sans elle ça compile.
Sous platformio ça fonctionne avec de temps en temps un plantage au niveau du chargement, il suffit de recharger et généralement ça passe. Il me semble d'ailleurs que certaines opérations qu'accepte le compilateur ne passent pas le chargement. Je n'ai jamais observé ça sous IDE arduino.
Dans le même esprit, j'ai noté que l'IDE arduino est plus strict que platformio. Par exemple,j'ai défini une variable "min" dans un de mes programmes, elle a été rejetée sous arduino ("redeclared as different kind of symbol") et acceptée sans problème sous plaformio.
Pour en revenir à mon problème, j'ai tenté le 5 volt avec pont diviseur sur l'entrée du esp32. Le résultat est le même, je m'y attendais car comme vous j'utilise l'HX711 généralement en 3.3v sans problème.
Je suspecte un mauvais usage des broches, faut dire que je m'y perds un peu entre les broches dédiées lora celles qu'on peut utiliser, etc...
Le problème vient bien de l'ESP32. Pour en avoir le cœur net, je suis reparti sur un dispo avec pro mini et tout fonctionne, mon HX711 et son branchement sur la jauge ne sont donc pas en cause.
C'est un peu agaçant car la partie transmission ainsi que le RTC fonctionnent. Il reste plus que la transmission d'une donnée correcte si possible >:(
TTGO ne documenta pa toiutes se cartes et leurs versions successives...
ce lien correspond au schéma pdf d'une carte TTGO LoRa V2 avec Oled et µSD
en supposant que la puce LoRa soit cablée d emanière identique sur les dicerses carte splus ou moins peuplées la puce LoRa occuperait les 8 GPIOs : 5, 18,19,23, 26 , 27 + 32, 33 pour HPDIO1/2
Lacuzon:
Je suspecte un mauvais usage des broches, faut dire que je m'y perds un peu entre les broches dédiées lora celles qu'on peut utiliser, etc...
Bonsoir Lacuzon
Très basiquement un HX711 pour être interfacé à un MCU n'a besoin (hors alim) que de 2 "lignes"
vu du coté MCU (esp32) il te faut :
-un pin en input (recevant le DOUT du HX711)
-un pin en output ( générant des créneaux "horloges" allant vers le PD_SCK du HX711)
J'ai oublié de ce que tu dispose sous la main comme matériel pour "sonder" à peu prés correctement ce qui se passe sur un pin ?
-oscillo ?
J'ai un oscillo, sagement rangé dans sa boīte. Peut être une bonne idée de regarder ce qui se passe effectivement.
Je vais reprendre le brochage mais la doc est parcimonieuse.
Merci de l'aide
Bonsoir Lacuzon
Dans un cas comme celui qui t'occupe, c'est un bon instrument pour faire rapidement de la levée de doutes
une voie pour voir si la ligne SCK est active
une voie pour voir si ça cause sur DOUT
Avec quelques tests de # pin sur l'esp32 , çà ne prend pas très longtemps pour voir si tu a de l'activité cohérente 8)
bon, j'ai suivi tes conseils mais je n'en ai pas tiré grand chose si ce n'est que je n'ai vu aucune anomalie de fonctionnement.
Le problème, comme le montrent les schémas ci-avant c'est qu'une bonne partie des broches sont dédiées et donc inutilisables. J'ai donc tâtonné pas mal et aujourd'hui surprise, j'ai trouvé le couple de l'année qui fonctionne like a charm comme disent les américains.
Pour les futurs utilisateurs, les deux broches qui vont bien sont les 12 et 13, 12 en signal et 13 en horloge pour un chip TTGO SX1276.
Donc après avoir pin"aillé" ça baigne.
Il reste à configurer le récepteur et cabler tout ça soigneusement.
Ah, j'oubliais, je compile indifféremment sous platformio et sous l'IDe arduino. J'ai noté que sous arduino, c'était beaucoup plus rapide que sous platformio qui semble charger un paquet de packages plus ou moins utiles. Cela dit, paltformio est plus simple à utiliser, il trouve facilement les bibliothèques manquantes, sous arduino, j'ai dû plusieurs fois mettre les mains dans le cambouis pour que ça marche.
Par exemple, comme il semble que le esp32 est trop rapide par rapport à la fréquence acceptée par l'HX711, ce qui crée des données aberrantes de temps en temps (pas encore observées dans mes acquisitions) une solutions consiste à abaisser la fréquence avec la librairies soc/rtc.h. Elle est directement accessible sous platfomio, je ne l'ai pas trouvée sous arduino. Bon pas grave ça semble marcher plutôt bien à la bonne fréquence.