Kysymys:
Mikrokontrollerilla varustetun vesisäiliön taso
mad_z
2009-11-30 17:00:08 UTC
view on stackexchange narkive permalink

Kuinka mitataan vesisäiliön taso mikro-ohjaimella?

Tämä ei ole arvoinen vastaukseksi, mutta ystäväni teki tämän taideprojektin pari vuotta sitten. Kiinnostuneille esitän mielelläni sinut ja olen varma, että hän selittää mielellään miten hän teki sen. Hänen projektinsa on ohitse: http://unixarts.com/sealevel.html Tämä yhdistää sekä pumput että anturit ja vaati riittävää tarkkuutta, jotta se voisi liikkua ylös ja alas ilman liikaa vinoutumista.
Kun mikro-ohjain lakkaa toimimasta - se on veden alla.
Kolmetoista vastused:
#1
+23
Michael Kohne
2009-11-30 17:45:43 UTC
view on stackexchange narkive permalink

Olettaen, että olet toiminnassa täällä maan päällä (toisin kuin kiertoradalla), voit käyttää float-anturia, jonka mitat mikrolla. Kysymys kuuluu: Tarvitseeko sinun tietää tarkka taso vai tarvitsetko vain jonkinlaisen matkan, kun se nousee korkealle / matalalle?

Teemalla 'matka tietyllä tasolla' voit saada kytkimiä tältä - yleensä kellukkeessa on jonkinlainen asennontunnistuskytkin. Kun vedenpinta on matalampi, uimuri päätyy sivulleen ja kytkin on 'pois päältä', kun taas tason nostaminen pakottaa uimurin pystyasentoon ja siten 'päälle'. Näitä käytetään usein öljypumppuihin. Ne ovat melko luotettavia ja erittäin helppo käsitellä, vaikka sinun on oltava varovainen kiinnitettäessä ne oikein, ja sinun on oltava varma, että mikään ei estä kelluketta.

Jos sinun on tiedettävä todellinen taso, niin sinulla on paljon valintoja, mutta se on vähemmän yksinkertaista. Voit käyttää jotain ultraäänianturia (ultraäänisäde, joka ampuu alas säiliön yläosasta heijastamaan veden tasoa).

Nämä kaverit näyttävät tekevän tasoindikaattoreita BIG-säiliöille, jotka koostuvat uimurista ja ulkoisesta painokaapelista. Kun uimuri ajaa ylös ja alas nesteen päällä, ulkoinen osoitin liikkuu asianmukaisesti. Voisit rakentaa jotain vastaavaa, eikä mitään monimutkaisempaa kuin valosolut tason lukemiseen (jos se on suuri säiliö tai haluat paljon yksityiskohtia, tarvitset paljon valosoluja).

Vaihtoehtoisesti, kun otat kaapeloidun kellukkeen idean, voit laittaa välipyörän, joka liikkuu aina, kun kaapeli liikkuu, ja kiinnittää sitten kooderi siihen. Tämän avulla voit seurata tasoa melko suurella tarkkuudella.

#2
+15
Evan
2009-12-01 04:59:42 UTC
view on stackexchange narkive permalink

Tiedän, että pian julkaistavassa kirjassa Practical Arduino on mukana vesisäiliön syvyysanturi -projekti, joka käyttää paine-eroanturia mittaamaan vedenpainetta säiliön pohjan ja siitä laskeaksesi tankin täyttömäärän.

Kaaviot ovat yllä olevassa linkissä yhdessä linkin lähdekoodiin githubissa.

(Täysi paljastus: Minulla ei ole yhteyttä kirjaan, mutta olen tavannut yhden kirjoittajista pari kertaa paikallisilla hakkereillamme.)

#3
+11
russ_hensel
2009-11-30 21:04:00 UTC
view on stackexchange narkive permalink

Menetelmä, josta pidän, mutta en ole kokeillut, on laittaa kaksi eristettyä levyä nesteeseen. Ei kondensoitumista, elektrolyoosia, kontaminaatiota ....... Ne muodostavat kannen levyt. ja niitä käytetään jonkinlaisessa oskillaattorissa (valinta riippuu sinusta) Koska vesi on hyvä dialetra, frekvenssi riippuu voimakkaasti levyjen välisestä veden määrästä. Mittaa taajuus saadaksesi syvyyden.

Saatat saada samanlaisen tuloksen soveltamalla vaihtosignaalia ja mittaamalla virran korkin läpi.

Se riippuu paljon nesteen dialektisesta vakiosta. Ellei erehdy, kapasitiivista tunnistusta käytetään enemmän läsnäolon / poissaolon havaitsemiseen kuin tasoon. Näyttää siltä, ​​että melkein jokainen menetelmä, johon olen törmännyt, riippuu kuitenkin ominaispainosta. Säiliöitä, joissa on vaihtelevaa koostumusta sisältäviä nesteitä, on vaikea säätää.
Kapasitanssipohjaiset nestetason anturit toimivat parhaiten havaitsemaan nesteen läsnäolo tai puuttuminen. Vedenkorkeuden lukemiseksi / purkamiseksi levyt kiinteällä vastuksella ja mittaamalla aika. Kuten edellä mainittiin, epäpuhtauksien lisääminen veteen (kuten suolaan) voi aiheuttaa dramaattisen muutoksen kapasitanssissa ja siten lukemasi kiinteällä nestetasolla. Jos mittaamasi neste on homogeenista, se on paljon vähemmän ongelma.
Tein dynatronoskillaattorin, jossa oli yksinkertainen hyllyltä poistettu SMD-kela, joka resonoi eristettyjen levyjen kanssa, kuten russin oletettiin. Siniaalto oli neliö ja joku muu laski pulssit laiteohjelmistossa, toisin sanoen mitä russin mukaan TOIMII.
#4
+10
blalor
2009-11-30 23:35:04 UTC
view on stackexchange narkive permalink

Lisää yksityiskohtia auttaisi, mutta mielestäni ultraäänimenetelmä on mielestäni todennäköisesti yksinkertaisin käsitteellisesti (tästä syystä tarvitaan lisätietoja: -]). Heitin yhdessä kellarissa olevan polttoöljysäiliön pinta-anturin MaxSonar-ultraäänianturilla. Vaihdan Parallax Ping -anturiin heti, kun pääsen käsilleni. MaxSonar-yksikkö on osoittautunut jonkin verran tuskaksi; osoittautuu, että sen resoluutio on vain yksi tuuma (2,54 cm), mikä vastaa lähes 7 litraa säiliössäni. Laitoin MaxSonar-yksikön PVC-korkkiin säiliön yläosaan osoittamaan alaspäin (nesteen ulottumattomiin).

#5
+7
Some guy
2009-11-30 17:56:22 UTC
view on stackexchange narkive permalink

Yksi tapa tehdä tämä on sijoittaa led säiliön alaosaan osoittamalla ylöspäin ja fotodiodi säiliön yläosaan kohti lediä. LEDiä vaimentaa säiliössä oleva vesi, sinun on kokeiltava, kuinka paljon. Lisäksi on parasta tehdä sarja nopeita mittauksia ja keskiarvo, kun käytät tätä menetelmää.

näyttää olevan erittäin altis virheille, ympäristön valolle, roiskeille jne.
#6
+7
John D
2009-12-02 00:45:21 UTC
view on stackexchange narkive permalink

Käytän paikallisen rautakaupan halpaa nastatunnistinta ja valokuvatransistoria tunnistamaan merkkivalo. Liimattu säiliön sivulle se tunnistaa, kun taso nousee anturin yläpuolelle ja varoittaa meitä korkeasta vesitilasta.

#7
+6
wackyvorlon
2009-11-30 21:03:50 UTC
view on stackexchange narkive permalink

Tason tarkistamiseksi on yllättävän monta tapaa. On antureita, jotka käyttävät radiotaajuutta, lähettävät pulssin aaltojohtoa pitkin ja havaitsevat heijastuksen säiliössä olevan nesteen pinnalta. Siellä on ultraääni, kellukkeet, kuplitusputket, painehanat ... Käytetty menetelmä riippuu säiliön koosta, sisällöstä, ympäristöstä ja muista tekijöistä.

#8
+4
ttt
2010-04-29 14:13:50 UTC
view on stackexchange narkive permalink

Olen yllättynyt kaikista monimutkaisista sähköisistä ratkaisuista, haluaisin käyttää yksinkertaista potentiometriä. Useimmilla mikro-ohjaimilla on perusanalogi i / p.

  + V ----- | | / \ / < ---------- > analogiseksi i / p \ | | ----- GND  

Käytä tavallista vesisäiliön venttiilin kelluketta (sellaista voi jo olla). Jäljellä oleva ongelma on uimurin kytkeminen pottiin maksimaalisen swingin saamiseksi (voit käyttää myös liukupotia).

  | - | | | | o | < -------- Liukukannu. ||| ||| | | < -------- Kytkentä. | ____ | (kelluva) ---------- o ----- o < - Kellukkeen ankkuripiste. ----  
Kuinka varmistat, että potti palaa alkuperäiseen asentoonsa?
Kellukkeen paino vetää sen alas, kun vedenpinta laskee ...
Ei niin varma siitä.Uimurin oikean painon löytäminen siten, että se kelluu veden läsnä ollessa ja pudottaa potin veden puuttuessa, ei ole niin helppoa.Useimmissa kattiloissa on melko suuri staattinen kitka.Luulen, että se on kuitenkin mahdollista, kun otetaan huomioon oikea mekaaninen asennus.
Monilla pidemmillä liukusäätimillä on erittäin pieni kitka (käytetään sormenpäillä ohjatuissa sekoittimissa ja DJ-kannissa).Käytin 4 "liukusäädintä bittilaatikostani ja testasin sen normaalilla vesisäiliön kellukkeella. Se toimi jopa pienemmällä wc-säiliön kellukkeella! Muuten, käytän kiinteää vastarintaa sarjassa potin kanssa niin, että vaikka se shortsitkin märässä ympäristössä, se ei ylitä ohjainportin lähtöä (tai vetää liikaa virtaa kiinteästä Vref: stä).Käytin testikokoonpanossa 10k resisteriä, jossa oli 10k potti.
Testauksessa käytin juuri palaa taivutettua lankaa tarttumaan kelluvaan varteen.WC-säiliössä varsi on neliömäistä muovia, joten on todella helppo porata pieni reikä kiinnityksen tekemistä varten.
#9
+4
Evan Plaice
2010-11-07 08:59:03 UTC
view on stackexchange narkive permalink

Yksinkertaisin tapa

Aseta pieni putki säiliön kulmaan, jonka halkaisija on hieman suurempi kuin pingispallopallo.

Aseta infrapuna-LED putken toisella puolella ja fotoresisti LEDiä vastapäätä (poraamalla reikä sen läpinäkymättömään putkeen tai asettamalla ulkopuolelle, jos se on läpinäkyvä). Liimaa sähköosat kuumalla liimalla vedenpitäviksi ja pudota pingispallo putkeen.

Kun vedenpinta nousee tai laskee siihen pisteeseen, että pingispöytä rikkoo infrapunasäteen, tiedät sen saavuttaneen halutun tason. Tämä toimii, jos tarvitset vain erillisen (päällä / pois) tason ilmaisimen.

Tätä järjestelmää käytetään myös paintball-aseissa, jotka on suunniteltu estämään pallojen pilkkomista varmistamalla, että koko pallo on ampumiskammiossa ennen antaa elektronisen liipaisimen laukaista laukaisevan solenoidin.

Se on yksinkertainen, tehokas ja vaatii vain vähän tai ei lainkaan kalibrointia.

#11
+1
mazurnification
2010-10-06 16:27:46 UTC
view on stackexchange narkive permalink

Vielä yksi fiksu lähestymistapa: Käytä veden (nesteen) suurempaa lämmönjohtavuutta. Ajatuksena on saada lämpötila-anturi ja mitata sen itsestään kuumenemisen ero upotettuna ja vapaassa ilmassa.

Tämä on tosiasiallisesti tehty CHCH NewZealandissa, missä olen, mutta en tehnyt sitä, luulen sen olevan noin 20 vuotta vanha. Säiliön ulkopinnalla oli rivi monia termistereitä. Joten se toimii OK, niin saat ääneni.
#12
+1
Rikkitikki
2012-03-19 15:18:28 UTC
view on stackexchange narkive permalink

Toinen ratkaisu (ei pun-sanaa);

Käytä potentiometriä kuten yllä ehdotettiin. Normaali pyörimisalue on 270 astetta ja kiinnitä uimuri potentiometriin puomivarrella. (pituus = 1 yksikkö)

Täyden ja tyhjän välissä puomivarsi liikkuu 90 astetta.

PIC: n ADC on joko 256 tai 1024 askelta (kyllä, nolla on askel ).

Käytän selkeyttä varten 256 vaihetta.

270 astetta = 256 ADC-vaihetta. 270/90 = 3 (yksi kolmasosa potentiometrin alueesta)
255/3 = 85 ADC-vaihetta

Ohjelmoi koodi koodaamaan 0 asteen piste (säiliö tyhjä), kun painiketta painetaan.

Tämä tallentaa siirtymäpisteen PIC eepromiin. Potentiometrin ei tarvitse nyt olla tarkalleen nollassa, koska tämä kalibrointipiste voidaan asettaa.

Laske hakutaulukko (vihje: php-komento) trigometrian avulla vastaamaan ADC: n kutakin vaihetta. >

Vihje: jokainen ADC-vaihe vastaa 90/85 = 1,0588 astetta.

Kyllä, sinun olisi pitänyt kiinnittää enemmän huomiota matematiikkatunnilla. tyhmä ajanhukkaa silloin, välttämätöntä nyt. kytke aivot. oppia trigonometriaa. opettaa muille.

Lyhenne: Vanha arabi kuljetti raskasta heinäsäkkiä.

Hypontenuse on puomivarren pituus. Tee siitä yksi yksikkö pitkä. Hakutaulukko antaa sitten prosentin säiliön syvyydestä. (kerro tietysti sadalla)

#13
  0
Rakesh
2013-02-24 12:33:24 UTC
view on stackexchange narkive permalink

Tarkista seuraava linkki:

http://www.edgefxkits.com/contactless-liquid-level-controller

Mielestäni se voi olla hyödyllinen sinulle.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
Loading...