Turinys:

Sužinokite čia apie nepaprastai svarbų jutiklį!: 11 žingsnių
Sužinokite čia apie nepaprastai svarbų jutiklį!: 11 žingsnių

Video: Sužinokite čia apie nepaprastai svarbų jutiklį!: 11 žingsnių

Video: Sužinokite čia apie nepaprastai svarbų jutiklį!: 11 žingsnių
Video: Pristatome „Canon R6 Mark II“ – „Mastery of Stills and Motion“ 2024, Liepa
Anonim
Sužinokite čia apie nepaprastai svarbų jutiklį!
Sužinokite čia apie nepaprastai svarbų jutiklį!

Kaip sužinoti vandens lygį vandens rezervuare? Norėdami stebėti tokio tipo dalykus, galite naudoti slėgio jutiklį. Tai labai naudinga įranga pramonės automatizavimui apskritai. Šiandien mes kalbėsime apie šią tikslią MPX slėgio jutiklių šeimą, specialiai slėgio matavimui. Aš supažindinsiu jus su MPX5700 slėgio jutikliu ir atliksiu pavyzdžių surinkimą naudodami ESP WiFi LoRa 32.

Šiandien aš nenaudosiu „LoRa“ryšio grandinėje, nei „WiFi“, nei „Bluetooth“. Tačiau pasirinkau šį ESP32, nes kituose vaizdo įrašuose jau mokiau, kaip naudotis visomis šiandien aptariamomis funkcijomis.

1 žingsnis: demonstracija

Demonstracija
Demonstracija
Demonstracija
Demonstracija

2 žingsnis: naudojami ištekliai

Naudojami ištekliai
Naudojami ištekliai

• MPX5700DP slėgio skirtumo jutiklis

• 10k potenciometras (arba trimpotas)

• Protoboard

• Prijungimo laidai

• USB kabelis

• „ESP WiFi LoRa 32“

• Oro kompresorius (pasirinktinai)

3 žingsnis: Kodėl matuoti slėgį?

Kodėl reikia matuoti slėgį?
Kodėl reikia matuoti slėgį?

• Yra daug programų, kuriose slėgis yra svarbus valdymo kintamasis.

• Mes galime įtraukti pneumatines arba hidraulines valdymo sistemas.

• Medicininiai prietaisai.

• Robotika.

• Pramonės ar aplinkos procesų kontrolė.

• Lygio matavimas skysčių ar dujų rezervuaruose.

4 žingsnis: MPX slėgio jutiklių šeima

MPX slėgio jutiklių šeima
MPX slėgio jutiklių šeima

• Jie yra elektros įtampos slėgio keitikliai.

• Jie pagrįsti pjezo varžos jutikliu, kuriame suspaudimas paverčiamas elektros varžos variacija.

• Yra versijų, galinčių išmatuoti nedidelius slėgio skirtumus (nuo 0 iki 0,04 atm) arba didelius svyravimus (nuo 0 iki 10 atm).

• Jie pateikiami keliose pakuotėse.

• Jie gali matuoti absoliutų slėgį (palyginti su vakuumu), slėgio skirtumą (skirtumas tarp dviejų slėgių, p1 ir p2) arba matuoklį (atsižvelgiant į atmosferos slėgį).

5 žingsnis: MPX5700DP

MPX5700DP
MPX5700DP
MPX5700DP
MPX5700DP

• 5700 serija turi absoliučius, diferencinius ir gabaritinius jutiklius.

• MPX5700DP gali matuoti slėgio skirtumą nuo 0 iki 700 kPa (maždaug 7 atm).

• Išėjimo įtampa kinta nuo 0,2V iki 4,7V.

• Jo galia yra nuo 4,75V iki 5,25V

6 žingsnis: demonstracijai

Demonstracijai
Demonstracijai

• Šį kartą praktiškai nesinaudosime šiuo jutikliu; mes jį tik sumontuosime ir atliksime kai kuriuos matavimus kaip demonstraciją.

• Norėdami tai padaryti, mes naudosime tiesioginį oro kompresorių, kad slėgis būtų pasiektas aukšto slėgio įleidimo angoje (p1) ir gautų skirtumą, palyginti su vietiniu atmosferos slėgiu (p2).

• MPX5700DP yra vienpusis jutiklis, o tai reiškia, kad jis matuoja teigiamus skirtumus, kai p1 visada turi būti didesnis arba lygus p2.

• p1> p2 ir skirtumas bus p1 - p2

• Yra dviejų krypčių diferenciniai jutikliai, galintys įvertinti neigiamus ir teigiamus skirtumus.

• Nors tai tik demonstravimas, čia esančiais principais galėtume nesunkiai valdyti, pavyzdžiui, slėgį oro rezervuare, kurį maitina šis kompresorius.

7 žingsnis: ESP ADC kalibravimas

ESP ADC kalibravimas
ESP ADC kalibravimas
ESP ADC kalibravimas
ESP ADC kalibravimas
ESP ADC kalibravimas
ESP ADC kalibravimas

• Kadangi žinome, kad ESP analoginis-skaitmeninis konvertavimas nėra visiškai tiesinis ir gali skirtis priklausomai nuo SoC, pradėkime nuo paprasto jo elgesio nustatymo.

• Naudodami potenciometrą ir multimetrą, išmatuosime AD įtampą ir susiesime ją su nurodyta verte.

• Naudodami paprastą programą, skirtą skaityti AD ir surinkti informaciją į lentelę, mums pavyko nustatyti jos elgesio kreivę.

8 žingsnis: Slėgio apskaičiavimas

Slėgio apskaičiavimas
Slėgio apskaičiavimas
Slėgio apskaičiavimas
Slėgio apskaičiavimas

• Nors gamintojas mums nurodo, kaip veikia sudedamoji dalis, visada patartina atlikti kalibravimą, kai kalbame apie matavimus.

• Tačiau, kadangi tai tik demonstravimas, mes tiesiogiai naudosime duomenų lape esančią funkciją. Šiuo tikslu mes manipuliuosime taip, kad sukeltume spaudimą kaip ADC vertės funkciją.

* Atminkite, kad įtampos dalis, kurią ADC naudoja atskaitos įtampa, turi būti tokia pati, kaip ir ADC, nuskaityta viso ADC. (Neatsižvelgiant į taisymą)

9 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas

• Norėdami prijungti jutiklį, ieškokite įpjovos viename iš jo gnybtų, rodančių 1 kaištį.

• Skaičiuojant iš ten:

1 kaištis užtikrina signalo išėjimą (nuo 0V iki 4,7V)

2 kaištis yra nuoroda. (GND)

3 kaištis galiai. (Prieš)

• Kadangi signalo išvestis yra 4,7 V, mes naudosime įtampos daliklį, kad didžiausia vertė būtų lygi 3V3. Tam mes sureguliavome potenciometru.

10 veiksmas: šaltinio kodas

Šaltinio kodas
Šaltinio kodas
Šaltinio kodas
Šaltinio kodas

Šaltinio kodas: #Įtraukiamas ir #apibrėžtas

// 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 mišinys 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

Šaltinis: Visuotiniai kintamieji ir konstantos

SSD1306 ekranas (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

Šaltinio kodas: sąranka ()

void setup () {pinMode (PIN, INPUT); // pino de leitura analógica Serial.begin (115200); // inicijuoti serijinį // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

Šaltinio kodas: Loop ()

void loop () {float medidas = 0.0; // vará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 (); // valdymas arba alinhamento esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_16); // Escreve no buffer do display pressao display.drawString (0, 0, String (int (pressao))) + "kPa"); display.drawString (0, 16, String (pressao * fator_atm) + "atm"); display.drawString (0, 32, eilutė (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 (); // Ajusta arba alinhamento 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 (); // perkelti o buferį para o display delay (50); }

Šaltinio kodas: funkcija, kuri apskaičiuoja slėgį 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 OS POSSÍVEIS DESVIOS erro) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }

-- VAIZDAI

Šaltinio kodas: funkcija, ištaisanti AD vertę

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; }

11 veiksmas: failai

Atsisiųskite failus:

PDF

AŠ NE

Rekomenduojamas: