Balance de pesée numérique utilisant la cellule de charge et Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons en apprendre davantage sur la cellule de charge basée sur une jauge de contrainte. Nous explorerons ce qu'est la jauge de contrainte, ce qu'est la cellule de charge, l'effet de la température sur la jauge de contrainte, la compensation de température avec le pont de Wheatstone et l'amplificateur de cellule de charge HX711, et enfin nous apprendrons à construire une machine de pesage basée sur Arduino en implémentant une cellule de charge comme le capteur de poids.

Cet article traite de la mesure du poids et des méthodes de mesure, et de la mise en œuvre des méthodes dans un circuit de balance basé sur Arduino.



Nous aimons tous voir notre poids quel que soit notre âge, un petit enfant peut aimer voir sa prise de poids et les adultes peuvent aimer voir sa perte de poids. Le poids est un concept vital depuis l'Antiquité, il a contribué au commerce de marchandises, au développement d'équipements scientifiques et de produits commerciaux.

Dans les temps modernes, nous mesurons les poids en kilogrammes, en milligrammes voire en microgrammes à des fins de laboratoire. Un gramme est le même dans le monde entier, tous les appareils de mesure de poids doivent mesurer le même. La production de masse d'une pilule avec une infime différence de quelques milligrammes de dosage suffit pour transformer une pilule vitale en pilule suicide.



Qu'est-ce que le poids?

Le poids est la force exercée sur un plan. La quantité de force exercée est directement proportionnelle à la masse d'un objet, ce qui signifie que la masse de l'objet est élevée, plus la force exercée est élevée.

La masse est la quantité de matière physique présente dans un objet.

Le poids dépend d'un autre facteur: la gravité.

La gravité est constante à travers le globe (il y a une variation mineure de la gravité due à la forme sphérique non uniforme de la terre, mais elle est très petite). Le poids de 1 kg sur la terre pèsera 160 grammes sur la lune avec exactement la même masse, car la lune a une attraction gravitationnelle beaucoup plus faible.

Vous savez maintenant ce qu'est le poids et quels sont les facteurs qui rendent un objet lourd.

Qu'est-ce que la jauge de contrainte:

La jauge de contrainte est un transducteur ou un capteur qui mesure la contrainte (déformation) sur un objet. Cela a été inventé par l'ingénieur électricien Edward E. Simmons et l'ingénieur mécanique Arthur Claude Ruge.

Illustration de la jauge de contrainte:

Capteur de jauge de contrainte

La jauge de contrainte est flexible, il s'agit d'un motif de feuille métallique mince pris en sandwich entre deux fines feuilles de plastique et il doit être fixé sur une surface en utilisant une colle appropriée ou tout autre matériau adhésif.

Lorsque nous appliquons un poids ou une force sur la surface, elle se déforme et la jauge de contrainte se déforme également. La déformation de la jauge de contrainte entraîne une modification de la résistance électrique de la feuille métallique.

Désormais, le changement de résistance de la jauge de contrainte est directement proportionnel au poids ou à la force appliquée sur la surface.

Dans la vraie vie, le changement de résistance de la jauge de contrainte est très insignifiant à détecter. Pour détecter de minuscules changements dans la résistance, nous utilisons le pont de Wheatstone.

Explorons ce qu'est le pont de Wheatstone en un mot.

Comprendre un pont de Wheatstone:

Un pont en pierre de blé est un circuit qui peut être utilisé pour déterminer une résistance inconnue. Le pont de Wheatstone a été conçu par Samuel Hunter Christie, plus tard le pont de Wheatstone a été amélioré et diffusé par Sir Charles

Wheatstone.

Illustration du circuit du pont de Wheatstone:

Circuit du pont de Wheatstone

Nos multimètres numériques modernes peuvent lire la valeur de résistance allant des méga ohms, kilo ohms et ohms.

En utilisant le pont en pierre de blé, nous pouvons mesurer la résistance dans une plage de milli ohms.

Le pont en pierre de blé se compose de 4 résistances, sur les quatre, 3 sont une résistance connue et une est une résistance inconnue.

La différence de potentiel (tension) est appliquée sur les points «A» et «C» et à partir des points «B» et «D» un voltmètre est connecté.

Si toutes les résistances sont égales, aucun courant ne circulera aux points «B» et «D» et le voltmètre indiquera zéro. C'est ce qu'on appelle un pont équilibré.

Si la résistance d'une résistance est différente des trois autres résistances, il y aura un flux de tension entre les points «B» et «D» et le voltmètre lira une certaine valeur proportionnelle à une résistance inconnue. C'est ce qu'on appelle un pont déséquilibré.

Ici, la résistance inconnue est la jauge de contrainte, lorsque la résistance est modifiée, elle se reflète sur le voltmètre.

Maintenant, nous avons converti une déformation ou un poids ou une force en signal de tension. Cette tension doit être amplifiée afin d'obtenir des lectures utiles, qui seront transmises à un microcontrôleur pour obtenir les lectures en grammes.

Voyons maintenant comment la température affecte les performances de la jauge de contrainte.

Effets de la température sur la jauge de contrainte:

La jauge de contrainte est sensible à la température et peut perturber les lectures de poids / force réelles. Lorsqu'il y a un changement de température ambiante, la feuille métallique est soumise à une dilatation métallique, ce qui affecte directement la résistance.

Nous pouvons annuler l'effet de la température en utilisant le pont de Wheatstone. Voyons comment nous pouvons compenser la température à l’aide du pont de Wheatstone.

Compensation de température:

On peut facilement neutraliser l'effet de la température en remplaçant toutes les résistances par une jauge de contrainte. Désormais, toute la résistance de la jauge de contrainte sera affectée par la température de manière égale et les bruits indésirables seront annulés par le caractère du pont de Wheatstone.

Qu'est-ce qu'une cellule de charge?

Une cellule de charge est un profilé en aluminium avec une jauge de contrainte fixée sur 4 côtés dans une configuration de pont de Wheatstone.

Illustration de la cellule de charge:

Dispositif de cellule de charge

Ce type de cellule de pesée est rigide et couramment utilisé dans les industries. Il y a 4 supports à vis, un côté est boulonné à une surface fixe et l'autre extrémité est boulonnée à un support (disons panier) pour maintenir l'objet à mesurer.

Son poids maximum est spécifié sur la fiche technique ou sur son corps, le dépassement des spécifications peut endommager la cellule de pesée.

Un pont complet de cellules se compose de 4 bornes à savoir E +, E-, qui sont des fils d'excitation à travers lesquels la tension d'alimentation est appliquée. Les deux autres fils sont S + et S-, qui sont des fils de signal, à partir desquels la tension est mesurée.

Maintenant, ces tensions sont dans la gamme des millivolts pas assez fortes pour qu'un microcontrôleur puisse les lire et les traiter. Nous avons besoin d'une amplification et de minuscules changements devraient être visibles pour le microcontrôleur. Pour ce faire, il existe un module dédié appelé amplificateurs de cellule de charge, prenons un aperçu à ce sujet.

Amplificateur de cellule de charge HX711:

Illustration du module amplificateur de cellule de charge HX711:

Amplificateur de cellule de charge HX711

L'amplificateur de cellule de charge est basé sur l'IC HX711 qui est un convertisseur analogique-numérique 24 bits spécialement conçu pour les mesures de poids. Il a différents gains sélectionnables 32, 64 et 128 et il fonctionne sur 2,6 à 5,5 V.
Cette carte de dérivation permet de détecter de minuscules variations sur la cellule de charge. Ce module nécessite la bibliothèque HX711.h pour fonctionner avec

Arduino ou tout autre microcontrôleur.

La cellule de charge sera connectée au module HX711 et le module sera interfacé avec Arduino. Le circuit de mesure de poids doit être développé de cette manière.

En conclusion, vous savez maintenant ce qu'est la jauge de contrainte, ce qu'est le pont de Wheatstone, les effets de la température sur la jauge de contrainte, la compensation de température et ce qu'est l'amplificateur de cellule de charge.

Nous avons parfaitement compris la partie théorique de la conception d'une balance de pesée à partir de la discussion ci-dessus, voyons maintenant comment une cellule Loas peut être utilisée pour fabriquer une balance pratique à l'aide d'Arduino

Conception d'une balance numérique à l'aide d'Arduino

Dans les discussions suivantes, nous apprendrons à construire une machine de pesée numérique utilisant Arduino qui peut mesurer des poids de quelques grammes à 40 kg (selon les spécifications de votre cellule de pesée) avec une précision raisonnable. Nous allons apprendre la classification des cellules de pesée de précision et nous allons étalonner le circuit proposé et finaliser la machine de pesée.

Remarque: ce circuit peut ne pas être conforme aux normes requises pour une mise en œuvre commerciale.

Les machines de pesée sont utilisées dans différentes variétés de métiers et de recherche allant du milligramme à plusieurs tonnes. La balance maximale de la balance proposée dépend des spécifications de votre cellule de pesée. Il existe des gammes de 500 grammes, 1 kg, 5 kg, 10 kg, 20 kg et 40 kg, etc.

Il existe différentes qualités de cellule de pesée, elles offrent différentes plages de précision et vous devez choisir celle qui convient à votre projet.

Classification de la classe de précision des cellules de pesée:

Les différentes classes de précision sont définies pour différents types d'applications. La classification ci-dessous va de la plus basse précision à la plus haute gamme de précision.

Les cellules de pesée avec une précision inférieure (mais raisonnablement précises) sont classées comme D1, C1 et C2. Cela suffit pour ce projet. Ces cellules de pesée sont utilisées pour mesurer le poids du sable, du ciment ou de l'eau.

Les cellules de pesée de qualité C3 sont utilisées dans l'assurance qualité, comme la vérification du poids des roulements à billes, des pièces de construction de machines, etc.

C4, C5, C6 sont les meilleurs de la précision de la classe, ces grades de cellules de pesée sont utilisés pour mesurer en grammes à microgrammes. Ces classes de qualité sont utilisées dans les balances de comptoir, la surveillance de la production à grande échelle, l'emballage des aliments et l'utilisation en laboratoire, etc.

Passons maintenant aux détails techniques du projet.

Schéma:

Connexion de la cellule de charge HX711 à Arduino et cellule de charge.

Connexion de la cellule de charge HX711 à Arduino et cellule de charge.

Le projet comprend une carte amplificateur Arduino, cellule de charge et cellule de charge HX711 et un ordinateur. La sortie peut être surveillée sur le moniteur série de Arduino IDE.

Le cerveau du projet est comme toujours l'arduino, vous pouvez utiliser n'importe quel modèle de carte Arduino. Le HX711 est un ADC 24 bits, qui peut trouver le plus petit flex en raison du poids sur la cellule de pesée. Il peut fonctionner de 2,7 V à 5 V. L'alimentation est fournie par la carte Arduino.

La cellule de pesée a généralement quatre fils, ce qui correspond à la sortie de la jauge de contrainte configurée en pont de Wheatstone.

Le fil rouge est E +, le fil noir est E-, le fil vert est A- et le fil blanc est A +. Certains modules HX711 spécifient le nom des bornes de la cellule de pesée et certains modules HX711 spécifient les couleurs des fils, un tel modèle est illustré dans le schéma de circuit.

La broche DATA du HX711 est connectée à la broche n ° 3 d'Arduino et la broche d'horloge du HX711 est connectée à la broche n ° 2 d'Arduino.

Comment monter la cellule de charge:

comment installer une cellule de charge avec Arduino

La cellule de pesée comporte quatre trous de vis, deux des deux côtés. N'importe quel côté doit être stationnaire pour une meilleure précision, il peut être monté sur un bois avec un poids raisonnable.

Un bois mince ou une plaque mince peut être utilisé pour maintenir le poids de mesure comme illustré ci-dessus.

Ainsi, lorsque vous placez un poids, la cellule de pesée se plie de même que la jauge de contrainte et change sa résistance qui est mesurée par le module HX711 et envoyée à Arduino.

Une fois la configuration matérielle terminée, importons le code et calibrons.

Calibrage du circuit:

Il existe deux programmes, l'un est le programme d'étalonnage (recherche du facteur d'étalonnage). Un autre code est le programme de mesure du poids, le facteur d'étalonnage trouvé à partir du code du programme d'étalonnage doit être entré dans le programme de mesure du poids.

Le facteur d'étalonnage détermine la précision de la mesure du poids.

Téléchargez la bibliothèque HX711 ici: github.com/bogde/HX711

Code du programme d'étalonnage:

//-------------------- --------------------//
#include
const int out = 3
const int clck = 2
HX711 scale(out, clck)
float CalibrationFactor = -96550
char var
void setup()
{
Serial.begin(9600)
Serial.println('------------- Weight Scale Calibration --------------')
Serial.println('Press Q,W,E,R or q,w,e,r to increase calibration factor by 10,100,1000,10000 respectively')
Serial.println('Press A,S,D,F or a,s,d,f to decrease calibration factor by 10,100,1000,10000 respectively')
Serial.println('Press 'T' or 't' for tare')
scale.set_scale()
scale.tare()
long zero_factor = scale.read_average()
Serial.print('Zero factor: ')
Serial.println(zero_factor)
}
void loop()
{
scale.set_scale(CalibrationFactor)
Serial.print('Reading: ')
Serial.print(scale.get_units(), 3)
Serial.println(' Kilogram')
Serial.print('Calibration Factor is: ')
Serial.println(CalibrationFactor)
Serial.println('--------------------------------------------')
if (Serial.available())
{
var = Serial.read()
if (var == 'q')
{
CalibrationFactor = CalibrationFactor + 10
}
else if (var == 'a')
{
CalibrationFactor = CalibrationFactor - 10
}
else if (var == 'w')
{
CalibrationFactor = CalibrationFactor + 100
}
else if (var == 's')
{
CalibrationFactor = CalibrationFactor - 100
}
else if (var == 'e')
{
CalibrationFactor = CalibrationFactor + 1000
}
else if (var == 'd')
{
CalibrationFactor = CalibrationFactor - 1000
}
else if (var == 'r')
{
CalibrationFactor = CalibrationFactor + 10000
}
else if (var == 'f')
{
CalibrationFactor = CalibrationFactor - 10000
}
else if (var == 'Q')
{
CalibrationFactor = CalibrationFactor + 10
}
else if (var == 'A')
{
CalibrationFactor = CalibrationFactor - 10
}
else if (var == 'W')
{
CalibrationFactor = CalibrationFactor + 100
}
else if (var == 'S')
{
CalibrationFactor = CalibrationFactor - 100
}
else if (var == 'E')
{
CalibrationFactor = CalibrationFactor + 1000
}
else if (var == 'D')
{
CalibrationFactor = CalibrationFactor - 1000
}
else if (var == 'R')
{
CalibrationFactor = CalibrationFactor + 10000
}
else if (var == 'F')
{
CalibrationFactor = CalibrationFactor - 10000
}
else if (var == 't')
{
scale.tare()
}
else if (var == 'T')
{
scale.tare()
}
}
}
//-------------------- --------------------//

Comment calibrer:

  • Une fois la configuration matérielle terminée, téléchargez le code ci-dessus.
  • Retirez la plaque fine ou le bois utilisé pour supporter le poids, y compris les deux vis (l'autre côté du capteur de force doit être fixé à une base)
  • Ouvrez le moniteur série.
  • Placez un poids connu sur la cellule de pesée directement, 100 grammes (par exemple).
  • presse Q, W, E, R augmenter le facteur d'étalonnage de 10 100 100 000 100 000 respectivement.
  • presse A, S, D, F pour diminuer le facteur d'étalonnage de 10,100,1000,10000 respectivement.
  • Appuyez sur «Entrée» après chaque incrément ou décrément du facteur d'étalonnage.
  • Augmentez ou diminuez le facteur d'étalonnage jusqu'à ce que le poids correct du poids connu apparaisse.
  • La fonction de tare consiste à régler l'échelle de poids à zéro, ce qui est utile lorsque vous souhaitez mesurer le poids de l'eau (par exemple) sans le poids du bol. Placez d'abord le bol, appuyez sur la tare et versez l'eau.
  • Notez le facteur d'étalonnage et notez-le après l'apparition du poids connu.

Maintenant, il peut mesurer des poids inconnus.

Code du programme de mesure du poids:

//---------------- ----------------//
#include
const int out = 3
const int clck = 2
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
void setup()
{
Serial.begin(9600)
Serial.println('Press 'T' or 't' to tare')
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
Serial.print('Weight: ')
Serial.print(scale.get_units(), 3)
Serial.println(' Kilogram')
if (Serial.available())
{
char var = Serial.read()
if (var == 't')
{
scale.tare()
}
if (var == 'T')
{
scale.tare()
}
}
}
//---------------- ----------------//

Float CalibrationFactor = -12000

Remplacez -12000 par le facteur d'étalonnage que vous avez trouvé. Cela peut être un nombre négatif ou un nombre positif.

Téléchargez le code ci-dessus avec votre configuration matérielle complète et votre balance est prête.

Machine de pesée utilisant un écran LCD

L'article ci-dessus expliquait un système de pesée basé sur Arduino utilisant votre PC, dans la section suivante, nous essaierons de construire une version pratique de la balance de poids en ajoutant un écran LCD 16 x 2, afin que nous ne dépendions pas d'un PC pour mesurer poids. Dans ce post, deux versions sont proposées, une avec écran LCD 16 x 2 «I2C» et une sans écran LCD 16 x 2 «I2C».

Ici, deux choix sont proposés afin que les lecteurs puissent choisir le design selon leur convenance. La principale différence entre les deux réside dans les connexions de fils avec le module adaptateur I2C, seulement 4 fils (Vcc, GND, SCL et SDA) sont nécessaires pour le fonctionnement de l'écran LCD, alors que sans adaptateur I2C, vous avez besoin de plusieurs fils pour se connecter entre l'Arduino et l'écran LCD.

Cependant, les deux fonctions sont exactement les mêmes, certains préfèrent I2C à une classique et certains préfèrent l'inverse, voici donc les deux conceptions.

Examinons la conception LCD conventionnelle:

Schéma:

arduino, écran LCD 16 x 2 et potentiomètre 10K pour régler le contraste de l

Dans le schéma ci-dessus, nous avons l'arduino, un écran LCD 16 x 2 et un potentiomètre 10K pour régler le contraste de l'écran LCD.

3,3 V peuvent être alimentés de l'Arduino à l'écran LCD pour le rétro-éclairage. Un bouton poussoir est prévu pour ramener la lecture du poids à zéro, cette fonction sera expliquée en détail à la fin.

Il s'agit simplement d'une connexion entre l'écran LCD et Arduino, la connexion entre la cellule de charge et l'amplificateur de cellule de charge vers Arduino est illustrée dans la section précédente.

Code pour la machine de pesée LCD:

// -------- Program developed by R.GIRISH -------//
#include
#include
const int rs = 10
const int en = 9
const int d4 = 8
const int d5 = 7
const int d6 = 6
const int d7 = 5
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
const int out = 3
const int clck = 2
const int Tare = 4
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
void setup()
{
lcd.begin(16, 2)
pinMode(Tare, INPUT)
digitalWrite(Tare, HIGH)
lcd.setCursor(0, 0)
lcd.print(' Weight Scale')
lcd.setCursor(0, 1)
lcd.print(' Machine')
delay(2000)
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Weight:')
lcd.print(scale.get_units(), 3)
lcd.print(' Kg')
delay(200)
if (digitalRead(Tare) == LOW)
{
scale.tare()
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Tare ......')
lcd.setCursor(0, 1)
lcd.print('Setting to 0 Kg.')
delay(1000)
}
}
// -------- Program developed by R.GIRISH -------//

Voyons maintenant comment utiliser cette balance avec un écran LCD basé sur un adaptateur I2C.

Schéma de circuit Arduino et écran LCD avec adaptateur I2C:

Arduino et écran LCD avec adaptateur I2C

Ici, nous avons juste un écran Arduino et LCD avec un adaptateur I2C à l'arrière. Désormais, les connexions des fils sont simplifiées et simples.

Illustration du module I2C:

Module I2C

Ce module peut être soudé directement à l'arrière d'un écran LCD normal 16 x 2 ou même 20 x 4 et suivre le schéma de principe.

Et encore une fois, veuillez vous référer à la section précédente pour la connexion de la cellule de charge, de l'amplificateur de cellule de charge et de l'Arduino.

Téléchargez la bibliothèque suivante pour I2C:

github.com/marcoschwartz/LiquidCrystal_I2C

github.com/PaulStoffregen/Wire

Code pour le circuit d'échelle de poids basé sur I2C:

// -------- Program developed by R.GIRISH -------//
#include
#include
#include
const int out = 3
const int clck = 2
const int Tare = 4
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
LiquidCrystal_I2C lcd(0x27, 16, 2)
void setup()
{
lcd.init()
lcd.backlight()
pinMode(Tare, INPUT)
digitalWrite(Tare, HIGH)
lcd.setCursor(0,0)
lcd.print(' Weight Scale')
lcd.setCursor(0,1)
lcd.print(' Machine')
delay(2000)
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Weight:')
lcd.print(scale.get_units(), 3)
lcd.print(' Kg')
delay(200)
if (digitalRead(Tare) == LOW)
{
scale.tare()
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Tare ......')
lcd.setCursor(0,1)
lcd.print('Setting to 0 Kg.')
delay(1000)
}
}
// -------- Program developed by R.GIRISH -------//

REMARQUE:

Vous devez entrer le facteur d'étalonnage dans le code avant de télécharger l'un des codes sur Arduino.

Float CalibrationFactor = -12000

L'obtention du facteur d'étalonnage est expliquée dans l'une des sections précédentes ci-dessus.

Fonction tare:

La fonction de tare dans une balance de poids consiste à ramener les lectures à zéro. Par exemple, si nous avons un panier dans lequel les marchandises sont chargées, alors le poids net sera le poids du panier + le poids des marchandises.

Si nous appuyons sur le bouton de tare avec panier sur la cellule de pesée avant de charger les marchandises, le poids du panier sera négligé et nous pouvons mesurer le poids des marchandises seuls.

Si vous avez des questions concernant ce circuit de machine de pesage LCD pratique basé sur Arduino, veuillez exprimer dans la section des commentaires, vous pouvez obtenir une réponse rapide.




Une paire de: Circuit de contacteur à semi-conducteurs pour pompes à moteur Suivant: Comment faire des transformateurs abaisseur