Come funzionano le celle di carico: tutto quello che devi sapere

Conosciamo i sensori e l’elettronica necessaria per la misura del peso di oggetti in moltissimi ambiti, dalle bilance elettroniche alle pese industriali.

Quando si parla di misura del peso di un oggetto, s’intende il rilevamento della forza che questo esercita sul sistema di rilevamento, qualsiasi esso sia, per effetto della gravità terrestre (forza di gravità); ecco perché in Fisica si distingue tra peso e massa, giacché quest’ultima è la consistenza di un corpo, mentre il peso è la percezione che la massa trasmette sotto forma di forza esercitata per effetto dell’accelerazione di gravità.

Non a caso massa e peso sono correlate dall’accelerazione di gravità, che mediamente vale 9,81 m/s². Da questo discorso deriva che misurare un peso significa rilevare una forza, che non a caso chiamiamo forza-peso.

Siccome siamo elettronici, a noi interessano principalmente i dispositivi di misura del peso di tipo elettronico e tra questi abbiamo i sensori di pressione (che sono effettivamente in grado di rilevare una forza, seppur per unità di superficie) e le celle di carico, le quali sono attualmente i sensori d’elezione per rilevare il peso in moltissimi ambiti, dalle bilance elettroniche alle pese industriali.

Una cella di carico è un dispositivo che viene utilizzato per misurare il peso e, di riflesso, le forze esercitate, tanto a compressione, quanto a trazione. In questo articolo spiegheremo di cosa si tratta e in che modo si usa tale dispositivo.

Come funziona la cella di carico

Quando una forza viene applicata ad essa in un modo specifico, una cella di carico produce un segnale di uscita che è proporzionale alla forza stessa.

Ma come fa a generare questo segnale? Ebbene, il dispositivo si basa su componenti detti estensimetri, che funzionano sfruttando l’effetto piezoresistivo, ossia la tendenza che alcuni materiali elettricamente conduttori hanno a modificare la propria resistività quando vengono compressi o espansi lungo certe direzioni.

Tale fenomeno è qualcosa di simile all’effetto piezoelettrico che si manifesta nei quarzi e in alcuni materiali ceramici sintetici, dove la trazione o compressione produce una differenza di potenziale tra due facce opposte.

Una cella di carico del tipo strain-gauge (a estensimetro) è costituita da un elemento elastico che viene selettivamente indebolito per creare regioni relativamente ad alta tensione; in tali regioni si applicano gli estensimetri.

Questi vengono collegati in varie configurazioni, sebbene la più apprezzata sia quella a Ponte di Wheatstone, formato da quattro estensimetri disposti come mostrato nella Fig. 1; in alcuni casi gli estensimetri sono due e gli altri due elementi sono resistenze comuni. Gli estensimetri possono anche essere disposti a formare mezzo ponte e in questo caso si parla di semicelle.

Il ponte di Wheatstone viene alimentato tra i nodi superiore e inferiore (punti +/- EXCITATION) da una tensione continua e stabilizzata di eccitazione, mentre il segnale d’uscita si preleva fra i nodi orizzontali del ponte; siccome il ponte di Wheatstone è sostanzialmente un doppio partitore resistivo di cui si prelevano i potenziali d’uscita sollevati da massa, la tensione che ne deriva è la differenza tra essi.

Nello schema di Fig. 1, l’uscita è localizzata tra A e B.

Fig. 1 Tipica configurazione elettrica degli estensimetri nelle celle di carico.

 

Senza alcun carico applicato alla cella, tutti gli estensimetri hanno la stessa resistenza e quindi non c’è differenza di potenziale tra i punti A e B.

Quando il carico viene applicato alla cella, la resistenza degli indicatori di tensione aumenta, mentre quella degli indicatori di compressione diminuisce, cosicché il ponte diventa sbilanciato e si verifica una differenza di potenziale proporzionale al carico applicato, che può essere misurata attraverso i punti A e B.

Alcune celle di carico e indicatori dispongono di cavi di rilevamento che nella predetta Fig. 1 sono chiamati + e – SENSE e che consentono all’indicatore di misurare e regolare la tensione di eccitazione applicata alla cella; ciò è particolarmente importante quando per collocazione, le celle devono essere collegate con dei cavi lunghi.

Le celle di carico possono essere utilizzate singolarmente o in combinazioni a seconda dalla geometria dell’oggetto da pesare.

La Fig. 2 illustra un tipico estensimetro metallico, che consiste in una lamina metallica incisa su linee di griglia parallele, che formano un circuito delimitato dalle piazzole di uscita; la lamina è legata ad un materiale di supporto isolante che, a sua volta, è vincolato alla superficie della cella di carico, come appare nella stessa Fig. 2.

Fig. 2 Schematizzazione dell’estensimetro per celle di carico.

 

Nelle celle di carico a estensimetri, un’estremità di una cella di carico è tipicamente fissata a una struttura rigida, mentre l’altra è applicata a un dispositivo di ricezione del carico attraverso il quale viene applicato il carico o la forza da misurare; in questo caso si tratta di una cella a doppio punto, che possiamo assimilare a una trave a sbalzo, incastrata ad un estremo e sollecitata all’altro.

Questo tipo di cella di carico è dei più comuni per la sua semplicità e il basso costo. La struttura è spesso binoculare, ossia una trave con due fori. Gli estensimetri sono montati sulla parte superiore e inferiore per misurare le forze di trazione e di compressione.

Poiché gli estensimetri possono essere danneggiati, sono in genere coperti e riparati da un soffietto in gomma. La trave stessa spesso è in lega di acciaio nichelata; per carichi leggeri (fino a 230 grammi), la trave è in rame-berillio, mentre per carichi maggiori è in acciaio inossidabile. In questi modelli, gli estensimetri tipicamente sono protetti da un rivestimento in uretano.

Nella Fig. 3 vediamo una cella di carico a trave che riporta i quattro estensimetri di cui dispone, siglati T e C e disposti, incrociati, sulle due facce della struttura metallica indebolita nella zona centrale per favorirne la deformazione.

Con la disposizione illustrata, due estensimetri misurano lo sforzo di trazione e due rilevano lo sforzo a compressione, esattamente come avviene quando un carico (peso) è applicato alla cella di carico.

Essendo quattro, gli estensimetri sono collegati insieme a formare un ponte di Wheatstone come illustrato nella già vista Fig. 1, però in questo caso la loro disposizione è tale da renderli collaboranti, altrimenti la variazione di resistenza negli uni andrebbe a contrastare quella negli altri; collaboranti significa che i due T sono opposti nel ponte, in modo da ottenere lo sbilanciamento all’applicare della forza.

Fig. 3 Cella di carico a trave con quattro estensimetri.

 

Una tensione di eccitazione stabilizzata viene applicata agli angoli opposti del ponte di Wheatstone e un segnale viene misurato sugli altri, i punti A e B.

Oltre al tipo proposto in Fig. 3, che lavora a taglio, esiste quello mostrato nella Fig. 4, che lavora a trazione (cella a tensione) e viene utilizzato ad esempio nella pesatura di serbatoi e tramogge, dove le celle di carico sono sospese da una struttura aerea e l’oggetto da pesare viene appeso dal lato inferiore. Tale struttura è praticamente una S e viene ampiamente utilizzata nella conversione di bilance meccaniche in elettromeccaniche.

In questa situazione la cella viene utilizzata per rilevare la tensione dell’asta che collega il sistema a leva al raggio.

Fig. 4 Cella di carico a S funzionante a trazione.

 

Le capacità tipiche per questo genere di cella vanno da 45 kg a 22 tonnellate, mentre quelle a trave spaziano da circa 500 g a decine di kg.

Esistono poi le celle di carico a punto singolo (Fig. 5) che sono ampiamente utilizzate nelle bilance a piattaforma; rilevano il peso indipendentemente da dove il carico è applicato alla piattaforma superiore. Le capacità variano tipicamente da 1 kg a 2 tonnellate e possono ospitare piattaforme aventi superficie di diverse centinaia di cm2.

Fig. 5 Cella di carico a punto singolo: il peso da rilevare viene applicato direttamente sopra.

 

Tipologie di celle di carico

È possibile fare una classificazione delle celle di carico in base alla direzione di applicazione della forza, quindi abbiamo i tipi a tensione, compressione, alternanza e flessione (Fig. 6): il primo è tipicamente a S, mentre il secondo è a bottone o barilotto; il terzo lavora sia a trazione che a compressione e il quarto è a trave.

Fig. 6 Classificazione delle celle di carico per tipo di sollecitazione.

 

Esiste anche una classificazione per precisione della misura: Ultra-preciso, Preciso, Standard.

La forma del materiale della molla dipende dalle caratteristiche della cella di carico.

Un’altra classificazione può essere fatta per tenuta all’aria, secondo quanto esposto qui di seguito.
• Sigillato: questo tipo racchiude le aree degli estensimetri all’interno di una custodia e li protegge dall’ambiente. In generale, l’interno del case è pieno di gas inerte, il che rende tali dispositivi idonei all’utilizzo in condizioni ambientali sfavorevoli, come all’esterno, in presenza di polveri o forte umidità. Un diaframma o un soffietto viene utilizzato in modo da non influire sulla piegatura del materiale della molla.
• Aperto: in esso gli estensimetri non sono protetti o al più vengono riparati da della resina morbida o gomma, che protegge dagli agenti ambientali. È idoneo a operare in ambienti dove la temperatura non sia troppo elevata e non vi sia eccessiva umidità o polvere.
• Explosion-Proof: grazie alla sua struttura questa tipologia di cella è a prova di fuoco.

Oltre che per composizione, sollecitazione e tenuta, le celle di carico possono essere classificate in base alla loro forma (Fig. 7); abbiamo quindi Beam Type (a trave), Can Type (a barilotto), S Type (ad S) e Washer Type (a rondella o bottone).

Fig. 7 Cella di carico a S funzionante a trazione.

 

L’integrato HX711

L’HX711 è un convertitore analogico-digitale a 24 bit (ADC) di precisione progettato per l’impiego in bilance e pese, dotato di un’interfaccia d’ingresso specifica per le celle di carico a estensimetri.

Il multiplexer di ingresso seleziona gli ingressi differenziali del canale A (che può essere programmato con un guadagno di 64 o 128 volte) o del canale B dell’amplificatore a basso rumore interno. Il differenziale serve per amplificare la differenza di potenziale fornita dal ponte di Wheatstone.

Le caratteristiche salienti del componente sono:

  • due canali di ingresso differenziati selezionabili;
  • PGA attivo a basso rumore con guadagno selezionabile di 32, 64 e 128;
  • regolatore di alimentazione interno per cella di carico e alimentazione sezione analogica dell’ADC;
  • oscillatore on-chip che non richiede alcun quarzo esterno;
  • ripristino all’accensione;
  • controllo digitale attraverso interfaccia a bus seriale a due fili;
  • sample-rate selezionabile tra 10 e 80 SPS (campioni al secondo);
  • reiezione del disturbo di alternata a 50 e a 60 Hz;
  • assorbimento in condizioni normali <1,5 mA;
  • assorbimento in power down <1 µA;
  • tensione di funzionamento: 2,6 ÷ 5,5 V;
  • Intervallo temperatura di funzionamento: -40° C ~ +85° C;

L’HX711 viene tipicamente impiegato nel circuito mostrato nella Fig. 8, suggerito dal costruttore; nella stessa figura vedete lo schema a blocchi interno dell’integrato. Come vedete, l’ingresso è predisposto per la lettura di tensioni fornite da ponti di Wheatstone.

Fig. 8 Tipico utilizzo e schema interno dell’HX711.

Celle di carico Single-Point & Multi-Point

Le celle di carico possono essere distinte anche in single-point e multi-point: il tipo single-point o a singolo punto viene utilizzato quando serve misurare utilizzando una sola cella di carico, mentre il multi-point presume l’impiego di più celle di carico.

Con le celle a singolo punto il peso si applica sulla cella di carico poiché gli errori d’angolo sono già corretti.

Con il multi-point, tre o quattro celle di carico vengono generalmente disposte in vari punti della struttura e i loro segnali vengono opportunamente sommati per correggere eventuali errori di angolazione della forza applicata.

Utilizzo delle celle di carico

Per leggere la forza o il peso attraverso delle celle di carico bisogna innanzitutto valutare la configurazione più idonea, quindi celle a trazione per rilevare pesi appesi o a compressione per pesare oggetti che gravano sul sistema; inoltre bisogna vedere che tipo di precisione serve e da che direzione proviene la forza.

Celle a due soli estensimetri consentono di rilevare un certo tipo di forze e richiedono la connessione a ponte con due resistori fissi, mentre quelle a quattro estensimetri, disposti incrociati, formano da loro un completo ponte di Wheatstone.

I segnali forniti dal ponte, in entrambi i casi, sono molto piccoli; soprattutto quelli delle celle a due soli estensimetri, giacché quelli delle celle a quattro estensimetri, collegando gli elementi in maniera opportuna forniscono segnali differenziali, che quindi hanno ampiezze maggiori.

In ogni caso non è pensabile leggere il segnale direttamente con l’ADC di un microcontrollore o con Arduino, ma è opportuno procedere al condizionamento.

Con questo termine si intende l’amplificazione quanto basta ad elevare il livello a valori tali da resistere ai disturbi che possono introdursi nei collegamenti, sia ad abbattere eventuali interferenze radioelettriche.

Esistono circuiti integrati specifici o comunque idonei al condizionamento dl segnale delle celle di carico a estensimetri: ad esempio INA125 o HX711; le caratteristiche di entrambi sono riportate nei riquadri a essi dedicati in queste pagine.

 

L’integrato INA125 per le celle di carico

Passiamo ora al secondo integrato di quelli designati alla lettura dei segnali delle celle di carico, il cui schema a blocchi interno con applicazione tipica potete vedere nella Fig. 9. Nella Fig. 10 vedete invece la relativa pin-out.

L’integrato INA125 è un amplificatore per piccoli segnali ad alta precisione e a basso consumo, che integra un riferimento di tensione di elevata precisione.

È l’ideale per l’abbinamento alle celle di carico e alla loro gestione, intesa come condizionamento del segnale prodotto nella configurazione a ponte di Wheatstone, in quanto dispone di un amplificatore differenziale all’ingresso e di un’uscita a tensione ben stabilizzata per alimentare le estremità del ponte stesso.

Fig. 9 Schema interno e tipica applicazione dell’INA125.

Fig. 10 Piedinatura dell’INA125.

 

Un resistore singolo ed esterno imposta il guadagno dell’integrato, che può essere compreso tra 4 e 10.000 volte in tensione.

L’INA125 ha una ridottissima tensione di offset, una deriva termica dell’offset contenuta (2µV/°C) e un’elevata reiezione del rapporto in modo comune particolarmente elevata (100dB con G=100).

Può funzionare alimentato a tensione singola di valore compreso fra 2,7V e 36V o ad alimentazione duale (da ±1,35V a ± 18V). Il riferimento di tensione è estremamente regolabile con le tensioni selezionabili dai pin di 2.5V, 5V o 10V, permettendo l’uso di una varietà di trasduttori.

La tensione di riferimento è a 0.5% (massima) con una deriva di ± 35ppm/°C (massima). La modalità “sleep” permette l’arresto e l’operazione di duty-cycle per risparmiare potenza.

L’INA125 è disponibile in DIP in plastica a 16 pin e confezioni SO-16 a montaggio superficiale ed è specificato per il range di temperatura compreso tra -40°C e i +85°C.

Le caratteristiche dell’INA 125 sono le seguenti:

  • bassa corrente di quiescenza: 460 µA;
  • riferimento di bassa tensione: 1,24V – 2,5V – 5V o 10V;
  • modalità “sleep”;
  • tensione di offset bassa: 250 µV max;
  • deriva a basso offset: 2µV/°C max;
  • bassa corrente di polarizzazione di offset: 20nA max;
  • rapporto di reiezione di modo comune (CMR): 100 dB min;
  • rumore minimo: 38nV/√Hz con f=1kHz;
  • protezione d’ingresso a ± 40V;
  • alimentazione singola: 2,7V a 36V;
  • alimentazione duale: da ±1,35V a ±18V;
  • 16 pin DIP e pacchetti SO-16 SOIC.

Tra le applicazioni dell’integrato troviamo amplificatori di ponte di pressione e temperatura, controlli di processi industriali, automazione, acquisizione di dati multi-canale, strumentazione generica ecc.

Celle di carico e Arduino

Naturalmente il pubblico di Arduino trova interessante le celle di carico ed è per questo che abbiamo pensato di realizzare qualche semplice applicazione da proporre; va subito precisato che per leggere con Arduino il segnale offerto dalle celle di carico occorre interporre un circuito di condizionamento ed allo scopo ben si prestano i due integrati appena descritti.

Nelle applicazioni descritte utilizzeremo una breakout che monta l’HX711 (cod. HX711BOARD) e le celle di carico da 500g della Futura Elettronica (cod. LOADCELL500G) che collegheremo ad Arduino come mostrato nella Fig. 11.

Fig. 11 Connessione di una cella di carico ad Arduino tramite la breakout board HX711.

 

Come vedete, la cella dispone di quattro fili e si connette come mostrato.

Dall’uscita della breakout board, la quale trae alimentazione dal 5V di Arduino (e a sua volta alimenta la cella di carico) viene prelevato il segnale digitale contenente l’informazione sulla forza peso.

Più esattamente, la breakout board fornisce stringhe di dati su un bus a due fili tipo I²C attraverso la linea DT (dati) sincronizzate con il clock che Arduino genera sulla linea SCK.

Il Listato 1 propone il codice necessario ad acquisire le letture effettuate tramite la cella di carico e l’HX711.

Listato 1

#include “HX711.h”

#define calibration_factor - 9580.00 //This value is obtained using 
//the SparkFun_HX711_Calibration sketch
#define DOUT 4
#define CLK 5
HX711 scale(DOUT, CLK);
void setup() {
  Serial.begin(9600);
  Serial.println(“HX711 scale demo”);
  scale.set_scale(calibration_factor);
  scale.tare(); //Assuming there is no weight on the scale 
  //at start up, reset the scale to 0
  Serial.println(“Readings: ”);
}
void loop() {
  Serial.print(“Reading: “);
  float libbre = scale.get_units();
  float kg = (libbre / 2.2046);
  Serial.print(kg, 1); //scale.get_units() returns a float
  Serial.print(“kg”); //You can change this to kg but you’ll need
  //to refactor the calibration_factor 
  Serial.println();
}

Passiamo adesso a un secondo esempio applicativo basato su una configurazione differente, ossia 2 semicelle carico con portata di 50kg l’una (cod. LC50KG), per una portata totale pari a 100kg.

Elettricamente, queste mezze celle costituiscono ciascuna mezzo ponte di Wheatstone e vanno collegate attraverso la solita breakout board basata sull’HX711 come mostrato nella Fig. 12.

Queste celle di carico hanno le caratteristiche riportate di seguito:

  • segnale di uscita = 1 mV ( ±0,1);
  • non linearità = 0,05(% sul fondo-scala);
  • isteresi = 0,05 (% sul fondo-scala);
  • ripetibilità = 0,05 (% sul fondo-scala);
  • creep dopo 1 minuto = 0,1 (% sul fondo-scala);
  • effetto della temperatura sull’uscita = 10°C (0,1% sul fondo-scala);
  • effetto della temperatura sullo zero = 10°C (0,3% sul fondo-scala);
  • resistenza d’ingresso = 1 kohm (±10);
  • resistenza di uscita = 1 kohm (±10);
  • resistenza di isolamento >2.000 Mohm
  • temperatura di funzionamento = da -10°C a +40°C;
  • tensione di eccitazione ponte = 10 V;
  • dimensioni (mm): 34x34x8.

Per le connessioni ad Arduino, ricordate che il filo rosso è il positivo (VCC) il nero il negativo (GND) e il bianco l’uscita (OUT) da collegare come mostrato.
Il codice Arduino per eseguire la misura del peso con determinazione iniziale della tara lo trovate nel Listato 2 e include la libreria HX711.

Listato 2

#include “HX711.h”

#define calibration_factor - 9580.00 //Fattore di calibrazione, ottenuto 
//utilizzando lo sketch SparkFun_HX711_Calibration
#define DOUT 4 //Pin digitale DT
#define CLK 5 //Pin digitale SCK
HX711 scale(DOUT, CLK);

void setup() {
  Serial.begin(9600);
  Serial.println(“Rilevazione Peso con Tara iniziale”);
  scale.set_scale(calibration_factor);
  scale.tare(); //Assicurarsi che non ci sia nessun peso allo start.
  delay(500);
  Serial.println(“Tara in corso...non mettere nessun peso!”);
  delay(1000);
  Serial.println(“Sistema pronto.”);
  delay(300);
}

void loop() {
  Serial.print(“Peso: “);
  float libbre = scale.get_units();
  float kg = (libbre / 2.2046); //Conversione peso Libbre in Kg
  Serial.print(kg, 1);
  Serial.print(“kg”);
  Serial.println();
  delay(500); //Ritardo nella lettura del peso. Diminuire per una lettura più frequente!
}

Circuito con quattro semicelle

Dalla configurazione precedente, abbiamo ricavato un ulteriore sistema composto però da 4 mezze celle di carico dello stesso tipo, che potrebbe essere utilizzato per rilevare il peso di una cassa appoggiata sulle semicelle, disposte ognuna su un angolo di una struttura come quella proposta nella Fig. 13.

Fig. 13 Quattro semicelle di carico montate agli angoli di un supporto.

 

Fig. 14 Le quattro semicelle collegate a ponte.

 

Trattandosi di celle di carico (mezze celle) ciascuna capace di pesare 50 kg, possiamo arrivare a pesare un massimo di 200 kg in modo perfettamente bilanciato, giacché abbiamo gli elementi sui quattro angoli. Il circuito da realizzare con Arduino è descritto dallo schema di cablaggio proposto nella Fig. 14; da ogni singola cella viene “prelevato” il cavo rosso e collegato ai pin della scheda HX711.

Questa configurazione a ponte di Wheatstone permette di avere un sistema bilanciato in cui il peso è misurato in modo equilibrato. Il codice per Arduino relativo a quest’ultimo esempio applicativo è proposto nel Listato 3.

Listato 3

#include “HX711.h”

#define DOUT 4
#define CLK 5
const int buttonPin = 2;
int buttonState = 0;
HX711 scale(DOUT, CLK);
float calibration_factor = -9640.00; //-7050 worked for my 440lb max scale setup

void setup() {
  Serial.begin(9600);
  Serial.println(“HX711 calibration sketch”);
  Serial.println(“After readings begin, place known weight on scale”);
  Serial.println(“Press + or a to increase calibration factor”);
  Serial.println(“Press - or z to decrease calibration factor”);
  scale.set_scale();
  scale.tare(); //Reset the scale to 0
  long zero_factor = scale.read_average(); //Get a baseline reading
  Serial.print(“Zero factor: “); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
  Serial.println(zero_factor);
  pinMode(buttonPin, INPUT);
}

void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    scale.set_scale();
    scale.tare(); //Reset the scale to 0
    long zero_factor = scale.read_average(); //Get a baseline reading
    Serial.print(“Zero factor: “); //This can be used to remove the need to tare the scale. 
    Serial.println(zero_factor);
    pinMode(buttonPin, INPUT);
  }
  scale.set_scale(calibration_factor); //Adjust to this calibration factor
  Serial.print(“Reading: “);
  float libbre = scale.get_units();
  float kg = (libbre / 2.2046);
  Serial.print(kg, 1); //scale.get_units() returns a float
  Serial.print(”kg”);
  Serial.print(”calibration_factor: “);
  Serial.print(calibration_factor);
  Serial.println();
  if (Serial.available()) {
    char temp = Serial.read();
    if (temp == ‘+’ || temp == ‘a’)
      calibration_factor += 10;
    else if (temp == ‘-‘ || temp == ‘z’)
      calibration_factor -= 10;
  }
}

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Menu