תוכן עניינים:

למד כאן על חיישן חשוב ביותר !: 11 שלבים
למד כאן על חיישן חשוב ביותר !: 11 שלבים

וִידֵאוֹ: למד כאן על חיישן חשוב ביותר !: 11 שלבים

וִידֵאוֹ: למד כאן על חיישן חשוב ביותר !: 11 שלבים
וִידֵאוֹ: סרטון מדהים ומרגש עם מסר חזק במיוחד 2024, יולי
Anonim
למד כאן על חיישן חשוב ביותר!
למד כאן על חיישן חשוב ביותר!

כיצד תוכל לברר אודות מפלס המים במיכל מים? כדי לעקוב אחר דברים מסוג זה, אתה יכול להשתמש בחיישן לחץ. זהו ציוד שימושי מאוד לאוטומציה תעשייתית, באופן כללי. היום נדבר על המשפחה המדויקת הזו של חיישני לחץ MPX, במיוחד למדידת לחץ. אכיר לך את חיישן הלחץ MPX5700 ואבצע הרכבה לדוגמה באמצעות ESP WiFi LoRa 32.

לא אשתמש בתקשורת LoRa במעגל היום, לא WiFi ולא בלוטות '. עם זאת, בחרתי ב- ESP32 זה מכיוון שכבר לימדתי בסרטונים אחרים כיצד להשתמש בכל התכונות בהן אני דן היום.

שלב 1: הפגנה

הפגנה
הפגנה
הפגנה
הפגנה

שלב 2: שימוש במשאבים

משאבים בשימוש
משאבים בשימוש

• חיישן לחץ דיפרנציאלי MPX5700DP

• פוטנציומטר 10k (או טרימפוט)

• פרוטובורד

• חוטי חיבור

• כבל יו אס בי

• ESP WiFi LoRa 32

• מדחס אוויר (אופציונלי)

שלב 3: מדוע למדוד לחץ?

למה למדוד לחץ?
למה למדוד לחץ?

• ישנם יישומים רבים בהם הלחץ הוא משתנה שליטה חשוב.

• אנו יכולים לערב מערכות בקרה פנאומטיות או הידראוליות.

• מכשור רפואי.

• רובוטיקה.

• בקרה על תהליכים תעשייתיים או סביבתיים.

• מדידת מפלסים במאגרי נוזלים או גזים.

שלב 4: משפחת חיישני הלחץ MPX

משפחת חיישני הלחץ MPX
משפחת חיישני הלחץ MPX

• הם מתמרי לחץ במתח חשמלי.

• הם מבוססים על חיישן התנגדות לפיזו, שבו הדחיסה מומרת לווריאציה של ההתנגדות החשמלית.

• ישנן גרסאות המסוגלות למדוד הפרשי לחץ קטנים (מ -0 ל -0.04atm), או וריאציות גדולות (מ -0 עד 10atm).

• הם מופיעים במספר חבילות.

• הם יכולים למדוד לחץ מוחלט (ביחס לוואקום), לחץ דיפרנציאלי (ההבדל בין שני לחצים, p1 ו- p2), או מד (ביחס ללחץ האטמוספרי).

שלב 5: MPX5700DP

MPX5700DP
MPX5700DP
MPX5700DP
MPX5700DP

• סדרת 5700 כוללת חיישנים מוחלטים, דיפרנציאליים ומדדים.

• ה- MPX5700DP יכול למדוד לחץ דיפרנציאלי מ 0 עד 700kPa (כ -7 אטם).

• מתח המוצא משתנה בין 0.2V ל- 4.7V.

• העוצמה שלו היא בין 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 ואיסוף המידע בטבלה, הצלחנו לקבוע את עקומת התנהגותו.

שלב 8: חישוב הלחץ

חישוב הלחץ
חישוב הלחץ
חישוב הלחץ
חישוב הלחץ

• למרות שהיצרן מספק לנו את הפונקציה בהתנהגות הרכיב, תמיד מומלץ לבצע כיול כאשר אנו מדברים על ביצוע מדידות.

• אולם מכיוון שמדובר בהדגמה בלבד, נשתמש ישירות בפונקציה המצויה בגיליון הנתונים. לשם כך, נתפעל אותו באופן שנותן לנו את הלחץ כפונקציה של ערך ה- ADC.

* זכור כי חלק המתח המופעל על ה- ADC על ידי מתח הייחוס חייב להיות בעל אותו ערך כמו ה- ADC הנקרא על ידי ה- ADC הכולל. (תוך התעלמות מהתיקון)

שלב 9: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

• לחיבור החיישן, חפש את החריץ באחד המסופים שלו, המציין את סיכה 1.

• סופרים משם:

פין 1 מספק פלט אות (מ 0V ל 4.7V)

סיכה 2 היא ההפניה. (GND)

פין 3 לעוצמה. (לעומת)

• מכיוון שפלט האות הוא 4.7V, נשתמש במפריד מתח כך שהערך המקסימלי יהיה שווה ל -3V3. לשם כך ביצענו את ההתאמה בעזרת הפוטנציומטר.

שלב 10: קוד המקור

קוד מקור
קוד מקור
קוד מקור
קוד מקור

קוד מקור: #כולל ומגדיר

// 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 מגדיר את מספר ה- 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 "display" 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 conversão para bar const float fator_kgf_cm2 = 0.0101971621; // fator de conversão kgf/cm2

קוד מקור: הגדרות ()

הגדרת void () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // iniciando סדרתי // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

קוד מקור: לולאה ()

לולאת void () {float medidas = 0.0; // variável para manipular as medidas float pressao = 0.0; // variá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 display.clear (); // ajusta o alinhamento para a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_16); // אסור להצטייד במאגר האם להציג pressao display.drawString (0, 0, String (int (pressao)) + "kPa"); display.drawString (0, 16, String (pressao * fator_atm) + "atm"); display.drawString (0, 32, String (pressao * fator_kgf_cm2) + "kgf/cm2"); // אין צורך במאגר או אומץ לעשות ADC display.drawString (0, 48, "adc:" + String (int (medidas))); } אחר // אפשר לראות חמישה סגנונות, להציע מספר רשמי {// 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); // לא תציין תצוגה של buffer.drawString (64, 0, "Sensor Pressão"); // לא תציין תצוגה של buffer.drawString (64, 18, "דיפרנציאלי"); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_10); // לא תציין תצוגה של buffer.drawString (64, 44, "ESP-WiFi-Lora"); } display.display (); // העבר או חיץ עבור עיכוב תצוגה (50); }

קוד מקור: פונקציה המחשבת את הלחץ ב- kPa

float calculaPressao (float medida) {// Calcula a pressão com o // valor do AD corrigido pela função corrige Medida () // Esta função foi escrita de acordo com dados do fabricante // e NéO LEVA EM CONSIDERAÇÃO OS POSSÍVEIS DESVIOS DO COMPONENTE (טעות) החזר ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }

- תמונות

קוד מקור: פונקציה המתקנת את ערך ה- AD

float corrige Medida (float x) { / * Esta função foi obtida 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 * 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 * x * x * x * x; }

שלב 11: קבצים

הורד את הקבצים:

PDF

INO

מוּמלָץ: