Spisu treści:

Dowiedz się tutaj o niezwykle ważnym czujniku!: 11 kroków
Dowiedz się tutaj o niezwykle ważnym czujniku!: 11 kroków

Wideo: Dowiedz się tutaj o niezwykle ważnym czujniku!: 11 kroków

Wideo: Dowiedz się tutaj o niezwykle ważnym czujniku!: 11 kroków
Wideo: Co ten ,,Diagnosta'' narobił! Zatarli silnik! 2024, Grudzień
Anonim
Dowiedz się tutaj o niezwykle ważnym czujniku!
Dowiedz się tutaj o niezwykle ważnym czujniku!

Jak możesz dowiedzieć się o poziomie wody w zbiorniku na wodę? Aby monitorować tego typu rzeczy, możesz użyć czujnika ciśnienia. Jest to ogólnie bardzo przydatny sprzęt do automatyki przemysłowej. Dzisiaj porozmawiamy o tej dokładnej rodzinie czujników ciśnienia MPX, specjalnie do pomiaru ciśnienia. Przedstawię Ci czujnik ciśnienia MPX5700 i wykonam przykładowy montaż za pomocą ESP WiFi LoRa 32.

Nie będę dziś wykorzystywał w obwodzie komunikacji LoRa, ani WiFi, ani Bluetooth. Zdecydowałem się jednak na ten ESP32, ponieważ uczyłem już w innych filmach, jak korzystać ze wszystkich funkcji, które omawiam dzisiaj.

Krok 1: Demonstracja

Demonstracja
Demonstracja
Demonstracja
Demonstracja

Krok 2: Wykorzystane zasoby

Wykorzystane zasoby
Wykorzystane zasoby

• Czujnik różnicy ciśnień MPX5700DP

• potencjometr 10k (lub trimpot)

• Płyta prototypowa

• Przewody połączeniowe

• kabel USB

• ESP WiFi LoRa 32

• Sprężarka powietrza (opcja)

Krok 3: Po co mierzyć ciśnienie?

Dlaczego mierzyć ciśnienie?
Dlaczego mierzyć ciśnienie?

• Istnieje wiele zastosowań, w których ciśnienie jest ważną zmienną kontrolną.

• Możemy zastosować pneumatyczne lub hydrauliczne systemy sterowania.

• Oprzyrządowanie medyczne.

• Robotyka.

• Kontrola procesów przemysłowych lub środowiskowych.

• Pomiar poziomu w zbiornikach cieczy lub gazu.

Krok 4: Rodzina czujników ciśnienia MPX

Rodzina czujników ciśnienia MPX
Rodzina czujników ciśnienia MPX

• Są przetwornikami ciśnienia w napięciu elektrycznym.

• Oparte są na czujniku piezo-rezystancyjnym, w którym kompresja jest przekształcana na zmianę rezystancji elektrycznej.

• Istnieją wersje zdolne do pomiaru małych różnic ciśnienia (od 0 do 0,04 atm) lub dużych wahań (od 0 do 10 atm).

• Pojawiają się w wielu opakowaniach.

• Mogą mierzyć ciśnienie bezwzględne (w stosunku do próżni), różnicę ciśnień (różnicę między dwoma ciśnieniami, p1 i p2) lub manometr (w stosunku do ciśnienia atmosferycznego).

Krok 5: MPX5700DP

MPX5700DP
MPX5700DP
MPX5700DP
MPX5700DP

• Seria 5700 zawiera czujniki bezwzględne, różnicowe i pomiarowe.

• MPX5700DP może mierzyć różnicę ciśnień od 0 do 700kPa (około 7atm).

• Napięcie wyjściowe waha się od 0,2V do 4,7V.

• Jego moc wynosi od 4,75 V do 5,25 V

Krok 6: Do demonstracji

Na demonstrację
Na demonstrację

• Tym razem nie będziemy wykonywać praktycznej aplikacji przy użyciu tego czujnika; zamontujemy go i wykonamy kilka pomiarów jako demonstrację.

• W tym celu zastosujemy bezpośrednią sprężarkę powietrza, aby zastosować ciśnienie na wlocie wysokiego ciśnienia (p1) i uzyskać różnicę w stosunku do lokalnego ciśnienia atmosferycznego (p2).

• MPX5700DP jest czujnikiem jednokierunkowym, co oznacza, że mierzy dodatnie różnice, gdzie p1 musi być zawsze większe lub równe p2.

• p1> p2 a różnica będzie p1 - p2

• Istnieją dwukierunkowe czujniki różnicowe, które mogą oceniać różnice ujemne i dodatnie.

• Chociaż jest to tylko demonstracja, możemy z łatwością wykorzystać tutaj zasady do kontrolowania np. ciśnienia w zbiorniku powietrza zasilanym przez tę sprężarkę.

Krok 7: Kalibracja ADC ESP

Kalibracja ADC ESP
Kalibracja ADC ESP
Kalibracja ESP ADC
Kalibracja ESP ADC
Kalibracja ADC ESP
Kalibracja ADC ESP

• Ponieważ wiemy, że konwersja analogowo-cyfrowa ESP nie jest całkowicie liniowa i może różnić się w zależności od SoC, zacznijmy od prostego określenia jego zachowania.

• Za pomocą potencjometru i multimetru zmierzymy napięcie przyłożone do AD i odniesiemy je do wskazanej wartości.

• Za pomocą prostego programu do odczytywania AD i gromadzenia informacji w tabeli byliśmy w stanie określić krzywą jego zachowania.

Krok 8: Obliczanie ciśnienia

Obliczanie ciśnienia
Obliczanie ciśnienia
Obliczanie ciśnienia
Obliczanie ciśnienia

• Chociaż producent udostępnia nam funkcję z zachowaniem komponentu, zawsze zaleca się przeprowadzenie kalibracji, gdy mówimy o wykonywaniu pomiarów.

• Ponieważ jest to jednak tylko demonstracja, użyjemy bezpośrednio funkcji znajdującej się w arkuszu danych. W tym celu manipulujemy nim w sposób, który daje nam ciśnienie w funkcji wartości ADC.

* Pamiętaj, że ułamek napięcia przyłożonego do ADC przez napięcie odniesienia musi mieć taką samą wartość jak ADC odczytany przez całkowity ADC. (pomijając korektę)

Krok 9: Montaż

montaż
montaż
montaż
montaż

• Aby podłączyć czujnik, poszukaj wycięcia w jednym z jego zacisków, które wskazuje pin 1.

• Licząc stamtąd:

Pin 1 zapewnia wyjście sygnału (od 0 V do 4,7 V)

Pin 2 jest odniesieniem. (GND)

Pin 3 do zasilania. (Vs)

• Ponieważ sygnał wyjściowy wynosi 4,7V, użyjemy dzielnika napięcia, aby maksymalna wartość była równa 3V3. W tym celu dokonaliśmy regulacji za pomocą potencjometru.

Krok 10: Kod źródłowy

Kod źródłowy
Kod źródłowy
Kod źródłowy
Kod źródłowy

Kod źródłowy: #Zawiera i #definiuje

//Biblioteka dotycząca obsługi wyświetlania OLED#include // Niezbędne elementy dla Arduino 1.6.5 i tylne #include „SSD1306.h” // O wiadomości #include „SSD1306Wire.h” //Osłony podłączane do OLED również Kolejne GPIO w ESP32: //OLED_SDA -- GPIO4 //OLED_SCL -- GPIO15 //OLED_RST -- GPIO16 #define SDA 4 #define SCL 15 #define RST 16 //RST Opracuj dostosowane oprogramowanie

Źródło: Zmienne i stałe globalne

Wyświetlacz 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

Kod źródłowy: Konfiguracja ()

void setup(){ pinMode(pin, INPUT); //pino de leitura analógica Serial.begin(115200); //zainicjuj serial // Zainicjuj wyświetlanie display.init(); display.flipScreenPionowo(); //Vira a tela verticalmente }

Kod źródłowy: Pętla ()

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)) //se está ligado a mais que 5 segundos { //Limpa o buffer display display.clear(); //dostosuj ustawienie do wyświetlania.setTextAlignment(TEXT_ALIGN_LEFT); //ustaw czcionkę dla Arial 10 display.setFont(ArialMT_Plain_16); //Usuń brak bufora, aby wyświetlić 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"); //usuń brak bufora dla wartości 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(); //Dostosuj ustawienie do centralnego wyświetlania.setTextAlignment(TEXT_ALIGN_CENTER); //ustaw czcionkę dla Arial 16 display.setFont(ArialMT_Plain_16); //usuń brak bufora display.drawString(64, 0, "Sensor Pressão"); //usuń brak bufora display.drawString(64, 18, "Diferencial"); //ustaw czcionkę dla Arial 10 display.setFont(ArialMT_Plain_10); //usuń brak bufora display.drawString(64, 44, "ESP-WiFi-Lora"); } display.display();//transfer o bufor para o display delay(50); }

Kod źródłowy: funkcja obliczająca ciśnienie w kPa

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 CONSIDERAÇÃO DE OS POSSÍVEIS erro) powrót ((corrigeMedida(medida) / 3,3) - 0,04) / 0,0012858; }

-- OBRAZY

Kod źródłowy: funkcja korygująca wartość 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 * 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 * x * x * x * x; }

Krok 11: Pliki

Pobierz pliki:

PDF

JA NIE

Zalecana: