MPXV5100 slėgio jutiklio duomenų nuskaitymas Atmega8

MPX5100 slėgio jutiklis yra pjezosensorius, kuris detektuoja slėgio skirtumą tarp paduodamo į vamzdelį ir atmosferos slėgio. Pats sensorius yra patogus naudoti kartu su mikrokontroleriais kurie turi A/D įėjimus. Prijungimui tereikia 3 laidų – VCC, GND ir Vout. Tiagi išėjimo įtampa praktiškai yra tiesiškai priklausoma nuo paduodamo slėgio. Slegio skirtumas tiesinėje dalyje gali būti matuojamas nuo 0 iki 115kPa.

Maksimali riba 400kPa. Plačiau apie šį sensorių galite rasti Freescale puslapyje http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPXV5100

image002.jpg

Taigi, šis sensorius matuoja skirtuminį slėgį. Jeigu į jutiklį nepaduodams joks slėgis, tai jis turėtų rodyti 0.

image004.jpg

Norėdamas konvertuoti ADC reikšmę, nuskaityta su mikrokontroleriu naudojau šią formulę:

Pressure=((((adc+0.3)/255)-0.04)/0.009);

Neatlikau didelių testavimų kad kalibruoti. Stengiausi tik gauti nulį kai nėra paduodamas slėgis. Apie reikšmės skaičiavimą taipogi yra datasheete.

Žemiau pateiktas paprasčiausias pavyzdys, kaip gali būti naudojamas šis sensorius. Programa parašyta su C naudojant WinAVR naudojantis AVRLIB biblioteką. Naudojant AVRLIB biblioteką programavimas yra gana paprastas – tereikia poros eilučių, kad nuskaityti adc reikšmę ir išvesti į LCD. AVRLIB trūkumas tik tame, kad sukompiliuotos programos užima laai daug vietos. Mano atveju gavosi daugiau nei 60%.

image005.png

image008.jpg

Žemiau pateikti rezultatai:

image010.jpg

Slėgis nėra paduodamas – 0 kPa – sukalibruotas;

image012.jpg

10 kPa – kiek sugebėjau įpusti prijungęs šlangutę.

Programos kodas demo_pressure.zip.

Sėkmės.

Skelbta Elektronika Pažymėti: , ,
One comment on “MPXV5100 slėgio jutiklio duomenų nuskaitymas Atmega8
  1. prancius parašė:

    O jei si slegio davikli panaudoti su slangute imerkus i vandeni? Nebandei tokio varianto? Tikslas isgauti vandens lygi

Parašykite komentarą