Projet balance connectée WiFi : HX711 + ESP32
- Datasheet HX711 complété et corrigé (brochage, timing, plages de gain, broche RATE) - Comparatif VL53L1X vs VL6180X - Fiche projet balance WiFi : câblage, alimentation, calibration web, dépannage - Code ESP32 : AP WiFi, portail captif, SSE temps réel, calibration depuis la page web (NVS) - Annexe installation Arduino IDE Windows 10 (pilote CP2102, support ESP32, bibliothèques) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+62
-35
@@ -1,6 +1,6 @@
|
||||
## HX711 — Amplificateur 24-bits pour cellule de charge
|
||||
|
||||
**Type :** Convertisseur analogique-numérique (ADC) différentiel avec amplificateur programmable intégré
|
||||
**Type :** Convertisseur analogique-numérique (ADC) différentiel 24 bits avec amplificateur programmable intégré
|
||||
**Applications typiques :** balances électroniques, systèmes de pesée, capteurs de force, instrumentation basse fréquence
|
||||
|
||||
---
|
||||
@@ -10,15 +10,25 @@
|
||||
* ADC 24 bits à faible bruit, optimisé pour capteurs de pont de Wheatstone
|
||||
* Amplificateur à gain programmable : **32, 64 ou 128**
|
||||
* Deux canaux d'entrée différentiels :
|
||||
|
||||
* **Canal A :** gain 128 ou 64
|
||||
* **Canal B :** gain 32
|
||||
* Fréquences d'échantillonnage : **10 Hz ou 80 Hz**
|
||||
* **Canal B :** gain 32 (fixe)
|
||||
* Fréquences d'échantillonnage : **10 Hz ou 80 Hz** (sélection par broche RATE)
|
||||
* Alimentation : **2,6 V à 5,5 V**
|
||||
* Interface série propriétaire à deux fils (DATA, CLOCK)
|
||||
* Consommation typique : ~1,5 mA en fonctionnement
|
||||
* Interface série propriétaire à deux fils (DOUT, PD\_SCK)
|
||||
* Consommation typique : ~1,5 mA en fonctionnement, ~1 µA en veille
|
||||
* Oscillateur interne (pas de quartz requis)
|
||||
* Filtre numérique intégré (réjection 50/60 Hz)
|
||||
* Plage de température : −40 °C à +85 °C
|
||||
|
||||
---
|
||||
|
||||
## Plage d'entrée selon gain et canal
|
||||
|
||||
| Canal | Gain | Plage différentielle d'entrée |
|
||||
|-------|------|-------------------------------|
|
||||
| A | 128 | ±20 mV |
|
||||
| A | 64 | ±40 mV |
|
||||
| B | 32 | ±80 mV |
|
||||
|
||||
---
|
||||
|
||||
@@ -27,7 +37,8 @@
|
||||
* Amplificateur différentiel faible bruit
|
||||
* Multiplexeur de canal
|
||||
* ADC sigma-delta 24 bits
|
||||
* Régulateur analogique interne
|
||||
* Régulateur analogique interne (alimente le pont via AVDD)
|
||||
* Référence de tension interne (bandgap)
|
||||
* Oscillateur interne
|
||||
* Interface série synchrone
|
||||
|
||||
@@ -35,46 +46,57 @@
|
||||
|
||||
## Brochage (package SOP-16)
|
||||
|
||||
* **VSUP** : alimentation analogique
|
||||
* **AVDD** : sortie régulateur analogique
|
||||
* **AGND** : masse analogique
|
||||
* **VBG** : référence interne
|
||||
* **INA+, INA-** : entrée différentielle canal A
|
||||
* **INB+, INB-** : entrée différentielle canal B
|
||||
* **PD_SCK** : horloge et mise en veille
|
||||
* **DOUT** : sortie données
|
||||
* **DVDD** : alimentation logique
|
||||
* **DGND** : masse logique
|
||||
* Autres broches : non connectées (selon package)
|
||||
| Broche | Nom | Direction | Description |
|
||||
|-----------|----------|-----------|--------------------------------------------------|
|
||||
| 1 | VSUP | Entrée | Alimentation analogique |
|
||||
| 2 | AVDD | Sortie | Tension régulée interne (~VSUP) → excite le pont |
|
||||
| 3–4 | AGND | — | Masse analogique |
|
||||
| 5 | VBG | Sortie | Référence bandgap interne |
|
||||
| 6 | INA− | Entrée | Entrée différentielle canal A (−) |
|
||||
| 7 | INA+ | Entrée | Entrée différentielle canal A (+) |
|
||||
| 8 | INB− | Entrée | Entrée différentielle canal B (−) |
|
||||
| 9 | INB+ | Entrée | Entrée différentielle canal B (+) |
|
||||
| 11 | PD\_SCK | Entrée | Horloge série et contrôle veille |
|
||||
| 12 | DOUT | Sortie | Sortie données série |
|
||||
| 13 | DVDD | Entrée | Alimentation logique |
|
||||
| 14 | DGND | — | Masse logique |
|
||||
| 15 | RATE | Entrée | Sélection fréquence : GND → 10 Hz, DVDD → 80 Hz |
|
||||
| 16 | XO | — | Non connecté |
|
||||
|
||||
> ⚠️ AVDD est une **sortie** : c'est la tension régulée interne utilisée pour alimenter le pont de la cellule de charge. Ne pas injecter de tension sur cette broche.
|
||||
|
||||
---
|
||||
|
||||
## Fonctionnement
|
||||
## Fonctionnement — interface série
|
||||
|
||||
1. Le HX711 amplifie la tension différentielle issue du pont de jauge.
|
||||
2. Le signal est converti par un ADC sigma-delta 24 bits.
|
||||
3. Les données sont lues via une interface série synchrone :
|
||||
1. Quand la conversion est terminée, **DOUT passe à 0**
|
||||
2. Envoyer **24 impulsions** sur PD\_SCK → lit les 24 bits (MSB en premier)
|
||||
3. Les impulsions supplémentaires définissent le **gain et le canal** pour la prochaine conversion :
|
||||
|
||||
* DOUT passe à 0 lorsque la conversion est prête
|
||||
* 24 impulsions d'horloge lisent la valeur
|
||||
* 25–27 impulsions définissent le gain et le canal suivant
|
||||
| Impulsions totales | Canal suivant | Gain suivant |
|
||||
|--------------------|---------------|--------------|
|
||||
| 25 | A | 128 |
|
||||
| 26 | B | 32 |
|
||||
| 27 | A | 64 |
|
||||
|
||||
4. **Mode veille :** maintenir PD\_SCK à l'état haut pendant > 60 µs
|
||||
5. **Réveil :** abaisser PD\_SCK à 0
|
||||
|
||||
---
|
||||
|
||||
## Performances électriques (typique)
|
||||
|
||||
* Résolution effective : ~18 à 20 bits (selon bruit)
|
||||
* Résolution effective : ~18 à 20 bits (selon bruit et gain)
|
||||
* Bruit d'entrée (gain 128, 10 Hz) : ~50 nV RMS
|
||||
* Tension pleine échelle : ±20 mV (gain 128)
|
||||
* Dérive thermique : faible (adapté métrologie)
|
||||
* Dérive thermique : faible (adapté à la métrologie de pesée)
|
||||
|
||||
---
|
||||
|
||||
## Modes de fonctionnement
|
||||
|
||||
* **Mode normal :** conversions continues
|
||||
* **Mode veille :** maintenir PD_SCK à 1 > 60 µs
|
||||
* **Sélection gain/canal :** nombre d'impulsions après lecture
|
||||
* **Mode normal :** conversions continues, lecture sur demande
|
||||
* **Mode veille :** PD\_SCK maintenu haut > 60 µs, consommation < 1 µA
|
||||
* **Sélection gain/canal :** nombre d'impulsions après les 24 bits de données
|
||||
|
||||
---
|
||||
|
||||
@@ -82,16 +104,18 @@
|
||||
|
||||
* Très faible coût et intégration minimale
|
||||
* Pas de composants externes critiques
|
||||
* Excellente réjection du bruit secteur
|
||||
* Directement compatible microcontrôleurs (Arduino, ESP, etc.)
|
||||
* Excellente réjection du bruit secteur (50/60 Hz)
|
||||
* Directement compatible microcontrôleurs (Arduino, ESP32, etc.)
|
||||
* AVDD intégré : pas besoin d'alimentation externe pour le pont
|
||||
|
||||
---
|
||||
|
||||
## Limitations
|
||||
|
||||
* Bande passante faible (pesée statique)
|
||||
* Bande passante faible (pesée statique uniquement)
|
||||
* Interface non standard (pas SPI/I²C natif)
|
||||
* Sensible au routage PCB et au bruit d'alimentation
|
||||
* Un seul composant par bus (pas d'adressage)
|
||||
|
||||
---
|
||||
|
||||
@@ -104,4 +128,7 @@
|
||||
|
||||
---
|
||||
|
||||
Si nécessaire, fournir un schéma de câblage type avec cellule de charge ou un résumé timing interface.
|
||||
## Fichiers associés
|
||||
|
||||
* [Schéma de câblage avec cellule de charge et Arduino](HX711-%20Amplificateur%2024-bits%20pour%20cellule%20de%20charge%20-%20schema%20de%20cablage.md)
|
||||
* [Code ESP32 (Arduino framework)](HX711-%20Amplificateur%2024-bits%20pour%20cellule%20de%20charge%20-%20code.c)
|
||||
|
||||
Reference in New Issue
Block a user