Configurazione con 4 Celle di Carico (da 50kg)

Schema di collegamento per le celle di carico (load cell).
Fonte: FuturaElettronica

Negli schemi precedenti sono collegate tra loro 4 celle di carico, ognuna da 50kg di portata, per un totale di 200kg. Da ogni singola cella viene “prelevato” il cavo rosso e collegato ai pin della scheda HX711.
Questa configurazione (ponte di Wheatstone) permette di avere un sistema bilanciato in cui il peso è misurato in modo equilibrato, considerando la presenza di una cella di carico in ognuno dei 4 angoli della base per l’arnia.
È stata quindi realizzata una base dove fissare le celle di carico con i relativi supporti:


Caratteristiche – cella di carico:

Le celle di carico vengono impiegate per misurare un peso; sono composte solitamente da un elemento elastico (acciaio o alluminio, ha poca elasticità ma è molto resistente e sensibile), sul cui sono posizionati gli estensimetri, i quali hanno il compito di rilevare le minime variazioni di tale elemento, il quale subisce una leggera alterazione ma è in grado di tornare nella posizione di partenza iniziale. Questa variazione permette di effettuare una misura sul peso di un corpo, ma nel nostro caso permetterà di rilevare la presenza dell’arnia e della sua componentistica, infatti, quando il peso non verrà più riconosciuto o rilevato, l’allarme scatterà avvisando immediatamente il proprietario.

  • Capacità: 50 kg
  • Sensibilità 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: >2000 Mohm
  • Temperatura di funzionamento: da -10°C a +40°C
  • Tensione eccitazione: 10 Volt
  • Dimensioni (mm): 34x34x8
  • Peso: 19 grammi
  • – filo rosso -> Positivo (VCC)
    – filo nero -> Negativo (GND)
    – filo bianco -> OUT (pin Digitale)
  • Documentazione Tecnica: datasheet

Interfacciamento celle di carico con Maduino – HX711:

Come definito nelle caratteristiche tecniche (ved. sopra), le celle di carico hanno un segnale in uscita in tensione nell’ordine dei mV.
Arduino non ha una risoluzione sufficiente a rilevare tensioni così basse. È quindi necessario utilizzare una scheda di interfaccia che amplifichi il segnale d’uscita in tensione (mV) della cella di carico, per poter essere gestito ed interpretato da Arduino.
La scheda di interfaccia HX711 (ADC) converte il segnale analogico “A” in un segnale digitale “D” a 24bit, adattando quindi l’uscita della cella di carico alla scheda Maduino.
Caratteristiche Tecniche – HX711: datasheet (MakerFabs)
L’HX711 ha 4 pin per il collegamento con la scheda Maduino:
– VCC -> pin +3.3V della Maduino
– DT -> pin digitale PWM
della Maduino
– SCK -> pin digitale
della Maduino
– GND -> pin GND
della Maduino

#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(“Remove all weight from scale”);
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. Useful in permanent scale projects.
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