Daftar Isi:

Timbangan Digital Dengan ESP32: 12 Langkah
Timbangan Digital Dengan ESP32: 12 Langkah

Video: Timbangan Digital Dengan ESP32: 12 Langkah

Video: Timbangan Digital Dengan ESP32: 12 Langkah
Video: LoadCell + Modul HX711 + ESP32 2024, Juli
Anonim
Image
Image
Sumber Daya yang Digunakan
Sumber Daya yang Digunakan

Pernahkah Anda berpikir untuk memasang timbangan digital menggunakan ESP32 dan sensor (dikenal sebagai sel beban)? Hari ini, saya akan menunjukkan kepada Anda bagaimana melakukan ini melalui proses yang juga memungkinkan pengujian laboratorium lainnya, seperti mengidentifikasi gaya yang dilakukan mesin pada suatu titik, di antara contoh-contoh lainnya.

Saya kemudian akan mendemonstrasikan beberapa konsep yang terkait dengan penggunaan sel beban, menangkap data sel untuk membangun skala contoh, dan menunjukkan kemungkinan aplikasi sel beban lainnya.

Langkah 1: Sumber Daya yang Digunakan

• Heltec Lora 32 WiFi ESP

• Beban sel (0 sampai 50 newton, menggunakan skala)

• 1 potensiometer 100k (lebih baik jika Anda menggunakan trimpot multivolt untuk penyesuaian halus)

• 1 Amp Op LM358

• 2 resistor 1M5

• 2 resistor 10k

• 1 resistor 4k7

• Kabel

• Sebuah Protoboard

• Kabel USB untuk ESP

• Timbangan, wadah dengan volume bertingkat, atau metode kalibrasi lainnya.

Langkah 2: Demonstrasi

Demonstrasi
Demonstrasi

Langkah 3: Muat Sel

Memuat sel
Memuat sel

• Mereka adalah transduser kekuatan.

• Mereka dapat menggunakan berbagai metode untuk menerjemahkan gaya yang diterapkan menjadi besaran proporsional yang dapat digunakan sebagai ukuran. Di antara yang paling umum adalah yang menggunakan ekstensometer lembaran, efek piezoelektrik, hidrolika, senar getar, dll…

• Mereka juga dapat diklasifikasikan berdasarkan bentuk pengukuran (ketegangan atau kompresi)

Langkah 4: Muat Sel dan Strain Gauges

Load Cell dan Strain Gauges
Load Cell dan Strain Gauges
Load Cell dan Strain Gauges
Load Cell dan Strain Gauges

• Ekstensometer lembaran adalah film (biasanya plastik) dengan kawat tercetak yang memiliki hambatan yang dapat bervariasi dengan perubahan ukurannya.

• Konstruksinya terutama bertujuan untuk mengubah deformasi mekanis menjadi variasi besaran listrik (resistansi). Hal ini lebih disukai terjadi dalam satu arah, sehingga evaluasi komponen dapat dilakukan. Untuk ini, kombinasi dari beberapa ekstensometer adalah umum

• Ketika terpasang dengan benar ke tubuh, deformasinya sama dengan tubuh. Dengan demikian, ketahanannya bervariasi dengan deformasi tubuh, yang pada gilirannya terkait dengan gaya deformasi.

• Mereka juga dikenal sebagai pengukur regangan.

• Saat diregangkan dengan gaya tarik, untaian memanjang dan menyempit, meningkatkan resistensi.

• Saat ditekan oleh gaya tekan, kabel memendek dan melebar, mengurangi hambatan.

Langkah 5: Jembatan Wheatstone

Jembatan Wheatstone
Jembatan Wheatstone

• Untuk pengukuran yang lebih akurat dan untuk memungkinkan pendeteksian variasi resistansi yang lebih efisien dalam sel beban, pengukur regangan dirakit menjadi jembatan Wheatstone.

• Dalam konfigurasi ini, kita dapat menentukan variasi hambatan melalui ketidakseimbangan jembatan.

• Jika R1 = Rx dan R2 = R3, pembagi tegangan akan sama, dan tegangan Vc dan Vb juga akan sama, dengan jembatan dalam kesetimbangan. Yaitu, Vbc = 0V;

• Jika Rx selain R1, jembatan akan menjadi tidak seimbang dan tegangan Vbc akan menjadi bukan nol.

• Dimungkinkan untuk menunjukkan bagaimana variasi ini seharusnya terjadi, tetapi di sini, kita akan membuat kalibrasi langsung, menghubungkan nilai yang terbaca di ADC dengan massa yang diterapkan ke sel beban.

Langkah 6: Amplifikasi

Amplifikasi
Amplifikasi

• Bahkan menggunakan jembatan Wheatstone untuk membuat pembacaan lebih efisien, deformasi mikro pada logam sel beban menghasilkan variasi tegangan kecil antara Vbc.

• Untuk mengatasi situasi ini, kita akan menggunakan dua tahap amplifikasi. Satu untuk menentukan perbedaan dan satu lagi untuk mencocokkan nilai yang diperoleh dengan ADC dari ESP.

Langkah 7: Amplifikasi (skema)

Amplifikasi (skema)
Amplifikasi (skema)

• Keuntungan dari langkah pengurangan diberikan oleh R6 / R5 dan sama dengan R7 / R8.

• Keuntungan dari langkah terakhir non-pembalik diberikan oleh Pot / R10

Langkah 8: Pengumpulan Data untuk Kalibrasi

Pengumpulan Data untuk Kalibrasi
Pengumpulan Data untuk Kalibrasi
Pengumpulan Data untuk Kalibrasi
Pengumpulan Data untuk Kalibrasi

• Setelah dirakit, kami mengatur gain akhir sehingga nilai massa terukur terbesar mendekati nilai maksimum ADC. Dalam kasus ini, untuk 2kg yang diterapkan di dalam sel, tegangan output sekitar 3V3.

• Selanjutnya, kami memvariasikan massa yang diterapkan (dikenal melalui keseimbangan dan untuk setiap nilai), dan kami mengaitkan LEITUR dari ADC, mendapatkan tabel berikutnya.

Langkah 9: Memperoleh Hubungan Fungsi Antara Massa Terukur dan Nilai ADC yang Diperoleh

Memperoleh Hubungan Fungsi Antara Massa Terukur dan Nilai ADC yang Diperoleh
Memperoleh Hubungan Fungsi Antara Massa Terukur dan Nilai ADC yang Diperoleh

Kami menggunakan perangkat lunak PolySolve untuk mendapatkan polinomial yang mewakili hubungan antara massa dan nilai ADC.

Langkah 10: Kode Sumber

Kode Sumber - #Termasuk

Sekarang kita memiliki cara untuk mendapatkan pengukuran dan mengetahui hubungan antara ADC dan massa yang diterapkan, kita dapat melanjutkan ke penulisan perangkat lunaknya.

//Bibliotecas untuk digunakan untuk menampilkan oLED#include // Diperlukan untuk Arduino 1.6.5 dan anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

Kode sumber - #Defines

//Os pino lakukan OLED dan conectados ao ESP32 seguintes GPIO's://OLED_SDA -- GPIO4 //OLED_SCL -- GPIO15 //OLED_RST -- GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // pengembangan RST sesuai perangkat lunak

Sumber - Variabel Global dan Konstanta

Layar SSD1306 (0x3c, SDA, SCL, RST); //Instance dan ajustando os pinos lakukan objeto "display" const int amostras = 10000; //número de amostras coletadas untuk media const int pin = 13; //pino de leiura

Kode Sumber - Pengaturan ()

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

Kode Sumber - 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 bersaing instan, media media melakukan ADC e o valor em gramas //para a Serial. Serial.print (milis() / 1000.0, 0); //instan dan segundo 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 lakukan tampilan //justa o alinhamento untuk esquerda display.setTextAlignment(TEXT_ALIGN_LEFT); //ajusta a fonte untuk Arial 16 display.setFont(ArialMT_Plain_16); //Escreve no buffer do menampilkan 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))); } else //se está ligado a menos de 5 segundos { display.clear(); //limpa atau buffer lakukan tampilan display.setTextAlignment(TEXT_ALIGN_LEFT); //Ajusta o alinhamento para esquerda display.setFont(ArialMT_Plain_24); //ajusta a fonte untuk Arial 24 display.drawString(0, 0, "Balança"); //escreve no buffer display.setFont(ArialMT_Plain_16);//Ajusta a fonte untuk Arial 16 display.drawString(0, 26, "ESP-WiFi-Lora"); //escreve no buffer } display.display();//transfer buffer para o display delay(50); }

Kode Sumber - Fungsi calculaMassa ()

//função para cálculo da massa obtida pela regressão//usando oPolySolve float calculaMassa (float medida) { kembali -6.798357840659e+01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * medida + -3.748108838320 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 media; }

Langkah 11: Memulai dan Mengukur

Memulai dan Mengukur
Memulai dan Mengukur

Langkah 12: File

Unduh file

SAYA TIDAK

PDF

Direkomendasikan: