Spisu treści:

Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711: 5 kroków (ze zdjęciami)
Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711: 5 kroków (ze zdjęciami)

Wideo: Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711: 5 kroków (ze zdjęciami)

Wideo: Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711: 5 kroków (ze zdjęciami)
Wideo: [PRZYKŁAD] Waga elektroniczna – HX711, Arduino i belka tensometryczna 2024, Lipiec
Anonim
Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711
Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711
Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711
Waga łazienkowa Arduino z ogniwami obciążnikowymi 50 kg i wzmacniaczem HX711

Ta instrukcja opisuje, jak wykonać wagę przy użyciu łatwo dostępnych części z półki.

Potrzebne materiały:

  1. Arduino - (ta konstrukcja wykorzystuje standardowe Arduino Uno, inne wersje Arduino lub klony również powinny działać)
  2. HX711 na płytce zaciskowej - ten mikrochip jest specjalnie stworzony do wzmacniania sygnałów z ogniw obciążnikowych i przesyłania ich do innego mikrokontrolera. Ogniwa obciążnikowe podłącza się do tej płyty, a ta płyta informuje Arduino, co mierzą ogniwa obciążeniowe.
  3. Ogniwa obciążnikowe 50 kg (x4) - Ogniwa obciążnikowe to specjalnie ukształtowane metalowe części, do których przyklejone są tensometry. Tensometry to rezystory, które zmieniają swoją rezystancję, gdy są zginane. Kiedy metalowa część wygina się, zmienia się rezystancja ogniwa obciążnikowego (HX711 dokładnie mierzy tę niewielką zmianę rezystancji). Możesz kupić ogniwa obciążnikowe i HX711 jako zestaw tutaj: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Jeśli kupisz zestaw, zostaw recenzję! Jest to bardzo pomocne dla przyszłych nabywców.
  4. Stabilna płaska powierzchnia montażowa - idealny jest sztywny kawałek twardego drewna lub metalu
  5. Przewody w różnych kolorach do łączenia wszystkich części
  6. Zasilanie dla Arduino

Krok 1: Zamontuj ogniwa obciążnikowe

Zamontuj ogniwa obciążnikowe
Zamontuj ogniwa obciążnikowe
Zamontuj ogniwa obciążnikowe
Zamontuj ogniwa obciążnikowe

Zamontuj 4 ogniwa obciążnikowe na dole skali w czterech rogach. Żywica dobrze trzyma je na miejscu. Zobacz schemat montażowy, pokazuje, jaka powierzchnia powinna być zamontowana do podstawy, a która powierzchnia powinna dotykać podłogi.

Krok 2: Sprawdź okablowanie ogniwa obciążnikowego

Sprawdź okablowanie ogniwa obciążnikowego
Sprawdź okablowanie ogniwa obciążnikowego

Schemat okablowania jest tworzony przy założeniu, że ogniwo obciążnikowe jest skonstruowane jak na rysunku.

Aby upewnić się, że zrobiłeś to dobrze, upewnij się, że dwa zaciski na ogniwach obciążnikowych mają między sobą największą rezystancję (np. czarny i biały, aby dopasować do schematu), połącz je w dużą pętlę dopasowania kolorów, jak BB WW BB WW, a następnie wzbudzić (E+/E-) dwa przeciwległe odczepy środkowe (R) i wyczuć (A+/A-) na drugiej parze odczepów środkowych.

Ta strona na Sackexchange zawiera jeszcze lepsze informacje:

Krok 3: Podłącz ogniwa obciążnikowe i HX711

Podłącz ogniwa obciążnikowe i HX711
Podłącz ogniwa obciążnikowe i HX711
Podłącz ogniwa obciążnikowe i HX711
Podłącz ogniwa obciążnikowe i HX711
Podłącz ogniwa obciążnikowe i HX711
Podłącz ogniwa obciążnikowe i HX711

Zobacz schemat połączeń, aby dowiedzieć się, jak podłączyć ogniwa obciążnikowe, HX711 i Arduino.

Niektóre przewody ogniwa obciążnikowego są ze sobą połączone, tworząc tzw. układ mostka Wheatstone'a. To może być trochę mylące. Dobrą opcją do podłączenia wszystkich ogniw obciążnikowych w czysty, łatwy do zrozumienia sposób jest płytka kombinatora ogniw obciążnikowych SparkFun -

Taki układ umożliwia jednoczesne połączenie i pomiar obciążeń wszystkich różnych czujników tensometrycznych.

Krok 4: Dodaj bibliotekę HX711 do swojego Arduino IDE

Biblioteka HX711 jest dostępna tutaj:

Zobacz ten link na stronie Arduino, aby uzyskać instrukcje, jak dodać bibliotekę do swojego Arduino IDE:

Krok 5: Kalibracja i ważenie

Sparkfun ma świetne programy Arduino do obsługi wagi. Najbardziej aktualne wersje są dostępne na GitHub i przedrukowane poniżej:

Pierwszym krokiem oprogramowania jest określenie współczynników kalibracji wagi. Aby to zrobić, uruchom ten kod:

/*

Przykład użycia tabliczki zaciskowej SparkFun HX711 z wagą Autor: Nathan Seidle SparkFun Electronics Data: 19.11.2014 Licencja: Ten kod jest domeną publiczną, ale kupujesz mi piwo, jeśli tego użyjesz i pewnego dnia się spotkamy (licencja Beerware). To jest szkic kalibracyjny. Użyj go, aby określić współczynnik_kalibracji, którego używa główny przykład. Wyprowadza również zero_factor przydatny w projektach, które mają stałą masę na skali między cyklami zasilania. Skonfiguruj swoją wagę i rozpocznij szkic BEZ ciężaru na wadze Po wyświetleniu odczytów umieść ciężar na wadze Naciśnij +/- lub a/z, aby dostosować współczynnik_kalibracji, aż odczyty wyjściowe będą odpowiadać znanej masie Użyj tego współczynnika_kalibracji na przykładowym szkicu W tym przykładzie przyjęto funty (lbs). Jeśli wolisz kilogramy, zmień Serial.print(" lbs"); linia do kg. Współczynnik kalibracji będzie znacząco różny, ale będzie liniowo powiązany z funtami (1 funt = 0,453592 kg). Twój współczynnik kalibracji może być bardzo dodatni lub bardzo ujemny. Wszystko zależy od konfiguracji systemu wagowego i kierunku, w jakim czujniki odchylają się od stanu zerowego. Ten przykładowy kod wykorzystuje doskonałą bibliotekę bogde: „https://github.com/bogde/HX711” Biblioteka bogde jest wydana na licencji GNU GENERAL PUBLIC LICENSE Pin 2 Arduino -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Większość pinów Arduino Uno będzie kompatybilna z DOUT/CLK. Płytka HX711 może być zasilana od 2,7 V do 5 V, więc zasilanie Arduino 5 V powinno być w porządku. */ #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 skala; współczynnik_kalibracji pływaka = -7050; //-7050 działało dla mojej konfiguracji maksymalnej skali 440lb void setup() { Serial.begin(9600); Serial.println("Szkic kalibracji HX711"); Serial.println("Usuń cały ciężar z wagi"); Serial.println("Po rozpoczęciu odczytów umieść znaną masę na wadze"); Serial.println("Naciśnij + lub a, aby zwiększyć współczynnik kalibracji"); Serial.println("Naciśnij - lub z, aby zmniejszyć współczynnik kalibracji"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(); skala.tara(); //Zresetuj skalę do 0 long zero_factor = scale.read_average(); //Uzyskaj odczyt bazowy Serial.print("Współczynnik zerowy: "); //Może być użyty do usunięcia potrzeby tarowania wagi. Przydatne w projektach o stałej skali. Serial.println(zero_factor); } void loop() { scale.set_scale(calibration_factor); //Dostosuj do tego współczynnika kalibracji Serial.print("Odczyt: "); Serial.print(scale.get_units(), 1); Serial.print(" funty"); //Zmień to na kg i ponownie dostosuj współczynnik kalibracji, jeśli postępujesz zgodnie z jednostkami SI, jak osoba rozsądna Serial.print(" Calibration_factor: "); Serial.print(współczynnik_kalibracji); Serial.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') współczynnik_kalibracji += 10; w przeciwnym razie if(temp == '-' || temp == 'z') współczynnik_kalibracji -= 10; } }

Po skalibrowaniu wagi możesz uruchomić ten przykładowy program, a następnie zhakować go do własnych celów:

/*

Przykład użycia tabliczki zaciskowej SparkFun HX711 z wagą Autor: Nathan Seidle SparkFun Electronics Data: 19.11.2014 Licencja: Ten kod jest domeną publiczną, ale kupujesz mi piwo, jeśli tego użyjesz i pewnego dnia się spotkamy (licencja Beerware). Ten przykład ilustruje podstawowe wyniki na skali. Zobacz szkic kalibracyjny, aby uzyskać współczynnik kalibracji dla określonej konfiguracji ogniwa obciążnikowego. Ten przykładowy kod używa doskonałej biblioteki bogde: "https://github.com/bogde/HX711" Biblioteka bogde jest wydana na licencji GNU GENERAL PUBLIC LICENSE HX711 robi jedną rzecz dobrze: odczytuje komórki obciążenia. Tablica zaciskowa jest kompatybilna z dowolnym ogniwem obciążnikowym opartym na mostku pszenicznym, który powinien pozwolić użytkownikowi zmierzyć wszystko od kilku gramów do kilkudziesięciu ton. Pin 2 Arduino -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Płytka HX711 może być zasilana od 2,7 V do 5 V, więc zasilanie Arduino 5 V powinno być w porządku. */ #include "HX711.h" #define Calibration_factor -7050.0 //Ta wartość jest uzyskiwana za pomocą SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale; void setup() { Serial.begin(9600); Serial.println("Pokaz wagi HX711"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(współczynnik_kalibracji); //Ta wartość jest uzyskiwana przy użyciu szkicu SparkFun_HX711_Calibration scale.tare(); //Zakładając, że przy uruchomieniu nie ma wagi na wadze, zresetuj wagę do 0 Serial.println("Odczyty:"); } void loop() { Serial.print("Czytanie: "); Serial.print(scale.get_units(), 1); //scale.get_units() zwraca liczbę zmiennoprzecinkową Serial.print(" lbs"); //Możesz to zmienić na kg, ale będziesz musiał dokonać refaktoryzowania Calibration_factor Serial.println(); }

Zalecana: