Sadržaj:
Video: Kako čitati MPX5010 osjetnik diferencijalnog tlaka s Arduinom: 5 koraka
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Način na koji sam napisao kod je takav da se može lako promijeniti kako bi odgovarao drugom senzoru tlaka. Samo promijenite sljedeće varijable const u kodu na temelju vrijednosti iz podatkovnog lista za bilo koji senzor tlaka:
- vrijednost "sensorOffset" u mV
- vrijednost "osjetljivosti" u mV/mmH2O
Kad sam dobio ovaj senzor tlaka, pogledao sam na internetu kako bih pokušao pronaći primjer koda za izdvajanje očitanja tlaka s ovog senzora u stvarne jedinice tlaka, KPa ili cmH2O. Pronašao sam jedan uzorak koda za ovaj točni senzor, nakon što sam ga pokrenuo primijetio sam da se očitanja ne podudaraju s onim što bi trebalo biti na podatkovnoj tablici, pa sam odlučio napisati vlastiti izračun i svoj kôd … izgleda staro, ali radi, ura !! Pa sam mislio da ću to podijeliti sa svijetom kako drugi ljudi ne bi morali proživljavati istu bol.
Uživati!!
Pribor
Trebat će vam:
- Senzor tlaka MPX5010 (naravno)
- Arduino, Uno ili bilo koji drugi
- Neko silikonsko crijevo (za spajanje sa senzora tlaka na slavinu za pritisak)
- Male kabelske vezice (za pričvršćivanje silikonskog crijeva)
- Mala cijev od 2 mm od mesinga ili plastike (koristila sam cijev iz limenke WD40)
- Nekoliko izolacijske trake (potrebno je samo ako je vaše silikonsko crijevo preveliko za cijev WD40)
Korak 1: Spojite krug
Pogledajte super laku sliku povezivanja
Korak 2: Povežite senzor pritiska
- Spojite svoje silikonsko crijevo na priključak osjetnika tlaka, upotrijebite vezicu za kabel ako vam je potrebna za dobro brtvljenje
- Izbušite rupu od 2 mm u cijevi za koju želite osjetiti tlak zraka
- Gurnite cijev WD40 u rupu, trebala bi se jako čvrsto držati. Za dovršenje brtvljenja upotrijebite malo super ljepila
- Gurnite silikonsko crijevo preko cijevi WD40 (morao sam omotati izolacijsku traku oko cijevi kako bi pristajala). Zatim dodajte malu kabelsku vezicu
Korak 3: Učitajte kôd
Prenesite moj kôd na svoj Arduino, a zatim kliknite na serijski terminal za prikaz brojeva (gumb sa simbolom povećala u gornjem desnom kutu zaslona).
Trebali biste vidjeti vrijeme u milisekundama, zatim ',' pa vrijednost pritiska.
U kodu imate mogućnost izračunavanja broja u kPa ili cmH2O, samo komentirajte redak koji vam ne treba.
Dodajte "delay (500);" ako želite usporiti očitanja kako biste ih lakše pripremili na terminalu.
Način na koji sam napisao kod je takav da se može lako promijeniti kako bi odgovarao drugom senzoru tlaka. Samo promijenite sljedeće varijable const u kodu na temelju vrijednosti iz podatkovnog lista za bilo koji senzor tlaka:
- vrijednost "sensorOffset" u mV
- vrijednost "osjetljivosti" u mV/mmH2O
Korak 4: Izdvojite vrijednosti senzora u Excel
- Zapišite neka očitanja u svoj Arduino serijski terminal. Trebalo bi biti u formatu: "vrijeme (ms), očitanje pritiska"
- Odspojite USB kabel
- Odaberite sve vrijednosti sa serijskog terminala i kopirajte
- Zalijepite ih u bilježnicu
- Pritisnite datoteku> spremi kao
- Upišite naziv datoteke, a zatim promijenite proširenje u ".csv" (vrlo važno) i spremite ga
- Otvorite istraživač datoteka i trebali biste vidjeti svoju datoteku s logotipom programa Excel (to znači da ste ispravno napravili.csv datoteku)
- Dvaput kliknite na svoju novu.csv datoteku i ona će se otvoriti u Excelu i trebala je automatski sortirati vaše vrijednosti u dva odvojena stupca i riješiti se zareza (zato su.csv datoteke izvrsne!)
Zatim možete napraviti grafikone pritiska s vremenom ili što god želite.
BTW: CSV znači "vrijednosti odvojene zarezima".
Korak 5: Dodatni štreberski bit
Svaka čast što ste uspjeli dovde! To znači da ste prošli štreberski test i kao nagradu ću vam reći neke tehničke detalje.
Zato sam na početku spomenuo uzorak koda koji sam pronašao za ovaj točno senzor koji mi je dao pogrešne vrijednosti. Da bih to provjerio, upotrijebio sam njihovu jednadžbu za izračunavanje nekoliko točaka na grafikonu odgovora (u prilogu) iz podatkovne tablice i otkrio sam da se ne podudaraju s grafikonom. Stoga sam stvorio vlastiti izračun i uporedio ga s grafikonom na podatkovnom listu kako bih dokazao da radi u teoriji, zatim sam očitao podatke sa oba koda i preko njih položio grafikone koje sam priložio.
Na priloženim grafikonima plava linija je primjer koda koji sam pronašao, a crvena linija je moj kôd. Problem je razumljivo očit pri gledanju grafikona jer kôd web primjera ne mjeri 0 u okolini što bi trebao učiniti jer mjerimo diferencijalni tlak.
Ok pa ipak ne mora biti pretjerano tehnički, žao mi je što vas razočaram, ali nadam se da ste ipak uživali:)