Sterownik robota na LOGO! 8

Sterownik robota na LOGO! 8
Pobierz PDF Download icon

Ileż to razy rano wstawaliśmy do naszych codziennych zadań i marzyliśmy, aby, chociaż jedną rzecz ktoś zrobił za nas. Choćby poranną herbatę. Wprawdzie w handlu są już dostępne automaty, które to za nas zrobią, ale to nie sztuka kupić automat. Poza tym, automaty te nie są z sobą połączone i trudno nimi sterować centralnie. Z poprzednich artykułów wiemy, że do budowy takiego automatu możemy użyć LOGO! 8.

Firma Siemens, tworząc LOGO! 8 tak zaprojektowała jego funkcjonalności, aby były jak najlepiej dopasowane do potrzeb określonej grupy odbiorców. Nieprzypadkowo LOGO! ma obudowę pasującą do skrzynek elektrycznych dostępnych w marketach i zgodną z wyglądem typowego osprzętu elektrycznego montowanego na szynie TH35. Nieprzypadkowo również wyposażono je w ekran LCD, przyciski oraz możliwość wprowadzania parametrów pracy. Firma Siemens wszystko zaplanowała w taki sposób, aby LOGO idealnie nadawało się między innymi do zastosowań domowych w szerokim zakresie. Jedną z wielu ciekawych funkcjonalności sterownika są rozbudowane bloki obsługi zegara czasu rzeczywistego oraz kalendarza (Astronomical Clock, Weekly Timer i Yearly Timer), których zadaniem jest ułatwienie budowania aplikacji wykonujących cykliczne czynności, np. raz w tygodniu, w określony dzień np. środę lub tylko dwa razy do roku czy też, np. zawsze o wschodzie i zachodzie Słońca.

Kiedy wstaje Słońce

Jednym z bardziej skomplikowanych obliczeń jest wyznaczanie godzin wschodu i zachodu Słońca w zależności od daty, godziny oraz położenia geograficznego. To ważna informacja, na której możemy opierać wiele codziennych czynności wykonywanych automatycznie bez stosowania czujników jasności. Dla przykładu, możemy w lato zwijać rolety czy żaluzje, otwierać okiennice itp. W LOGO! do określenia momentu wschodu i zachodu Słońca służy blok funkcyjny „Astronomical Clock” pokazany na rysunku 1. Podczas pracy bloku widać wyliczoną godzinę wschodu (TR) oraz zachodu (TS) Słońca, które są podane według czasu lokalnego, czyli z uwzględnieniem strefy czasowej.

Na rysunku 2 pokazano formularz konfiguracji parametrów pracy bloku. Z listy [Location] możemy wybrać jedną z gotowych lokalizacji lub, tak jak to przedstawiono na rysunku 3, wybrać opcję User-defined i samodzielnie ustawić dalsze parametry. Widoczne na rysunku 3 parametry geograficzne wpisane w polach [Longitude] oraz [Lattitude] są łatwe do zapamiętania i odpowiadają w przybliżeniu położeniu odległemu o 25km na południe od Warszawy. Należy je rozumieć w ten sposób: 21 stopni długości geograficznej wschodniej, czyli 21 stopni na wschód od południka zerowego, 52 stopnie szerokości geograficznej północnej, czyli 52 stopnie na północ od równika. Używając mapy papierowej, atlasu samochodowego lub mapy dostępnej w Internecie np. http://maps.google.com, można swoją lokalizację określić bardziej precyzyjnie. Oczywiście, realny wschód Słońca jest jeszcze silnie zależny od ukształtowania pobliskiego terenu. Gdy mieszkamy na okolicznym wzniesieniu, z którego widać odległy horyzont wówczas, obliczenia będą bliższe rzeczywistości. Jeżeli jednak żyjemy w kotlinie górskiej to, dla nas realny wchód będzie później a zachód wcześniej. Z tego powodu producent przewidział dwa pola w formularzu konfiguracyjnym: [Sunrise offset] aby można było doprecyzować wynik obliczeń do realnego momentu wschodu Słońca oraz, [Sunset offset] do doprecyzowania chwili zachodu Słońca. Oba pola wprowadzają korektę do wyliczonych wartości a, ich maksymalny zakres poprawki wynosi po 59 minut w każdą stronę. Przydatną funkcjonalnością w naszych urządzeniach będzie możliwość pokazania tych wyliczonych godzin na ekranie sterownika. Na wyjściu bloku „Astronomical Clock” otrzymujemy sygnał logiczny 1 od godziny (TR) do godziny (TS). Czyli podczas dnia.

Cykl tygodniowy

Nasze życie codzienne toczy się nie tylko w cyklu dobowym ale również według cyklu tygodniowego. Najczęściej od poniedziałku do piątku mamy sporo obowiązków i wstajemy rano a w sobotę i niedzielę mamy wolne i pragniemy odpocząć po całym tygodniu pracy bądź nauki.

Blok funkcyjny „Weekly Timer”, którego symbol pokazano na rysunku 5 znakomicie pomoże nam w zautomatyzowaniu czynności realizowanych w określone dni tygodnia. Można też powiedzieć, że ten blok przyda się, aby sterownik nie realizował określonych czynności np. w sobotę i niedzielę. Czyli wschód Słońca nie odsłoni nam rano żaluzji w sobotę i niedzielę, dzięki czemu będziemy mogli dłużej wypoczywać. Zrobi to, na przykład, 3 godziny później. Blok ten działa podobnie do „Astronomical Clock”, czyli podaje na wyjście logiczną „1”, gdy są spełnione określone warunki.

Na rysunku 5 pokazano formularz warunków, które aktywują wyjście bloku. Upraszczając, zaznaczamy tylko te dni tygodnia, w które chcemy coś wykonać i ustawiamy godzinę. W jednym bloku funkcyjnym mamy 3 harmonogramy tygodniowe. Każdy ma możliwość zdefiniowania niezależnie godziny włączenia i wyłączenia wyjścia z bloku. Może się wydawać to dziwnym ale, dzięki temu możemy włączyć wyjście z bloku w środę o 09:00 i wyłączyć w piątek o 12:30. Aby zrealizować takie zadanie, będziemy użyjemy dwóch harmonogramów w jednym bloku funkcyjnym. Blok funkcyjny „Weekly Timer” idealnie pasuje nam do uruchamiania porannych zadań, na przykład, przygotowania herbaty.

Cztery pory roku

Poranna, zimowa herbatka jest inna niż wiosenna. Tak właśnie powinien działać nasz automat – zadbać, aby zaparzał nam inne herbatki zimą, a inne wiosną. Do tego celu użyjemy bloku „Yearly Timer”, którego zadania są podobne do „Astronomical Clock”, tylko w szerszym zakresie czasu. Yearly Timer jako parametry może przyjmować lata pomiędzy którymi ma działać oraz dni i miesiące graniczne. Dzięki temu możemy włączyć jakąś funkcję w dniu 22 września i wyłączyć ją w dniu 20 marca w kolejnym roku.

W tym celu w formularzu konfiguracyjnym bloku „Yearly Timer” w sekcji [Recurrence pattern] w polu (Begin) wpiszemy rok, od którego ma się rozpocząć działanie bloku, np. 2017 a, w polu (End) wpiszemy rok np. 2099 (na tyle pozwala LSC), w którym działanie ma ustać. W sekcji [Time] w polu (Month/On Time) wpisujemy 9 a, w polu (Day/On Time) wpisujemy 22. Analogicznie dla (Off Time) wpisujemy 3 dla (Month) oraz 22 dla (Day). Tak skonfigurowany blok będzie nas informował o tym, którą herbatę należy zaparzyć.

Niech się parzy

A zatem, mamy już możliwość pełnej kontroli tego, co i kiedy zadziała. Blok funkcyjny „Yearly Timer” wskaże nam rodzaj herbaty. „Weekly Timer” wskaże dni i godziny, w których należy parzyć herbatę. „Astronomical Clock” będzie odpowiedzialny za przygotowanie kuchni i naszej sypialni do spokojnej pobudki i porannej herbaty. Zatem zbudujmy nasz układ sterowania.

Na rysunku 8 pokazano uproszczoną budowę naszego urządzenia. Na lekko ukośnym, śliskim podeście, stoją przygotowane szklanki, które grawitacyjnie osuną się, gdy siłownik przygotuje miejsce wysuwając szklankę do punktu nalewania wrzątku. Wysunięcie szklanki inicjuje proces przygotowania. Gdy szklanka znajdzie się w punkcie docelowym, szybkowar przygotuje nam wrzątek, który samoczynnie zaleje nam szklankę. Budowy szybkowaru nie będziemy teraz opisywali. Ilość wrzątku możemy zmierzyć budując stolik oparty na dwóch tensometrach i przetworniku, który poda nam napięcie z zakresu 0…10 V na wejście analogowe sterownika. Podczas zalewania wrzątkiem uruchomimy podajnik torebek z właściwą herbatą, zależnie od pory roku. Drugi podajnik nasypie nam określoną porcję cukru. Tensometry użyjemy do wykrywania faktu, że kubek jest na podeście oraz do odmierzania ilości wody poprzez pomiar masy.

Na rysunku 9 przedstawia nam przykładową realizację układu sterowania naszym urządzeniem do parzenia herbaty. Układ sterowania składa się z zasadniczego automatu oraz modułu do obsługi podnoszenia i opuszczania rolet odpowiednio o wschodzie i zachodzie Słońca, który znajduje się w sekcji 2. Automat został wyposażony w funkcję reset, uruchamianą samoczynnie po włączeniu zasilania lub wywoływaną ręcznie przyciskiem chwilowym dołączonym do wejścia I3. Sekcja 1 generuje sygnał RESET, który jest wysyłany do wszystkich układów czasowych i elementów pamięci. Po tym sygnale urządzenie przechodzi do stanu oczekiwania na polecenie zaparzenia herbaty. Sygnał ten może pochodzić od jednego z dwóch źródeł: wejścia I2 lub od B003(Śniadanie) Weekly Timer z ustawionym typem sygnału wyjściowego na [Pulse Output] dzięki czemu, do dalszej części układu poprzez bramkę OR B013, zostanie wysłany jedynie impuls sterujący. Dzięki zastosowaniu bramki OR B013 mamy możliwość zamówienia sobie herbaty nie tylko zgodnie z harmonogramem ale również „na życzenie”. Blok B028(RS) pełni tutaj rolę komórki pamięci. Raz ustawione polecenie zaparzenia herbaty nie może być ponownie wydane i trzeba czekać do końca procesu lub zatrzymać go ręcznie przyciskiem KASUJ lub poprzez zdjęcie szklanki z wagi tensometrycznej. Po wydaniu polecenia zaparzenia herbaty sekcja 3 zajmuje się wysunięciem kubka na wagę tensometryczną. Gdy waga wskaże wartość nie mniejszą niż ustawioną w analogowym przełączniku progowym B015 lub nadejdzie sygnał na wejście I4 np. z czujnika ultradźwiękowego wówczas, sekcja 3 kasuje sygnał sterujący układem podawania szklanki. Jednocześnie sekcja 4B rozpoczyna nalewanie wrzątku. W tym czasie sekcja 4A czuwa nad ilością wrzątku nalanego do szklanki. Jeśli analogowy przełącznik progowy B027 odczyta z wagi tensometrycznej wartość nie mniejszą niż zadany próg wówczas, wysyła sygnał do sekcji 4B aby ta zaprzestała nalewania. Równolegle z nalewaniem wrzątku jest wykonywana czynność wrzucenia saszetki z herbatą – zależną od sygnału z bloku B001(TypHerbaty) Yearly Timer, która jest realizowana przez sekcjach 5 i 6.

Blok wrzucania saszetki posiada zestaw czujników I5 i I6, informujących o rozpoznaniu saszetki co, jest równoznaczne z informacją o jej wrzuceniu do kubka. Zakończenie procesu wrzucania saszetki uruchamia blok B022, który realizuje nasypanie cukru.

Bezpieczeństwo to podstawa

Nasze urządzenie jest już dosyć rozbudowane, potrafi wykonywać więcej niż jedna czynność w tym samym czasie a, niektóre czynności wykonuje w odpowiedniej kolejności. Może się zdarzyć, że zabraknie kubków, nie naleje się do końca wrzątek, zabraknie herbaty itd. Może się również zdarzyć, że pęknie szklanka podczas nalewania. Dlatego w naszym urządzeniu trzeba zadbać o bezpieczeństwo. W zaprezentowanym układzie można zauważyć, że sygnał odczytany z wagi jest przekazywany do dwóch przełączników analogowych, z których jeden – B015, ma wyjście skierowane do B029, a będące bramką sygnalizującą obecność szklanki. A zatem, jeśli szklanka się zbije, to większa część spadnie poza wagę, a ewentualnie nalany wrzątek się wyleje, co, spowoduje obniżenie ciężary poniżej progu [Off] w bloku B015, a tym samym wysłanie do reszty układu sygnału o braku szklanki. Sygnał o braku szklanki jest w naszym układzie traktowany jako krytyczny i służy do kasowania wszystkich istotnych bloków odpowiedzialnych za sterowanie wyjściami realizującymi określone funkcje. W tym przypadku kasowane są wszystkie układy czasowe sterujące podawaniem wrzątku, podawaniem saszetek oraz cukru.

Ulepszanie automatu

Waga tensometryczna w naszym układzie stała się jednocześnie źródłem informacji o postępowaniu procesu przygotowania herbaty. Jeśli będziemy dysponowali wystarczająco czułymi tensometrami oraz odpowiednio dobranym układem mostka tensometrycznego wówczas, możemy nawet zrezygnować z czujnika saszetki. Badając zmianę wagi wykryjemy moment wrzucenia saszetki. Zasypanie cukru również możemy oprzeć nie o czas, lecz o zmianę wagi. Nasz układ możemy rozbudować o sygnalizator gotowości produktu lub o informacje dotyczące zapotrzebowania na cukier czy herbatę.

Teraz pozostaje nam delektowanie się „automatyczną herbatką” podczas, gdy nasze poprzednio zbudowane układy automatyki dbają, o oszczędzanie energii elektrycznej i bezpieczeństwo. Pozostaje jedno pytanie: jak się ubrać do wyjścia z domu? Przydałaby się nam stacja pogodowa! Mamy LOGO! zatem... już wiem, co zbudujemy następnym razem!

Arkadiusz Wernicki


Artykuł ukazał się w
Elektronika Praktyczna
grudzień 2017
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów