Belka tensometryczna NA27 5kg

Belka tensometryczna NA27 5kg

Belka tensometryczna NA27 5kg

Belka tensometryczna działająca w  zakresie do do 5 kg, (ok. 50 N). Najmniejsza wersją stosowana np. do wag kuchennych, wag przenośnych. Przewód połączeniowy posiada końcówki ze zdjętą izolacją, a jego długość to 25 cm.

Specyfikacja

  • Napięcie pracy: od 5 V do 12 V
  • Zakres pomiarowy: 5 kg (ok. 50 N)
  • Wyjście: sygnał analogowy
  • Obudowa: NA27 - aluminiowa
  • Przewód: czterożyłowy, φ0,8 o długości 25 cm
  • Wymiary: 80 x 13 x 13 mm
  • Masa: 28 g

 

Wykorzystanie belki tensometrycznej przy pomocy Arduino

Belka tensometryczna umożliwia zważenie danego przedmiotu. Ten krótki poradnik pokazuje jak ją obsłużyć wykorzystując płytkę Arduino Uno.

 

Podłączenie

Moduł jest zasilany bezpośrednio z Arduino, więc nie potrzebujemy zewnętrznego źródła energii. Piny podpinamy według poniższej tabeli

 

Pin wzmacniacza

Pin Arduino

VCC

5 V

DAT

3

CLK

2

GND

GND

 

Z drugiej strony modułu wzmacniacza podpinamy belkę tensometryczną według kolorów przewodów.

  • RED - czerwony
  • BLK - czarny
  • WHT - biały
  • GRN – zielony

 

 

Obsługa

Na początku bibliotekę należy dodać do środowiska Arduino (Szkic -> Include Library -> Add .ZIP Library...).

W przykładzie zostały wykorzystane programy z dołączonej biblioteki. Na początek należy uruchomić program kalibracyjny SparkFun_HX711_Calibration (Plik -> Przykłady -> HX711 -> SparkFun_HX711_Calibration). Dzięki niemu możemy określić współczynnik dla użytej belki tensometrycznej.

Uruchamiamy układ bez obciążenia na belce. Następnie wkładamy przedmiot o znanej masie. Teraz za pomocą przycisków "+" i "-" (lub "a" i "z") ustawiamy odczyt tak, aby zgadzał się z naszą znaną masą.

 

Kod programu

Poniżej wykorzystany program (na podstawie tego z biblioteki)

#include "HX711.h"
 
#define DOUT  3          //pin 3 Arduino i wyjście DAT czujnika
#define CLK  2           //pin 2 Arduino i wyjście CLK czujnika
 
HX711 scale(DOUT, CLK);
 
float calibration_factor = -7050;     //współczynnik kalibracji
 
void setup() {
  Serial.begin(9600);
  Serial.println("HX711 - program kalibracyjny");
  Serial.println("Usun obciazenie z belki");
  Serial.println("Po rozpoczeciu odczytu, umiesc znana mase na belce");
  Serial.println("Wcisnij + lub a by zwiekszyc wspolczynnik kalibracji");
  Serial.println("Wcisnij - lub z by zwiekszyc wspolczynnik kalibracji");
 
  scale.set_scale();
  scale.tare();        //Resetuje skalę na 0
 
  long zero_factor = scale.read_average();     //Odczyt podstawy
  Serial.print("Zero factor: ");  //Może być wykorzystane aby usunąć potrzebę tarowania skali.
//Użyteczne w projektach o stałej skalli
  Serial.println(zero_factor);
}
 
void loop() {
 
  scale.set_scale(calibration_factor);       //Wyrównanie według współczynnika kalibracji
 
  Serial.print("Odczyt: ");
  Serial.print(scale.get_units(), 1);
  Serial.print(" kg");          //Dowolnie możemy wybrać kilogramy lub funty
//ponieważ między nimi jest liniowa zależność
  Serial.print("       Wspolczynnik_kalibracji: ");
  Serial.print(calibration_factor);
  Serial.println();
 
  if(Serial.available())
  {
    char temp = Serial.read();  //pobranie wpisanej wartości i zmiana współczynnika kalibracji
    if(temp == '+' || temp == 'a')
      calibration_factor += 10;
    else if(temp == '-' || temp == 'z')
      calibration_factor -= 10;
  }
}

Następnie odczytaną wartość należy wykorzystać w programie SparkFun_HX711_Example (Plik -> Przykłady -> HX711 -> SparkFun_HX711_Example). My użyjemy spolszczonego programu:

#include "HX711.h"
 
#define calibration_factor -3350.0  //Odczytana wartość z programu kalibracyjnego
 
#define DOUT  3          //pin 3 Arduino i wyjście DAT czujnika
#define CLK  2           //pin 2 Arduino i wyjście CLK czujnika
 
HX711 scale(DOUT, CLK);
 
void setup() {
  Serial.begin(9600);
  Serial.println("HX711 scale demo");
 
  scale.set_scale(calibration_factor); //Ustawienie kalibracji
  scale.tare();                        //Zerowanie wskazania na początek
 
  Serial.println("Odczyty:");
}
 
void loop() {
  Serial.print("Odczyt: ");
  Serial.print(scale.get_units(), 1);    //scale.get_units() zwraca zmienną float
  Serial.print(" kg");                   //Dowolnie możemy wybrać kilogramy lub funty
//lecz przy zmianie zmienia się również współczynnik kalibracji
  Serial.println();
}
Zbudowano na Drupalu