Wątek przeniesiony 2023-11-04 11:26 z Nietuzinkowe tematy przez Riddle.

Objętość cieczy w pojemniku o nieregularnym kształcie

0

Witam,

może nie jest to problem programistyczny, ale ma to zapewne związek z pewnym algorytmem. Na tym forum wszyscy mają tęgie głowy do matematyki, obliczeń i ciekawych zagadnień.

Otóż mam nieregularny pojemnik i okresowo co jakiś czas potrzebuję określić ile w tym pojemniku znajduje się cieczy.

A pojemnik o którym mowa wygląda tak:

screenshot-20231103180327.png
Nie podaję póki co wymiarów, ale mam plan taki żeby pojemnik zwymiarować w blenderze 3D, wiadomo żeby mieć wszystkie wymiary wcięć. Producent podaje wysokość, szerokość i wysokość.

Dokładność do jednego cm z wysokości, czyli myślę żeby dodawać warstwowo objętość dla każdego cm z wysokości.

4

Postaw sobie ten pojemnik pod światło. Wlewaj do niego strzykawką np. po 10ml wody i zaznaczaj markerem poziom wody.

2

Znając gęstość cieczy w zbiorniku, np. wody i wagi zbiornika z wodą, wcześniej odliczasz wagę samego pojemnika, to możesz ze wzoru obliczyć objętość V = m/p.

Lub też jak policzysz samą objętność w m^3 możesz zamienić na litry.

0

Dla uproszczenia przypomnę, że woda ma gęstość 1 ;)

0

Jak jest prosta figura geometryczna to można linijką policzyć m^3 i przeliczyć je na litry, kiedyś się tak bawiłem.
Lub z całkować objętość figury.

0

Trochę za mało warunków a to pozwala na dość dowolną interpretację. Np. stan początkowy minus to co wylałeś = dokładna pozostała ilość.

Edit: to jest coś bardzo dużego? Bo zbudowane jest tak żeby wytrzymać duży nacisk od środka.

1

Wylej z niego wodę do pojemnika, który ma regularne kształty, najlepiej takiego z podziałką, będzie łatwiej.
Albo zważ pusty pojemnik, potem zważ napełniony wodą, różnica w kg to będzie objętość wody w litrach.

0
ccwrc napisał(a):

Edit: to jest coś bardzo dużego? Bo zbudowane jest tak żeby wytrzymać duży nacisk od środka.

to raczej coś sporego… tu takie coś jak na zdjęciu ma w jednym przekroju ~2x2m
https://waterflex.pl/kategorie/2000-litrow-zbiornik-przyscienny-naziemny-na-wode-pitna-.html

Przez tą ciekawą konstrukcję wysokość poziomu wody zmienia się nieliniowo ale już parę pomysłów się pojawiło jak ją przeliczyć na ilość cieczy. A znów by ustalić tą wysokość to pewnie jakiś ultradźwiękowy czujnik będzie potrzebny.

1

Producent chyba podaje oprócz wymiarów, ile tam wody wchodzi? Może jakiś hydrostatyczny czujnik? Ciśnienie zostanie przetworzone na sygnał napięcia bądź natężenia.
Tworzysz sobie mapkę: natężenie (lub napięcie, jeśli czujnik steruje napięcie) -> ilość cieczy. Stopniowo zalewasz (zapamiętujesz ilość cieczy) i zapamiętujesz wskazanie czujnika.

Zamiast eksperymentu z nalewaniem, można iść w metodę elementów skończonych (Finite Element Analysis) i zrobić symulację numeryczną, tak by wyznaczyć tę mapę bez lania wody ( samo mięcho fizyczno-matematyczne ;p ).

0

Na jakiej dokładności Ci zależy i ile litrów wody faktycznie tam wchodzi? Bo okaże się, że zważyć nie będzie łatwo,a możesz potrzebować dokładności co do litra.

0

Hmm, jak bardzo trudno zmierzyć naczynie, o skomplikowanym kształcie i bardzo dużo waży, to można to rozwiązać od drugiej strony.

Można zmierzyć ilość cieczy wprowadzonej do zbiornika np. ciśnienia z bernoulli equation gdzie im szybciej ciecz się przemieszcza przez rurkę, o znanych wymiarach tym niższe ciśnienie jest przez co wskaźnik będzie zasysał rurkę lub za pomocą rotora gdzie będzie się coraz szybciej kręcił, ale są też inne metody zbadania przepływu cieczy.
Można zakupić jakiś gotowy.

Potem jakiś sposób zmierzenia poziomu cieczy, camera i obróbka obrazu, jakiś pływak jak w zbiorniku paliwa, czujnik ultradźwiękowy lub np. zbadanie ciśnienia wywieranego na samym dole zbiornika, te ciśnienie będzie zależeć od wysokości poziomu cieczy.

Jednocześnie mierzysz poziom wody i aktualną ilość w zbiorniku tworząc zbiór danych.

Teraz możemy wyprowadzić równanie, które opisze zmianę wysokości w zbiorniku do ilości w litrach.
Można zastosować polynomial regression, sieci neuronowe, gaussian process.
Jako, że nie potrzebna generalizacji to dobrze może być overfitting danych.

Pomyśleć, że kiedyś się chciało być naukowcem, ale nie zatrudniają bez studiów.

1

Screenshot_20231103-230953.png
2000L
Przewalone :D

0

A nie najłatwiej byłoby umieścić w środku jakiś czujnik z pływakiem i odpowiednio wyskalować, wlewając znaną ilość wody? Pływak by mierzył poziom, a po wyskalowaniu od razu byłoby widać jaka to jest objętość.

Można by też po wyskalowaniu dokonać interpolacji, np za pomocą funkcji sklejanych i obliczać z niezłą dokładnością objętość w zależności od poziomu cieczy.

0
Spine napisał(a):

Postaw sobie ten pojemnik pod światło. Wlewaj do niego strzykawką np. po 10ml wody i zaznaczaj markerem poziom wody.

Pojemnik ma 2000 litrów

tumor napisał(a):

Znając gęstość cieczy w zbiorniku, np. wody i wagi zbiornika z wodą, wcześniej odliczasz wagę samego pojemnika, to możesz ze wzoru obliczyć objętość V = m/p.

Lub też jak policzysz samą objętność w m^3 możesz zamienić na litry.

To jest chemia, gęstości są różne, ale znane ponieważ producent chemii podaje. Pytam jak obliczyć objętość. Czy liczenie tego "warstwowo" co 1 cm to dobry pomysł? Maksymalna wysokość cieczy to 160 cm. Warstwy będę miał centymetr po centymetrze jak wyrysuję sobie w Blenderze i potnę.

Dziękuję za odpowiedzi, każdą przeanalizuję.

A nie najłatwiej byłoby umieścić w środku jakiś czujnik z pływakiem i odpowiednio wyskalować, wlewając znaną ilość wody? Pływak by mierzył poziom, a po wyskalowaniu od razu byłoby widać jaka to jest objętość.

Można by też po wyskalowaniu dokonać interpolacji, np za pomocą funkcji sklejanych i obliczać z niezłą dokładnością objętość w zależności od poziomu cieczy.

No właśnie ze wzglądu na kształt jest problem z wyskalowaniem. Gdyby nie wcięcia i w dodatku nieregularne, to temat byłby prosty. Wkładam metrówkę, patrzę ile jest cm i przeliczam. A tu lipa:/

1

Chyba plan z modelem 3D będzie najlepszy.

Żeby dokładnie odwzorować kształt, najlepiej jak użyjesz skanera 3D.
Albo zdjęć i softu do fotogrametrii:

0

Panowie w jednej firmie dla jakiej pracowałem takie pojemniki czy z cieczą czy z śrubami po prostu ważono na dokładnej wadze. Waga cieczy i dokładna wagą i macie najdokładniejszy pomiar. Po przez zamianę parametrów. Czyli zważ pojemnik, a potem odejmujesz jego wagę - od wagi znanej dla danej cieczy. Prościej się nie da aby było bardzo bardzo dokładnie - dokładniej niż w innych metodach.

Choć jak czytam te 2000 L to z tą wagą będzie problem.... na początku myślałem że to jakiś wkład chłodzący.

To jest druga metoda ale już niedokładna. Czyli podział zbiornika na segmenty napełnienia. Ale to by trzeba było raz obliczyć przy napełnianiu ile dany segment ma już pojemności. Dlatego że taki nieregularny.

0
profirme2016 napisał(a):

No właśnie ze wzglądu na kształt jest problem z wyskalowaniem. Gdyby nie wcięcia i w dodatku nieregularne, to temat byłby prosty. Wkładam metrówkę, patrzę ile jest cm i przeliczam. A tu lipa:/

Chyba nie zrozumiałeś. Są takie miarki w korku. Korek ma drut z pływakiem, drut sięga do dna. Wskazanie masz w korku, bo pływak przesuwając się po drucie wychyla wskazówkę. Tu widzę, że korek jest z boku i widać prawdopodobnie dno przez dziurę, więc powinno się dać.

Wystarczy wyskalować wskazówkę, wkładając pływak gdy wiesz ile wody wlałeś. Możesz nawet zrobić pomiar elektroniczny zamiast wskazówki.

Tylko musisz się upewnić, że zbiornik stoi prosto, a przynajmniej zawsze tak samo.

0

Z drugiej strony producent to {wstaw dowolne niecenzuralne słowo}.
Zamiast wyryć objętości na poszczególnych poziomach pojemnika, zmusza @profirme2016 do zrobienia czegoś takiego we własnym zakresie...

1 użytkowników online, w tym zalogowanych: 0, gości: 1