Բովանդակություն:

Իմացեք այստեղ չափազանց կարևոր սենսորի մասին: 11 քայլ
Իմացեք այստեղ չափազանց կարևոր սենսորի մասին: 11 քայլ

Video: Իմացեք այստեղ չափազանց կարևոր սենսորի մասին: 11 քայլ

Video: Իմացեք այստեղ չափազանց կարևոր սենսորի մասին: 11 քայլ
Video: Եթե երազում տեսնում եք այս 10 բաները, ապա չպետք է անտեսեք 2024, Նոյեմբեր
Anonim
Իմացեք այստեղ չափազանց կարևոր սենսորի մասին
Իմացեք այստեղ չափազանց կարևոր սենսորի մասին

Ինչպե՞ս կարող եք իմանալ ջրի բաքում ջրի մակարդակի մասին: Այս տեսակի իրերը վերահսկելու համար կարող եք օգտագործել ճնշման ցուցիչ: Սա, ընդհանուր առմամբ, շատ օգտակար սարքավորում է արդյունաբերական ավտոմատացման համար: Այսօր մենք խոսելու ենք MPX ճնշման տվիչների այս ճշգրիտ ընտանիքի մասին, հատկապես ճնշման չափման համար: Ես ձեզ կծանոթացնեմ MPX5700 ճնշման տվիչի հետ և կկատարեմ նմուշի հավաքում ՝ օգտագործելով ESP WiFi LoRa 32 -ը:

Ես այսօր միացումում չեմ օգտագործի LoRa հաղորդակցությունը, ոչ WiFi, ոչ էլ Bluetooth: Այնուամենայնիվ, ես ընտրեցի այս ESP32- ը, քանի որ այլ տեսանյութերում արդեն սովորեցրել էի, թե ինչպես օգտագործել այն բոլոր հնարավորությունները, որոնք այսօր քննարկում եմ:

Քայլ 1: rationուցադրություն

Ցույց
Ցույց
Ցույց
Ցույց

Քայլ 2: Օգտագործված ռեսուրսներ

Օգտագործված ռեսուրսներ
Օգտագործված ռեսուրսներ

• MPX5700DP դիֆերենցիալ ճնշման ցուցիչ

• 10k պոտենցիոմետր (կամ եռաչափ)

• Protoboard

• Միացման լարերը

• USB մալուխ

• ESP WiFi LoRa 32

• Օդի կոմպրեսոր (ըստ ցանկության)

Քայլ 3: Ինչու՞ չափել ճնշումը:

Ինչու՞ չափել ճնշումը
Ինչու՞ չափել ճնշումը

• Կան բազմաթիվ ծրագրեր, որտեղ ճնշումը կարևոր վերահսկման փոփոխական է:

• Մենք կարող ենք ներգրավել օդաճնշական կամ հիդրավլիկ կառավարման համակարգեր:

• Բժշկական գործիքավորում:

• Ռոբոտաշինություն:

• Արդյունաբերական կամ բնապահպանական գործընթացների վերահսկում:

• Մակարդակի չափում հեղուկի կամ գազի ջրամբարներում:

Քայլ 4. MPX ճնշման տվիչների ընտանիք

MPX ճնշման տվիչների ընտանիք
MPX ճնշման տվիչների ընտանիք

• Նրանք ճնշման փոխարկիչներ են էլեկտրական լարման մեջ:

• Դրանք հիմնված են պիեզո -դիմադրիչ տվիչի վրա, որտեղ սեղմումը վերածվում է էլեկտրական դիմադրության տատանումների:

• Կան տարբերակներ, որոնք կարող են չափել ճնշման փոքր տարբերությունները (0 -ից մինչև 0,04 ատմ), կամ մեծ տատանումները (0 -ից մինչև 10 ատմ):

• Նրանք հայտնվում են բազմաթիվ փաթեթներում:

• Նրանք կարող են չափել բացարձակ ճնշում (համեմատած վակուումի հետ), դիֆերենցիալ ճնշում (երկու ճնշումների տարբերություն ՝ p1 և p2), կամ չափիչ (մթնոլորտային ճնշման համեմատ):

Քայլ 5: MPX5700DP

MPX5700DP
MPX5700DP
MPX5700DP
MPX5700DP

• 5700 շարքը ունի բացարձակ, դիֆերենցիալ և չափիչ տվիչներ:

• MPX5700DP- ն կարող է չափել դիֆերենցիալ ճնշում 0 -ից մինչև 700kPa (մոտավորապես 7 ատմ):

• Ելքային լարումը տատանվում է 0.2 Վ -ից մինչև 4.7 Վ:

• Նրա հզորությունը 4.75V- ից 5.25V է

Քայլ 6: Forույցի համար

Forույցի համար
Forույցի համար

• Այս անգամ մենք գործնական կիրառում չենք անի ՝ օգտագործելով այս սենսորը: մենք միայն այն կցենք և որոշ չափումներ կկատարենք որպես ցուցադրում:

• Դրա համար մենք կօգտագործենք ուղղակի օդի կոմպրեսոր `ճնշում գործադրելու բարձր ճնշման մուտքի մոտ (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: ulatingնշման հաշվարկ

Calcնշման հաշվարկ
Calcնշման հաշվարկ
Calcնշման հաշվարկ
Calcնշման հաշվարկ

• Չնայած արտադրողը մեզ տալիս է բաղադրիչի վարքագծի գործառույթը, միշտ նպատակահարմար է իրականացնել չափագրում, երբ մենք խոսում ենք չափումներ կատարելու մասին:

• Այնուամենայնիվ, քանի որ դա միայն ցուցադրում է, մենք ուղղակիորեն կօգտագործենք տվյալների թերթիկում հայտնաբերված գործառույթը: Դրա համար մենք այն շահարկելու ենք այնպես, որ մեզ ճնշում է տալիս որպես ADC արժեքի ֆունկցիա:

* Հիշեք, որ ADC- ին կիրառվող լարման մասնաբաժինը հղումային լարման միջոցով պետք է ունենա նույն արժեքը, ինչ ADC- ն կարդում է ընդհանուր ADC- ն: (Անտեսելով ուղղումը)

Քայլ 9: Հավաքում

Ժողով
Ժողով
Ժողով
Ժողով

• Սենսորը միացնելու համար փնտրեք խազը դրա տերմինալներից մեկում, որը ցույց է տալիս 1 -ին կապը:

• Հաշվելով այնտեղից.

Պին 1 -ը ապահովում է ազդանշանի ելք (0 Վ -ից մինչև 4.7 Վ)

Պին 2 -ը տեղեկանքն է: (GND)

Pin 3 հոսանքի համար: (Ընդդեմ)

• Քանի որ ազդանշանի ելքը 4.7 Վ է, մենք կօգտագործենք լարման բաժանարար, որպեսզի առավելագույն արժեքը համարժեք լինի 3V3- ին: Դրա համար մենք ճշգրտումը կատարեցինք պոտենցիոմետրով:

Քայլ 10: Աղբյուրի կոդ

Աղբյուրի ծածկագիր
Աղբյուրի ծածկագիր
Աղբյուրի ծածկագիր
Աղբյուրի ծածկագիր

Աղբյուրի կոդը ՝ #Ներառում է և #սահմանում

// Bibliotecas para useização do display oLED #include // Անհրաժեշտ է apenas para o Arduino 1.6.5 և posterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectados ao ESP32- ը ներկայացնում է GPIO- ի տվյալները.

Աղբյուր. Գլոբալ փոփոխականներ և հաստատուններ

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)) // se está ligado a mais que 5 segundos {// Limpa o buffer do display display.clear (); // անհրաժեշտ է esquerda display.setTextAlignment (TEXT_ALIGN_LEFT) համար; // Austa a fonte para 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, Լար (pressao * fator_atm) + "atm"); display.drawString (0, 32, Լար (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 teala inicial {// limpa o buffer do display.clear (); // Կենտրոնացված ցուցադրման համար. SetTextAlignment (TEXT_ALIGN_CENTER); // ուղիղ միացում Arial 16 display.setFont (ArialMT_Plain_16); // պահեք ոչ մի բուֆերային 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 (); // տեղափոխել բուֆեր կամ ցուցադրման ուշացում (50); }

Աղբյուրի կոդ. 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ÍOIS DESVIOSIS erro) վերադարձ ((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 * / վերադարձ 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 * -2.896158699016e-21 * x * x * x * x * x * x; }

Քայլ 11: Ֆայլեր

Ներբեռնեք ֆայլերը.

PDF

ԻՆՈ

Խորհուրդ ենք տալիս: