جدول المحتويات:

تعلم هنا عن جهاز استشعار مهم للغاية: 11 خطوة
تعلم هنا عن جهاز استشعار مهم للغاية: 11 خطوة

فيديو: تعلم هنا عن جهاز استشعار مهم للغاية: 11 خطوة

فيديو: تعلم هنا عن جهاز استشعار مهم للغاية: 11 خطوة
فيديو: تعلم كانفا في 30 دقيقة - أداة لا غنى عنها لأي شخص (اتعلم واكسب) 2024, يوليو
Anonim
تعلم هنا عن جهاز استشعار مهم للغاية!
تعلم هنا عن جهاز استشعار مهم للغاية!

كيف يمكنك معرفة مستوى المياه في خزان المياه؟ لمراقبة هذا النوع من الأشياء ، يمكنك استخدام مستشعر الضغط. هذه معدات مفيدة جدًا للأتمتة الصناعية بشكل عام. اليوم ، سنتحدث عن هذه العائلة الدقيقة من مستشعرات ضغط MPX ، خاصة لقياس الضغط. سأقدم لك مستشعر الضغط MPX5700 وأجري تجميع عينة باستخدام ESP WiFi LoRa 32.

لن أستخدم اتصال LoRa في الدائرة اليوم ، لا WiFi ولا Bluetooth. ومع ذلك ، اخترت هذا ESP32 لأنني قمت بالفعل بتدريس في مقاطع فيديو أخرى كيفية استخدام جميع الميزات التي أناقشها اليوم.

الخطوة 1: العرض التوضيحي

برهنة
برهنة
برهنة
برهنة

الخطوة 2: الموارد المستخدمة

الموارد المستخدمة
الموارد المستخدمة

• MPX5700DP مستشعر الضغط التفاضلي

• مقياس جهد 10 كيلو (أو أداة تقليم)

• Protoboard

• أسلاك التوصيل

• كابل USB

• ESP WiFi LoRa 32

• ضاغط هواء (اختياري)

الخطوة 3: لماذا قياس الضغط؟

لماذا قياس الضغط؟
لماذا قياس الضغط؟

• هناك العديد من التطبيقات حيث الضغط هو متغير تحكم مهم.

• يمكننا استخدام أنظمة تحكم تعمل بالهواء المضغوط أو هيدروليكي.

• الأجهزة الطبية.

• علم الروبوتات.

• مراقبة العمليات الصناعية أو البيئية.

• قياس المستوى في الخزانات السائلة أو الغازية.

الخطوة 4: عائلة MPX لمستشعرات الضغط

عائلة MPX لمستشعرات الضغط
عائلة MPX لمستشعرات الضغط

• هي محولات ضغط في الجهد الكهربائي.

• تعتمد على مستشعر مقاومة بيزو ، حيث يتم تحويل الضغط إلى اختلاف في المقاومة الكهربائية.

• توجد إصدارات قادرة على قياس فروق الضغط الصغيرة (من 0 إلى 0.04 ضغط جوي) ، أو اختلافات كبيرة (من 0 إلى 10 ضغط جوي).

• تظهر في حزم متعددة.

• يمكنهم قياس الضغط المطلق (نسبة إلى الفراغ) ، والضغط التفاضلي (الفرق بين ضغوطتين ، p1 و p2) ، أو مقياس (بالنسبة للضغط الجوي).

الخطوة الخامسة: MPX5700DP

و MPX5700DP
و MPX5700DP
و MPX5700DP
و MPX5700DP

• تتميز سلسلة 5700 بأجهزة استشعار مطلقة وتفاضلية ومقاييس.

• يمكن لـ MPX5700DP قياس الضغط التفاضلي من 0 إلى 700 كيلو باسكال (حوالي 7 ضغط جوي).

• يختلف جهد الخرج من 0.2 فولت إلى 4.7 فولت.

• قوتها من 4.75V إلى 5.25V

الخطوة 6: للمظاهرة

للمظاهرة
للمظاهرة

• هذه المرة ، لن نقوم بتطبيق عملي باستخدام هذا المستشعر ؛ سنقوم فقط بتثبيته وإجراء بعض القياسات كتوضيح.

• لهذا ، سوف نستخدم ضاغط هواء مباشر لممارسة الضغط عند مدخل الضغط العالي (p1) والحصول على الفرق فيما يتعلق بالضغط الجوي المحلي (p2).

• MPX5700DP عبارة عن مستشعر أحادي الاتجاه ، مما يعني أنه يقيس الفروق الإيجابية حيث يجب أن يكون p1 دائمًا أكبر من أو يساوي p2.

• p1> p2 وسيكون الفرق بين p1 - p2

• توجد مستشعرات تفاضلية ثنائية الاتجاه يمكنها تقييم الفروق السلبية والإيجابية.

• على الرغم من أنه مجرد عرض توضيحي ، يمكننا بسهولة استخدام المبادئ هنا للتحكم ، على سبيل المثال ، في الضغط في خزان الهواء ، المدعوم من هذا الضاغط.

الخطوة 7: معايرة ESP ADC

معايرة ESP ADC
معايرة ESP ADC
معايرة ESP ADC
معايرة ESP ADC
معايرة ESP ADC
معايرة ESP ADC

• نظرًا لأننا نعلم أن التحويل الرقمي التناظري الخاص بـ ESP ليس خطيًا تمامًا ويمكن أن يختلف من SoC إلى آخر ، فلنبدأ بإجراء تحديد بسيط لسلوكه.

• باستخدام مقياس الجهد ومقياس متعدد ، سنقوم بقياس الجهد المطبق على AD وربطه بالقيمة المشار إليها.

• باستخدام برنامج بسيط لقراءة AD وجمع المعلومات في جدول ، تمكنا من تحديد منحنى سلوكه.

الخطوة الثامنة: حساب الضغط

حساب الضغط
حساب الضغط
حساب الضغط
حساب الضغط

• على الرغم من أن الشركة المصنعة توفر لنا الوظيفة مع سلوك المكون ، فمن المستحسن دائمًا إجراء معايرة عندما نتحدث عن أخذ القياسات.

• ومع ذلك ، نظرًا لأنه مجرد عرض توضيحي ، سنستخدم الوظيفة الموجودة في ورقة البيانات مباشرةً. لهذا ، سوف نتعامل معه بطريقة تعطينا الضغط كدالة لقيمة ADC.

* تذكر أن جزء الجهد المطبق على ADC بالجهد المرجعي يجب أن يكون له نفس قيمة ADC التي يقرأها إجمالي ADC. (تجاهل التصحيح)

الخطوة 9: التجميع

المجسم
المجسم
المجسم
المجسم

• لتوصيل المستشعر ، ابحث عن الشق الموجود في أحد أطرافه ، مما يشير إلى السن 1.

• العد من هناك:

يوفر Pin 1 خرج إشارة (من 0V إلى 4.7V)

دبوس 2 هو المرجع. (GND)

دبوس 3 للطاقة. (ضد)

• نظرًا لأن خرج الإشارة 4.7 فولت ، فسوف نستخدم مقسم جهد بحيث تكون القيمة القصوى مكافئة لـ 3 فولت 3. لهذا ، أجرينا التعديل باستخدام مقياس الجهد.

الخطوة 10: كود المصدر

كود المصدر
كود المصدر
كود المصدر
كود المصدر

كود المصدر: #Includes and #defines

// Bibliotecas para utilização do display oLED # include // Necessário apenas para o Arduino 1.6.5 e posterior # include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectados ao ESP32 pelos seguintes GPIO: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software

المصدر: المتغيرات والثوابت العالمية

عرض SSD1306 (0x3c ، SDA ، SCL ، RST) ؛ // Instanciando e ajustando os pinos do objeto "عرض" const int amostras = 10000 ؛ // número de amostras coletadas para a média const int pin = 13 ؛ // pino de leitura const float fator_atm = 0.0098692327 ؛ // fator de Conversão para atmosferas const float fator_bar = 0.01 ؛ // fator de convertão para bar const float fator_kgf_cm2 = 0.0101971621 ؛ // fator de Conversão kgf / cm2

كود المصدر: إعداد ()

إعداد باطل () {pinMode (pin، INPUT)؛ // pino de leitura analógica Serial.begin (115200) ؛ // iniciando a serial // Inicia o display.init () ؛ display.flipScreenVertically () ، // Vira a tela verticalmente}

كود المصدر: Loop ()

حلقة فارغة () {float medidas = 0.0؛ // variável para manipular as medidas float pressao = 0.0 ؛ // varável para armazenar o valor da pressão // inicia a coleta de amostras do ADC for (int i = 0؛ i (5000)) // se está ligado a mais que 5 segundos {// Limpa o buffer do display.clear ()؛ // ajusta o alinhamento para a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT) ؛ // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_16) ؛ // Escreve no buffer لا تعرض شاشة pressao.drawString (0 ، 0 ، سلسلة (int (pressao)) + "kPa") ؛ display.drawString (0، 16، String (pressao * fator_atm) + "atm")؛ display.drawString (0، 32، String (pressao * fator_kgf_cm2) + "kgf / cm2") ؛ // escreve no buffer o valor do ADC display.drawString (0، 48، "adc:" + String (int (medidas))) ؛ } else // se está ligado a menos de 5 segundos، exibe a tela inicial {// limpa o buffer do display.clear ()؛ // Ajusta o alinhamento para centralizado display.setTextAlignment (TEXT_ALIGN_CENTER) ؛ // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16) ؛ // escreve no buffer display.drawString (64، 0، "Sensor Pressão")؛ // escreve no buffer display.drawString (64، 18، "Diferencial")؛ // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_10) ؛ // escreve no buffer display.drawString (64، 44، "ESP-WiFi-Lora") ؛ } display.display () ؛ // نقل o المخزن المؤقت للفقرة o تأخير العرض (50) ؛ }

كود المصدر: الوظيفة التي تحسب الضغط في كيلو باسكال

Float calculaPressao (float medida) {// Calcula a pressão com o // valor do AD corrigido pela função corrigeMedida () // Esta função foi escrita de acordo com dados do fabricante // e NÃO LEVA EM CONSIDERAO OS POSSÍVEENT DESEV erro) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858 ؛ }

- الصور

كود المصدر: الدالة التي تصحح قيمة AD

Float CorrigeMedida (float x) {/ * Esta função foi obida através da relação entre a tensão aplicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * x * x + 5.235532597676e-10 * x * x * x + -2.020362975028e-13 * x * x * x * x + 3.809807883001e-17 * x * x * x * x * x + -2.896158699016e-21 * x * x * س * س * س * س ؛ }

الخطوة 11: الملفات

قم بتنزيل الملفات:

بي دي إف

انا لا

موصى به: