Cuprins:
- Pasul 1: Resurse utilizate
- Pasul 2: demonstrație
- Pasul 3: Încărcați celulele
- Pasul 4: Încărcați celulele și aparatele de tensiune
- Pasul 5: Podul Wheatstone
- Pasul 6: Amplificare
- Pasul 7: Amplificare (schemă)
- Pasul 8: Colectarea datelor pentru calibrare
- Pasul 9: Obținerea funcției Relația dintre masa măsurată și valoarea ADC obținută
- Pasul 10: Cod sursă
- Pasul 11: Pornire și măsurare
- Pasul 12: Fișiere
Video: Scară digitală cu ESP32: 12 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
V-ați gândit vreodată să montați o cântare digitală utilizând un ESP32 și un senzor (cunoscut sub numele de celulă de încărcare)? Astăzi, vă voi arăta cum să faceți acest lucru printr-un proces care permite și alte teste de laborator, cum ar fi identificarea forței pe care o efectuează un motor asupra unui punct, printre alte exemple.
Voi demonstra apoi câteva concepte legate de utilizarea celulelor de încărcare, voi captura date celulare pentru a construi un exemplu de scară și voi arăta alte posibile aplicații ale celulelor de încărcare.
Pasul 1: Resurse utilizate
• Heltec Lora 32 WiFi ESP
• Celula de încărcare (de la 0 la 50 de newtoni, utilizând o scală)
• 1 potențiometru de 100k (mai bine dacă utilizați un trimpot multivolt pentru reglarea fină)
• 1 Amp Op LM358
• 2 rezistențe 1M5
• 2 rezistențe de 10k
• 1 rezistor 4k7
• Fire
• Un Protoboard
• Un cablu USB pentru ESP
• Un cântar, recipient cu volum gradat sau orice altă metodă de calibrare.
Pasul 2: demonstrație
Pasul 3: Încărcați celulele
• Sunt traductoare de forță.
• Pot folosi diverse metode pentru a traduce forța aplicată într-o magnitudine proporțională care poate fi utilizată ca măsură. Printre cele mai frecvente se numără cele care utilizează extensometre cu foi, efectul piezoelectric, hidraulică, corzi vibrante etc.
• Pot fi clasificate și după forma de măsurare (tensiune sau compresie)
Pasul 4: Încărcați celulele și aparatele de tensiune
• Extensometrele pentru foi sunt pelicule (de obicei din plastic) cu o sârmă tipărită care au o rezistență care poate varia în funcție de schimbarea dimensiunii lor.
• Construcția sa vizează în principal transformarea unei deformări mecanice într-o variație de magnitudine electrică (rezistență). Acest lucru are loc de preferință într-o singură direcție, astfel încât să poată fi efectuată evaluarea componentelor. Pentru aceasta, combinația mai multor extensometre este obișnuită
• Când este atașat corespunzător de un corp, deformarea acestuia este egală cu cea a corpului. Astfel, rezistența sa variază în funcție de deformarea corpului, care la rândul său este legată de forța de deformare.
• Sunt, de asemenea, cunoscute sub numele de aparate de măsură.
• Când sunt întinse de o forță de întindere, firele se alungesc și se îngustează, crescând rezistența.
• Când sunt comprimate de o forță de compresie, firele se scurtează și se lărgesc, reducând rezistența.
Pasul 5: Podul Wheatstone
• Pentru o măsurare mai precisă și pentru a permite o detectare mai eficientă a variației rezistenței într-o celulă de sarcină, dispozitivul de măsurare a tensiunii este asamblat într-un pod Wheatstone.
• În această configurație, putem determina variația rezistenței prin dezechilibrul podului.
• Dacă R1 = Rx și R2 = R3, divizoarele de tensiune vor fi egale, iar tensiunile Vc și Vb vor fi de asemenea egale, cu puntea în echilibru. Adică Vbc = 0V;
• Dacă Rx este altul decât R1, puntea va fi dezechilibrată și tensiunea Vbc va fi diferită de zero.
• Este posibil să se arate cum ar trebui să apară această variație, dar aici vom face o calibrare directă, raportând valoarea citită în ADC la o masă aplicată celulei de încărcare.
Pasul 6: Amplificare
• Chiar și folosind puntea Wheatstone pentru a face citirea mai eficientă, micro-deformările din metalul celulei de sarcină produc mici variații de tensiune între Vbc.
• Pentru a rezolva această situație, vom folosi două etape de amplificare. Una pentru a determina diferența și alta pentru a potrivi valoarea obținută cu ADC-ul ESP.
Pasul 7: Amplificare (schemă)
• Câștigul etapei de scădere este dat de R6 / R5 și este același cu R7 / R8.
• Câștigul pasului final care nu se inversează este dat de Pot / R10
Pasul 8: Colectarea datelor pentru calibrare
• Odată asamblat, stabilim câștigul final astfel încât valoarea celei mai mari mase măsurate să fie aproape de valoarea maximă a ADC. În acest caz, pentru 2 kg aplicate în celulă, tensiunea de ieșire a fost de aproximativ 3V3.
• În continuare, vom varia masa aplicată (cunoscută printr-o balanță și pentru fiecare valoare) și vom asocia un LEITUR al ADC, obținând tabelul următor.
Pasul 9: Obținerea funcției Relația dintre masa măsurată și valoarea ADC obținută
Folosim software-ul PolySolve pentru a obține un polinom care reprezintă relația dintre masă și valoarea ADC.
Pasul 10: Cod sursă
Cod sursă - # Include
Acum că avem cum să obținem măsurătorile și să cunoaștem relația dintre ADC și masa aplicată, putem trece la scrierea efectivă a software-ului.
// Bibliotecas pentru utilizare do display oLED # include // Necesar apenas for o Arduino 1.6.5 e anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"
Cod sursă - #Defines
// Os pinos do OLED este conectat la ESP32 pentru următorii GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST trebuie să fie ajustat prin software
Sursă - Variabile și constante globale
Afișaj SSD1306 (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do object "display" const int amostras = 10000; // número de amostras coletadas para a média const int pin = 13; // pino de leitura
Cod sursă - Configurare ()
void setup () {pinMode (pin, INPUT); // pino de leitura analogică Serial.begin (115200); // iniciando a serial // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}
Cod sursă - Buclă ()
void loop () {float medidas = 0.0; // variável para manipular as mesures float massa = 0.0; // variável para armazenar o valor da massa // inicia a coleta de amostras do ADC for (int i = 0; i
Cod sursă - Funcția calculaMassa ()
// funcție pentru calculul de masă obținut pela regresie // folosind oPolySolve float calculaMassa (float medida) {return -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * medida + -3.748108838320e-07 * măsură * măsură * măsură + 1.796252359323e-10 * măsură * măsură * măsură * măsură + -3.995722708150e-14 * măsură * măsură * măsură * măsură * măsură * măsură + 3.284692453344e-18 * măsură * măsură * măsură * măsură * măsură * măsură * măsură; }
Pasul 11: Pornire și măsurare
Pasul 12: Fișiere
Descărcați fișierele
EU NU
Recomandat:
Scară diodă VCF fără PCB !: 38 de pași
Scară diodă VCF fără PCB !: Hei, ce se întâmplă? Bine ați venit la un proiect complicat BONKERS care, dacă este făcut corect, va avea ca rezultat un filtru controlat de tensiune scăzută cu scară diodă foarte frumos. Aceasta se bazează pe un design de electronică pentru muzicieni, cu un cuplu important
Cameră digitală cu imagine statică utilizând placa ESP32-CAM: 5 pași
Cameră digitală cu imagini statice folosind placa ESP32-CAM: În acest post, vom învăța cum să construim o cameră digitală cu imagini statice utilizând placa ESP32-CAM. Când este apăsat butonul de resetare, placa va face o imagine, o va stoca pe cardul microSD și va reveni apoi la somn profund. Folosim EEPROM t
Distribuitor automat cu scară pentru confirmarea obiectului (Raspberry Pi): 5 pași
Distribuitor automat cu scară pentru confirmarea obiectului (Raspberry Pi): Bun venit coleg producător, pentru un proiect școlar am decis să fac un distribuitor automat de gustări. Misiunea noastră a fost de a crea un dispozitiv recreabil care să utilizeze cel puțin 3 senzori și 1 actuator. M-am dus să fac un automat automat parțial pentru că aveam acces la unele
Robotul SCARA: Aflați despre Foward și cinematica inversă !!! (Plot Twist Aflați cum să creați o interfață în timp real în ARDUINO folosind PROCESAREA !!!!): 5 pași (cu imagini)
Robotul SCARA: Aflați despre Foward și cinematica inversă !!! (Plot Twist Aflați cum să creați o interfață în timp real în ARDUINO folosind PROCESAREA !!!!): Un robot SCARA este o mașină foarte populară în lumea industriei. Numele înseamnă atât brațul robotului de asamblare conform cu selecție, fie brațul robot articulat conform cu selecție. Este practic un robot de trei grade de libertate, fiind primele două deplasări
Mișcare și vorbire gigant Lego Hulk MiniFig (scară 10: 1): 14 pași (cu imagini)
Mișcarea și vorbirea gigantului Lego Hulk MiniFig (scara 10: 1): M-am jucat întotdeauna cu legosuri în copilărie, dar nu aveam niciunul dintre legosurile „fanteziste”, ci doar cărămizi clasice de lego. Sunt, de asemenea, un mare fan al Universului Cinematic Marvel (MCU) și personajul meu preferat este Hulk. Deci, de ce să nu combinați cele două și să faceți un gigant