Table des matières:
- Étape 1: Ressources utilisées
- Étape 2: Démonstration
- Étape 3: Cellules de charge
- Étape 4: Cellules de charge et jauges de contrainte
- Étape 5: Pont de Wheatstone
- Étape 6: Amplification
- Étape 7: Amplification (schéma)
- Étape 8: Collecte des données pour l'étalonnage
- Étape 9: Obtention de la relation fonctionnelle entre la masse mesurée et la valeur de l'ADC obtenue
- Étape 10: Code source
- Étape 11: Démarrage et mesure
- Étape 12: Fichiers
Vidéo: Balance numérique avec ESP32 : 12 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Avez-vous déjà pensé à monter une balance numérique à l'aide d'un ESP32 et d'un capteur (appelé cellule de charge) ? Aujourd'hui, je vais vous montrer comment faire cela grâce à un processus qui permet également d'autres tests de laboratoire, tels que l'identification de la force qu'un moteur exerce sur un point, entre autres exemples.
Je vais ensuite démontrer certains concepts liés à l'utilisation des cellules de charge, capturer les données des cellules pour créer un exemple de balance et souligner d'autres applications possibles des cellules de charge.
Étape 1: Ressources utilisées
• Heltec Lora 32 WiFi ESP
• Cellule de charge (0 à 50 newtons, à l'aide d'une balance)
• 1 potentiomètre de 100k (mieux si vous utilisez un potentiomètre multivolt pour un réglage fin)
• 1 ampli op LM358
• 2 résistances 1M5
• 2 résistances de 10k
• 1 résistance 4k7
• Fils
• Un Protoboard
• Un câble USB pour ESP
• Une balance, un récipient à volume gradué ou toute autre méthode d'étalonnage.
Étape 2: Démonstration
Étape 3: Cellules de charge
• Ce sont des capteurs de force.
• Ils peuvent utiliser diverses méthodes pour traduire la force appliquée en une grandeur proportionnelle qui peut être utilisée comme mesure. Parmi les plus courants, on trouve ceux utilisant des extensomètres à feuilles, L'effet piézoélectrique, l'hydraulique, les cordes vibrantes, etc…
• Ils peuvent également être classés par la forme de mesure (tension ou compression)
Étape 4: Cellules de charge et jauges de contrainte
• Les extensomètres en feuille sont des films (généralement en plastique) avec un fil imprimé qui ont une résistance qui peut varier avec leur changement de taille.
• Sa construction vise principalement à convertir une déformation mécanique en une variation d'une grandeur électrique (résistance). Cela se produit de préférence dans une seule direction, de sorte que l'évaluation des composants peut être effectuée. Pour cela, la combinaison de plusieurs extensomètres est courante
• Lorsqu'il est correctement attaché à un corps, sa déformation est égale à celle du corps. Ainsi, sa résistance varie avec la déformation du corps, qui à son tour est liée à la force de déformation.
• Ils sont également appelés jauges de contrainte.
• Lorsqu'ils sont étirés par une force de traction, les brins s'allongent et se rétrécissent, augmentant la résistance.
• Lorsqu'ils sont comprimés par une force de compression, les fils se raccourcissent et s'élargissent, réduisant la résistance.
Étape 5: Pont de Wheatstone
• Pour une mesure plus précise et pour permettre une détection plus efficace de la variation de résistance dans une cellule de charge, la jauge de contrainte est assemblée dans un pont de Wheatstone.
• Dans cette configuration, on peut déterminer la variation de la résistance à travers le déséquilibre du pont.
• Si R1 = Rx et R2 = R3, les diviseurs de tension seront égaux, et les tensions Vc et Vb seront également égales, avec le pont en équilibre. C'est-à-dire que Vbc = 0V;
• Si Rx est différent de R1, le pont sera déséquilibré et la tension Vbc sera non nulle.
• Il est possible de montrer comment cette variation doit se produire, mais ici, nous allons faire un étalonnage direct, en rapportant la valeur lue dans l'ADC à une masse appliquée à la cellule de charge.
Étape 6: Amplification
• Même en utilisant le pont de Wheatstone pour rendre la lecture plus efficace, les micro déformations dans le métal de la cellule de charge produisent de petites variations de tension entre Vbc.
• Pour résoudre cette situation, nous utiliserons deux étages d'amplification. Un pour déterminer la différence et un autre pour faire correspondre la valeur obtenue à l'ADC de l'ESP.
Étape 7: Amplification (schéma)
• Le gain du pas de soustraction est donné par R6 / R5 et est le même que R7 / R8.
• Le gain du pas final non inverseur est donné par Pot / R10
Étape 8: Collecte des données pour l'étalonnage
• Une fois assemblé, on règle le gain final pour que la valeur de la plus grande masse mesurée soit proche de la valeur maximale de l'ADC. Dans ce cas, pour 2kg appliqués dans la cellule, la tension de sortie était d'environ 3V3.
• Ensuite, on fait varier la masse appliquée (connue grâce à une balance et pour chaque valeur), et on associe un LEITUR de l'ADC, obtenant le tableau suivant.
Étape 9: Obtention de la relation fonctionnelle entre la masse mesurée et la valeur de l'ADC obtenue
Nous utilisons le logiciel PolySolve pour obtenir un polynôme qui représente la relation entre la masse et la valeur de l'ADC.
Étape 10: Code source
Code source - #Inclut
Maintenant que nous savons comment obtenir les mesures et connaître la relation entre l'ADC et la masse appliquée, nous pouvons passer à l'écriture du logiciel.
//Bibliotecas para utilização do display oLED#include // Necessário apenas para o Arduino 1.6.5 e anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"
Code source - #Defines
//Os pinos do OLED estão conectados ao ESP32 seguintes GPIO's://OLED_SDA -- GPIO4 //OLED_SCL -- GPIO15 //OLED_RST -- GPIO16 #define SDA 4 #define SCL 15 #define RST 16 //RST deve ser ajustado par logiciel
Source - Variables et constantes globales
Affichage SSD1306 (0x3c, SDA, SCL, RST); //Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; //número de amostras coletadas para a média const int pin = 13; //pino de leitura
Code source - Configuration ()
void setup(){ pinMode(pin, INPUT); //pino de leitura analógica Serial.begin(115200); //Iniciando a serial //Inicia o display display.init(); display.flipScreenVertically(); //Vira a tela verticalmente }
Code source - Boucle ()
void loop(){ float medidas = 0.0;//variável para manipular as medidas float massa = 0.0; //variável para armazenar o valor da massa //inicia a coleta de amostras do ADC for (int i = 0; i
Code source - Fonction calculaMassa ()
//função para cálculo da massa obtida pela regressão//usando oPolySolve float calculaMassa (float medida) { return -6.798357840659e+01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * medida + -3.748108838 medida * medida * medida + 1.796252359323e-10 * medida * medida * medida * medida + -3.995722708150e-14 * medida * medida * medida * medida * medida + 3.284692453344e-18 * medida * medida * medida * medida * medida * medida; }
Étape 11: Démarrage et mesure
Étape 12: Fichiers
Télécharger les fichiers
INO
Conseillé:
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711 : 5 étapes (avec photos)
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711 : ce Instructable décrit comment fabriquer une balance à l'aide de pièces facilement disponibles sur étagère. Matériel nécessaire : Arduino - (cette conception utilise un Arduino Uno standard, d'autres versions ou clones d'Arduino devraient fonctionner aussi) HX711 sur le boa de rupture
Balance Arduino avec cellule de charge de 5 kg et amplificateur HX711 : 4 étapes (avec photos)
Balance Arduino avec cellule de charge de 5 kg et amplificateur HX711 : ce Instructable décrit comment fabriquer une petite balance à l'aide de pièces facilement disponibles. Matériel nécessaire : 1. Arduino - cette conception utilise un Arduino Uno standard, d'autres versions ou clones d'Arduino devraient également fonctionner2. HX711 en cas de rupture
Comment démonter un pied à coulisse numérique et comment fonctionne un pied à coulisse numérique : 4 étapes
Comment démonter un pied à coulisse numérique et comment fonctionne un pied à coulisse numérique : Beaucoup de gens savent comment utiliser des pieds à coulisse pour mesurer. Ce tutoriel vous apprendra comment démonter un pied à coulisse numérique et une explication du fonctionnement du pied à coulisse numérique
Balance intelligente bricolage avec réveil (avec Wi-Fi, ESP8266, Arduino IDE et Adafruit.io): 10 étapes (avec photos)
Balance intelligente bricolage avec réveil (avec Wi-Fi, ESP8266, Arduino IDE et Adafruit.io): Dans mon projet précédent, j'ai développé une balance de salle de bain intelligente avec Wi-Fi. Il peut mesurer le poids de l'utilisateur, l'afficher localement et l'envoyer vers le cloud. Vous pouvez obtenir plus de détails à ce sujet sur le lien ci-dessous : https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Balance intelligente Wi-Fi (avec ESP8266, Arduino IDE, Adafruit.io et IFTTT) : 18 étapes (avec photos)
Wi-Fi Smart Scale (avec ESP8266, Arduino IDE, Adafruit.io et IFTTT) : si c'est déjà l'été là où vous vivez, c'est probablement le moment idéal pour les activités de fitness en plein air. La course à pied, le vélo ou le jogging sont des exercices formidables pour vous mettre en forme. Et si vous voulez perdre ou contrôler votre poids actuel, il est essentiel de k