Isi kandungan:

Skala Digital Dengan ESP32: 12 Langkah
Skala Digital Dengan ESP32: 12 Langkah

Video: Skala Digital Dengan ESP32: 12 Langkah

Video: Skala Digital Dengan ESP32: 12 Langkah
Video: ESP32 Introduction, Pengenalan dan Pembahasan Spesifikasi ESP32 2024, November
Anonim
Image
Image
Sumber Yang Digunakan
Sumber Yang Digunakan

Adakah anda pernah berfikir untuk memasang skala digital menggunakan ESP32 dan sensor (dikenali sebagai sel beban)? Hari ini, saya akan menunjukkan kepada anda bagaimana melakukan ini melalui proses yang juga membolehkan ujian makmal lain, seperti mengenal pasti kekuatan yang dilakukan oleh enjin pada satu titik, antara contoh lain.

Saya kemudian akan menunjukkan beberapa konsep yang berkaitan dengan penggunaan sel beban, menangkap data sel untuk membina skala contoh, dan menunjukkan kemungkinan aplikasi sel beban yang lain.

Langkah 1: Sumber yang Digunakan

• ESP Heltec Lora 32 WiFi

• Muat sel (0 hingga 50 newton, menggunakan skala)

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

• 1 Amp Op LM358

• 2 perintang 1M5

• 2 perintang 10k

• 1 perintang 4k7

• Wayar

• Protoboard

• Kabel USB untuk ESP

• Skala, wadah dengan kelantangan lulus, atau kaedah penentukuran lain.

Langkah 2: Demonstrasi

Demonstrasi
Demonstrasi

Langkah 3: Muatkan Sel

Muatkan Sel
Muatkan Sel

• Mereka adalah transduser daya.

• Mereka boleh menggunakan pelbagai kaedah untuk menterjemahkan kekuatan yang dikenakan ke dalam magnitud berkadar yang boleh digunakan sebagai ukuran. Antara yang paling biasa adalah yang menggunakan ekstensometer lembaran, kesan piezoelektrik, hidraulik, tali getaran, dan lain-lain …

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

Langkah 4: Muatkan Sel dan Tolok Tekanan

Muatkan Sel dan Tolok Tekanan
Muatkan Sel dan Tolok Tekanan
Muatkan Sel dan Tolok Tekanan
Muatkan Sel dan Tolok Tekanan

• Ekstensometer lembaran adalah filem (biasanya plastik) dengan wayar bercetak yang mempunyai ketahanan yang dapat berubah-ubah dengan perubahan ukurannya.

• Pembinaannya bertujuan untuk mengubah ubah mekanikal menjadi variasi magnitud elektrik (rintangan). Ini berlaku sebaiknya dalam satu arah, supaya penilaian komponen dapat dilakukan. Untuk ini, gabungan beberapa ekstensometer adalah perkara biasa

• Apabila dipasang dengan betul pada badan, ubah bentuknya sama dengan badan. Oleh itu, rintangannya berbeza dengan ubah bentuk badan, yang seterusnya berkaitan dengan daya ubah bentuk.

• Mereka juga dikenali sebagai pengukur regangan.

• Apabila diregangkan oleh daya tarik, helai memanjang dan sempit, meningkatkan daya tahan.

• Apabila dimampatkan oleh daya tekan, wayar memendek dan melebar, mengurangkan rintangan.

Langkah 5: Jambatan Wheatstone

Jambatan Wheatstone
Jambatan Wheatstone

• Untuk pengukuran yang lebih tepat dan untuk memungkinkan pengesanan variasi rintangan yang lebih cekap dalam sel beban, tolok regangan dipasang ke jambatan Wheatstone.

• Dalam konfigurasi ini, kita dapat menentukan variasi rintangan melalui ketidakseimbangan jambatan.

• Jika R1 = Rx dan R2 = R3, pembahagi voltan akan sama, dan voltan Vc dan Vb juga akan sama, dengan jambatan dalam keseimbangan. Iaitu, Vbc = 0V;

• Sekiranya Rx selain R1, jambatan tidak seimbang dan voltan Vbc akan menjadi nol.

• Adalah mungkin untuk menunjukkan bagaimana variasi ini harus berlaku, tetapi di sini, kita akan membuat penentukuran langsung, yang menghubungkan nilai yang dibaca dalam ADC dengan jisim yang dikenakan pada sel beban.

Langkah 6: Pengukuhan

Pengukuhan
Pengukuhan

• Walaupun menggunakan jambatan Wheatstone untuk menjadikan pembacaan lebih cekap, ubah bentuk mikro pada logam sel beban menghasilkan variasi voltan kecil antara Vbc.

• Untuk menyelesaikan keadaan ini, kita akan menggunakan dua tahap penguatan. Satu untuk menentukan perbezaan dan yang lain sesuai dengan nilai yang diperoleh dengan ADC ESP.

Langkah 7: Pengukuhan (skema)

Pengukuhan (skema)
Pengukuhan (skema)

• Perolehan langkah penolakan diberikan oleh R6 / R5 dan sama dengan R7 / R8.

• Keuntungan dari langkah terakhir yang tidak terbalik diberikan oleh Pot / R10

Langkah 8: Pengumpulan Data untuk Penentukuran

Pengumpulan Data untuk Penentukuran
Pengumpulan Data untuk Penentukuran
Pengumpulan Data untuk Penentukuran
Pengumpulan Data untuk Penentukuran

• Setelah dipasang, kami menetapkan keuntungan akhir sehingga nilai jisim yang diukur terbesar mendekati nilai maksimum ADC. Dalam kes ini, untuk 2kg yang digunakan dalam sel, voltan keluaran adalah sekitar 3V3.

• Seterusnya, kita mengubah jisim yang digunakan (diketahui melalui baki dan untuk setiap nilai), dan kita mengaitkan LEITUR ADC, mendapatkan jadual seterusnya.

Langkah 9: Memperoleh Fungsi Hubungan Antara Jisim Diukur dan Nilai ADC yang Diperolehi

Mendapatkan Hubungan Fungsi Antara Jisim Diukur dan Nilai ADC yang Diperolehi
Mendapatkan Hubungan Fungsi Antara Jisim Diukur dan Nilai ADC yang Diperolehi

Kami menggunakan perisian PolySolve untuk mendapatkan polinomial yang mewakili hubungan antara jisim dan nilai ADC.

Langkah 10: Kod Sumber

Kod Sumber - #Termasuk

Sekarang kita mempunyai cara untuk mendapatkan pengukuran dan mengetahui hubungan antara ADC dan jisim yang digunakan, kita dapat terus menulis perisian tersebut.

// Bibliotecas untuk utilização do display oLED # include // Necessário apenas para o Arduino 1.6.5 dan anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

Kod sumber - #Menentukan

// 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 perisian por

Sumber - Pemboleh ubah dan Pemalar Global

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

Kod Sumber - Persediaan ()

batal persediaan () {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}

Kod Sumber - Gelung ()

gelung void () {float medidas = 0.0; // variável para manipular sebagai medidas float massa = 0.0; // variável para armazenar o valor da massa // inicia a coleta de amostras do ADC untuk (int i = 0; i (5000)) // se está ligado a mais que 5 segundos {// Envia um CSV contendo o instante, medida média do ADC e o valor em gramas // para Serial. Serial.print (milis () / 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.clear (); // Limpa o buffer do display // ajusta o alinhamento untuk a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer tidak memaparkan display massa.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // escreve no buffer o valor do ADC display.drawString (0, 30, "ADC:" + String (int (medidas))); } lain // se está ligado a menos de 5 segundos {display.clear (); // limpa o buffer do display.setTextAlignment (TEXT_ALIGN_LEFT); // Ajusta o alinhamento untuk a 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 Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // transfere o buffer untuk o display delay (50); }

Kod Sumber - Fungsi calculaMassa ()

// 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 * 033 + 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; }

Langkah 11: Memulakan dan Mengukur

Memulakan dan Mengukur
Memulakan dan Mengukur

Langkah 12: Fail

Muat turun fail

INO

PDF

Disyorkan: