Talaan ng mga Nilalaman:

Scale ng Banyo ng Arduino Sa 50 Kg Load Cells at HX711 Amplifier: 5 Hakbang (na may Mga Larawan)
Scale ng Banyo ng Arduino Sa 50 Kg Load Cells at HX711 Amplifier: 5 Hakbang (na may Mga Larawan)

Video: Scale ng Banyo ng Arduino Sa 50 Kg Load Cells at HX711 Amplifier: 5 Hakbang (na may Mga Larawan)

Video: Scale ng Banyo ng Arduino Sa 50 Kg Load Cells at HX711 Amplifier: 5 Hakbang (na may Mga Larawan)
Video: how to make mini hydraulic system 2024, Nobyembre
Anonim
Scale ng Banyo ng Arduino Na May 50 Kg Load Cells at HX711 Amplifier
Scale ng Banyo ng Arduino Na May 50 Kg Load Cells at HX711 Amplifier
Scale ng Banyo ng Arduino Na May 50 Kg Load Cells at HX711 Amplifier
Scale ng Banyo ng Arduino Na May 50 Kg Load Cells at HX711 Amplifier

Inilalarawan ng Tagapagturo na ito kung paano gumawa ng isang scale ng pagtimbang gamit ang kaagad na magagamit mula sa mga bahagi ng istante.

Mga materyal na kinakailangan:

  1. Arduino - (ang disenyo na ito ay gumagamit ng isang karaniwang Arduino Uno, iba pang mga bersyon o clone ng Arduino ay dapat ding gumana)
  2. HX711 sa breakout board - Ang microchip na ito ay espesyal na ginawa para sa pagpapalakas ng mga signal mula sa mga cell ng pag-load at pag-uulat sa kanila sa isa pang mircocontroller. Ang mga cell ng pag-load ay naka-plug sa board na ito, at ang board na ito ay nagsasabi sa Arduino kung ano ang sinusukat ng mga load cells.
  3. 50kg load cells (x4) - Ang mga cell ng pag-load ay espesyal na hugis ng mga bahagi ng metal na may mga kola ng gauge ng sala sa kanila. Ang mga gauge ng salaan ay resistors na nagbabago ng kanilang resitance kapag sila ay baluktot. Kapag ang baluktot na bahagi ng metal, ang paglaban ng load cell ay nagbabago (ang HX711 ay sumusukat sa maliit na pagbabago na ito sa paglaban). Maaari kang bumili ng mga cell ng pag-load at HX711 bilang isang kit dito: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Kung bibili ka ng kit mangyaring mag-iwan ng isang pagsusuri! Ito ay talagang kapaki-pakinabang para sa mga mamimili sa hinaharap.
  4. Matatag na flat mounting ibabaw - isang matigas na piraso ng hardwood o metal ang perpekto
  5. Mga wire sa iba't ibang mga kulay para sa pagkonekta sa lahat ng mga bahagi
  6. Suplay ng kuryente para sa Arduino

Hakbang 1: I-mount ang Mga Load Cell

I-mount ang Mga Cell Load
I-mount ang Mga Cell Load
I-mount ang Mga Cell Load
I-mount ang Mga Cell Load

I-mount ang 4 na mga cell ng pag-load sa ilalim ng sukatan sa apat na sulok. Gumagana ang Epoxy nang maayos upang mapigilan ang mga ito sa lugar. Tingnan ang mounting diagram, ipinapakita nito kung aling ibabaw ang dapat na mai-mount sa base at kung aling ibabaw ang dapat hawakan sa sahig.

Hakbang 2: I-verify ang Mga Kable ng Cell ng Load

Patunayan ang Mga Kable ng Cell ng Load
Patunayan ang Mga Kable ng Cell ng Load

Ang diagram ng mga kable ay ginawa sa pag-aakalang ang load cell ay itinayo tulad ng larawang ito.

Upang matiyak na tama ang nakuha mo, siguraduhing alamin kung aling dalawang mga terminal sa mga cell ng pag-load ang may pinakamataas na paglaban sa pagitan nila (Hal Black at White, upang maitugma ang eskematiko), i-wire ang mga ito sa isang malaking loop ng pagtutugma ng kulay, tulad ng BB WW BB WW at pagkatapos ay maganyak (E + / E-) dalawang magkabaligtad na mga tapikin sa gitna (R) at pakiramdam (A + / A-) sa iba pang pares ng mga center tap.

Ang pahinang ito sa Sackexchange ay may mas mahusay na impormasyon:

Hakbang 3: Wire the Load Cells at HX711

Wire the Load Cells at HX711
Wire the Load Cells at HX711
Wire the Load Cells at HX711
Wire the Load Cells at HX711
Wire the Load Cells at HX711
Wire the Load Cells at HX711

Tingnan ang diagram ng mga kable kung paano ikonekta ang mga cell ng pag-load, HX711, at Arduino.

Ang ilan sa mga wire ng load cell ay konektado magkasama upang mabuo ang tinatawag na isang pag-aayos ng tulay ng Wheatstone. Maaari itong makakuha ng isang maliit na nakalilito. Ang isang mahusay na pagpipilian para sa pagkonekta ng lahat ng mga cell ng pag-load sa isang malinis, madaling maunawaan na paraan ay ang SparkFun load cell combinator board -

Pinapayagan ng pag-aayos na ito ang mga pag-load sa lahat ng iba't ibang mga sensor ng load cell na pagsamahin at sukatin nang sabay-sabay.

Hakbang 4: Idagdag ang HX711 Library sa Iyong Arduino IDE

Magagamit ang library ng HX711 dito:

Tingnan ang link na ito sa website ng Arduino para sa mga tagubilin sa kung paano idagdag ang library sa iyong Arduino IDE:

Hakbang 5: I-calibrate at Timbangin

Ang Sparkfun ay may mahusay na mga programa ng Arduino upang patakbuhin ang sukat. Ang pinaka-hanggang-ngayon na mga bersyon ay magagamit sa GitHub at muling nai-print sa ibaba:

Ang unang hakbang sa software ay upang matukoy ang mga kadahilanan ng pagkakalibrate para sa sukatan. Upang magawa ito, patakbuhin ang code na ito:

/*

Halimbawa ng paggamit ng SparkFun HX711 breakout board na may sukat Ni: Nathan Seidle SparkFun Electronics Petsa: Nobyembre 19, 2014 Lisensya: Ang code na ito ay pampublikong domain ngunit binilhan mo ako ng isang beer kung gagamitin mo ito at magkikita kami balang araw (Lisensya ng Beerware). Ito ang sketch ng pagkakalibrate. Gamitin ito upang matukoy ang calibration_factor na ginagamit ng pangunahing halimbawa. Naglabas din ito ng kapaki-pakinabang na zero_factor para sa mga proyekto na may permanenteng masa sa sukat sa pagitan ng mga power cycle. I-set up ang iyong sukat at simulan ang sketch NA WALANG timbang sa sukatan Kapag ipinakita ang mga pagbasa ilagay ang bigat sa sukat Pindutin ang +/- o a / z upang ayusin ang calibration_factor hanggang sa ang mga pagbabasa ng output ay tumutugma sa kilalang timbang Gamitin ang calibration_factor na ito sa halimbawa ng sketch Ipinapalagay ng halimbawang ito ang pounds (lbs). Kung mas gusto mo ang mga kilo, palitan ang Serial.print ("lbs"); linya sa kg. Ang kadahilanan ng pagkakalibrate ay magkakaiba-iba ngunit magkakaiba ito sa lbs (1 lbs = 0.453592 kg). Ang iyong kadahilanan sa pagkakalibrate ay maaaring maging napaka positibo o napaka-negatibo. Ang lahat ay nakasalalay sa pag-set up ng iyong scale system at ang direksyon ng mga sensor na lumihis mula sa zero state Ang halimbawang code na ito ay gumagamit ng mahusay na library ng bogde: "https://github.com/bogde/HX711" ang library ni bogde ay inilabas sa ilalim ng isang GNU GENERAL PUBLIC LICENSE Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Karamihan sa anumang mga pin sa Arduino Uno ay magiging katugma sa DOUT / CLK. Ang board ng HX711 ay maaaring pinalakas mula sa 2.7V hanggang 5V kaya ang lakas na Arduino 5V ay dapat na maayos. * / # isama ang "HX711.h" # tukuyin ang LOADCELL_DOUT_PIN 3 # tukuyin ang LOADCELL_SCK_PIN 2 HX711 scale; float calibration_factor = -7050; // - 7050 nagtrabaho para sa aking 440lb max scale setup void setup () {Serial.begin (9600); Serial.println ("HX711 calibration sketch"); Serial.println ("Alisin ang lahat ng timbang mula sa sukat"); Serial.println ("Pagkatapos magsimula ng pagbabasa, ilagay ang kilalang timbang sa sukat"); Serial.println ("Pindutin ang + o isang upang madagdagan ang kadahilanan ng pagkakalibrate"); Serial.println ("Pindutin - o z upang bawasan ang kadahilanan ng pagkakalibrate"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); sukat.tare (); // Reset the scale to 0 long zero_factor = scale.read_average (); // Kumuha ng baseline na binabasa ang Serial.print ("Zero factor:"); // Maaari itong magamit upang alisin ang pangangailangan na mapunit ang sukatan. Kapaki-pakinabang sa mga permanenteng proyekto sa scale. Serial.println (zero_factor); } void loop () {scale.set_scale (calibration_factor); // Adjust to this calibration factor Serial.print ("Pagbasa:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Baguhin ito sa kg at ayusin muli ang kadahilanan ng pagkakalibrate kung susundin mo ang mga yunit ng SI tulad ng isang taong may pag-iisip Serial.print ("calibration_factor:"); Serial.print (calibration_factor); Serial.println (); kung (Serial.available ()) {char temp = Serial.read (); kung (temp == '+' || temp == 'a') pagkakalibrate_factor + = 10; kung hindi man kung (temp == '-' || temp == 'z') pagkakalibrate_factor - = 10; }}

Matapos i-calibrate ang sukat, maaari mong patakbuhin ang sample na program na ito, pagkatapos ay i-hack ito para sa iyong sariling mga layunin:

/*

Halimbawa ng paggamit ng SparkFun HX711 breakout board na may sukat Ni: Nathan Seidle SparkFun Electronics Petsa: Nobyembre 19, 2014 Lisensya: Ang code na ito ay pampublikong domain ngunit binilhan mo ako ng isang beer kung gagamitin mo ito at magkikita kami balang araw (Lisensya ng Beerware). Ipinapakita ng halimbawang ito ang pangunahing output ng sukat. Tingnan ang sketch ng pagkakalibrate upang makuha ang calibration_factor para sa iyong tukoy na pag-set up ng cell. Ang halimbawang code na ito ay gumagamit ng mahusay na silid-aklatan ng bogde: "https://github.com/bogde/HX711" ang library ni bogde ay inilabas sa ilalim ng isang GNU GENERAL PUBLIC LICENSE Ang HX711 ay may mahusay na ginagawa: basahin ang mga load cell. Ang breakout board ay katugma sa anumang cell na batay sa load-trigo na tulay na bato na dapat payagan ang isang gumagamit na sukatin ang lahat mula sa ilang gramo hanggang sa sampu ng tonelada. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Ang HX711 board ay maaaring pinalakas mula sa 2.7V hanggang 5V kaya dapat na maayos ang lakas ng Arduino 5V. * / # isama ang "HX711.h" # tukuyin ang calibration_factor -7050.0 // Ang halagang ito ay nakuha gamit ang SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 # tukuyin ang scale ng LOADCELL_SCK_PIN 2 HX711 scale; void setup () {Serial.begin (9600); Serial.println ("HX711 scale demo"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (calibration_factor); // Ang halagang ito ay nakuha sa pamamagitan ng paggamit ng SparkFun_HX711_Calibration sketch scale.tare (); // Ipagpalagay na walang timbang sa sukatan sa pagsisimula, i-reset ang sukat sa 0 Serial.println ("Mga Pagbasa:"); } void loop () {Serial.print ("Pagbasa:"); Serial.print (scale.get_units (), 1); //scale.get_units () nagbabalik ng isang float Serial.print ("lbs"); // Maaari mong baguhin ito sa kg ngunit kailangan mong refactor ang calibration_factor Serial.println (); }

Inirerekumendang: