Sisällysluettelo:

Arduino -asteikko 5 kg: n punnituskennolla ja HX711 -vahvistimella: 4 vaihetta (kuvilla)
Arduino -asteikko 5 kg: n punnituskennolla ja HX711 -vahvistimella: 4 vaihetta (kuvilla)

Video: Arduino -asteikko 5 kg: n punnituskennolla ja HX711 -vahvistimella: 4 vaihetta (kuvilla)

Video: Arduino -asteikko 5 kg: n punnituskennolla ja HX711 -vahvistimella: 4 vaihetta (kuvilla)
Video: DIY Electronic Scale | 5kg Digital Arduino Scale | Best Arduino Projects | PVC Ideas 2024, Heinäkuu
Anonim
Arduino -vaaka 5 kg: n punnituskennolla ja HX711 -vahvistimella
Arduino -vaaka 5 kg: n punnituskennolla ja HX711 -vahvistimella
Arduino -vaaka 5 kg: n punnituskennolla ja HX711 -vahvistimella
Arduino -vaaka 5 kg: n punnituskennolla ja HX711 -vahvistimella

Tässä oppaassa kuvataan, kuinka tehdä pieni vaaka käyttämällä helposti saatavilla olevia hyllyosia.

Tarvittavat materiaalit:

1. Arduino - tämä malli käyttää standardia Arduino Unoa, muiden Arduino -versioiden tai kloonien pitäisi toimia myös

2. HX711 murtokortilla - Tämä mikrosiru on suunniteltu erityisesti vahvistamaan punnituskennojen signaaleja ja raportoimaan ne toiselle peilikontrollerille. Punnituskennot kytketään tähän korttiin, ja tämä kortti kertoo Arduinolle, mitä punnituskennot mittaavat.

3. 5 kg: n punnituskenno - Punnituskennot ovat erikoismuotoiltuja metalliosia, joihin on kiinnitetty venymämittarit. Venymittarit ovat vastuksia, jotka muuttavat resitanssiaan taipuessaan. Kun metalliosa taipuu, punnituskennon vastus muuttuu (HX711 mittaa tämän pienen vastuksen muutoksen tarkasti). Voit ostaa sekä HX711: n että kuormituskennon täältä:

Jos ostat sarjan, jätä arvostelu! Se on todella hyödyllinen tuleville ostajille.

4. Tukeva tasainen asennuspinta (x2) - jäykkä lehtipuu tai metalli on ihanteellinen.

5. Johdot eri väreissä kaikkien osien liittämiseksi

6. Virtalähde Arduinolle

Vaihe 1: Asenna punnituskenno

Asenna punnituskenno
Asenna punnituskenno

Ensin aiomme asentaa punnituskennon. Kiinnityksesi on ainutlaatuinen, mutta tässä on noudatettava ohjeita:

1. Alumiinisessa punnituskennossa tulee olla 4 kierteistä reikää ja tarra, joka osoittaa voiman suunnan. Merkityn puolen nuolen tulee osoittaa alaspäin siihen suuntaan, jolla lava liikkuu kuormitettaessa.

2. Asennuslevyn ja liikkuvan levyn tulee olla mahdollisimman jäykkiä

3. Varmista, että kiinnität jonkinlaisia jäykkiä välikappaleita asennuslevyjen ja punnituskennon väliin. Sekä seisokit että pesurit toimivat molemmat hyvin. Tavoitteena on, että liikkuvaan levyyn kohdistuva voima saa punnituskennon taipumaan ja kiertymään. Ilman välikappaleita kuorma siirtyisi suoraan liikkuvalta levyltä kiinteälle levylle vaikuttamatta punnituskennoon.

Vaihe 2: Kytke punnituskennot ja HX711

Johda kuormituskennot ja HX711
Johda kuormituskennot ja HX711

Katso kytkentäkaaviosta, miten kuormituskennot, HX711 ja Arduino liitetään.

Alumiinikuormakennoissa useat jännitysmittarit on jo kytketty yhteen Wheatstonen siltaa varten. Sinun tarvitsee vain kytkeä johdot HX711 -korttiin oikeassa suunnassa.

Vaihe 3: Lisää HX711 -kirjasto Arduino IDE -laitteeseesi

HX711 -kirjasto on saatavana täältä:

Katso tästä linkistä Arduinon verkkosivustolla ohjeet kirjaston lisäämiseen Arduino IDE -laitteeseesi:

Vaihe 4: Kalibroi ja punnitse

Kalibroi ja punnitse!
Kalibroi ja punnitse!

Sparkfunilla on suuria Arduino -ohjelmia mittakaavan suorittamiseen. Uusimmat versiot ovat saatavilla GitHubissa ja painetaan uudelleen alla:

Ensimmäinen ohjelmistovaihe on asteikon kalibrointikertoimien määrittäminen. Voit tehdä tämän suorittamalla tämän koodin:

/*

Esimerkki SparkFun HX711 -katkaisulaudan käyttämisestä asteikolla Tekijä: Nathan Seidle SparkFun Electronics Päivämäärä: 19. marraskuuta 2014 Lisenssi: Tämä koodi on julkinen, mutta ostat minulle oluen, jos käytät tätä ja tapaamme jonain päivänä (Beerware -lisenssi). Tämä on kalibrointiluonnos. Sen avulla voit määrittää kalibrointikertoimen, jota pääesimerkki käyttää. Se antaa myös nollatekijän, joka on hyödyllinen projekteille, joilla on pysyvä massa asteikolla tehosyklien välillä. Määritä vaaka ja aloita luonnos ILMAN mittakaavan painoa Kun lukemat on näytetty, aseta paino asteikolle Paina +/- tai a/z säätääksesi kalibrointikerrointa, kunnes tulolukemat vastaavat tunnettua painoa Käytä tätä kalibrointikerrointa esimerkkiluonnoksessa Tässä esimerkissä oletetaan kiloa (lbs). Jos haluat mieluummin kilogrammoja, muuta Serial.print ("lbs"); rivi kiloon. Kalibrointikerroin on merkittävästi erilainen, mutta se liittyy lineaarisesti kiloon (1 pauna = 0,453592 kg). Kalibrointikerroin voi olla erittäin positiivinen tai erittäin negatiivinen. Kaikki riippuu mittakaavajärjestelmäsi asennuksesta ja suunnasta, jonka anturit poikkeavat nollasta. Tämä esimerkkikoodi käyttää bogden erinomaista kirjastoa: "https://github.com/bogde/HX711" bogden kirjasto on julkaistu GNU GENERAL JULKISEN LISENSSIN mukaisesti Arduino -nasta 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Useimmat Arduino Unon nastat ovat yhteensopivia DOUT/CLK: n kanssa. HX711 -korttia voidaan käyttää 2,7 V: sta 5 V: een, joten Arduinon 5 V: n virran pitäisi olla kunnossa. */ #sisällytä "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 asteikko; float calibration_factor = -7050; //-7050 toimi 440 lb: n enimmäisasteikon määrityksessä void setup () {Serial.begin (9600); Serial.println ("HX711 -kalibrointiluonnos"); Serial.println ("Poista kaikki paino vaa'asta"); Serial.println ("Kun lukemat alkavat, aseta tunnettu paino asteikolle"); Serial.println ("Paina + tai a lisätäksesi kalibrointikerrointa"); Serial.println ("Paina - tai z pienentääksesi kalibrointikerrointa"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Palauta asteikko arvoon 0 long zero_factor = scale.read_average (); // Hanki peruslukema Serial.print ("Zero factor:"); // Tätä voidaan käyttää poistamaan asteikon tarrauksen tarve. Hyödyllinen pysyvissä projekteissa. Sarja.println (nollatekijä); } void loop () {scale.set_scale (calibration_factor); // Säädä tähän kalibrointikertoimeen Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Muuta tämä arvoksi kg ja säädä kalibrointikerroin uudelleen, jos seuraat SI-yksiköitä, kuten järkevä henkilö Serial.print ("calibration_factor:"); Sarjajälki (kalibrointitekijä); Sarja.println (); if (Serial.available ()) {char temp = Serial.read (); if (temp == ' +' || temp == 'a') calibration_factor += 10; else if (temp == ' -' || temp == 'z') calibration_factor -= 10; }}

Kalibroinnin jälkeen voit suorittaa tämän näyteohjelman ja hakata sen omiin tarkoituksiisi:

/*

Esimerkki SparkFun HX711 -katkaisulaudan käyttämisestä asteikolla Tekijä: Nathan Seidle SparkFun Electronics Päivämäärä: 19. marraskuuta 2014 Lisenssi: Tämä koodi on julkinen, mutta ostat minulle oluen, jos käytät tätä ja tapaamme jonain päivänä (Beerware -lisenssi). Tämä esimerkki osoittaa perusasteikon. Katso kalibrointiluonnos saadaksesi kalibrointikertoimen tiettyyn punnituskennoasetukseen. Tässä esimerkkikoodissa käytetään bogden erinomaista kirjastoa: "https://github.com/bogde/HX711" bogden kirjasto julkaistaan GNU GENERAL JULKISEN LISENSSIN alaisena HX711 tekee yhden asian hyvin: lukee kuormituskennot. Murtolevy on yhteensopiva minkä tahansa vehnäkivisiltaan perustuvan punnituskennon kanssa, jonka avulla käyttäjä voi mitata kaiken muutamasta grammasta kymmeniin tonneihin. Arduino -nasta 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND HX711 -korttia voidaan käyttää 2,7 V: sta 5 V: een, joten Arduino 5 V: n virran pitäisi olla kunnossa. */#include "HX711.h" #define calibration_factor -7050.0 // Tämä arvo saadaan käyttämällä SparkFun_HX711_Calibration -luonnosta #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711; void setup () {Serial.begin (9600); Serial.println ("HX711 -asteikon esittely"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibrointitekijä); // Tämä arvo saadaan käyttämällä SparkFun_HX711_Calibration sketch scale.tare (); // Olettaen, että asteikolla ei ole painoa käynnistyksen yhteydessä, nollaa asteikko arvoon 0 Serial.println ("Lukemat:"); } void loop () {Serial.print ("Lukeminen:"); Serial.print (scale.get_units (), 1); //scale.get_units () palauttaa kelluvan Serial.print ("lbs"); // Voit muuttaa tämän arvoksi kg, mutta sinun on määritettävä uudelleen kalibrointitekijä Serial.println (); }

Suositeltava: