Inhoudsopgave:

Arduino schaal met 5 kg load cell en HX711 versterker - Ajarnpa
Arduino schaal met 5 kg load cell en HX711 versterker - Ajarnpa

Video: Arduino schaal met 5 kg load cell en HX711 versterker - Ajarnpa

Video: Arduino schaal met 5 kg load cell en HX711 versterker - Ajarnpa
Video: Single deck Industrial Floor Scales 2024, November
Anonim
Arduino Weegschaal Met 5kg Load Cell en HX711 Versterker
Arduino Weegschaal Met 5kg Load Cell en HX711 Versterker
Arduino Weegschaal Met 5kg Load Cell en HX711 Versterker
Arduino Weegschaal Met 5kg Load Cell en HX711 Versterker

Deze Instructable beschrijft hoe u een kleine weegschaal kunt maken met behulp van kant-en-klare onderdelen.

Benodigde materialen:

1. Arduino - dit ontwerp gebruikt een standaard Arduino Uno, andere Arduino-versies of klonen zouden ook moeten werken

2. HX711 op breakout board - Deze microchip is speciaal gemaakt om de signalen van loadcellen te versterken en door te geven aan een andere microcontroller. De loadcellen worden op dit bord aangesloten en dit bord vertelt de Arduino wat de loadcellen meten.

3. Laadcel van 5 kg - Laadcellen zijn speciaal gevormde metalen onderdelen waarop rekstrookjes zijn gelijmd. De rekstrookjes zijn weerstanden die hun weerstand veranderen wanneer ze worden gebogen. Wanneer het metalen onderdeel buigt, verandert de weerstand van de load cell (de HX711 meet deze kleine weerstandsverandering nauwkeurig). U kunt zowel de HX711 als de load cell hier kopen:

Als je de kit koopt, laat dan een review achter! Het is erg handig voor toekomstige kopers.

4. Stevig vlak montageoppervlak (x2) - een stijf stuk hardhout of metaal is ideaal.

5. Draden in verschillende kleuren om alle onderdelen aan te sluiten

6. Voeding voor Arduino

Stap 1: Monteer de laadcel

Monteer de laadcel
Monteer de laadcel

Eerst gaan we de loadcel monteren. Uw montage zal uniek zijn, maar hier zijn de richtlijnen die u moet volgen:

1. De aluminium loadcel moet 4 tapgaten hebben en een label dat de richting van de kracht aangeeft. Monteer de zijkant zonder label op het vaste oppervlak en monteer de zijkant met het label op het bewegende oppervlak. De pijl aan de gelabelde kant moet naar beneden wijzen in de richting waarin het platform zal bewegen wanneer een belasting wordt aangebracht.

2. De montageplaat en de bewegende plaat moeten beide zo stijf mogelijk zijn

3. Zorg ervoor dat u een of andere vorm van stijve afstandhouders tussen de montageplaten en de weegcel plaatst. Afstandhouders of ringen werken beide goed. Het doel is dat elke kracht die op de bewegende plaat wordt uitgeoefend ervoor zorgt dat de loadcel buigt en draait. Zonder afstandhouders zou de belasting rechtstreeks van de bewegende plaat naar de vaste plaat worden overgebracht zonder de belastingcel te beïnvloeden.

Stap 2: Bedraad de loadcellen en HX711

Bedraad de loadcellen en HX711
Bedraad de loadcellen en HX711

Zie het bedradingsschema voor het aansluiten van de loadcellen, HX711 en Arduino.

Op aluminium loadcellen zijn al meerdere rekstrookjes met elkaar verbonden voor een Wheatstone-brug. Het enige wat u hoeft te doen is de draden in de juiste richting op het HX711-bord aan te sluiten.

Stap 3: voeg HX711-bibliotheek toe aan uw Arduino IDE

De HX711-bibliotheek is hier beschikbaar:

Zie deze link op de Arduino-website voor instructies over het toevoegen van de bibliotheek aan uw Arduino IDE:

Stap 4: Kalibreer en weeg

Kalibreren en wegen!
Kalibreren en wegen!

Sparkfun heeft geweldige Arduino-programma's om de schaal uit te voeren. De meest up-to-date versies zijn beschikbaar op GitHub en hieronder herdrukt:

De eerste softwarestap is het bepalen van de kalibratiefactoren voor de weegschaal. Voer hiervoor deze code uit:

/*

Voorbeeld met het SparkFun HX711 breakoutboard met een weegschaal Door: Nathan Seidle SparkFun Electronics Datum: 19 november 2014 Licentie: Deze code is publiek domein, maar je koopt een biertje voor me als je dit gebruikt en we ontmoeten elkaar ooit (Beerware-licentie). Dit is de kalibratieschets. Gebruik het om de kalibratiefactor te bepalen die in het hoofdvoorbeeld wordt gebruikt. Het geeft ook de zero_factor weer die nuttig is voor projecten met een permanente massa op de schaal tussen vermogenscycli. Stel uw weegschaal in en start de schets ZONDER een gewicht op de weegschaal Zodra de metingen worden weergegeven, plaatst u het gewicht op de weegschaal Druk op +/- of a/z om de kalibratiefactor aan te passen totdat de uitvoerwaarden overeenkomen met het bekende gewicht Gebruik deze kalibratiefactor op de voorbeeldschets In dit voorbeeld wordt uitgegaan van ponden (lbs). Als u de voorkeur geeft aan kilogrammen, wijzigt u de Serial.print("lbs"); lijn naar kg. De kalibratiefactor zal aanzienlijk verschillen, maar is lineair gerelateerd aan lbs (1 lbs = 0,453592 kg). Uw kalibratiefactor kan zeer positief of zeer negatief zijn. Het hangt allemaal af van de instelling van uw weegschaalsysteem en de richting waarin de sensoren afbuigen vanuit de nultoestand. Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND De meeste pins op de Arduino Uno zijn compatibel met DOUT/CLK. Het HX711-bord kan worden gevoed van 2,7V tot 5V, dus de Arduino 5V-voeding zou in orde moeten zijn. */ #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 schaal; float kalibratiefactor = -7050; //-7050 werkte voor mijn 440lb max scale setup void setup() {Serial.begin(9600); Serial.println ("HX711 kalibratieschets"); Serial.println("Verwijder al het gewicht van de weegschaal"); Serial.println("Nadat de metingen zijn begonnen, plaatst u het bekende gewicht op de weegschaal"); Serial.println("Druk op + of a om de kalibratiefactor te verhogen"); Serial.println("Druk op - of z om de kalibratiefactor te verlagen"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); schaal.set_schaal(); schaal.tarra(); // Stel de schaal opnieuw in op 0 long zero_factor = scale.read_average (); //Krijg een baselinewaarde Serial.print("Zero factor: "); //Dit kan worden gebruikt om de noodzaak om de weegschaal te tarreren te verwijderen. Nuttig in permanente schaalprojecten. Serial.println(nul_factor); } void loop() { scale.set_scale(calibration_factor); // Pas deze kalibratiefactor aan Serial.print ("Lezen: "); Serial.print(scale.get_units(), 1); Serial.print ("lbs"); // Wijzig dit in kg en pas de kalibratiefactor opnieuw aan als u SI-eenheden volgt zoals een verstandig persoon Serial.print ("kalibratiefactor: "); Serial.print (kalibratiefactor); Serieel.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') kalibratiefactor += 10; anders if(temp == '-' || temp == 'z') kalibratiefactor -= 10; } }

Nadat u de weegschaal hebt gekalibreerd, kunt u dit voorbeeldprogramma uitvoeren en het vervolgens voor uw eigen doeleinden hacken:

/*

Voorbeeld met het SparkFun HX711 breakoutboard met een weegschaal Door: Nathan Seidle SparkFun Electronics Datum: 19 november 2014 Licentie: Deze code is publiek domein, maar je koopt een biertje voor me als je dit gebruikt en we ontmoeten elkaar ooit (Beerware-licentie). Dit voorbeeld demonstreert de uitvoer van de basisschaal. Zie de kalibratieschets om de kalibratiefactor voor uw specifieke loadcel-opstelling te krijgen. Deze voorbeeldcode gebruikt de uitstekende bibliotheek van bogde:"https://github.com/bogde/HX711" De bibliotheek van bogde wordt vrijgegeven onder een GNU GENERAL PUBLIC LICENSE De HX711 doet één ding goed: loadcellen lezen. Het breakout board is compatibel met elke op tarwesteen gebaseerde loadcel waarmee een gebruiker alles kan meten, van enkele grammen tot tientallen tonnen. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Het HX711-bord kan worden gevoed van 2,7V tot 5V, dus de Arduino 5V-voeding zou in orde moeten zijn. */ #include "HX711.h" #define Calibration_factor -7050.0 //Deze waarde wordt verkregen met behulp van de SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 schaal; void setup() { Serial.begin(9600); Serial.println ("HX711 schaaldemo"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibratiefactor); //Deze waarde wordt verkregen met behulp van de SparkFun_HX711_Calibration sketch scale.tare(); //Ervan uitgaande dat er bij het opstarten geen gewicht op de weegschaal staat, stelt u de weegschaal opnieuw in op 0 Serial.println ("Lezingen:"); } void loop() { Serial.print("Lezen: "); Serial.print(scale.get_units(), 1); //scale.get_units() retourneert een float Serial.print("lbs"); //U kunt dit wijzigen in kg, maar u moet de kalibratiefactor Serial.println(); }

Aanbevolen: