Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

cella di carico con HX711

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] cella di carico con HX711

Messaggioda Foto UtenteClaBor » 14 mar 2021, 16:17

Salve, è la prima volta che entro nel forum. Da poco ho cominciato ad affaciarmi al mondo di Arduio e ho cominciato a fare i primi passi con i progetti di esempio della IDE. Da qualche giorno stò litigando con Arduino UNO, una scheda HX711 e una cella di carico (a 4 fili) da 1 kg. Il mio intendimento è costruire un banco prova per motori vintage da aeromodellismo ( erano motori inglesi denominati JETEX in uso fino agli anni '60). Ho scaricato i due sketc ( uno è per la calibratura e il secondo è per fare i pesi ) e pur riuscendo a caricarli regolarmente senza errori nella IDE, non riesco a fare la calibratura e senza questo il secondo sketch ovviamente non funziona. C'è qualche anima buona che conosce l'argomento e può darmi indicazioni di come operare per andare in porto? Ringrazio in anticipo
Avatar utente
Foto UtenteClaBor
0 2
 
Messaggi: 12
Iscritto il: 13 mar 2021, 22:50

0
voti

[2] Re: cella di carico con HX711

Messaggioda Foto Utentealessandrovo » 14 mar 2021, 16:25

io ho fatto una cosa simile con esp32, hx711 e una cella da 200kg
il fattore di calibrazione lo puoi ricavare in vari modi io ho fatto come spiegato nella reference ma c'è chi usaun approccio pratico (micro incrementi e confronto con un peso noto)

dopodiche nel setup avrai

scale.begin(D1, D2);
scale.set_scale(il fattore);
scale.tare();

mentre nel loop:
peso = scale.get_units(nr_campionamenti);


per le cella da 1kg il fattore potrebbe essere 1490 ma cambia da cella a cella per cui ti tocchera' sperimentare
nella mia, con 21 ho una precisione impressionante
Avatar utente
Foto Utentealessandrovo
230 1 4
Frequentatore
Frequentatore
 
Messaggi: 124
Iscritto il: 2 giu 2020, 17:50

0
voti

[3] Re: cella di carico con HX711

Messaggioda Foto UtenteClaBor » 14 mar 2021, 22:53

OK, grazie Alessandro, provo appena possibile e poi posto i risultati. Che sketch hai utilizzato?
Avatar utente
Foto UtenteClaBor
0 2
 
Messaggi: 12
Iscritto il: 13 mar 2021, 22:50

0
voti

[4] Re: cella di carico con HX711

Messaggioda Foto UtenteClaBor » 16 mar 2021, 21:24

Ho provato a inserire nello sketch tutto quello che era possibile ma non si muove nulla. Quando faccio la verifica e il carico dello sketch, questo viene caricato, ma prima l'IDE mi manda questo messaggio di errore:

In file included from sketch\HX711-multi.cpp:2:0:
sketch\HX711-multi.h:49:10: warning: extra qualification 'HX711MULTI::' on member 'readRaw' [-fpermissive]
void HX711MULTI::readRaw(long *result = NULL);
^~~~~~~~~~
In file included from C:\Users\Edoardo\Desktop\Sketck_test_bench\Arduino_code\HX711_jetex_filter_float\HX711_jetex_filter_float.ino:1:0:
sketch\HX711-multi.h:49:10: warning: extra qualification 'HX711MULTI::' on member 'readRaw' [-fpermissive]
void HX711MULTI::readRaw(long *result = NULL);
^~~~~~~~~~
Non riesco a capire se è questo errore che mi blocca l'esecuzione o se il motivo è diverso da questo.
Avatar utente
Foto UtenteClaBor
0 2
 
Messaggi: 12
Iscritto il: 13 mar 2021, 22:50

0
voti

[5] Re: cella di carico con HX711

Messaggioda Foto Utentealessandrovo » 17 mar 2021, 13:00

tu nel codice hai qualche warning ma quello "puo' capitare'

se puo servire io ho usato la libreria hx711 da

https://github.com/aguegu/ardulibs/tree/master/hx711

poi nell'ide

Codice: Seleziona tutto
#include "HX711.h"
float peso = 0;

setup()
{
  scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
  scale.set_scale(21f);
  scale.tare();
}

loop()
{
   peso = scale.get_units(5);
}
Avatar utente
Foto Utentealessandrovo
230 1 4
Frequentatore
Frequentatore
 
Messaggi: 124
Iscritto il: 2 giu 2020, 17:50

0
voti

[6] Re: cella di carico con HX711

Messaggioda Foto UtenteClaBor » 18 mar 2021, 0:15

Se ho capito bene carico come sketch quello che tu mi indichi che hai messo nell'ide e installo la libreria che si scarica dal link che mi hai dato. OK, ho fatto tutto e lanciando la verifica dello sketch mi dà questo errore e non chiude la verifica;

Codice: Seleziona tutto
Arduino:1.8.13 (Windows Store 1.8.42.0) (Windows 10), Scheda:"Arduino Uno

HX711_simple2:4:9: error: expected constructor, destructor, or type conversion before ';' token

     setup()

         ^

HX711_simple2:11:8: error: expected constructor, destructor, or type conversion before ';' token

     loop()

        ^

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:4:11: warning: ISO C++ forbids declaration of 'setup' with no type [-fpermissive]

     setup()

           ^

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino: In function 'int setup()':

HX711_simple2:4:5: error: ambiguating new declaration of 'int setup()'

     setup()

     ^~~~~

In file included from sketch\HX711_simple2.ino.cpp:1:0:

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/Arduino.h:154:6: note: old declaration 'void setup()'

void setup(void);

      ^~~~~

HX711_simple2:6:7: error: 'scale' was not declared in this scope

       scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711

       ^~~~~

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:6:7: note: suggested alternative: 'scanf'

       scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711

       ^~~~~

       scanf

HX711_simple2:6:19: error: 'D1' was not declared in this scope

       scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711

                   ^~

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:6:19: note: suggested alternative: 'A1'

       scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711

                   ^~

                   A1

HX711_simple2:6:23: error: 'D2' was not declared in this scope

       scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711

                       ^~

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:6:23: note: suggested alternative: 'A2'

       scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711

                       ^~

                       A2

HX711_simple2:7:23: error: unable to find numeric literal operator 'operator""f'

       scale.set_scale(21f);

                       ^~~

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino: At global scope:

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:11:10: warning: ISO C++ forbids declaration of 'loop' with no type [-fpermissive]

     loop()

          ^

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino: In function 'int loop()':

HX711_simple2:11:5: error: ambiguating new declaration of 'int loop()'

     loop()

     ^~~~

In file included from sketch\HX711_simple2.ino.cpp:1:0:

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/Arduino.h:155:6: note: old declaration 'void loop()'

void loop(void);

      ^~~~

HX711_simple2:13:15: error: 'scale' was not declared in this scope

        peso = scale.get_units(5);

               ^~~~~

C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:13:15: note: suggested alternative: 'scanf'

        peso = scale.get_units(5);

               ^~~~~

               scanf

Più di una libreria trovata per "HX711.h"

Usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711

Non usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711_Arduino_Library-0.7.4

Non usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711-master

Non usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711_Arduino_Library

exit status 1

expected constructor, destructor, or type conversion before ';' token



Inoltre non riesco a capire nella scheda ARDUINO UNO quali siano i PIN D1 e D2 a cui colleghi DT e SCK.

Spero di non abusare troppo della tua pazienza
Avatar utente
Foto UtenteClaBor
0 2
 
Messaggi: 12
Iscritto il: 13 mar 2021, 22:50

0
voti

[7] Re: cella di carico con HX711

Messaggioda Foto Utentealessandrovo » 18 mar 2021, 10:43

se hai ancora pure la vecchia è normale che facciano conflitto devi tenere una sola delle due
io l'ho messa semplicemente in Documenti\Arduino\libraries
per i pin devi indicare quelli che hai usato tu la mia board non era molto generosa di gpio ho dovuto usare per forza quelli e con gli altri ci ho connesso DFPlayer(per farle dire a voce il peso) e display 7seg i2c
Avatar utente
Foto Utentealessandrovo
230 1 4
Frequentatore
Frequentatore
 
Messaggi: 124
Iscritto il: 2 giu 2020, 17:50

1
voti

[8] Re: cella di carico con HX711

Messaggioda Foto Utenteclaudiocedrone » 18 mar 2021, 14:12

Foto UtenteClaBor, il codice postalo scrivendolo tra i tag che appaiono cliccando sul pulsante virtuale "Code" sulla finestra di risposta come ha fatto Alessandro, altrimenti leggerlo è una impresa oltre al fatto che se serve è più facile copiarlo.
"Non farei mai parte di un club che accettasse la mia iscrizione" (G. Marx)
Avatar utente
Foto Utenteclaudiocedrone
18,5k 4 7 9
Master EY
Master EY
 
Messaggi: 12760
Iscritto il: 18 gen 2012, 13:36

0
voti

[9] Re: cella di carico con HX711

Messaggioda Foto UtenteClaBor » 19 mar 2021, 22:39

Ok, grazie a tutti per l'aiuto. Ho risolto ripulendo la libreria di tutte le librerie HX711 e caricandone solo quella standard (HX711.h e HX711.ccp) poi ho usato lo sketch degli esempi (HX711plotter.ino) e tutto ha funzionato alla perfezione immediatamente e senza alcuna correzione. Inoltre la calibrazione è stata semplicissima e la risoluzione mi sembra eccellente. Pertanto ho completato il primo step. Il secondo step che vorrei affrontare è la memorizzazione dei risultati che appaiano sul "Monitor seriale" in un file EXCELL per ricavarne un grafico di buona precisione. Se qualcuno ha dei suggerimenti da darmi, questi sono ben accetti.
Avatar utente
Foto UtenteClaBor
0 2
 
Messaggi: 12
Iscritto il: 13 mar 2021, 22:50


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti