فهرست مطالب:

مقیاس دیجیتال با ESP32: 12 مرحله
مقیاس دیجیتال با ESP32: 12 مرحله

تصویری: مقیاس دیجیتال با ESP32: 12 مرحله

تصویری: مقیاس دیجیتال با ESP32: 12 مرحله
تصویری: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, جولای
Anonim
Image
Image
منابع مورد استفاده
منابع مورد استفاده

آیا تا به حال به نصب مقیاس دیجیتال با استفاده از ESP32 و سنسور (معروف به لودسل) فکر کرده اید؟ امروز ، من به شما نشان می دهم که چگونه می توانید این کار را از طریق فرایندی که امکان آزمایش های آزمایشگاهی دیگر را نیز فراهم می کند ، مانند شناسایی نیرویی که موتور بر روی نقطه ای اعمال می کند ، در میان نمونه های دیگر ، انجام دهید.

سپس برخی از مفاهیم مربوط به استفاده از سلول های بار را نشان می دهم ، داده های سلول را برای ایجاد یک مقیاس نمونه جمع آوری می کنم و سایر کاربردهای احتمالی سلول های بار را نشان می دهم.

مرحله 1: منابع مورد استفاده

• Heltec Lora 32 WiFi ESP

• بارگذاری سلول (0 تا 50 نیوتن ، با استفاده از مقیاس)

• 1 پتانسیومتر 100k (بهتر است از تریمپات چند ولت برای تنظیم دقیق استفاده کنید)

• 1 آمپر Op LM358

• 2 مقاومت 1M5

• 2 مقاومت 10k

• 1 مقاومت 4k7

• سیم ها

• یک صفحه اصلی

• کابل USB برای ESP

• ترازو ، ظرف با حجم مدرج یا هر روش دیگر کالیبراسیون.

مرحله 2: تظاهرات

تظاهرات
تظاهرات

مرحله 3: بارگذاری سلول ها

بارگذاری سلول ها
بارگذاری سلول ها

• آنها مبدل نیرو هستند.

• آنها می توانند از روشهای مختلف برای تبدیل نیروی اعمال شده به قدر متناسب استفاده کنند که می تواند به عنوان اندازه گیری مورد استفاده قرار گیرد. در میان رایج ترین موارد ، مواردی که از اکستنسومترهای ورق ، اثر پیزوالکتریک ، هیدرولیک ، سیمهای ارتعاشی و غیره استفاده می کنند ، استفاده می شود.

• آنها همچنین می توانند بر اساس فرم اندازه گیری (کشش یا فشرده سازی) طبقه بندی شوند.

مرحله 4: بارگذاری سلول ها و فشار سنج ها

سلولهای بار و فشار سنجها
سلولهای بار و فشار سنجها
سلولهای بار و فشار سنجها
سلولهای بار و فشار سنجها

• اکستنسومترهای ورقه ای فیلم هایی هستند (معمولاً پلاستیکی) با سیم چاپ شده که دارای مقاومت هستند که با تغییر اندازه آنها می تواند متفاوت باشد.

• ساخت و ساز آن عمدتا با هدف تبدیل تغییر شکل مکانیکی به تنوع بزرگی (مقاومت) انجام می شود. این امر ترجیحاً در یک جهت اتفاق می افتد ، به طوری که ارزیابی اجزاء می تواند انجام شود. برای این منظور ، ترکیب چندین اکستنسومتر متداول است

• وقتی به درستی به جسمی متصل می شود ، تغییر شکل آن با جسم برابر است. بنابراین ، مقاومت آن با تغییر شکل بدن متفاوت است ، که به نوبه خود به نیروی تغییر شکل مربوط می شود.

• آنها همچنین به عنوان فشارسنج شناخته می شوند.

• هنگامی که توسط نیروی کششی کشیده می شود ، رشته ها کشیده و باریک می شوند و مقاومت را افزایش می دهند.

• هنگامی که توسط نیروی فشاری فشرده می شود ، سیم ها کوتاه و پهن می شوند و مقاومت را کاهش می دهند.

مرحله 5: پل سنگ گندم

پل سنگ گندم
پل سنگ گندم

• برای اندازه گیری دقیق تر و امکان تشخیص کارآمدتر تغییرات مقاومت در سلول بار ، کرنش سنج در یک پل Wheatstone مونتاژ می شود.

• در این پیکربندی ، می توانیم تغییرات مقاومت را از طریق عدم تعادل پل تعیین کنیم.

• اگر R1 = Rx و R2 = R3 ، تقسیم کننده های ولتاژ مساوی و ولتاژهای Vc و Vb نیز مساوی باشد ، در حالی که پل در حالت تعادل است. یعنی Vbc = 0V ؛

• اگر Rx غیر از R1 باشد ، پل نامتعادل و ولتاژ Vbc غیر صفر خواهد بود.

• ممکن است نشان داده شود که این تنوع چگونه باید اتفاق بیفتد ، اما در اینجا ، یک کالیبراسیون مستقیم انجام می دهیم و مقدار خوانده شده در ADC را به جرمی که بر روی سلول بار اعمال می شود ، مرتبط می کنیم.

مرحله 6: تقویت

تقویت
تقویت

• حتی با استفاده از پل Wheatstone برای کارآیی بیشتر خواندن ، تغییر شکل های کوچک در فلز لودسل تغییرات ولتاژ کمی بین Vbc ایجاد می کند.

• برای حل این وضعیت ، از دو مرحله تقویت استفاده می کنیم. یکی برای تعیین تفاوت و دیگری برای تطبیق مقدار بدست آمده با ADC ESP.

مرحله 7: تقویت (طرح)

تقویت (طرح)
تقویت (طرح)

• سود مرحله تفریق توسط R6 / R5 داده می شود و همان R7 / R8 است.

• افزایش مرحله نهایی بدون وارونه توسط Pot / R10 داده می شود

مرحله 8: جمع آوری داده ها برای کالیبراسیون

جمع آوری داده ها برای کالیبراسیون
جمع آوری داده ها برای کالیبراسیون
جمع آوری داده ها برای کالیبراسیون
جمع آوری داده ها برای کالیبراسیون

• پس از مونتاژ ، سود نهایی را طوری تنظیم می کنیم که مقدار بزرگترین جرم اندازه گیری شده نزدیک به حداکثر مقدار ADC باشد. در این مورد ، برای 2 کیلوگرم اعمال شده در سلول ، ولتاژ خروجی حدود 3V3 بود.

• سپس ، جرم اعمال شده (که از طریق ترازو و برای هر مقدار شناخته می شود) را تغییر می دهیم و LEITUR از ADC را به هم مرتبط می کنیم و جدول بعدی را بدست می آوریم.

مرحله 9: به دست آوردن رابطه عملکرد بین جرم اندازه گیری شده و مقدار ADC بدست آمده

بدست آوردن رابطه عملکرد بین جرم اندازه گیری شده و ارزش ADC بدست آمده
بدست آوردن رابطه عملکرد بین جرم اندازه گیری شده و ارزش ADC بدست آمده

ما از نرم افزار PolySolve برای بدست آوردن چند جمله ای استفاده می کنیم که رابطه بین جرم و مقدار ADC را نشان می دهد.

مرحله 10: کد منبع

کد منبع - #شامل می شود

اکنون که نحوه اندازه گیری ها و اطلاع از رابطه بین ADC و جرم مورد استفاده را داریم ، می توانیم به نوشتن نرم افزار ادامه دهیم.

// Bibliotecas para useização برای نمایش oLED #شامل // نیاز به apenas para o Arduino 1.6.5 و قدامی #شامل "SSD1306.h" // o mesmo que #شامل "SSD1306Wire.h"

کد منبع - #تعریف می کند

// 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 aj por software

منبع - متغیرها و ثابت های جهانی

صفحه نمایش 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

کد منبع - راه اندازی ()

void setup () {pinMode (پین ، ورودی) ؛ // pino de leitura analógica Serial.begin (115200)؛ // iniciando a serial // Inicia o display display.init ()؛ display.flipScreenVertically ()؛ // Vira a tela verticalmente}

کد منبع - حلقه ()

حلقه خالی () {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)) // می بینید که 5 فصل دیگر وجود دارد {// Envia um CSV contendo o instante، a medida med 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 // توضیحات بیشتر در مورد esquerda display.setTextAlignment (TEXT_ALIGN_LEFT) ؛ // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16)؛ // Escreve no buffer آیا نمایش massa display.drawString (0 ، 0 ، "Massa:" + String (int (massa)) + "g") ؛ // escreve no buffer or valor do ADC display.drawString (0، 30، "ADC:" + String (int (medidas)))؛ } else // se está ligado a menos de 5 segundos {display.clear ()؛ // limpa o buffer display.setTextAlignment (TEXT_ALIGN_LEFT)؛ // Ajusta o alinhamento para 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 ()؛ // انتقال بافر یا تأخیر نمایش (50)؛ }

کد منبع - محاسبه تابع ماسا ()

// 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 *-Meda * medida * medida * medida + 1.796252359323e-10 * medida * medida * medida * medida + -3.995722708150e-14 * medida * medida * medida * medida * medida * medida + 3.284692453344e-18 * medida * medida * medida * medida * medida * medida * مدیدا ؛ }

مرحله 11: شروع و اندازه گیری

شروع و اندازه گیری
شروع و اندازه گیری

مرحله 12: فایل ها

فایلها را بارگیری کنید

من نه

PDF

توصیه شده: