Obsah:
Video: Ako čítať snímač diferenčného tlaku MPX5010 s Arduino: 5 krokov
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Kód som napísal tak, že sa dá ľahko zmeniť tak, aby vyhovoval inému snímaču tlaku. Stačí zmeniť nasledujúce konštanty v kóde na základe hodnôt z technického listu pre akýkoľvek snímač tlaku:
- hodnota "sensorOffset" v mV
- hodnota „citlivosti“v mV/mmH2O
Hneď ako som dostal tento snímač tlaku, porozhliadol som sa online a pokúsil som sa nájsť príklad kódu na extrakciu hodnôt tlaku z tohto snímača do skutočných jednotiek tlaku, KPa alebo cmH2O. Našiel som jeden ukážkový kód pre tento presný snímač, po jeho spustení som si všimol, že namerané hodnoty sa nezhodujú s tým, čo by mali byť v technickom liste, a tak som sa rozhodol napísať svoj vlastný výpočet a svoj vlastný kód … vyzerá to staršie, ale funguje to, hurá !! Preto som si povedal, že sa o to podelím so svetom, aby rovnakú bolesť nemuseli prežívať aj iní ľudia.
Užite si to!!
Zásoby
Budete potrebovať:
- Snímač tlaku MPX5010 (samozrejme)
- Arduino, Uno alebo akékoľvek iné
- Trochu kremíkovej hadice (na pripojenie zo snímača tlaku k tlakovému kohútiku)
- Malé káblové zväzky (na zaistenie silikónovej hadice)
- Malá 2 mm mosadzná alebo plastová trubica (použil som tubu z plechovky WD40)
- Určitá izolačná páska (potrebná iba vtedy, ak je silikónová hadica príliš veľká na rúrku WD40)
Krok 1: Pripojte obvod
Pozrite si obrázok super jednoduchého pripojenia
Krok 2: Pripojte snímač tlaku
- Pripojte silikónovú hadicu k portu snímača tlaku, použite káblovú svorku, ak ju potrebujete, aby bola dobre utesnená
- Do potrubia, do ktorého chcete cítiť tlak vzduchu, vyvŕtajte 2 mm otvor
- Zasuňte trubicu WD40 do otvoru, malo by to byť naozaj tesné. Na dokončenie tesnenia použite trochu super lepidla
- Nasuňte silikónovú hadicu na trubicu WD40 (musel som okolo trubice omotať izolačnú pásku, aby sa zmestila). Potom pridajte malú sťahovaciu pásku
Krok 3: Nahrajte kód
Nahrajte môj kód do vášho Arduina a potom kliknutím na sériový terminál zobrazte čísla (tlačidlo so symbolom lupy v pravom hornom rohu obrazovky).
Mali by ste vidieť čas v milisekundách, potom a ',' potom hodnotu tlaku.
V kóde máte možnosť výpočtu čísla v kPa alebo cmH2O, stačí, ak do komentára napíšete nepotrebný riadok.
Pridajte „oneskorenie (500);“ak chcete spomaliť merania, aby boli na termináli jednoduchšie pripravené.
Kód som napísal tak, že sa dá ľahko zmeniť tak, aby vyhovoval inému snímaču tlaku. Stačí zmeniť nasledujúce konštanty v kóde na základe hodnôt z technického listu pre akýkoľvek snímač tlaku:
- hodnota "sensorOffset" v mV
- hodnota „citlivosti“v mV/mmH2O
Krok 4: Extrahujte hodnoty senzora do programu Excel
- Zaznamenajte niektoré hodnoty do svojho sériového terminálu Arduino. Mal by byť vo formáte: „čas (ms), čítanie tlaku“
- Odpojte kábel USB
- Vyberte všetky hodnoty zo sériového terminálu a skopírujte ich
- Vložte ich do poznámkového bloku
- Kliknite na súbor> uložiť ako
- Zadajte názov súboru, potom príponu zmeňte na „.csv“(veľmi dôležité) a uložte ju
- Otvorte prieskumník súborov a mal by sa vám zobraziť súbor s logom Excelu (to znamená, že ste správne vytvorili súbor.csv)
- Dvakrát kliknite na svoj nový súbor.csv, otvorí sa v programe Excel a mal by automaticky zoradiť vaše hodnoty do dvoch samostatných stĺpcov a zbaviť sa čiarky (preto sú súbory.csv skvelé!)
Potom môžete pokračovať a vytvárať grafy tlaku v priebehu času alebo čo chcete.
BTW: CSV znamená „hodnoty oddelené čiarkami“.
Krok 5: Extra nerdy bit
Dobre, že ste sa dostali tak ďaleko! To znamená, že ste zvládli test na nerd a ako odmenu vám poviem niekoľko technických podrobností.
Na začiatku som teda spomenul ukážkový kód, ktorý som našiel pre tento presný snímač a ktorý mi dal nesprávne hodnoty. Aby som to skontroloval, použil som ich rovnicu na výpočet niekoľkých bodov na grafe odpovedí (priloženom) z technického listu a zistil som, že sa tieto grafy nezhodujú. Vytvoril som teda svoj vlastný výpočet a porovnal som ho s grafom v technickom liste, aby som dokázal, že to teoreticky funguje, potom som zaznamenal údaje zaznamenané s obidvoma kódmi a položil grafy, ktoré som pripojil.
Na priložených grafoch je modrá čiara ukážkovým kódom, ktorý som našiel, a červená čiara je môj kód. Problém je pri pohľade na graf pomerne zrejmý, pretože kód webového príkladu nemeria 0 pri teplote okolia, čo by mal urobiť, pretože meriame diferenčný tlak.
Ok, takže to nakoniec nebude príliš technologické, ospravedlňujeme sa za sklamanie, ale dúfame, že ste si to aj tak užili:)