Instrukcja obsługi modułu ADC czujników wagowych ARDUINO HX711
Aplikacja Exampz Arduino Uno:
Większość ogniw obciążnikowych ma cztery przewody: czerwony, czarny, zielony i biały. Na płycie HX711 znajdziesz połączenia E+/E-, A+/A- i B+/B. Podłącz ogniwo obciążnikowe do płyty czujnika HX711 zgodnie z poniższą tabelą:
Płytka czujnika obciążenia HX711 | Przewód ogniwa obciążeniowego |
E+ | Czerwony |
E- | Czarny |
A+ | Zielony |
A- | Biały |
B- | Nie używany |
B+ | Nie używany |
Czujnik HX711 | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
Moduł HX711 pracuje przy napięciu 5 V, a komunikacja odbywa się za pomocą pinów szeregowych SDA i SCK.
Gdzie należy umieścić ciężar na czujniku siły?
Na ogniwie obciążeniowym widać strzałkę. Ta strzałka pokazuje kierunek siły działającej na ogniwo obciążeniowe. Możesz wykonać układ pokazany na rysunku za pomocą pasków metalowych. Przymocuj pasek metalowy do ogniwa obciążeniowego za pomocą śrub.
Programowanie Arduino UNO do pomiaru wagi w kg:
Podłącz schemat tak jak pokazano na rysunku 1 powyżej.
Aby ten moduł czujnika działał z płytkami Arduino, potrzebujemy biblioteki HX711, którą można pobrać z https://github.com/bogde/HX711.
Zanim HX711 będzie mógł zostać użyty do dokładnego zmierzenia ciężaru obiektu, najpierw należy go skalibrować. Poniższy krok pokaże Ci, jak wykonać kalibrację.
Krok 1: Szkic kalibracji
Prześlij poniższy szkic do płytki Arduino Uno
/* Technologia Handson www.handsontec.com
* 29 grudnia 2017 r.
* Moduł interfejsu ogniwa obciążeniowego HX711 z Arduino do pomiaru masy w kg
Arduino
szpilka
2 -> HX711 Zegar
3 -> WYJŚCIE
5V -> VCC
GND -> GND
Prawie każdy pin Arduino Uno będzie kompatybilny z DOUT/CLK.
Płytkę HX711 można zasilać napięciem od 2.7 V do 5 V, więc zasilanie Arduino 5 V powinno być wystarczające.
*/
#include „HX711.h” //Musisz mieć tę bibliotekę w folderze bibliotek arduino
#zdefiniuj DOUT 3
#zdefiniuj CLK 2
Waga HX711 (DOUT, CLK);
//Zmień ten współczynnik kalibracji zgodnie z wartością ogniwa obciążnikowego, gdy tylko go znajdziesz.
zmień to na tysiące
float calibration_factor = -96650; //-106600 działało dla mojej konfiguracji wagi o maksymalnej wadze 40 kg
//================================================ =======================================
// ORGANIZOWAĆ COŚ
//================================================ =======================================
pustka konfiguracja() {
Serial.begin(9600);
Serial.println(“Kalibracja HX711”);
Serial.println(“Zdejmij cały ciężar z wagi”);
Serial.println("Po rozpoczęciu odczytów umieść znaną masę na wadze");
Serial.println(“Naciśnij a, s, d, f, aby zwiększyć współczynnik kalibracji o 10,100,1000,10000, XNUMX, XNUMX, XNUMX
odpowiednio");
Serial.println(“Naciśnij z, x, c, v, aby zmniejszyć współczynnik kalibracji o 10,100,1000,10000
odpowiednio");
Serial.println(“Naciśnij t, aby zerować”);
skala.set_scale();
scale.tare(); //Zresetuj skalę do 0
long zero_factor = scale.read_average(); //Uzyskaj odczyt bazowy
Serial.print(“Współczynnik zerowy: “); //Można tego użyć, aby wyeliminować konieczność tarowania wagi.
Przydatne w projektach o stałej skali.
Serial.println(zero_factor);
}
//================================================ =======================================
// PĘTLA
//================================================ =======================================
pętla void() {
scale.set_scale(calibration_factor); //Dostosuj do tego współczynnika kalibracji
Serial.print("Odczyt: ");
Serial.print(scale.get_units(), 3);
Serial.print(” kg”); //Zmień to na kg i ponownie dostosuj współczynnik kalibracji, jeśli
przestrzegaj jednostek SI jak osoba rozsądna
Serial.print(” współczynnik_kalibracji: “);
Serial.print(współczynnik_kalibracji);
Serial.println ();
jeśli(Serial.available())
{
char temp = Serial.read();
jeśli(temp == '+' || temp == 'a')
współczynnik_kalibracji += 10;
w przeciwnym razie jeśli(temp == '-' || temp == 'z')
współczynnik_kalibracji -= 10;
w przeciwnym razie jeśli(temp == 's')
współczynnik_kalibracji += 100;
w przeciwnym razie jeśli(temp == 'x')
współczynnik_kalibracji -= 100;
w przeciwnym razie jeśli(temp == 'd')
współczynnik_kalibracji += 1000;
w przeciwnym razie jeśli(temp == 'c')
współczynnik_kalibracji -= 1000;
w przeciwnym razie jeśli(temp == 'f')
współczynnik_kalibracji += 10000;
w przeciwnym razie jeśli(temp == 'v')
współczynnik_kalibracji -= 10000;
w przeciwnym razie jeśli(temp == 't')
scale.tare(); //Zresetuj wagę do zera
}
}
//================================================ ======================================
Usuń wszelkie obciążenie z czujnika obciążenia. Otwórz Serial Monitor. Powinno otworzyć się poniższe okno pokazujące, że moduł został pomyślnie podłączony do Arduino Uno.
Umieść znany przedmiot o masie na ogniwie obciążnikowym. W tym przypadku autor użył znanego ciężaru 191 gramów z ogniwem obciążnikowym 10 kg. Monitor szeregowy wyświetli pewną liczbę wagową, jak pokazano poniżej:
Musimy tutaj wykonać kalibrację:
- Wprowadź literę „a, s, d, f” w polu poleceń monitora szeregowego i naciśnij przycisk „Wyślij”, aby zwiększyć współczynnik kalibracji odpowiednio o 10, 100, 1000, 10000
- Wprowadź literę „z, x, c, v” w polu poleceń monitora szeregowego i naciśnij przycisk „Wyślij”, aby zmniejszyć współczynnik kalibracji odpowiednio o 10, 100, 1000, 10000.
Kontynuuj regulację, aż odczyt pokaże rzeczywistą wagę umieszczoną na ogniwie obciążnikowym. Zapisz wartość „calibration_factor”, w tym przypadku „-239250” w wadze autora 191 g odniesienia z ogniwem obciążnikowym 10 kg. Będziemy potrzebować tej wartości, aby wstawić ją do naszego drugiego szkicu w celu wykonania rzeczywistego pomiaru.
Krok 2: Ostateczny kod do pomiaru rzeczywistej wagi
Przed przesłaniem szkicu musimy wprowadzić „współczynnik kalibracji” uzyskany w kroku 1:
Prześlij poniższy szkic do płytki Arduino Uno po zmodyfikowaniu współczynnika skali:
/* Technologia Handson www.handsontec.com
* 29 grudnia 2017 r.
* Moduł interfejsu ogniwa obciążeniowego HX711 z Arduino do pomiaru masy w kg
Arduino
szpilka
2 -> HX711 Zegar
3 -> WYJŚCIE
5V -> VCC
GND -> GND
Prawie każdy pin Arduino Uno będzie kompatybilny z DOUT/CLK.
Płytkę HX711 można zasilać napięciem od 2.7 V do 5 V, więc zasilanie Arduino 5 V powinno być wystarczające.
*/
#include „HX711.h” //Musisz mieć tę bibliotekę w folderze bibliotek arduino
#zdefiniuj DOUT 3
#zdefiniuj CLK 2
Waga HX711 (DOUT, CLK);
//Zmień ten współczynnik kalibracji zgodnie z wartością ogniwa wagowego, gdy go znajdziesz, może być konieczna zmiana w tysiącach
float calibration_factor = -96650; //-106600 działało dla mojej konfiguracji wagi o maksymalnej wadze 40 kg
//================================================ =============================================
// ORGANIZOWAĆ COŚ
//================================================ =============================================
pustka konfiguracja() {
Serial.begin(9600);
Serial.println(“Naciśnij T, aby wyzerować”);
scale.set_scale(-239250); //Współczynnik kalibracji uzyskany z pierwszego szkicu
scale.tare(); //Zresetuj skalę do 0
}
//================================================ =============================================
// PĘTLA
//================================================ =============================================
pętla void() {
Serial.print("Waga: ");
Serial.print(scale.get_units(), 3); //Do 3 miejsc po przecinku
Serial.println(” kg”); //Zmień to na kg i ponownie dostosuj współczynnik kalibracji, jeśli stosujesz się do funtów
jeśli(Serial.available())
{
char temp = Serial.read();
jeśli(temp == 't' || temp == 'T')
scale.tare(); //Zresetuj wagę do zera
}
}
//================================================ =============================================
Po pomyślnym przesłaniu szkicu otwórz Serial Monitor. Powinno pojawić się poniższe okno pokazujące rzeczywistą wartość pomiaru:
Możesz zresetować odczyt do 0.000 kg (bez obciążenia”), wpisując „t” lub „T” w polu poleceń i naciskając przycisk „Wyślij”. Poniżej wyświetlacz pokazujący wartość pomiaru staje się 0.000 kg.
Umieść obiekt na ogniwie obciążnikowym, powinna zostać wyświetlona rzeczywista waga. Poniżej znajduje się wyświetlacz wagi po umieszczeniu obiektu o wadze 191 gramów (użytego w 1. kroku kalibracji).
Hurra! Udało Ci się skonstruować wagę z dokładnością do trzech miejsc po przecinku!
Dokumenty / Zasoby
![]() |
Moduł ADC czujników wagowych ARDUINO HX711 [plik PDF] Instrukcja obsługi Moduł ADC czujników wagowych HX711, HX711, Moduł ADC czujników wagowych, Moduł ADC czujników, Moduł ADC, Moduł |