Πίνακας περιεχομένων:

Μάθετε εδώ για έναν εξαιρετικά σημαντικό αισθητήρα !: 11 βήματα
Μάθετε εδώ για έναν εξαιρετικά σημαντικό αισθητήρα !: 11 βήματα

Βίντεο: Μάθετε εδώ για έναν εξαιρετικά σημαντικό αισθητήρα !: 11 βήματα

Βίντεο: Μάθετε εδώ για έναν εξαιρετικά σημαντικό αισθητήρα !: 11 βήματα
Βίντεο: ΜΗΝΥΜΑΤΑ & ΣΥΜΒΟΥΛΕΣ ΑΠΟ ΤΟΝ ΜΕΛΛΟΝΤΙΚΟ ΣΟΥ ΕΑΥΤΟ! 2024, Ιούλιος
Anonim
Μάθετε εδώ για έναν εξαιρετικά σημαντικό αισθητήρα!
Μάθετε εδώ για έναν εξαιρετικά σημαντικό αισθητήρα!

Πώς μπορείτε να μάθετε για τη στάθμη του νερού σε μια δεξαμενή νερού; Για να παρακολουθείτε τέτοιου είδους πράγματα, μπορείτε να χρησιμοποιήσετε έναν αισθητήρα πίεσης. Αυτός είναι πολύ χρήσιμος εξοπλισμός για βιομηχανικούς αυτοματισμούς, γενικά. Σήμερα, θα μιλήσουμε για αυτήν ακριβώς την οικογένεια αισθητήρων πίεσης MPX, ειδικά για τη μέτρηση της πίεσης. Θα σας παρουσιάσω τον αισθητήρα πίεσης MPX5700 και θα εκτελέσω ένα δείγμα συναρμολόγησης χρησιμοποιώντας το ESP WiFi LoRa 32.

Δεν θα χρησιμοποιήσω την επικοινωνία LoRa στο κύκλωμα σήμερα, ούτε WiFi ούτε Bluetooth. Ωστόσο, επέλεξα αυτό το ESP32 επειδή δίδαξα ήδη σε άλλα βίντεο πώς να χρησιμοποιώ όλες τις δυνατότητες που συζητώ σήμερα.

Βήμα 1: Επίδειξη

Επίδειξη
Επίδειξη
Επίδειξη
Επίδειξη

Βήμα 2: Χρησιμοποιημένοι πόροι

Πόροι που χρησιμοποιήθηκαν
Πόροι που χρησιμοποιήθηκαν

• Αισθητήρας διαφορικής πίεσης MPX5700DP

• ποτενσιόμετρο 10k (ή trimpot)

• Protoboard

• Καλώδια σύνδεσης

• Καλώδιο USB

• ESP WiFi LoRa 32

• Συμπιεστής αέρα (προαιρετικό)

Βήμα 3: Γιατί να μετρήσετε την πίεση;

Γιατί να μετρήσετε την πίεση
Γιατί να μετρήσετε την πίεση

• Υπάρχουν πολλές εφαρμογές όπου η πίεση είναι μια σημαντική μεταβλητή ελέγχου.

• Μπορούμε να εμπλέξουμε πνευματικά ή υδραυλικά συστήματα ελέγχου.

• Ιατρικά όργανα.

• Ρομποτική.

• Έλεγχος βιομηχανικών ή περιβαλλοντικών διαδικασιών.

• Μέτρηση επιπέδου σε δεξαμενές υγρών ή αερίων.

Βήμα 4: Η οικογένεια αισθητήρων πίεσης MPX

Η οικογένεια αισθητήρων πίεσης MPX
Η οικογένεια αισθητήρων πίεσης MPX

• Είναι μετατροπείς πίεσης σε ηλεκτρική τάση.

• Βασίζονται σε πιεζοαισθητήρα αντίστασης, όπου η συμπίεση μετατρέπεται σε παραλλαγή της ηλεκτρικής αντίστασης.

• Υπάρχουν εκδόσεις που μπορούν να μετρήσουν μικρές διαφορές πίεσης (από 0 έως 0,04 ατμ) ή μεγάλες παραλλαγές (από 0 έως 10 ατμ).

• Εμφανίζονται σε πολλαπλά πακέτα.

• Μπορούν να μετρήσουν την απόλυτη πίεση (σε σχέση με το κενό), τη διαφορική πίεση (τη διαφορά μεταξύ δύο πιέσεων, ρ1 και ρ2) ή μετρητή (σε σχέση με την ατμοσφαιρική πίεση).

Βήμα 5: Το MPX5700DP

Το MPX5700DP
Το MPX5700DP
Το MPX5700DP
Το MPX5700DP

• Η σειρά 5700 διαθέτει απόλυτους, διαφορικούς και αισθητήρες μετρητή.

• Το MPX5700DP μπορεί να μετρήσει διαφορική πίεση από 0 έως 700kPa (περίπου 7atm).

• Η τάση εξόδου κυμαίνεται από 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.

• Μετρώντας από εκεί:

Το pin 1 παρέχει έξοδο σήματος (από 0V έως 4.7V)

Το pin 2 είναι η αναφορά. (GND)

Καρφίτσα 3 για τροφοδοσία. (Εναντίον)

• Καθώς η έξοδος σήματος είναι 4,7V, θα χρησιμοποιήσουμε ένα διαχωριστή τάσης έτσι ώστε η μέγιστη τιμή να ισοδυναμεί με 3V3. Για αυτό, κάναμε τη ρύθμιση με το ποτενσιόμετρο.

Βήμα 10: Πηγαίος κώδικας

Πηγαίος Κώδικας
Πηγαίος Κώδικας
Πηγαίος Κώδικας
Πηγαίος Κώδικας

Κώδικας πηγής: #Περιλαμβάνει και #καθορίζει

// Βιβλιοθήκες για χρήση oLED #περιλαμβάνουν // Απαιτήσεις για το Arduino 1.6.5 και posterior #include "SSD1306.h" // o mesmo que #include "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 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

Πηγαίος κώδικας: Setup ()

void setup () {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}

Πηγαίος κώδικας: Loop ()

void loop () {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)) // είναι απαραίτητο για 5 δευτερόλεπτα {// Limpa o buffer do display display.clear (); // για να δείτε το esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // παρακολούθηση του Arial 10 display.setFont (ArialMT_Plain_16); // Escreve no buffer do display a 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"); // 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 display.clear (); // Προσθήκη στο κεντρικό display.setTextAlignment (TEXT_ALIGN_CENTER); // παρακαλώ να δείτε το 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"); // παρακολούθηση του Arial 10 display.setFont (ArialMT_Plain_10); // escreve no buffer display.drawString (64, 44, "ESP-WiFi-Lora"); } display.display (); // μεταφορά buffer για o καθυστέρηση οθόνης (50); }

Πηγαίος κώδικας: Λειτουργία που υπολογίζει την πίεση σε kPa

float calculaPressao (float medida) {// Υπολογισμός 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 CONSIDERAÇÃO OS POSSÍOIS DESVIOSIS λάθος) επιστροφή ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858 · }

- ΕΙΚΟΝΕΣ

Πηγαίος κώδικας: Λειτουργία που διορθώνει την τιμή AD

float corrigeMedida (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 * 07 * 5.235532597676e-10 * x * x * x + -2.020362975028e-13 * x * x * x * x + 3.809807883001e-17 * x * x * x * x * x * x + -2.896158699016e-21 * x * x * x * x * x * x; }

Βήμα 11: Αρχεία

Κατεβάστε τα αρχεία:

PDF

ΕΓΩ ΔΕΝ

Συνιστάται: