Czujniki fotoelektryczne w praktyce – rozpoznawanie kierunku ruchu

265

W różnorodnych zastosowaniach automatyki przemysłowej najczęściej są używane dwa rodzaje czujników: fotoelektryczne oraz indukcyjne (zbliżeniowe). Oba mają swoje wady i zalety, które determinują ich zastosowanie. I tak, dla przykładu, jeśli czujnik indukcyjne może wykryć obiekty metaliczne schowane za nieprzeźroczystą, niemetaliczną przeszkodą, to tej możliwości nie ma czujnik fotoelektryczny, który musi widzieć obiekt w jakimś zakresie światła. Z drugiej strony, jeżeli w takim czujniku użyjemy światła lasera, to zasięg detekcji może być bardzo duży, sięgający nawet kilkudziesięciu metrów. Takim zasięgiem czujniki indukcyjne nie mogą się już poszczycić. 

Czujnik fotoelektryczny działa na zasadzie pomiaru natężenia światła wiązki emitowanej przez nadajnik, padającej na światłoczuły element odbiornika. Zależnie od przeznaczenia czujnika stosuje się różne rodzaje światła oraz moduluje wiązkę. Najczęściej jest używane światło podczerwone, niewidzialne dla ludzkiego oka. Dzięki temu detekcja może być przeprowadzana w sposób nierozpraszający uwagi, ale ma to też swoje wady, o czym przekonał się każdy montujący np. czujnik w bramie mający za zadanie zapobiec jej zamknięciu, jeśli stoi w niej pojazd. Dlatego często podczas wykonywania prac montażowych jako akcesorium dodatkowe stosuje się wskaźniki laserowe, które ułatwiają wzajemne pozycjonowanie nadajnika i odbiornika. 

Wiele czujników fotoelektrycznych jest wyposażonych w diody sygnalizujące status ich pracy, w tym poprawną współpracę nadajnika i odbiornika. Obserwowanie tych diod i kolorów ich świecenia ułatwia właściwy montaż czujników oraz określenie statusu wyjścia czy poprawności reakcji na obiekt co jest szczególnie istotne, gdy czułość jest regulowana. 

Niemal każdy konstruktor elektronik, automatyk lub integrator, bo to najczęściej oni użyją czujnika fotoelektrycznego, bez trudu będzie w stanie ocenić wymagania stawiane przez aplikację docelową i dobrać właściwy rodzaj sensora. Na pewno ważnymi kryteriami będą takie czynniki, jak: środowisko pracy czujnika, temperatura otoczenia, odporność mechaniczna (a wszystkie wymienione czynniki będą wpływały na wybór materiału obudowy, stopnia jej szczelności IP oraz sposobu mocowania), rodzaj światła w otoczeniu, przeznaczenie czujnika i wymagany zasięg detekcji, dostępne napięcie zasilające czy rodzaj wyjścia. W niektórych zastosowaniach duże znaczenie może mieć czas reakcji czujnika, chociaż raczej nie tego będziemy oczekiwali od czujników dużego zasięgu. Niezmiernie ważnym kryterium będzie też rodzaj wykrywanego obiektu lub obiektów. Niektóre czujniki reagują już wtedy, gdy na drodze wiązki pomiędzy nadajnikiem a odbiornikiem znajdzie się cienka, przeźroczysta folia. Inne wymagają niemal całkowitej nieprzeźroczystości obiektu. Jeszcze inne są wyposażone w potencjometr do regulacji czułości, dzięki któremu precyzyjnie można ustawić próg zadziałania. 

Wybierając czujnik w warto kierować się też marką. Do zastosowań przemysłowych lub innych urządzeń, w których istotne jest pewne działanie czujnika i to nie tylko ze względu na bezpieczeństwo użytkowników, ale również na komfort użytkowania aplikacji, warto sięgać po sprawdzone wyroby znanych producentów. Przykładowo, jeśli producentem sensora jest np. firma Panasonic, można założyć, że przeprowadzona była rzetelna kontrola jakości sensorów, a te będą pracowały pewnie i stabilnie. 

Sprawdźmy, jak można w praktyce zaprząc taki czujnik do pracy w połączeniu z dowolnym sterownikiem PLC. Chociaż przykładowy program został wykonany dla Siemens LOGO! v8, to dzięki czytelności języka FBD bez większego wysiłku można go zaadaptować do użycia na innej platformie.  

Mając jeden czujnik fotoelektryczny, bardzo trudno jest rozpoznać kierunek ruchu obiektu. Aby móc to zrobić, należałoby albo zmodulować wiązkę światła i wykorzystać efekt Dopplera, albo mierzyć czas upływający pomiędzy seriami impulsów wysyłanych w stronę obiektu. To są jednak metody trudne do praktycznej realizacji, raczej drogie i nie każdy da sobie z nimi radę. Znacznie łatwiejsze jest ustawienie dwóch czujników jeden obok drugiego i sprawdzanie kolejności ich zadziałania. 

Rysunek 1. Zasada działania detektora wykrywającego kierunek ruchu: A) stan spoczynkowy – obiekt zbliża się do czujników od lewej strony, B) aktywny czujnik „1”, C) aktywne czujniki „1” i „2”, D) aktywny czujnik „2”, C) stan spoczynkowy

Na rysunku 1 pokazano zasadę działania takiego rozwiązania. Jeśli użyjemy dwóch czujników – ponumerujmy je umownie „1” i „2” – to zadziałanie „1”, a następnie „2” może oznaczać umowny kierunek ruchu w prawo, a w odwrotnej kolejności – w lewo. Jednak, aby nasz algorytm działał pewnie imożna się nim było posłużyć nie tylko do wykrywania kierunku ruchu, ale też np. do liczenia obiektów, musimy jeszcze wprowadzić pewne obostrzenia. Po pierwsze, obiekt musi przemieszczać się przed czujnikami powodując ich zadziałanie, ale to jakby oczywiste. Po drugie, maksymalna odległość pomiędzy czujnikami nie może być większa niż najmniejsze wymiary obiektu. Dzięki temu nasze czujniki zadziałają w kolejności, na przykład: 

oba nieaktywne à „1” załączony à „1” i „2” załączone à „2” załączony à oba nieaktywne. 

Po trzecie, przypadkowe ruchy sprawdzanego obiektu pomiędzy czujnikami nie powinny powodować błędnego działania instalacji. Jasne, to jest program i nie da się wykluczyć wszystkich błędów logicznych, ale mimo tego należy sumiennie sprawdzić go za pomocą symulatora lub instalacji modelowej, testując algorytm w różnych sytuacjach, które mogą zdarzyć się w praktyce. 

Rysunek 2. Przykładowy program napisany w języku FBD dla sterownika LOGO! v8

Na rysunku 2 zamieszczono przykładowy program w języku FBD napisany w darmowym środowisku LOGO! Soft Comfort. Jeśli użylibyśmy sterownika LOGO!, to na jego wejścia I1 oraz I2 należy podać napięcie reprezentujące logiczną „1”. Jeśli byłby to LOGO! 24RC, to byłoby to napięcie z zakresu 18…24VDC. Jeśli użylibyśmy wersji zasilanej napięciem przemiennym 230V AC, to tam logiczną „1” reprezentuje znacznie wyższe napięcie, ale wówczas uwaga na rodzaj i parametry wyjścia sensora 

Jak wspomniano, napięcie ze styków czujników powinno być doprowadzone do wejść I1 (z czujnika „1”) oraz I2 (z czujnika „2”). Program jest tak napisany, że kierunek ruchu od I1 do I2 powoduje wygenerowanie impulsu na wyjściu bramki B020, natomiast od I2 do I1 na wyjściu bramki B006. 

Aby zademonstrować użyteczność przykładowej aplikacji, do wyjść obu bramek dołączono licznik dwukierunkowy (B023) oraz układ logiczny (B021 – bramka XOR, B022 – przerzutnik RS). Zadaniem układu logicznego jest ustawienie wejścia kierunku zliczania, jeśli przychodzą impulsy „dodatnie” (z bramki B020) i wyzerowanie, gdy ujemne (z bramki B006) oraz wypracowanie przebiegu zegarowego podawanego na wejście zliczania. Dzięki ustawianiu i zerowaniu wejścia kierunku zliczania licznik liczy w górę (wejście ustawione) lub w dół (wejście wyzerowane). 

Rysunek 3. Okno właściwości bloku licznika Up/Down Counter

Blok licznika Up/Down Counter w LOGO! ma wyjście ustawiane i zerowane zgodnie z warunkami zadanymi w oknie właściwości licznika. Jeśli, jak na rysunku 3, do pola „On” wpiszemy „1”, natomiast w polu „Off” pozostawimy „0”, to wyjście będzie ustawiane, gdy stan licznika będzie większy od 0 i zerowane, gdy równy 0. Jeśli teraz do tego wyjścia doprowadzimy blok funkcyjny Output, np. Q1, to przekaźnik wyjściowy numer 1 sterownika LOGO! 24RC będzie zwierał styki, kiedy stan licznika będzie większy od 0. W ten sposób możemy szybko i łatwo zbudować urządzenie, które automatycznie będzie włączało i wyłączało oświetlenie, licząc osoby wchodzące i wychodzące do/z danego pomieszczenia. Światło powinno się włączyć, jeśli ktoś wejdzie i wyłączyć, jeśli wszyscy wyjdą. 

Autor: Pan Jacek Bogusz

Żródło: TME