Innehållsförteckning:

Arduino spänningsvåg med 40 kg lastcell och HX711 -förstärkare: 4 steg
Arduino spänningsvåg med 40 kg lastcell och HX711 -förstärkare: 4 steg

Video: Arduino spänningsvåg med 40 kg lastcell och HX711 -förstärkare: 4 steg

Video: Arduino spänningsvåg med 40 kg lastcell och HX711 -förstärkare: 4 steg
Video: Что такое тензодатчик || Как работает тензодатчик || Объяснение функции моста Уитстона 2024, November
Anonim
Arduino spänningsvåg med 40 kg lastcell och HX711 -förstärkare
Arduino spänningsvåg med 40 kg lastcell och HX711 -förstärkare

Denna instruktionsbok beskriver hur man gör en spänningsskala med lättillgängliga delar från hyllan.

Material behövs:

1. Arduino - denna design använder en standard Arduino Uno, andra Arduino -versioner eller kloner bör också fungera

2. HX711 på breakout board - Detta mikrochip är speciellt tillverkat för att förstärka signalerna från lastceller och rapportera dem till en annan mircocontroller. Lastcellerna ansluts till detta kort, och det här kortet berättar för Arduino vad lastcellerna mäter.

3. Spänningslastcell (40 kg) med fästen. Det finns 2 alternativ för att få en av dessa. Du kan köpa en redan gjord (enkel), eller så kan du ta isär en billig digital bagagevåg och ta bort lastcellen (hårdare men du kanske redan har en liggande). Du kan köpa en som redan är gjord med en HX711 här:

Lämna en recension om du köper satsen! Det är verkligen till hjälp för framtida köpare.

4. Monteringsutrustning. Beroende på din applikation kan detta vara rep, skruvar, dragkedjor, allt för att fästa fästena på den kraft du vill mäta.

5. Trådar i olika färger för anslutning av alla delar

6. Strömförsörjning för Arduino

Steg 1: Montera lastcellen

Montera lastcellen
Montera lastcellen
Montera lastcellen
Montera lastcellen
Montera lastcellen
Montera lastcellen

Först ska vi montera lastcellen. Ditt fäste kommer att vara unikt, men här är riktlinjerna du måste följa:

1. Stållastcellen är en platta med dragmätare limmade på mitten. Lastcellen mäter kraft genom att känna hur mycket lastcellen böjer.

2. Fästen fäster genom hål i ändarna på lastcellstrålen. Fästena är formade så att dragkraften appliceras i mitten av lastcellstrålen. På grund av sin form och infästningsplatsen böjer lastcellstrålen när fästena dras.

3. Haka fast fästena till det du vill mäta. Det är bäst att göra detta med något som kan röra sig fritt (som kedja, krokar, starka snören eller dragkedjor). Du vill att lastcellen och fästet ska kunna centrera sig i lastens riktning så att mätningen är korrekt.

Steg 2: Anslut lastcellen och HX711

Anslut lastcellen och HX711
Anslut lastcellen och HX711

Se kopplingsschemat för hur du ansluter lastcellerna, HX711 och Arduino.

På bagageutformade lastceller som den som visas är flera dragmätare redan anslutna till en Wheatstone -bro. Allt du behöver göra är att ansluta ledningarna till HX711 -kortet i rätt riktning.

Steg 3: Lägg till HX711 -biblioteket i ditt Arduino IDE

HX711 -biblioteket är tillgängligt här:

Se denna länk på Arduinos webbplats för instruktioner om hur du lägger till biblioteket i din Arduino IDE:

Steg 4: Kalibrera och väg

Kalibrera och väga!
Kalibrera och väga!

Sparkfun har fantastiska Arduino -program för att köra skalan. De mest uppdaterade versionerna är tillgängliga på GitHub och skrivs ut igen nedan:

Det första mjukvarusteget är att bestämma kalibreringsfaktorer för vågen. För att göra detta, kör den här koden

/*

Exempel med hjälp av SparkFun HX711 breakout board med en skala Av: Nathan Seidle SparkFun Electronics Datum: 19 november 2014 Licens: Denna kod är offentlig egendom men du köper mig en öl om du använder detta och vi träffas någon dag (Beerware -licens). Detta är kalibreringsskissen. Använd den för att bestämma kalibreringsfaktorn som huvudexemplet använder. Det matar också ut nollfaktorn som är användbar för projekt som har en permanent massa på skalan mellan effektcykler. Ställ in din skala och starta skissen UTAN en vikt på vågen När avläsningarna visas placerar du vikten på vågen Tryck på +/- eller a/z för att justera kalibreringsfaktorn tills utdatamätningarna matchar den kända vikten Använd denna kalibrerings_faktor på exempelskissen Detta exempel antar pounds (lbs). Om du föredrar kilogram, ändra Serial.print ("lbs"); linje till kg. Kalibreringsfaktorn kommer att vara signifikant annorlunda men den kommer att vara linjärt relaterad till lbs (1 lbs = 0,453592 kg). Din kalibreringsfaktor kan vara mycket positiv eller mycket negativ. Allt beror på installationen av ditt skalningssystem och i vilken riktning sensorerna avböjer från nolltillståndet Denna exempelkod använder bogdes utmärkta bibliotek: "https://github.com/bogde/HX711" bogdes bibliotek släpps under en GNU GENERAL PUBLIC LICENSE Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND De flesta stift på Arduino Uno kommer att vara kompatibla med DOUT/CLK. HX711 -kortet kan drivas från 2,7V till 5V så att Arduino 5V -effekten ska vara bra. */ #inkludera "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 skala; float calibration_factor = -7050; //-7050 fungerade för min 440lb max skala setup void setup () {Serial.begin (9600); Serial.println ("HX711 kalibreringsskiss"); Serial.println ("Ta bort all vikt från vågen"); Serial.println ("När avläsningarna påbörjats, lägg känt vikt på skalan"); Serial.println ("Tryck på + eller a för att öka kalibreringsfaktorn"); Serial.println ("Tryck på - eller z för att minska kalibreringsfaktorn"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Återställ skalan till 0 lång zero_factor = scale.read_average (); // Få en baslinje som läser Serial.print ("Noll faktor:"); // Detta kan användas för att ta bort behovet av att tarera vågen. Användbart i permanenta projekt. Serial.println (zero_factor); } void loop () {scale.set_scale (calibration_factor); // Justera till denna kalibreringsfaktor Serial.print ("Läsning:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Ändra detta till kg och justera om kalibreringsfaktorn om du följer SI-enheter som en vettig person Serial.print ("calibration_factor:"); Serial.print (kalibreringsfaktor); Serial.println (); if (Serial.available ()) {char temp = Serial.read (); if (temp == ' +' || temp == 'a') calibration_factor += 10; annars om (temp == ' -' || temp == 'z') kalibrering_faktor -= 10; }}

Efter att ha kalibrerat skalan kan du köra detta provprogram och sedan hacka upp det för dina egna syften:

/*

Exempel med hjälp av SparkFun HX711 breakout board med en skala Av: Nathan Seidle SparkFun Electronics Datum: 19 november 2014 Licens: Denna kod är offentlig egendom men du köper mig en öl om du använder detta och vi träffas någon dag (Beerware -licens). Detta exempel visar grundläggande skalutmatning. Se kalibreringsskissen för att få kalibreringsfaktorn för din specifika lastcellsinställning. Denna exempelkod använder bogdes utmärkta bibliotek: "https://github.com/bogde/HX711" bogdes bibliotek släpps under en GNU GENERAL PUBLIC LICENSE HX711 gör en sak bra: läs lastceller. Utbrottskortet är kompatibelt med alla vete-stenbro-baserade lastceller som bör tillåta en användare att mäta allt från några gram till tiotals ton. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND HX711 -kortet kan drivas från 2,7V till 5V så att Arduino 5V -effekten ska vara bra. */#include "HX711.h" #define calibration_factor -7050.0 // Detta värde erhålls med hjälp av SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 skala; void setup () {Serial.begin (9600); Serial.println ("demo i HX711 -skala"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibreringsfaktor); // Detta värde erhålls med hjälp av SparkFun_HX711_Calibration sketch scale.tare (); // Antag att det inte finns någon vikt på vågen vid start, återställ vågen till 0 Serial.println ("Avläsningar:"); } void loop () {Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); //scale.get_units () returnerar ett float Serial.print ("lbs"); // Du kan ändra detta till kg men du måste återskapa kalibreringsfaktorn Serial.println (); }

Rekommenderad: