Turinys:
- 1 žingsnis: naudojami ištekliai
- 2 žingsnis: demonstracija
- 3 žingsnis: įkelkite langelius
- 4 žingsnis: įkelkite elementus ir įtempimo matuoklius
- 5 žingsnis: Wheatstone tiltas
- 6 žingsnis: stiprinimas
- 7 žingsnis: stiprinimas (schema)
- 8 veiksmas: duomenų rinkimas kalibravimui
- 9 veiksmas: funkcinio ryšio tarp išmatuotos masės ir gautos ADC vertės gavimas
- 10 veiksmas: šaltinio kodas
- 11 veiksmas: paleidimas ir matavimas
- 12 žingsnis: failai
Video: Skaitmeninė skalė su ESP32: 12 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Ar kada pagalvojote apie skaitmeninės svarstyklės montavimą naudojant ESP32 ir jutiklį (žinomą kaip apkrovos matuoklis)? Šiandien aš, be kitų pavyzdžių, parodysiu, kaip tai padaryti naudojant procesą, kuris taip pat leidžia atlikti kitus laboratorinius tyrimus, pvz., Nustatyti variklio atliekamą jėgą.
Tada aš parodysiu kai kurias sąvokas, susijusias su apkrovos elementų naudojimu, užfiksuosiu ląstelių duomenis, kad sukurtume pavyzdinę skalę, ir nurodysiu kitas galimas apkrovos elementų taikymo sritis.
1 žingsnis: naudojami ištekliai
• „Heltec Lora 32 WiFi ESP“
• Įkelti langelį (nuo 0 iki 50 niutonų, naudojant skalę)
• 1 100k potenciometras (geriau, jei tiksliam reguliavimui naudojate kelių voltų trimpą)
• 1 stiprintuvas LM358
• 2 1M5 rezistoriai
• 2 10k rezistoriai
• 1 4k7 rezistorius
• Laidai
• Protoboard
• USB kabelis ESP
• Svarstyklės, indas su graduotu tūriu arba bet koks kitas kalibravimo metodas.
2 žingsnis: demonstracija
3 žingsnis: įkelkite langelius
• Jie yra jėgos keitikliai.
• Jie gali naudoti įvairius metodus, kad pritaikytą jėgą paverstų proporcingu dydžiu, kuris gali būti naudojamas kaip matas. Tarp labiausiai paplitusių yra tie, kurie naudoja lakštinius ekstensometrus, Pjezoelektrinį efektą, hidrauliką, vibruojančias stygas ir kt.
• Jie taip pat gali būti klasifikuojami pagal matavimo formą (įtempimas ar suspaudimas)
4 žingsnis: įkelkite elementus ir įtempimo matuoklius
• Lakštų ekstensometrai yra plėvelės (dažniausiai plastikinės) su atspausdinta viela, kurių atsparumas gali kisti keičiantis jų dydžiui.
• Jo konstrukcija daugiausia skirta mechaninę deformaciją paversti elektrinio dydžio (pasipriešinimo) variacija. Pageidautina, kad tai įvyktų viena kryptimi, kad būtų galima įvertinti komponentus. Tam dažniausiai naudojamas kelių ekstensometrų derinys
• Tinkamai pritvirtinus prie kūno, jo deformacija yra lygi kūno deformacijai. Taigi jo atsparumas kinta priklausomai nuo kūno deformacijos, o tai savo ruožtu yra susijusi su deformuojančia jėga.
• Jie taip pat žinomi kaip įtempimo matuokliai.
• Tempiant jėga, sruogos pailgėja ir susiaurėja, todėl padidėja pasipriešinimas.
• Suspaudžiant suspaudimo jėga, laidai sutrumpėja ir išsiplečia, sumažėja pasipriešinimas.
5 žingsnis: Wheatstone tiltas
• Siekiant tiksliau išmatuoti ir efektyviau aptikti apkrovos elemento pasipriešinimo kitimą, įtempimo matuoklis surenkamas į Wheatstone tiltą.
• Šioje konfigūracijoje mes galime nustatyti pasipriešinimo kitimą per tilto disbalansą.
• Jei R1 = Rx ir R2 = R3, įtampos dalikliai bus lygūs, o įtampos Vc ir Vb taip pat bus lygios, kai tiltas yra pusiausvyros būsenoje. Tai yra, Vbc = 0V;
• Jei Rx yra kitoks nei R1, tiltas bus nesubalansuotas, o įtampa Vbc bus lygi nuliui.
• Galima parodyti, kaip turėtų atsirasti šis kitimas, tačiau čia mes atliksime tiesioginį kalibravimą, susiedami ADC nuskaitytą vertę su apkrovos elementui pritaikyta mase.
6 žingsnis: stiprinimas
• Net naudojant „Wheatstone“tiltą, kad skaitymas būtų veiksmingesnis, apkrovos elemento metalo mikro deformacijos sukelia nedidelius įtampos skirtumus tarp Vbc.
• Norėdami išspręsti šią situaciją, naudosime du stiprinimo etapus. Vienas - skirtumui nustatyti, kitas - atitikti gautą vertę pagal ESP ADC.
7 žingsnis: stiprinimas (schema)
• Atimties žingsnio padidėjimas yra R6 / R5 ir yra toks pat kaip R7 / R8.
• Neapverčiamo paskutinio žingsnio padidėjimą suteikia Pot / R10
8 veiksmas: duomenų rinkimas kalibravimui
• Surinkę galutinį stiprinimą nustatome taip, kad didžiausios išmatuotos masės vertė būtų artima maksimaliai ADC vertei. Šiuo atveju, kai ląstelėje buvo 2 kg, išėjimo įtampa buvo apie 3 V3.
• Tada mes keičiame taikomą masę (žinomą pagal balansą ir kiekvienai vertei) ir susiejame ADC LEITUR, gaudami kitą lentelę.
9 veiksmas: funkcinio ryšio tarp išmatuotos masės ir gautos ADC vertės gavimas
Mes naudojame „PolySolve“programinę įrangą, kad gautume polinomą, vaizduojantį ryšį tarp masės ir ADC vertės.
10 veiksmas: šaltinio kodas
Šaltinio kodas - #Includes
Dabar, kai žinome, kaip gauti matavimus ir žinome ryšį tarp ADC ir taikomos masės, galime pereiti prie programinės įrangos rašymo.
// Bibliotecas para utilização do display oLED #include // Necessário apenas para o Arduino 1.6.5 e anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"
Šaltinio kodas - #Defines
// OS pinos do OLED est cono contoados 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 pagal programinę įrangą
Šaltinis - visuotiniai kintamieji ir konstantos
SSD1306 ekranas (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
Šaltinio kodas - sąranka ()
void setup () {pinMode (PIN, INPUT); // pino de leitura analógica Serial.begin (115200); // inicijuoti serijinį // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}
Šaltinio kodas - ciklas ()
void loop () {float medidas = 0.0; // vará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
Šaltinio kodas - Funkcijos skaičiuoklėMassa ()
// 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.74810883 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; }
11 veiksmas: paleidimas ir matavimas
12 žingsnis: failai
Atsisiųskite failus
AŠ NE
Rekomenduojamas:
„Pasidaryk pats“vaizdo jutiklis ir skaitmeninė kamera: 14 žingsnių (su nuotraukomis)
„Pasidaryk pats“vaizdo jutiklis ir skaitmeninis fotoaparatas: internete yra daug pamokų apie savo filmavimo kameros kūrimą, tačiau nemanau, kad yra tokių, kaip sukurti savo vaizdo jutiklį! Vaizdo jutikliai yra prieinami iš daugelio bendrovių internete, o juos naudojant būtų galima projektuoti
„Raspberry Pi“išmanioji skalė: 10 žingsnių (su nuotraukomis)
„Raspberry Pi Smart Scale“: ar pavargai kiekvieną rytą žiūrėti į tą nuobodžią, seną, blogų naujienų vonios svarstyklę? Tas, kurį dažnai sakai „Aš tavęs nekenčiu“. Tau, kaip ir kiekvieną kartą, kai žengi ant jo. Kodėl niekas nesukūrė svarstyklių, kurios iš tikrųjų yra įdomios ar motyvuojančios naudoti? Tai
„Pasidaryk pats“išmanioji skalė su žadintuvu (su „Wi-Fi“, ESP8266, „Arduino IDE“ir „Adafruit.io“): 10 žingsnių (su nuotraukomis)
„Pasidaryk pats“išmaniosios svarstyklės su žadintuvu (su „Wi-Fi“, ESP8266, „Arduino IDE“ir „Adafruit.io“): Ankstesniame projekte sukūriau išmaniąją vonios svarstyklę su „Wi-Fi“. Jis gali išmatuoti vartotojo svorį, rodyti jį vietoje ir nusiųsti į debesį. Daugiau informacijos apie tai galite rasti žemiau esančioje nuorodoje: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
„Arduino“sukurta skaitmeninė SAFE BOX: 10 žingsnių
„Arduino“sukurta skaitmeninė saugi dėžutė: Ei, vaikinai! Ar turite ką nors, ką norite saugiai laikyti? Kažkas, ko reikia saugoti nuo nepageidaujamų įsibrovėlių ir privatumo įsibrovėlių? Na, aš turiu jūsų problemos sprendimą! Štai „Arduino“pagrindu sukurta užrakto seifas
„JustAPendulum“: atviro kodo skaitmeninė švytuoklė: 13 žingsnių
„JustAPendulum“: atviro kodo skaitmeninė švytuoklė: „JustAPendulum“yra „Arduino“pagrindu sukurta atvirojo kodo švytuoklė, kuri matuoja ir apskaičiuoja svyravimo periodą, kad nustatytų Žemės gravitacinį pagreitį (~ 9,81 m/s²). Jame yra naminis „Arduino UNO“, kuris naudoja USB-nuoseklųjį adapterį