Talaan ng mga Nilalaman:

Digital Scale With ESP32: 12 Hakbang
Digital Scale With ESP32: 12 Hakbang

Video: Digital Scale With ESP32: 12 Hakbang

Video: Digital Scale With ESP32: 12 Hakbang
Video: ESP32 Weighing Scale with Load cell & HX711 Module, ESP32 HX711, ESP32 Load Cell, hx711 Calibration 2024, Hulyo
Anonim
Image
Image
Ginamit na Mga Mapagkukunan
Ginamit na Mga Mapagkukunan

Naisip mo ba tungkol sa pag-mount ng isang digital scale gamit ang isang ESP32 at isang sensor (kilala bilang isang load cell)? Ngayon, ipapakita ko sa iyo kung paano ito gawin sa pamamagitan ng isang proseso na nagpapahintulot din sa iba pang mga pagsubok sa laboratoryo, tulad ng pagkilala sa puwersang ginagawa ng isang engine sa isang punto, bukod sa iba pang mga halimbawa.

Ipapakita ko pagkatapos ang ilang mga konsepto na nauugnay sa paggamit ng mga cell ng pag-load, kumuha ng data ng cell upang bumuo ng isang halimbawa ng sukat, at ituro ang iba pang mga posibleng aplikasyon ng mga load cell.

Hakbang 1: Ginamit na Mga Mapagkukunan

• Heltec Lora 32 WiFi ESP

• Mag-load ng cell (0 hanggang 50 na mga newton, gamit ang isang sukat)

• 1 potentiometer na 100k (mas mabuti kung gumamit ka ng isang multivolt trimpot para sa masarap na pagsasaayos)

• 1 Amp Op LM358

• 2 1M5 resistors

• 2 10k resistors

• 1 4k7 risistor

• Mga wire

• Isang Protoboard

• Isang USB cable para sa ESP

• Isang sukat, lalagyan na may dami ng nagtapos, o anumang iba pang paraan ng pagkakalibrate.

Hakbang 2: Pagpapakita

Pagpapakita
Pagpapakita

Hakbang 3: Mag-load ng Mga Cell

Mag-load ng Mga Cell
Mag-load ng Mga Cell

• Ang mga ito ay puwersang transduser.

• Maaari silang gumamit ng iba`t ibang mga pamamaraan upang isalin ang inilapat na puwersa sa isang proporsyonal na lakas na maaaring magamit bilang isang panukala. Kabilang sa mga pinaka-karaniwan ay ang mga gumagamit ng sheet extensometers, ANG epekto ng piezoelectric, mga haydrolika, mga vibrating string, atbp.

• Maaari rin silang maiuri sa pamamagitan ng form ng pagsukat (pag-igting o pag-compress)

Hakbang 4: Mag-load ng Mga Cell at Gauge ng Salin

Mga Load ng Cell at Grain Strain
Mga Load ng Cell at Grain Strain
Mga Load ng Cell at Grain Strain
Mga Load ng Cell at Grain Strain

• Ang mga sheet ng extensometro ay mga pelikula (karaniwang plastik) na may isang naka-print na kawad na may paglaban na maaaring mag-iba sa pagbabago ng laki.

• Pangunahing nilalayon ng konstruksyon nito na baguhin ang isang deformasyong mekanikal sa isang pagkakaiba-iba ng isang lakas na elektrikal (paglaban). Mas mahusay itong nangyayari sa isang solong direksyon, upang maisagawa ang pagsusuri ng sangkap. Para sa mga ito, ang kombinasyon ng maraming mga extensometers ay karaniwan

• Kapag maayos na nakakabit sa isang katawan, ang pagpapapangit nito ay katumbas ng katawan. Samakatuwid, ang paglaban nito ay nag-iiba sa pagpapapangit ng katawan, na siya namang nauugnay sa lakas na nagpapapangit.

• Kilala rin sila bilang mga gauge ng salaan.

• Kapag naunat ng isang puwersa na makunat, ang mga hibla ay pinahaba at makitid, nadaragdagan ang paglaban.

• Kapag na-compress ng isang puwersang nagsisiksik, ang mga wire ay paikliin at lumalawak, binabawasan ang resistensya.

Hakbang 5: Wheatstone Bridge

Wheatstone Bridge
Wheatstone Bridge

• Para sa isang mas tumpak na pagsukat at upang payagan ang mas mahusay na pagtuklas ng pagkakaiba-iba ng paglaban sa isang cell ng pag-load, ang gauge ng pagsukat ay pinagsama sa isang tulay ng Wheatstone.

• Sa pagsasaayos na ito, matutukoy natin ang pagkakaiba-iba ng paglaban sa pamamagitan ng kawalan ng timbang ng tulay.

• Kung R1 = Rx at R2 = R3, ang mga divider ng boltahe ay magiging pantay, at ang voltages Vc at Vb ay magiging pantay din, na may tulay sa balanse. Iyon ay, Vbc = 0V;

• Kung ang Rx ay iba sa R1, ang tulay ay hindi magiging balanse at ang boltahe Vbc ay magiging nonzero.

• Posibleng ipakita kung paano dapat mangyari ang pagkakaiba-iba na ito, ngunit dito, gagawa kami ng isang direktang pagkakalibrate, na nauugnay ang halagang binasa sa ADC sa isang masa na inilapat sa load cell.

Hakbang 6: Paglaki

Paglaki
Paglaki

• Kahit na ang paggamit ng tulay ng Wheatstone upang gawing mas mahusay ang pagbabasa, ang mga micro deformation sa metal ng load cell ay gumagawa ng maliliit na pagkakaiba-iba ng boltahe sa pagitan ng Vbc.

• Upang malutas ang sitwasyong ito, gagamit kami ng dalawang yugto ng amplification. Isa upang matukoy ang pagkakaiba at isa pa upang tumugma sa halagang nakuha sa ADC ng ESP.

Hakbang 7: Paglaki (scheme)

Paglaki (scheme)
Paglaki (scheme)

• Ang nakuha ng hakbang sa pagbawas ay ibinibigay ng R6 / R5 at kapareho ng R7 / R8.

• Ang pagkakaroon ng pangwakas na hakbang na hindi nag-iikot ay ibinibigay ng Pot / R10

Hakbang 8: Koleksyon ng Data para sa Pagkakalibrate

Koleksyon ng Data para sa Pagkakalibrate
Koleksyon ng Data para sa Pagkakalibrate
Koleksyon ng Data para sa Pagkakalibrate
Koleksyon ng Data para sa Pagkakalibrate

• Kapag naipon, itinakda namin ang pangwakas na kita upang ang halaga ng pinakamalaking sinusukat na masa ay malapit sa maximum na halaga ng ADC. Sa kasong ito, para sa 2kg na inilapat sa cell, ang output boltahe ay nasa paligid ng 3V3.

• Susunod, binabago namin ang inilapat na masa (kilala sa pamamagitan ng isang balanse at para sa bawat halaga), at naiugnay namin ang isang LEITUR ng ADC, na kinukuha ang susunod na talahanayan.

Hakbang 9: Pagkuha ng Kaugnayan ng Pag-andar sa Pagitan ng Nasukat na Masa at ang Halaga ng ADC na Nakuha

Pagkuha ng Kaugnayan ng Pag-andar sa Pagitan ng Nasukat na Masa at ang Halaga ng ADC na Nakuha
Pagkuha ng Kaugnayan ng Pag-andar sa Pagitan ng Nasukat na Masa at ang Halaga ng ADC na Nakuha

Ginagamit namin ang software ng PolySolve upang makakuha ng isang polynomial na kumakatawan sa ugnayan sa pagitan ng masa at ng halaga ng ADC.

Hakbang 10: Source Code

Source Code - #Kasama

Ngayon na mayroon kaming kung paano makukuha ang mga sukat at malaman ang ugnayan sa pagitan ng ADC at ng inilapat na masa, maaari tayong magpatuloy sa talagang pagsulat ng software.

// Bibliotecas para utilização do display oLED # isama // Kailangan ng mga apenas para sa Arduino 1.6.5 at nauuna # isama ang "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

Source code - #Mga Tukoy

// Os pinos do OLED estão conectados ao ESP32 pelos seguintes GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software

Pinagmulan - Mga Global Variable at Constants

Ipakita ang SSD1306 (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; // número de amostras coletadas para a média const int pin = 13; // pino de leitura

Source Code - Pag-setup ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // iniciando a serial // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

Source Code - Loop ()

void loop () {float medidas = 0.0; // variável para manipular as medidas float massa = 0.0; // variável para armazenar o valor da massa // inicia a coleta de amostras do ADC for (int i = 0; i (5000)) // se está ligado a mais que 5 segundos {// Envia um CSV contendo o instante, a medida média do ADC e o valor em gramas // para a Serial. Serial.print (millis () / 1000.0, 0); // instante em segundos Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Serial.println ((massa), 1); // massa em gramas // Escreve no buffer do display display.clear (); // Limpa o buffer do display // ajusta o alinhamento para sa isang esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer do display a massa display.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // escreve no buffer o valor do ADC display.drawString (0, 30, "ADC:" + String (int (medidas))); } iba // se está ligado a menos de 5 segundos {display.clear (); // limpa o buffer do display display.setTextAlignment (TEXT_ALIGN_LEFT); // Ajusta o alinhamento para sa isang esquerda display.setFont (ArialMT_Plain_24); // ajusta a fonte para Arial 24 display.drawString (0, 0, "Balança"); // escreve no buffer display.setFont (ArialMT_Plain_16); // Ajusta a fonte para sa Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // transfere o buffer para o display delay (50); }

Source Code - Pag-andar ng calcululaMassa ()

// função para cálculo da massa obtida pela regressão // usando oPolySolve float calculaMassa (float medida) {return -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * medida + -3.748108838320e medida * medida * medida + 1.796252359323e-10 * medida * medida * medida * medida + -3.995722708150e-14 * medida * medida * medida * medida * medida + 3.284692453344e-18 * medida * medida * medida * medida * medida * medida; }

Hakbang 11: Simula at Pagsukat

Pagsisimula at Pagsukat
Pagsisimula at Pagsukat

Hakbang 12: Mga File

I-download ang mga file

INO

PDF

Inirerekumendang: