ARDUINO HX711 Sensori di pesatura Modulo ADC Manuale utente
Modulo ADC per sensori di pesatura ARDUINO HX711

Applicazione Example con Arduino Uno:

La maggior parte delle celle di carico ha quattro fili: rosso, nero, verde e bianco. Sulla scheda HX711 troverai le connessioni E+/E-, A+/A- e B+/B. Collegare la cella di carico alla scheda sensore HX711 secondo la seguente tabella:

Scheda sensore di carico HX711 Filo della cella di carico
E+ Rosso
E- Nero
A+ Verde
A- Bianco
B- Non utilizzato
B+ Non utilizzato

Connessione

Sensore HX711 Arduino Uno
Terra Terra
DT D3
SCK D2
VCC 5V

Il modulo HX711 funziona a 5V e la comunicazione avviene tramite pin SDA e SCK seriali.

Dove applicare il peso sulla cella di carico?
Puoi vedere una freccia mostrata sulla cella di carico. Questa freccia mostra la direzione della forza sulla cella di carico. Puoi realizzare la disposizione mostrata in figura usando strisce di metallo. Fissare la striscia di metallo sulla cella di carico utilizzando i bulloni.

Peso

Programmazione Arduino UNO per misurare il peso in KG:

Collegare lo schema come mostrato nella Figura 1 sopra.
Affinché questo modulo sensore funzioni con le schede Arduino, abbiamo bisogno della libreria HX711 da cui è possibile scaricare https://github.com/bogde/HX711.
Prima che HX711 possa essere utilizzato per misurare con precisione un oggetto pesato, è necessario prima calibrarlo. Il passaggio seguente ti mostrerà come eseguire la calibrazione.

1 passaggio: schizzo di calibrazione
Carica lo schizzo qui sotto sulla scheda Arduino Uno

/* Handson Technologywww.handsontec.com
* 29 dicembre 2017
* Interfaccia modulo cella di carico HX711 con Arduino per misurare il peso in Kg
Arduino
spillo
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
Terra -> Terra
Quasi tutti i pin su Arduino Uno saranno compatibili con DOUT/CLK.
La scheda HX711 può essere alimentata da 2.7 V a 5 V, quindi l'alimentazione di Arduino 5 V dovrebbe andare bene.
*/
#include "HX711.h" //Devi avere questa libreria nella cartella della tua libreria arduino
#definire DOUT 3
#definire CLK 2
Scala HX711 (DOUT, CLK);
// Modifica questo fattore di calibrazione in base alla tua cella di carico una volta trovato che ne hai bisogno
variare in migliaia
fattore_calibrazione float = -96650; //-106600 ha funzionato per la mia configurazione della scala massima di 40 kg
//================================================ =======================================
// IMPOSTARE
//================================================ =======================================
impostazione nulla() {
Inizio seriale(9600);

Serial.println("Calibrazione HX711");
Serial.println("Rimuovi tutto il peso dalla bilancia");
Serial.println("Dopo l'inizio delle letture, posizionare il peso noto sulla bilancia");
Serial.println(“Premere a,s,d,f per aumentare il fattore di calibrazione di 10,100,1000,10000
rispettivamente");
Serial.println(“Premere z,x,c,v per diminuire il fattore di calibrazione di 10,100,1000,10000
rispettivamente");
Serial.println("Premere t per la tara");
scale.set_scale();
scala.tara(); //Reimposta la scala su 0
lungo zero_factor = scale.read_average(); //Ottieni una lettura di riferimento
Serial.print(“Fattore zero: “); //Questo può essere utilizzato per eliminare la necessità di tarare la bilancia.
Utile in progetti su scala permanente.
Serial.println(fattore_zero);
}
//================================================ =======================================
// CICLO CONTINUO
//================================================ =======================================
ciclo vuoto() {
scale.set_scale(calibration_factor); //Adatta a questo fattore di calibrazione
Serial.print(“Lettura: “);
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); // Cambia questo in kg e regola nuovamente il fattore di calibrazione se tu
seguire le unità SI come una persona sana di mente
Serial.print(” fattore_calibrazione: “);
Serial.print(fattore_calibrazione);
Serial.println ();
if(Serial.disponibile())
{
carattere temp = Serial.read();
if(temp == '+' || temp == 'a')
fattore_calibrazione += 10;
else if(temp == '-' || temp == 'z')
fattore_calibrazione -= 10;
else if(temp == 's')
fattore_calibrazione += 100;
altrimenti se(temp == 'x')
fattore_calibrazione -= 100;
altrimenti se (temp == 'd')
fattore_calibrazione += 1000;
altrimenti se(temp == 'c')
fattore_calibrazione -= 1000;
altrimenti se(temp == 'f')
fattore_calibrazione += 10000;
altrimenti se(temp == 'v')
fattore_calibrazione -= 10000;
altrimenti se(temp == 't')
scala.tara(); //Reimposta la scala su zero
}
}
//================================================ ======================================

Rimuovere qualsiasi carico dal sensore di carico. Apri il monitor seriale. La finestra sottostante dovrebbe aprirsi mostrando che il modulo si è connesso con successo ad Arduino Uno.

Configurazione

Posizionare un oggetto di peso noto sulla cella di carico. In questo caso l'autore ha utilizzato un peso noto di 191 grammi con cella di carico da 10 kg. Il monitor seriale visualizzerà alcune cifre di peso come mostrato di seguito:
Configurazione

Dobbiamo fare la calibrazione qui:

  • Digitare la lettera "a, s, d, f" nello spazio di comando del monitor seriale e premere il pulsante "Invia" per aumentare il fattore di calibrazione rispettivamente di 10, 100, 1000, 10000
  • Digitare la lettera "z, x, c, v" nello spazio di comando del monitor seriale e premere il pulsante "Invia" per diminuire il fattore di calibrazione rispettivamente di 10, 100, 1000, 10000.
    Configurazione

Continuare a regolare fino a quando la lettura mostra il peso effettivo posizionato sulla cella di carico. Annotare il valore "calibration_factor", in questo caso "-239250" nel peso dell'autore di riferimento di 191 g con cella di carico da 10 kg. Avremo bisogno di questo valore per inserire il nostro secondo schizzo per la misurazione reale.

2a fase: codice finale per la misurazione del peso reale
Prima di caricare lo schizzo, dobbiamo inserire il "fattore di calibrazione" ottenuto nel primo passaggio:
Impostare

Carica lo schizzo seguente sulla scheda Arduino Uno, dopo aver modificato il fattore di scala:

/* Handson Technologywww.handsontec.com
* 29 dicembre 2017
* Interfaccia modulo cella di carico HX711 con Arduino per misurare il peso in Kg
Arduino
spillo
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
Terra -> Terra
Quasi tutti i pin su Arduino Uno saranno compatibili con DOUT/CLK.
La scheda HX711 può essere alimentata da 2.7 V a 5 V, quindi l'alimentazione di Arduino 5 V dovrebbe andare bene.
*/
#include "HX711.h" //Devi avere questa libreria nella cartella della tua libreria arduino
#definire DOUT 3
#definire CLK 2
Scala HX711 (DOUT, CLK);
// Modifica questo fattore di calibrazione in base alla tua cella di carico una volta trovato, molti hanno bisogno di variarlo in migliaia
fattore_calibrazione float = -96650; //-106600 ha funzionato per la mia configurazione della scala massima di 40 kg
//================================================ =============================================
// IMPOSTARE
//================================================ =============================================
impostazione nulla() {
Inizio seriale(9600);
Serial.println("Premere T per tarare");
scale.set_scale(-239250); // Fattore di calibrazione ottenuto dal primo sketch
scala.tara(); //Reimposta la scala su 0
}
//================================================ =============================================
// CICLO CONTINUO
//================================================ =============================================
ciclo vuoto() {
Serial.print(“Peso: “);
Serial.print(scale.get_units(), 3); //Fino a 3 punti decimali
Serial.println(”kg”); // Cambia questo in kg e regola nuovamente il fattore di calibrazione se segui lbs
if(Serial.disponibile())
{
carattere temp = Serial.read();
if(temp == 't' || temp == 'T')
scala.tara(); //Reimposta la scala su zero
}
}
//================================================ =============================================

Dopo aver caricato correttamente lo schizzo, apri Serial Monitor. Dovrebbe apparire la finestra sottostante che mostra il valore reale della misurazione:
Configurazione

È possibile reimpostare la lettura a 0.000 kg (senza carico) digitando "t" o "T" nello spazio dei comandi e premendo il pulsante "Invia". Il display sottostante che mostra il valore della misura diventa 0.000 kg.
Configurazione

Posizionare un oggetto sulla cella di carico, dovrebbe essere visualizzato il peso effettivo. Di seguito è riportato il display del peso quando si posiziona l'oggetto di 191 grammi (utilizzato nella prima fase per la calibrazione).
Configurazione

Evviva! hai costruito una bilancia con una precisione di tre decimali!

Documenti / Risorse

Modulo ADC per sensori di pesatura ARDUINO HX711 [pdf] Manuale d'uso
Modulo ADC per sensori di pesatura HX711, HX711, modulo ADC per sensori di pesatura, modulo ADC per sensori, modulo ADC, modulo

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *