• Nie Znaleziono Wyników

Metody odczytu granicy rozdziału faz

W dokumencie Index of /rozprawy2/11679 (Stron 68-83)

Ze względu na powszechne stosowanie procesu sedymentacji w wielu gałę-ziach przemysłu, pomimo świadomości niedoskonałości testu sedymentacyjnego, istnieje potrzeba wykreślania krzywych sedymentacyjnych w celu określenia para-metrów pracy osadników (zagęszczaczy lub klarowników) lub aby ocenić wpływ dodatku odczynnika (koagulanta lub flokulanta) na przebieg procesu sedymentacji. Aby wyeliminować tego typu błędy oraz aby skrócić czas pracy przeznaczony na przeprowadzenie testów sedymentacyjnych (czas poświęcony na manualny czyt położenia granicy rozdziału faz), opracowano kilka metod służących do od-czytu położenia granicy rozdziału. Wśród nich można wyróżnić metody, które wy-korzystują zmianę pojemności elektrycznej [132] lub przewodnictwa [133], metody ultradźwiękowe [134], promieniowanie γ [135], czujnik światła [136], metody nu-meryczne [45], rezonans magnetyczny [137] lub analiza wideo CCD [138, 139]. Niektóre z tych metod są drogie lub wymagają specjalistycznego sprzętu, z wyjąt-kiem metody wykorzystującej analizę obrazu zaproponowaną przez Zhu [138]. Me-toda ta opiera się na nagraniu kamerą obrazu wideo stanowiska z cylindrami po-miarowymi, a następnie analizie a posteriori nagranego filmu, przeprowadzonej przez technika.

W ramach niniejszej pracy został opracowany system analizy wideo CCD (rys. 7.2) opierający się na zapisie natężenia światła przenikającego przez próbkę te-stową, następnie wykonywana jest analiza obrazu (wykrycie granicy rozdziału faz) i wykreślona zostaje granica położenia separacji faz w zależności od czasu. Ilość przenikającego w poprzek cylindra pomiarowego światła zależy od barwy i stężenia

69

badanej zawiesiny - intensywność światła jest wysoka przy niskim stężeniu zawie-siny (część klarowana). Metodę tę można stosować głównie do zawiesin, których barwa pozwala na zmianę poziomu natężenia światła przenikającego próbkę te-stową. Na podstawie uzyskanych obrazów można określić stężenie badanej zawie-siny [140]. W tym celu wartość natężenia światła badanej próbki należy porównać z wartościami natężenia światła dla próbek o znanych stężeniach.

Rys. 7.2. Metoda automatycznego testu sedymentacyjnego zaproponowana przez Y.Zhu [138]

Test sedymentacyjny z rejestracją wideo – kamera nieruchoma

Ze względu na niski koszt i prostotę tej metody zdecydowano się przeprowa-dzić testy sedymentacyjne metodą CCD. Bazując na rozwiązaniu zaproponowanym przez Y.Zhu opracowano metodę wykreślania testu sedymentacyjnego z wykorzy-staniem nieruchomej kamery – AST (Automatic Settling Test). W tym celu kla-syczne stanowisko badawcze (rys. 7.1) zostało wyposażone w kamerę wideo usta-wioną na statywie. Uzyskane dane (obrazy poszczególnych faz procesu sedymen-tacji) zostały poddane analizie obrazu przy użyciu autorskiego skryptu. Na podsta-wie wyników położenia granicy rozdziału faz w funkcji czasu wykreślone zostały krzywe sedymentacyjne. W tym samym czasie przeprowadzono pomiary metodą klasyczną, w celu weryfikacji poprawności wyznaczenia wysokości granicy roz-działu za pomocą analizy obrazu zarejestrowanego kamerą CCD. Przy użyciu au-torskiego programu (rys. 7.2) zarejestrowano obraz z kamery wideo, a następnie wyselekcjonowano poszczególne klatki z zarejestrowanego filmu (w zadanych od-stępach czasowych). Obraz rejestrowany był w kolorze, a następnie zastosowana została konwersja do skali szarości. Kolejnym krokiem było przeprowadzenie pro-cesu konwersji obrazów monochromatycznych do obrazu binarnego (rys. 7.4).

70

Przeprowadzanie binaryzacji na obrazie znacząco redukuje ilość zawartej w nim informacji. W tym celu ustalona została wartość progowa (threshold) poniżej, której piksele obrazu zostały sklasyfikowane jako piksele obiektu (piksele czarne, odpowiadające fazy części stałej zawiesiny), natomiast pozostałe piksele zostały sklasyfikowane jako piksele czystej cieczy (piksele białe). Na podstawie położenia granicy oddzielającej piksele białe od czarnych wyznaczana została granica roz-działu faz zawiesiny.

Rys. 7.3. Algorytm działania programu wykreślania krzywej sedymentacyjnej

z użyciem nieruchomej kamery (metoda AST)

Po porównaniu kilku serii pomiarowych zauważono, że wyniki obu testów po-krywają się, gdy wysokość poziomu granicy rozdziału faz jest zbliżona do wyso-kości położenia osi optycznej kamery, a wraz ze wzrostem odległości od położenia osi optycznej kamery różnice rosną. Może to być spowodowane stałym położeniem

71

kamery rejestrującej na statywie dla kamery wideo. Rejestrator jest ustawiony tak, aby oś optyczna kamery pokrywała się z punktem znajdującym się w połowie wy-sokości słupa badanej zawiesiny. Efektem zastosowania unieruchomionej kamery jest pojawienie się błędu paralaksy, zależnego od odległości granicy rozdziału faz i wysokości ustawienia kamery (zwłaszcza gdy poziom separacji faz jest poniżej osi optycznej kamery).

a) b)

Rys. 7.4. Obrazy uzyskane z testu z użyciem kamery:

a) rzeczywisty obraz, b) obraz uzyskany po analizie i obróbce wideo

Błędny odczyt (obecność paralaksy) jest niekorzystny zwłaszcza wtedy, gdy najważniejszą częścią badań jest początkowa faza procesu sedymentacji (np. gdy zawiesina osiada bardzo szybko lub przy określaniu maksymalnego stężenia za-gęszczenia zawiesiny).

Z tych powodów konieczne było opracowanie metody, która wyeliminowałaby ten błąd, ale jednocześnie zachowany został niski koszt przeprowadzenia pomiarów (minimalizacja udziału operatora i niska cena sprzętu).

Test sedymentacyjny z rejestracją wideo – kamera ruchoma

W celu wyeliminowania błędów związanych z nieruchomym położeniem ka-mery pomiarowej zaproponowano stanowisko (rys. 7.5 oraz rys. 7.6) z ruchomą kamerą (nazwa zaproponowana przez autora pracy: MAST – Moving Settling Test). Kamera umieszczona jest na wózku jezdnym, który sterowanym jest za po-mocą algorytmu zaproponowanego przez autora niniejszej pracy (rys. 7.7) wykry-wającego bieżące położenie granicy rozdziału faz.

72

Rys. 7.5. Zautomatyzowane stanowisko do badań statycznych

Stanowisko pomiarowe

Stanowisko wyposażono w kamerę cyfrową umieszczoną na wózku, który po-rusza się wzdłuż pionowo ustawionej prowadnicy równoległej do cylindra testo-wego. Obraz z kamery jest stale przetwarzany przez moduł analizy obrazu. Wyj-ściem tego modułu jest wysokość punktu separacji fazy na zapisanej ramce (zrzucie obrazu). Wykorzystanie obliczeń matematycznych (różnica między położeniem granicy a środkiem obrazu przesyłanego z kamery) pozwala na wysłanie sygnału do modułu kontroli położenia kamery. Odebrany sygnał umożliwia ustawienie ka-mery w taki sposób, że środek rejestrowanego obrazu znajduje się dokładnie na poziomie granicy rozdziału faz. W przypadku testu kamery ruchomej położenie punktu separacji faz jest przetwarzane przez system pozycjonowania wózka za po-mocą kamery. Jeśli granica rozdziału faz znajduje się w innej pozycji niż środek obrazu (uchwycony przez kamerę), konieczna jest korekta położenia wózka.

System przemieszczania wózka określa nowe położenie wózka: środek obrazu zarejestrowanego przez kamerę znajduje się na tej samej wysokości, co granica roz-działu faz.

Zastosowana kamera to powszechnie dostępna kamera Logitech C920 Web-cam z nagrywaniem Full HD (1080p). Kontrola położenia kamery (wysokości) od-bywa się za pomocą urządzenia NI myRIO 1900 i sterownika silnika krokowego SSK B02-4A.

Oprogramowanie do analizy obrazów (a tym samym pozycjonowanie wózka kamery) jest napisane w graficznym środowisku pomiarowym LabView, z wyko-rzystaniem modułów Vision Acquisition, Vision Development i LV Real Time. Odległość kamery od cylindra pomiarowego może być dowolnie ustawiona przez operatora (możliwość rejestrowania mniejszych cząstek lub zmianę rozmiaru cy-lindra pomiarowego).

73

Urządzenie myRio

Stanowisko pomiarowe wyposażono w urządzenie NI myRio, którego począt-kowym zadaniem jest odbiór obrazu rejestrowanego przez kamerę cyfrową oraz przekazanie przekształconego obrazu jako dane wejściowe do programy analizują-cego obraz. Kolejnym zadaniem myRio jest sterowanie parametrami silnika kroko-wego na podstawie wyników wyjściowych z modułu analizy obrazu.

Kamerę internetową należy podłączyć do gniazda USB znajdującego się w urządzeniu myRIO. Ponadto konieczna jest instalacja wszelkich sterowników do myRIO oraz dodatkowych modułów Vision Acquisition, Vision Development oraz LabVIEW Real-Time. Dodatkowo wersje oprogramowania na myRIO muszą się zgadzać z oprogramowaniem zainstalowanym na komputerze pomiarowym. W za-leżności od zainstalowanej wersji LabVIEW mogą być potrzebne również inne do-datkowe moduły uruchomieniowe.

Rys. 7.6. Schemat stanowiska z umiejscowionymi wyłącznikami krańcowymi

Ponadto należy umieścić wyłączniki krańcowe (krańcówki) na odpowiednich wysokościach – pozycji początkowej oraz końcowej. Krańcówka 1 musi być poło-żona na takiej wysokości, aby oś optyczna kamery (środek obrazu) po odsunięciu się od niej o 50 kroków (silnika krokowego) w dół znajdywała się na wysokości lustra cieczy (zawiesiny). Krańcówka 2 musi być położona na takiej wysokości, aby w momencie dojazdu wózka do niej, oś optyczna kamery (środek obrazu) znaj-dywała się na wysokości oznaczającej koniec pomiaru i jednocześnie zabezpiecza-jąca przed kolizją wózka i konstrukcji stanowiska. Kalibrację położenia krańcówki

74

wykonuje się jeszcze przed rozpoczęciem mieszania. Należy umieścić na stanowi-sku badany cylinder, włączyć program i poczekać aż wózek przestanie się prze-mieszczać. Krańcówkę 2 należy wtedy przykręcić w miejscu, w którym znajduje się dolna granica wózka w takiej pozycji, aby przełącznik w krańcówce w tej pozy-cji był „zamknięty”, co poda sygnał kończący program.

Algorytm sterowania i analizy obrazu

Rys. 7.7. Algorytm sterujący położeniem kamery

Pierwszym etapem pracy urządzenia jest ustalenie pozycji początkowej. Etap ten jest realizowany w dwóch krokach: pozycjonowanie wózka przy kontakcie z wyłącznikiem krańcowym (krańcówką) oraz zjazd wózka o zadaną liczbę kroków (do wysokości poziomu zawiesiny w cylindrze pomiarowym). Następnie program oczekuje polecenia Start, po którym zarejestrowany obraz przesyłany jest do

mo-75

dułu analizy obrazu, gdzie następuje określenie wysokości położenia granicy roz-działu faz względem środka zarejestrowanego obrazu z kamery. Wynikiem poje-dynczego wywołania analizy obrazu jest rejestracja położenia wysokości granicy w funkcji czasu. Rejestracja i analiza obrazu wykonywana jest do momentu osiągnię-cia pozycji dolnego wyłącznika krańcowego (sygnał osiągnięosiągnię-cia pozycji końco-wej).

Budowa programu

Zaproponowany program, napisany w graficznym środowisku pomiarowym LabView składa się z dwóch głównych okien: front panel i block diagram. Pierw-sze okno odpowiada za komunikację za użytkownikiem oraz wizualizację wyników pomiaru, a w drugim oknie zawarty jest kod źródłowy programu.

Kod programu realizowany jest w 5 sekwencjach (rys. 7.8).

Rys. 7.8. Kod źródłowy programu – 5 sekwencji

Pierwsza sekwencja (rys. 7.9) odpowiada za ustalenie pozycji początkowej na wysokości położenia lustra badanej zawiesiny – kontakt z wyłącznikiem krańco-wym.

76

Rys. 7.9. Pierwsze okno sekwencji (I)

Działanie tego fragmentu kodu fizycznie odpowiada poruszanie się wózka, na którym osadzona jest kamera, do góry, aż do uderzenia w wyłącznik krańcowy. W pętli WHILE podawany jest sygnał TRUE na wyjściu C/DIO2 umożliwiający ruch wózka. Wyjście C/DIO1 odpowiada za ruch wózka do góry (FALSE). W momen-cie, gdy na wejście cyfrowe C/DIO6 zostanie podany sygnał TRUE (uderzenie w wyłącznik krańcowy) następuje wyjście z pętli WHILE, a tym samym zatrzymanie wózka oraz przejście do sekwencji nr 2.

77

Drugie okno sekwencji (rys. 7.10) odpowiada za przejazd wózka z położenia, gdy wyłącznik krańcowy (górny) został wciśnięty do położenia wysokości wypeł-nienia cylindra pomiarowego. Sygnał wysoki na wyjściu C/DIO1 odpowiada za ruch wózka w dół. Kod tego fragmentu programu jest umieszczony w pętli FOR. Pętla FOR wykona się 100 razy, co spowoduje ruch silnika o 50 kroków. Po wyko-naniu pętli program przejście do sekwencji nr 3 (rys. 7.11).

Rys. 7.11. Trzecie okno sekwencji (III)

Trzecie okno sekwencji odpowiada za oczekiwanie do momentu zadania pole-canie START. Ten fragment kodu pozwala na wymieszanie zawiesiny w cylindrze pomiarowym oraz umieszczenie cylindra pomiarowego na stanowisku badawczym.

78

Sekwencja nr 4 odpowiada za przeprowadzenie analizy obrazu, a sekwencja nr 5 za zakończenia działania programu. Te dwa sekwencje można podzielić na 5 frag-mentów (rys. 7.12). Cztery fragmenty odpowiadają za rejestrację, przetwarzanie obrazów, a fragment 5 wywołany jest w momencie uderzenia wózka o wyłącznik krańcowy (dolny). Ze względu na możliwość wystąpienia dojazdu wózka do wy-łącznika krańcowego podczas przeprowadzanej analizy obie sekwencje rozpatry-wane są razem.

W pierwszym fragmencie (rys. 7.13) znajduje się pętla WHILE odpowie-dzialna za zakończenia działania wszystkich pętli w programie w momencie poda-nia sygnału wysokiego przez wyłącznik krańcowy (dolny). Zakończenie wszyst-kich pętli jest realizowane poprzez przechowywanie w zmiennej globalnej KO-NIEC wartości TRUE.

Rys. 7.13. Fragment 1 (sekwencja IV)

Rys. 7.14. Fragment 2 (sekwencja IV)

Fragment nr 2 (rys. 7.14) odpowiada za odebranie, analizę oraz przesłanie prze-tworzonych danych do pozostałych części programu. Kamera podłączona do mo-dułu myRio odbiera 32-bitowy obraz w skali RGB. Moduł IMAQ odpowiada za konwersję 32-bitowego formatu w skali RGB do obrazu czarnobiałego,

79

8-bitowego. Blok Vision Acquisition zapewnia odbiór obrazu w sposób ciągły (Continous Acquisition with inline processing).

Blok Vision Assistant stanowi centrum programu, w którym przetwarzany jest obraz wejściowy na obraz wejściowy przy użyciu szeregu filtrów i operacji prze-twarzania obrazu. Dane wyjściowe z bloku Vision Asisstant stanowią dane wej-ściowe służące do sterowania ruchem silnika krokowego.

a) b)

Rys. 7.15. Przetwarzanie obrazu w bloku Vision Assistant:

a) obraz w skali szarości, b) obraz po użyciu funkcji Threshold oraz Particle Filter

Obraz wejściowy odbierany jest w skali szarości w formacie ośmiobitowym (rys. 7.15a), czyli jest zapisany jako tablica pikseli, których wartości są zapisane w przedziale <0,255> (0 to piksel całkowicie czarny, a 255 jest całkowicie biały). Pierwszą operacją jest użycie funkcji Threshold, której zadaniem jest zapisanie otrzymanego obrazu w formie binarnej. Odbywa się to poprzez wybranie zakresu, dla którego program przypisze pikselowi wartość 1, pozostałe piksele będą miały przypisaną wartość 0. Zakres trzeba ustalać każdorazowo dla nowej mieszaniny, gdyż w zależności od jej składu może się on różnić. Pole czerwone, to pole z przy-pisaną wartością 1, natomiast pole czarne ma przyprzy-pisaną wartość 0. Następnie przy użyciu funkcji Binary Image Inversion uzyskujemy obraz o odwrotnych warto-ściach. Po tej operacji obraz ma już ogólną postać gotową do wydobycia danych, ale pozostaje jeszcze na nim dużo szumów. Szumy rozumiemy jako grupy pikseli, które nie są częścią analizowanego fragmentu obrazu, ale znalazły się na obrazie z powodu występowania załamań światła padającego na cylinder pomiarowy lub za-brudzeń tła fotograficznego. W celu eliminacji szumów stosujemy funkcję Particle Filter. W zastosowanej analizie obrazu zastosowano wariant filtrujący powierzch-nię (Area), w którym usuwane są zbędne skupiska pikseli o powierzchni od 1 do 50 pikseli. Tak, przygotowany obraz przesyłany jest do funkcji Particle analysis po-zwalającej uzyskać parametry wykorzystywane w module sterującym ruchem wózka z kamerą. Funkcja ta wyznacza wysokość najmniejszego prostokąta, który obejmuje cały obraz pojedynczego kształtu (czerwony obrys obrazu rys. 7.15b). Wynikiem tego etapu analizy obrazu jest tabela zawierająca wymiary prostokąta obejmującego zadany obrys. Odczytaną w ten sposób wysokość jest przyrówny-wana do wartości 240. Wynika ona z faktu, że rozdzielczość kamery podłączonej

80

do myRIO wynosi 640x480, zatem gdy wysokość prostokąta jest mniejsza niż 240 pikseli granica strefy A i B znajduje się poniżej środka ekranu. Informacja ta jest wykorzystana w dalszej części programu.

Rys. 7.16. Fragment nr 3 (sekwencja IV)

Fragmenty nr 3 i 4 (rys. 7.16 oraz 7.17) odpowiadają za pozycjonowanie wózka z kamerą, w zależności od odczytanego położenia wysokości rozdziału. Fragment 3 składa się ze struktury CASE (przypadki TRUE i FALSE) sprawdzającej czy uzy-skana wartość wysokości prostokąta z poprzedniego fragmentu kodu jest mniejsza niż 240. W przypadku gdy warunek jest spełniony (TRUE) wywołany jest kodu źródłowego odpowiedzialnego za ruch wózka (w dół) oraz struktura służąca do ge-nerowania wykresu sumy kroków silnika w zależności od czasu. W jej skład wcho-dzi licznik sygnałów logicznych oraz czasomierz, z których budowana jest tablica, z której następnie generowany jest wykres.

Czasomierz działa w następujący sposób: przy otwarciu sekwencji do pętli za pośrednictwem funkcji Get Date/Time In Seconds przesyłana jest data i godzina, w której została otwarta pętla. Przy każdym odświeżeniu pętli data i godzina ta jest odejmowana od aktualnej, więc na wyjściu operacji pojawia się czas, który upłynął od przyciśnięcia przycisku START.

Licznik działa w sposób następujący: przy każdym odświeżeniu pętli spraw-dzana jest wartość logiczna sygnału wysyłanego na silnik. Kiedy sygnał ma wartość logiczną TRUE, do sygnału podawanego przez rejestr przesuwny dodawane jest 1.

81

Rys. 7.17. Fragment nr 4 (sekwencja IV)

Sygnały z czasomierza i licznika są następnie przesyłane do funkcji Insert Into Array, które przy pomocy rejestrów przesuwnych tworzą dwie jednowymiarowe tablice, w których na ostatnim miejscu, co odświeżenie pętli zapisywane są ostatnie informacje przesłane przez licznik i czasomierz. Następnie tablice są scalane przez funkcję Bundle do jednej, dwuwymiarowej tablicy, z której generowany jest wy-kres.

Fragment 4 (rys. 7.17) programu odpowiada za sterowanie ruchem wózka w przypadku, gdy wysokość otrzymanego prostokąta jest równa (wózek pozostaje nieruchomo) lub wyższa niż 240 (ruch wózka do góry).

82

Fragment 5 (rys. 7.18) odpowiedzialny jest za zakończenie działania programu w momencie kontaktu wózka z dolnym wyłącznikiem krańcowym. W tym frag-mencie następuje przypisanie zmiennej globalnej KONIEC wartości FALSE oraz uzyskany zostaje całkowity czas trwania pomiaru od momentu przyciśnięcia przy-cisku START.

W wyniku końcowym działania programu jest wykres krzywej sedymentacji. Uzyskane dane można wyeksportować do programu MS Excel lub Matlab.

Rys. 7.18. Fragment nr 5 (sekwencja V)

Weryfikacja wyników pomiarów ze stanowiska AST oraz MAST W celu weryfikacji poprawności działania zaproponowanego stanowiska prze-prowadzono test sedymentacyjny trzema sposobami: klasyczną metodą manualną (odczyt położenia granicy rozdziału przeprowadzany przez laboranta, okiem nieu-zbrojonym), z wykorzystaniem nieruchomej kamery (AST–Automatic Settling Test) oraz z ruchomą kamerą (MAST). Krzywe sedymentacji dla zawiesiny węglo-wej wykreślono dla zawiesiny bez flokulanta (surowa zawiesina). Odległość cylin-dra pomiarowego od kamer wynosiła 1000 mm, w obu przypadkach (AST, MAST). Czas trwania pojedynczego testu sedymentacji wynosił około 6 godzin. Zdefinio-wanie kryteriów separacji granicznej (progu binaryzacji) dla obu metod zostało ustalone na podstawie wcześniej przeprowadzonego testu sedymentacyjnego.

W przypadku zautomatyzowanego testu sedymentacji (AST) oraz testu rucho-mej kamery (MAST), uzyskane wyniki (rys. 7.19) są prawie identyczne w zakresie wysokości granicy rozdziału faz w zakresie od 930 mm do 800 mm (pozycja osi optycznej kamery stacjonarnej). Różnice względne między testem manualnym a testami automatycznymi w tym zakresie są mniejsze niż około 0,5%. Wyniki obu metod automatycznych są zbieżne z wynikami ręcznego odczytu położenia granicy rozdziału faz (brak efektu paralaksy).

W momencie, gdy wysokość granicy rozdziału faz jest niższa niż 800 mm to zauważalna jest różnica w wynikach uzyskanych za pomocą metod automatycz-nych (granica rozdziału faz znajduje się na poziomie osi optycznej kamery). W re-zultacie pozycja rozdziału faz jest wyższa w przypadku testu z użyciem kamery nieruchomej. Błąd względny między tą metodą (AST) a metodą odczytu granicy rozdziału faz bez zastosowania kamery wynosi mniej niż 3%. Względne wartości

83

różnic pomiędzy wynikami otrzymanymi z użyciem testu MAST i testu bez wyko-rzystania kamery są mniejsze niż 1,5%. Na wyniki uzyskane metodą AST ma wpływ rosnący efekt paralaksy.

Rys. 7.19. Krzywe sedymentacyjne uzyskane za pomocą metody AST i MAST

Wartości błędu dla nieruchomej kamery zwiększają się, gdy odległość pomię-dzy wysokością położenia granicy rozdziału i wysokością położenia osi optycznej kamery zwiększa się. W przypadku szybko sedymentującej zawiesiny miałoby to znaczący wpływ na uzyskane wyniki. Wartości błędów dla obu metod są zadowa-lające i pokazują dobry wybór metod ułatwiających określenie granicy rozdziału faz (proces sedymentacji zawiesiny węglowej bez dodatków chemicznych prze-biega powoli).

W metodzie MAST błędy paralaksy nie mają wpływu na osiągane wyniki. Ze względu na osiągnięcie zbieżnych wyników metodą MAST, kolejne testy są prze-prowadzane były przy użyciu tej metody.

W dokumencie Index of /rozprawy2/11679 (Stron 68-83)

Powiązane dokumenty