Indholdsfortegnelse:

Arduino skala med 5 kg vejecelle og HX711 forstærker: 4 trin (med billeder)
Arduino skala med 5 kg vejecelle og HX711 forstærker: 4 trin (med billeder)

Video: Arduino skala med 5 kg vejecelle og HX711 forstærker: 4 trin (med billeder)

Video: Arduino skala med 5 kg vejecelle og HX711 forstærker: 4 trin (med billeder)
Video: hvordan man tester vejecelle med multimeter, vejecelle ledningsforbindelse 2024, Juli
Anonim
Arduino vægt med 5 kg vejecelle og HX711 forstærker
Arduino vægt med 5 kg vejecelle og HX711 forstærker
Arduino vægt med 5 kg vejecelle og HX711 forstærker
Arduino vægt med 5 kg vejecelle og HX711 forstærker

Denne instruktionsbog beskriver, hvordan man laver en lille vejningsvægt ved hjælp af let tilgængelige fra hyldens dele.

Nødvendige materialer:

1. Arduino - dette design bruger en standard Arduino Uno, andre Arduino -versioner eller kloner bør også fungere

2. HX711 på breakout board - Denne mikrochip er specielt fremstillet til at forstærke signalerne fra vejeceller og rapportere dem til en anden mircocontroller. Vejecellerne tilsluttes dette kort, og dette kort fortæller Arduinoen, hvad vejecellerne måler.

3. 5 kg vejecelle - Vejeceller er specielt formede metaldele, der har lim fra målere. Belastningsmålerne er modstande, der ændrer deres modstandskraft, når de er bøjede. Når metaldelen bøjer, ændres belastningscellens modstand (HX711 måler denne lille ændring i modstand nøjagtigt). Du kan købe både HX711 og vejecelle her:

Hvis du køber sættet, bedes du skrive en anmeldelse! Det er virkelig nyttigt for fremtidige købere.

4. Robust flad monteringsflade (x2) - et stift stykke hårdttræ eller metal er ideelt.

5. Ledninger i forskellige farver til tilslutning af alle delene

6. Strømforsyning til Arduino

Trin 1: Monter vejecellen

Monter vejecellen
Monter vejecellen

Først skal vi montere vejecellen. Dit mount vil være unikt, men her er de retningslinjer, du skal følge:

1. Aluminiumsbelastningscellen skal have 4 taphuller og en etiket, der viser kraftens retning. Monter siden uden etiketten til den faste overflade og monter siden med etiketten på den bevægelige overflade. Pilen på den mærkede side skal pege nedad i den retning, platformen bevæger sig, når en belastning påføres.

2. Monteringspladen og den bevægelige plade skal begge være så stive som muligt

3. Sørg for at placere en form for stive afstandsstykker mellem monteringspladerne og vejecellen. Afstande eller skiver fungerer begge godt. Målet er, at enhver kraft, der påføres den bevægelige plade, får vejecellen til at bøje og vride. Uden afstandsstykker ville belastningen blive overført direkte fra den bevægelige plade til den faste plade uden at påvirke vejecellen.

Trin 2: Tilslut vejecellerne og HX711

Tilslut vejecellerne og HX711
Tilslut vejecellerne og HX711

Se ledningsdiagrammet for tilslutning af vejeceller, HX711 og Arduino.

På vejeceller i aluminium er flere spændingsmålere allerede forbundet til en Wheatstone -bro. Alt du skal gøre er at slutte ledningerne til HX711 -kortet i den korrekte retning.

Trin 3: Føj HX711 -bibliotek til din Arduino IDE

HX711 -biblioteket er tilgængeligt her:

Se dette link på Arduino -webstedet for instruktioner om, hvordan du tilføjer biblioteket til din Arduino IDE:

Trin 4: Kalibrer og vej

Kalibrer og vej!
Kalibrer og vej!

Sparkfun har gode Arduino -programmer til at køre skalaen. De mest opdaterede versioner er tilgængelige på GitHub og genoptrykt nedenfor:

Det første softwaretrin er at bestemme kalibreringsfaktorer for skalaen. For at gøre dette skal du køre denne kode:

/*

Eksempel ved brug af SparkFun HX711 breakout board med en skala Af: Nathan Seidle SparkFun Electronics Dato: 19. november 2014 Licens: Denne kode er offentligt domæne, men du køber mig en øl, hvis du bruger dette, og vi mødes en dag (Beerware -licens). Dette er kalibreringsskitsen. Brug den til at bestemme kalibreringsfaktoren, som hovedeksemplet bruger. Det udsender også zero_factor, der er nyttig til projekter, der har en permanent masse på skalaen mellem effektcyklusser. Opsæt din vægt og start skitsen UDEN en vægt på vægten Når aflæsninger vises, skal vægten placeres på vægten Tryk på +/- eller a/z for at justere kalibreringsfaktoren, indtil udlæsningerne svarer til den kendte vægt. Brug denne kalibreringsfaktor på skitsen Dette eksempel antager pund (lbs). Hvis du foretrækker kilogram, skal du ændre Serial.print ("lbs"); linje til kg. Kalibreringsfaktoren vil være væsentligt forskellig, men den vil være lineært relateret til lbs (1 lbs = 0,453592 kg). Din kalibreringsfaktor kan være meget positiv eller meget negativ. Det hele afhænger af opsætningen af dit skala system og den retning, sensorerne afbøjer fra nul -tilstand Denne eksempelkode bruger bogdes fremragende bibliotek: "https://github.com/bogde/HX711" bogdes bibliotek frigives under en GNU GENERAL PUBLIC LICENSE Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Næsten enhver pin på Arduino Uno vil være kompatibel med DOUT/CLK. HX711 -kortet kan drives fra 2,7V til 5V, så Arduino 5V -strømmen skal være fin. */ #inklusiv "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 skala; float kalibrering_faktor = -7050; //-7050 fungerede for min 440lb max skala setup void setup () {Serial.begin (9600); Serial.println ("HX711 kalibreringsskitse"); Serial.println ("Fjern al vægt fra vægten"); Serial.println ("Efter aflæsningerne påbegyndes, placeres kendt vægt på skalaen"); Serial.println ("Tryk på + eller a for at øge kalibreringsfaktoren"); Serial.println ("Tryk på - eller z for at reducere kalibreringsfaktoren"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Nulstil skalaen til 0 lang zero_factor = scale.read_average (); // Få en baseline læsning Serial.print ("Nul faktor:"); // Dette kan bruges til at fjerne behovet for at tarere vægten. Nyttig i permanente projekter. Serial.println (zero_factor); } void loop () {scale.set_scale (calibration_factor); // Juster til denne kalibreringsfaktor Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Skift dette til kg, og juster kalibreringsfaktoren igen, hvis du følger SI-enheder som en fornuftig person Serial.print ("calibration_factor:"); Serial.print (kalibreringsfaktor); Serial.println (); hvis (Serial.available ()) {char temp = Serial.read (); hvis (temp == ' +' || temp == 'a') kalibrering_faktor += 10; ellers hvis (temp == ' -' || temp == 'z') kalibrering_faktor -= 10; }}

Efter kalibrering af skalaen kan du køre dette prøveprogram og derefter hacke det til dine egne formål:

/*

Eksempel ved brug af SparkFun HX711 breakout board med en skala Af: Nathan Seidle SparkFun Electronics Dato: 19. november 2014 Licens: Denne kode er offentligt domæne, men du køber mig en øl, hvis du bruger dette, og vi mødes en dag (Beerware -licens). Dette eksempel viser grundlæggende skala output. Se kalibreringsskitsen for at få kalibreringsfaktoren til din specifikke vejecelleopsætning. Denne eksempelkode bruger bogdes fremragende bibliotek: "https://github.com/bogde/HX711" bogdes bibliotek frigives under en GNU GENERAL PUBLIC LICENSE HX711 gør én ting godt: læs vejeceller. Breakout boardet er kompatibelt med enhver hvede-sten bro baseret vejecelle, som skal gøre det muligt for en bruger at måle alt fra et par gram til titalls tons. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND HX711 kortet kan drives fra 2,7V til 5V, så Arduino 5V strømmen skal være fin. */#include "HX711.h" #define calibration_factor -7050.0 // Denne værdi opnås ved hjælp af SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 skala; ugyldig opsætning () {Serial.begin (9600); Serial.println ("demo i HX711 -skala"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibreringsfaktor); // Denne værdi opnås ved at bruge SparkFun_HX711_Calibration sketch scale.tare (); // Forudsat at der ikke er vægt på vægten ved opstart, skal du nulstille vægten til 0 Serial.println ("Readings:"); } void loop () {Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); //scale.get_units () returnerer en float Serial.print ("lbs"); // Du kan ændre dette til kg, men du skal refaktorere calibration_factor Serial.println (); }

Anbefalede: