Vízszint érzékelés és kapcsolás

Üdv,

Adott egy tartály (földben, 3köbm, ~2m mély), amibe az esővíz folyik az ereszcsatornából (locsoláshoz). Ebben van egy merülőszivattyú, ami egy kültéri konnektorhoz csatlakozik és egy kapcsolóval lehet bekapcsolni (így lehet üríteni a tartályt ill. locsolni).

Van arra "kész" megoldás, hogy a tartályban egy vízszintmérő egy adott szint elérésekor bekapcsolná a "konnektort" és elindítja a szivattyút? Tehát automatizálnám, hogy ha megtelt a tartály, akkor bekapcsolja a szivattyút.

(pl. https://www.flexiobt.hu/webaruhaz/flexisec-vezetek-nelkuli-vizmagassag-…)

A kültéri konnektorhoz csatlakoztatható "dugalj" kellene, amit a vízszintmérő jele aktiválna.

Csinált már valaki hasonlót?

Hozzászólások

Úszókapcsolóra keress rá. Direkt ilyen célra találták ki.

Nem tudom, megoldás-e, de mint az előzőekben is ajánlották, barkácsáruházakban lehet kapni szennyvízszivattyút, amin gyárilag van úszókapcsoló. Ha a kapcsoló házát a vízszint megemeli, a motor beindul. Ha a motor és a kapcsoló kikerül a vízből (a vízszint kb. a motortest feléig süllyed), a motor leáll. A szárazon futást is megakadályozza, mivel a motort a víz hűti.

Barkácsolni is lehet ezt-azt, ha van hozzá kedved.

Nagyon primitív (de működő) megoldás: belógatsz a tartályba három fémpálcát. Az egyiket addig a szintig, ahol bekapcsolni akarod a szivattyút, a másikat lejjebb, ahol kikapcsolni szeretnéd, a harmadikat pedig jóval lejjebb (ez a viszonyítási alap). A víz vezetőképességét kihasználva tudod érzékelni egy elektronikával, hogy mikor kell ki- illetve bekapcsolni a szivattyút. Ezeket a változásokat/állapotokat tetszőlegesen feldolgozva tudod működtetni a szivattyút. Amikor a felső pálcát eléri a víz, bekapcsol a szivattyú, amikor a középső pálca alá süllyed, kikapcsol.

Ultrahangos megoldás is jó, pl. érzékelőnek itt egy lehetőség: https://techfun.sk/hu/produkt/vode-odolny-ultrazvukovy-modul-jsn-sr04t-… - ehhez már "csak" egy mikrovezérlő (pl. Arduino vagy bármi más) és egy kis szoftver kell. Ezzel még azt is tudhatod elég jó közelítéssel, hogy mennyi víz van a tartályban.

Annak idején (kb. 35 éve?) terveztem ilyet, már meg nem mondom, mivel csináltam, de gyanítom, hogy nem 555-tel. Egy barátomnak kellett, ott elég sok pálca be lett építve, hogy többé-kevésbé a kútban lévő víz mennyiségéről is legyen információ, nem csak a vezérlés volt a feladata.

Ezt a tartály töltésére való kapcsolás.
Ha meg akarod fordítani a működését, akkor a trig és a thr bemeneteken lévő 22k-s ellenállásokat fel kell húzni tápra és az érzékelőket az 1M és 22k közös pontjaikra kell kötni, az eddig tápon lévő common érzékelőt  földre kötni. Jah, és a pump-off és pump on helyét fel kell cserélni.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Reszben igaz, masreszt viszont a legtobb mikrokontroller 5V-rol, vagy 3.3V-rol jar, szoval meg kell oldani a tapellatast meg a jelszintillesztest is. Az 555 sokkal tagabb hatarok kozt megy.

Ettol fuggetlenul en valoszinuleg egy Arduino Nano-val csinalnam, ott van helyben az usb port, akarmikor at tudod programozni egy laptoppal, ha valami nem tetszik, es arban is nagyon kedvezo.

A strange game. The only winning move is not to play. How about a nice game of chess?

Az 555 sokkal tagabb hatarok kozt megy.

Ezzel nagyjából el is fogytak az előnyei (talán még az ára lehet az, de annak nem néztem utána).

A tápellátást amúgy az 555 esetében is meg kell oldani, a jelszintillesztés meg bemenő oldalon kb. egy alkalmas értékű felhúzó ellenállás a víz érzékelésére (van víz/nincs víz), kimenő oldalon meg egy tranzisztor, egy ellenállás, egy relé, ami lehet SSR is akár, attól függ, mit kapcsolsz.

Egy mikrovezérlő, egy ultrahangos érzékelő, pár relé és néhány kiegészítő alkatrész kell. Kis igények esetén akár egy tiny85 is elég lehet (pl. a Digisparknak van USB-s megoldása, amit kezelni tud az Arduino IDE, ebből van olcsóbb megfelelő a kínai piacon), de bármi más is jó, PIC-ek, TI vezérlői, ősrégi MCS51-es család új tagjai, de meg lehet bonyolítani WiFi-vel is akár (pl. ESP8266 is szóba jöhet), ki mit szokott meg, kinek mi van a fiókjában...

Szívesen, bár nem nagy durranás. Van benne egy 5V/50mA sönt stabilizátor, amihez minden terhelést gondosan ki kell számolnod. Csak kisebb szerkezetek léteznek / kaphatók: PIC12HV PIC16HV

A nagyobbaknál TL431-et  (SO8, ST) használok, pl. amikor USB-ről és motorkerékpár akkuról is kell működni. Bár ez több helyet foglal, de ismerek valakit aki a nyák élére is két réteg alkatrészt tud tervezni. ;)

Nagyon hibás az érvelésed.
Ha megnézed ezt a kapcsolást, akkor ennek az alkatrészeit kiborítod a dobozból, összeforrasztod, összekábelezed és örülsz. Plusz addig fog működni, míg kap villanyt.
Ha ugyanezt egy mikrokontrollerrel építed fel, akkor kell legalább ugyanennyi alkatrész és utána programozhatod, debugolhatod a kódot. Sem alkatrészben, sem időben nem leszel beljebb.

Az univerzalitás jó dolog, kérdés egy feladatot akarsz megoldani, vagy heteket baszakodni még vele? Mert az esetek többségében, nem ér annyit a dolog.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Egy mikrovezérlővel biztonságosabb lehet a kapcsolás, lehet védekezni szoftverben a véletlen kapcsolgatások ellen. Pl. akkor indítom csak a szivattyút, mikor az azt kiváltó állapot stabilan fennáll (pl. hullámzó víz be tud kavarni). Felmerülhetnek egyéb igények, pl. valaki szeretné tudni, hogy kb. mennyi idő alatt telik meg a tartály, mennyi idő alatt ürül stb.

Amúgy meg leírtam már egy másik hozzászólásban, hogy több pálcával több dolgot is lehet csinálni, pl. lehet érzékelni, hogy nagyjából mekkora a vízszint, egy későbbi hozzászólásban meg arról írtam, hogy amúgy is inkább ultrahangos érzékelőt használnék.

Nem rossz dolog az 555, annak idején sokan beleszerettek, csak voltak, akik az újabb dolgokat is felfedezték, és látták azok előnyeit, hátrányait, és azok mérlegelésével választanak megoldást.

Aki most kezdi az ismerkedést a mikrovezérlőkkel, annak biztosan tovább tart a megoldás, mint amennyi ideig a feladatot elvégező (de csak arra képes) 555-ös kapcsolás megépítése. Amikor már van rutin, akkor nem kellenek hetek a megoldáshoz.

Egy kérdés:
Kell-e OP-nak a több funkcionalitás? Neki egy vízszinttől függő ki-be kapcsolás kellett, nem?
Az ilyen univerzális, mindenre jó megoldások miatt megy oda a világ ahová. A szükségtelen komplexitás, ami miatt használhatatlanná válnak az eszközeink.

Nem. Egy tisztán HW-es megoldás, megépítése mindig kevesebb lesz egy szoftvert is tartalmazó megoldásnál. Mert még ha rutin is a szoftver megírása is idő.
 

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Egy dolgot nem említettél: Ha nem értesz hozzá, akkor ne csináld!

Már a 80-as években 2db RC tagtól érdemes volt prrogramozni, pedig akkoriban nem volt összemérhető az ár. Fix hardvert akkor érdemes alkalmazni, ha pontosan tudod mit szeretnél.

Pl. Az eccerű hűtőszekrényünkben 4 db LED és 1db nyomógomb mellett ott virít a 28 lábú mcu. Gondolom nem tarott hetekig a belövése.

"Fix hardvert akkor érdemes alkalmazni, ha pontosan tudod mit szeretnél."

Igen. Ez a legnehezebb mindig. Pontosan meghatározni mit akarsz. Így nem kerülhetsz olyan helyzetbe, hogy a szögbeveréshez egy olyan kalapácsot használsz, amiben van LCD kijelző, wifi, hátvakaró, 5G, OTA update és fél éves 10000 szeges előfizetés és mellesleg nem tudsz vele szegelni.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Úgy látom, informatikus vagy, aki mindenhez ért semmit. ;)

A példa feladat (egyszer már leírtam, csak  nem találom):

A fürdőszoba világításával együt kapcsolódik a szellőztető ventillátor. A világítás lekapcsolása után választhatóan 2 vagy 4 percig tovább  működjön a szellőzés!

A megoldás triviális, hiszen 2db 555 kel hozzá:

  • Hiányzó impulzus detektor.
  • Átkapcsolható időzítés.

Tehát pont 2db RC tag, amitől kezdve már nem gazdaságos az analóg áramkör. Ezen kívül alaphelyzetbe is kell állítani + a működése utáni állapot is változhat. (Itt az a megegyezés, hogy működés után stabill off helyzetben marad.) A 4 perces időzítéshez már 220μF + 1MΩ kell, amit egy fürdőszobai áramkörbe nem rakunk. Tehát már az 555 sem jó. Szóval bonyi.

Ha az áramkörből kiveszed a bonyolult funkciókat, akkor kerülhet a helyére egy mikrokontroller. Az egyszerű állapotgép (FSM) megvalósítja a kívánt működést. Ha nehezen olvasod, akkor itt egy funkcionálisan megegyező (inkomplett) C forrás.

Megsúgom, hogy a 96 bájtos programot nem köszörültem hetekig. Talán 3 óra volt, mert a fejlesztés úgy zajlott, hogy lementem a boltba egy 8 lábú PIC-ért. Elolvastam mi a rosseb van benne és megírtam a programot. FSM alapon ez így megy, buta emberek is meg tudják írni. :-D

Szerinted hol a hiba?

Egy 555 és egy RC tag kell, amiből R tag egyik részét söntölöd (ezzel választhatod az időt). A 220uF helyett mehet nagyobb kondi is, a kisütő tranzisztor kollektorkörébe egy ellenállást teszel, mert meg kell védened kell a tranzisztort.  Csak arra kell figyeled, hogy a töltő és kisütő ellenállás osztásaránya 1/3 alatti legyen.
Az impulzusdetektor teljesen felesleges, ha a SSR-t öntartó módban vezéreled  a kapcsolóval és a megfelelő jelszintre illesztett trigger jelet adsz a kapcsolóról az 555nek.

A  C forrás linkje a assemblyre  mutat.

A kódodba felesleges a timer használata, mehetne sima idle looppal is.

"Szerinted hol a hiba?"
Mennyi az óradíjad?

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Bocsánat, itt a C program.

Az óradíjat hobbiprojektnél felejtsük el! Ez a kollégám faházába készült, gondoltam megcsinálom kis mcu-val.

Viszont mielőtt megtanítanál az 555 használatára :-D tisztázzuk a feladatot. ;)

A fürdőszoba világításával együt kapcsolódik a szellőztető ventillátor.

Ez egy tény, tehát az áramkört az 1, 2, 3 pontokon elvágjuk. Ez a default, amit ki kell egészíteni az okossággal.

A világítás lekapcsolása után...

Elvesszük a villanyt az áramkörtől. A rajzon nem szerepel, hogy a kapcsoló kétáramkörös - a másikon a lámpa, illetve 230V feszültségről megy.

...választhatóan 2 vagy 4 percig tovább  működjön a szellőzés!

Ehhez csatlakoztathatjuk az 1, 2,3 ponton az új áramkört - a régi megbontása nélkül.

Az impulzus detektálásra azért van szükség, mert valahonnan meg kell tudni, hogy van-e villany. Ha nincs villany, akkor a segédáramkör sem működik. A két állapot közötti <40ms áthidalását biztosítja a 220μF-os kondenzátor. Tehát a villany megszűnését detektálja az áramkör legfeljebb 16ms múlva. Ekkor bekapcsolja az SSR-t 2 vagy 4 percre, ami után stabil kikapcsolt állapotban marad.

(Ha ez az áramkör sorozatban készülne, akkor SSR -> TRIAC - van szinkrojel, begyújtja a PIC; PIC12F609 -> PIC12HV609 - elmarad a TL431 és két ellenállás, csökken az áthidaló kondenzátor. Ekkor nem csak leugrok a boltba, így kijön az óradíj is.)

Az impulzusdetektor teljesen felesleges, ha a SSR-t öntartó módban vezéreled  a kapcsolóval és a megfelelő jelszintre illesztett trigger jelet adsz a kapcsolóról az 555nek.

Ez az öntartó mód érdekelne! Meg a trigger jel előállítása is! :-D (Ugye 230V/50Hz az alap.)

A kódodba felesleges a timer használata, mehetne sima idle looppal is.

Ez alatt a szoftver hurkokkal kivitelezett időzítést érted? Aztán honnan hívjam meg, amikor még főprogram sincs? :-D

De van, mert a PIC nem ismeri a HALT utasítást, ezért

C:
Loop:
        goto Loop;

asm:
Main            goto        Main

Ez a program egy eseményvezérelt végesállapotú gép. Ezzel a technikával egyszerűen és gyorsan atombiztos programot lehet írni.

Két eseményt dolgoz fel: timer és 100Hz-es szinkronjel.

Egyébként úriember nem használ szoftver loopokat, csak kivételes esetben: Ha a hardver műiködése miatt párszor 10ns késleltetésre van szükség akkor jöhet néhány NOP, szélsőséges esetben néhány loop, ha túl sok lenne a NOP. De ne szomorkodj, mert a számítógéped is így működik: csak álldogál, aztán jön valamilyen esemény. (Kivétel a Windows, mert ott vagy esemény vagy homokóra jön.)

Nah, tisztázzuk. Most kellet egy ilyen áramkör, vagy játszani akartál PIC-el? Nem ugyanaz a kettő. Mikor egy adott feladatot kell megoldani, bizony a még a hobbi projectnél is pénzbe kerül munkaidő. Mikor nekem kell gyorsan egy ilyen feladatot megoldani, akkor a legolcsóbban és a leggyorsabban akarom megoldani.

Később visszatérhetünk a témára, de pillanatnyilag el vagyok havazva, hogy rajzolgassak. Ha nagyon kell, megkeresem a diszkós korszakomban épített kapcsolást ami dettóra ugyanezt valósította meg, csak nem ventillátort, hanem folyosóvilágítást kapcsolt.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Hát igen! A kolléga konkrét "megrendelése" szerint: Vegyél Conrad-nál kapható modulokat és kötözgesd össze. Ez a megoldás nagyon drága és a kapható modulokból nem tudtam volna összerakni, még "a költség nem számít" alapon sem. A másik verzió a ház túloldalán található alkatrészbolt, ahol a milyen 8 lábú occsó PIC van + pici SSR kérdéseket tettem fel.

Igen. Ez a legnehezebb mindig. Pontosan meghatározni mit akarsz. ...

Ezt írtad, de hidd el, 40 év fejlesztőmérnöki tapasztalattal ez az áramkör csak ujjgyakorlat. A 80-as években az öregek cseszegettek, mert HÚÚ MÉG EGY CPU!!  Persze csak addig tartott, amíg egyikük kiszámolta, hogy a költsége 50%, de jóval kisebb felületen. ;)

ami dettóra ugyanezt valósította meg, csak nem ventillátort, hanem folyosóvilágítást kapcsolt.

Kíváncsivá tettél. Pedig leítam az összes peremfeltételt - hátha nem ugyanaz.

Egyszer amikor nagyon gyorsan kellett egy ilyen hiszterézis kapcsolót csinálni, egy billenőkapcsolóra felfúrtam egy lécet, abba fúrtam egy viszonylag nagy átmérőjű lyukat. A vízszintérzékelő úszó (kicsi fatuskó) kapott egy 6-os betonvas szálat amit átbujtattam a kapcsolóra csavarozott léc lyukán. A betonvasra került még két ütköző az alsó és a felső  álláshoz. A kapcsoló meg sorba lett kötve egy hosszabbítóval.  A működés pofonegyszerű a víz addig emeli az úszót, míg az alsó ütköző fel nem nyomja a lécet átkapcsolva a kapcsolót. A csökkenő vízszint meg lefelé, vele az úszó és a betonvas, míg a felső ütköző át nem billenti a kapcsolót. A "csak pár napig kell, míg csinálok szofisztikáltabbat" megoldás végül 3 évet húzott ki....

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

A szivattyút lehet a felszín közelébe helyezni (ahogy írtátok), hogy az úszókapcsoló bekapcsoljon. De akkor a locsoláshoz nem jó ez a pozíció (kézzel kell lejjebb engedni "minden alkalommal").

Tehát a szivattyú mindenképp a tartály alján van.

Szerkesztve: 2023. 06. 06., k – 09:30

Tehát azt szeretnéd, hogy amikor megtelik a tartály a szivattyú szivattyúzza ki a vizet?

Arra szerintem egy úszókapcsoló is elég.

Bár az én rendszerem további ibc tartályokat tölt, hogy minél több vizet tudjak gyűjteni.
Amenyiben minden tartály megtelt, akkor van egy cső amin keresztül egy szikkasztóba kerül a felesleges viíz.

 

A vizszint mérést pedig egy ultrahangos szenzorral (hc.--sr04) mérem egy wemos d1 minivel és homeassistantba van integrálva. Ez nem vezérel, csak infót ad. A vezérlés egy mágneskapcsolóval van megoldva.