Vai al contenuto
PLC Forum


Problemi con una bilancia realizzata con Arduino


Riccalupo

Messaggi consigliati

Salve, sono Riccardo e sono un nuovo. 

Ho realizzato con arduino UNO una bilancia attraverso una cella di carico da 50Kg e un amplificatore HX711 (c'è anche un display lcd). Ho seguito tutti i consigli trovati online e sono giunto a questo script:

#include <Hx711.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x27,16,2); 
Hx711 scale(A2, A3);

void setup() {
  
      lcd.init(); 
      scale.setScale(46);
      Serial.begin(9600);

              }

void loop() {
  
      lcd.backlight();
      Serial.println(scale.getGram(), 1);
      lcd.setCursor(0, 0);
      lcd.print(scale.getGram(), 1);
      lcd.print(" g");
      lcd.print("     ");
      delay(200);

            }

 

Diciamo che fino a 2 Kg circa la bilancia funziona con una buona approssimazione ma oltre comincia a segnare valori negativi e completamente fuori scala. Sapreste darmi qualche consiglio a riguardo?

P.s. Uso windows

Modificato: da Riccalupo
Link al commento
Condividi su altri siti


Nella shield che hai pubblicato manca un po' di roba.:smile:

Se la lettura della celal di carico si effettua tramite "Hx771.h" bisognerebbe almeno avere a disposizione questa libreria per capire qualche cosa.

Comunque la prima cosa che devi verificare è la tensione che ti ritrovi all'ingresso analogico dove colleghi la cella di carico, ovviamente amplificata.

Poi se alimenti arduino trimete la porta USB, le letture annalogiche non sono molto stabili, perchè il riferimento è affetto da rumore.

Tieni presente che se hai un fondo scala da 50 kg avrai 50kg <==> 5 V <==> 1023 counts di conversione.

Link al commento
Condividi su altri siti

Scusatemi per le poche info. La libreria dovrebbe essere quella allegata. Dico dovrebbe perchè essendo poco pratico ne ho scaricate alcune diverse e non sono sicuro al 100% che sia questa quella installata.

Per quanto riguarda la misura come posso fare? E cosa mi potrebbe indicare questa misura? 

Grazie mille per la risposta

Hx711-2015-11-02.zip

Link al commento
Condividi su altri siti

Mi associo a Livio io comincerei dall'hw se hai un tester o un oscilloscopio dai un occhio al segnale che entra nel pin del convertitore. Se è a posto allora si passa alla libreria sw.Da quello che ricordo un circuito analogico per la misura di una cella di carico non è proprio banale banale Tu come hai collegto la cella di carico ?

Ho letto le specifiche di una scheda HX711 venduta a 4.9$ mi ha stupito questo Data accuracy: 24 bit (24 bit A / D converter chip).

A 5$? 24 bit di precisione ... mah diciamo che se va bene almeno metà sono rumore....

Modificato: da accacca
Link al commento
Condividi su altri siti

Sono andato anch'io a dare un'occhiata alla scheda.

Visto che l'interfaccia con il mondo esterno avviene tramete bus seriale, i2c in questo caso, se misuri male o non funziona la lettura sul bus, ma dovresti avere la segnalazione di errore, oppure la scheda legge chissà che che cosa dalla cella.

 

Piccola nota di costume.

Con l'avvento di schede come arduino e delle sue periferiche, di cui sulla rete circolano librerie e software applicativi, molte, troppe persone senza un minimo di conoscenze di base si lanciano nella relaizzazione di dispositivi che hanno difficoltà concettuali non banali.

Leggere una cella di carico è di per se un'impresa non banale. Leggerla tramite un convertitore a 24 bits, che significa ben 16.777.216 counts, è un lavoro da specialisti molto esperti. Ammettendo un fondo scala di 10 volt la variazione minima equivale a circa 0.596 µV !!!

Link al commento
Condividi su altri siti

Livio come non concordare con la tua nota di costume io sono più "talebano" di te tra cinesi e arudini, potendo, farei una strage.... Una volta c'erano solo gli innocui pikettari che però sudavano per mettere assieme qualcosa adesso Riccalupo non è nemmeno sicuro del sw che usa sob!

Però devo anche ammettere che (ahimè) spesso sbaglio intervento e rileggendo mi vengono i sensi di colpa ...forse Riccalupo vuole imparare e quale migliore piattaforma se non arduino Proviamo a dargli una mano io ci metto del mio poi gli altri aggiusteranno il tiro

Riccalupo alcune domande:

Qual'è lo scopo del tuo progetto professionale/amatoriale/scolastico ?

cosa sai delle misure a ponte (wheatstone) ?

cosa sai degli amplificatori di strumentazione ?

cosa sai delle celle di carico ? (Possiedi  (...e hai letto) la documentazione del tuo componente)

cosa sai dei filtri segnali analogici ?

Link al commento
Condividi su altri siti

HH bisogna sempre individuare il proprio percorco con qualsiasi dispositivo che si ha a disposizione

Arduino va bene entro certi limiti .Eludendo il framework Arduino , le schede sono equipaggiate da interessanti e potenti microcontrollori Atmel.Certo ci sono i PIc , i dsPic e tanti altri .Personalmente ho deciso di dirigenrmi vero Arduino perche tutti i disposiviti di progammazione , comprese le schede pizzamicro, per i Pic e dsPic erano obsoleti e non funzionanti con win 7,problemi con i driver usb , obbligo di acquisto di pikit3 che in cina costa 15 euro oppure ICD3 che costa circa 200 euro .Mentr einvece ocn 200 euro ho riempito uno scatolone di arduini , shield , motori passo passo , driver , tastierini , motori servo , pacchi di resistenz ee condensatori , schede millefori, lcd 20x4 in i2c etc etc.

E' chiaro che come dice Livio , in rete c'e' tanta fufa o comunque librerie di itneresse immediato che permettono con due righe di leggere qualsiasi cosa.A questo punto dipende dal soggetto e da quello che vuole progettare stuidare la libreria, modificarla o scriverne una tutta sua .

A parità di taglia , se dovessi scegliere tra un pic 876 o un avr328 preferisco il secondo, ch epoi sia montanto su un arduino piuttosto che un pirlino o un farlocchino sai che cosa me ne frega....Personalmente ho tratto molti benefici da arduino , lo sto spolpando per bene , dispongo di svariatie schield e schede varie e le pago pochissimo

Low cost , visto che non mi regala niente nessuno ...per me e' una grande opportunità di studiare e perfezionarmi con dispositivi low cost .Arduino si programma in C/c++ e/o assembly , non cambia quasi nulla rispetto un pic . 

Io la vedo cosi....

 

 

Link al commento
Condividi su altri siti

intanto ci vuole un millivoltmetro perche col voltmetro normale non ci fai nulla con le celle di carico 

Dopodiche se l'applicazione è a scopo personale , didattico o prototipale ok ma se la devi usare per scopi commerciali  ci sono un sacco di casini per le certificazioni e tutto il resto

Una pesa o bilancia commerciale e' sottoposta a controlli fiscali, tarature e verifiche da parte di enti pubblici 

Se la pesa visaulizza valori negativi non c'entra niente windows o linux ....significa che c'e' qualcosa di errato nei calcoli di scalatura oppure di lettura analogica, sembra quasi un overflow .Prova a vedere se oltre ai grammi puoi prelevar ei kg e visualizzali .Verfica la risoluzione analogica del micro e misura la tensione ai capi del amplificatore prima che venga acquisito

Modificato: da walterword
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...