Firma JANKO z Bogacicy specjalizuje się w produkcji urządzeń kontroli dostępu w oparciu o zamki szyfrowe lub przedpłatowe udostępnianie usług.
Jako podwykonawca byliśmy autorem projektu oprogramowania modułu sterującego dla układu służącego do wydawania płynów w myjniach samochodowych.
Inwestor: JANKO
Opis projektu
Układ służy do udostępniania usługi (wydanie określonej ilości płynu) po uprzednim uiszczeniu opłaty w formie bilonu. Zastosowano tu wysokiej klasy wrzutniki monet firm Comestero i NRI, skutecznie uniemożliwiające oszukanie maszyny. Urządzenie sprzętowo bazuje na module MAW, który gabarytowo idealnie nadawał się do tego rozwiązania. Jest to doskonały przykład uniwersalności projektowanych przez nas układów elektronicznych: wystarczy zmiana oprogramowania, aby urządzenie projektowane w konkretnym celu mogło realizować zupełnie inne funkcje, nie ujęte w pierwotnej specyfikacji.
Rozwiązania
Ponieważ do nowych celów adaptowaliśmy już istniejący układ elektroniczny, postanowiliśmy zrobić wszystko aby nie było potrzeby dokonywania żadnych przeróbek sprzętowych. Wymusiło to użycie jako wejścia licznikowego zwykłego pinu IO, nie generującego sprzętowego przerwania. Taki sposób obsługi zliczania impulsów wymusza zupełnie inny rygor programowania dla całości systemu. Ze względu na problemy z uzyskaniem dużej dokładności odczytu dla przepływomierzy z wyjściem impulsowym 1imp / 1ml w technice programowania event-driven programming dla urządzenia opracowany został system czasu rzeczywistego RTOS "tomOS". System zapewnia dynamiczne kolejkowanie wątków wg:
- priorytetu czasowego wykonania,
- stanu wątku (wątek aktywny, wątek w stanie błędu, wątek uśpiony, wątek martwy).
System umożliwia wywłaszczenie wątku którego czas wykonania przekroczył dopuszczalny czas życia wątku. Dla każdego z wątków możliwe jest niezależne ustawienie sposobu działania po wykryciu przekroczenia czasu życia - wątek może pozostać w stanie zamrożenia (nie będzie więcej wykonany), może zostać trwale zabity, lub samoczynnie wznowiony.
Testy dla techniki event-driven programing wykazały, że maksymalna możliwa do uzyskania dla przepływomierza 1imp / 1ml wartość przepływu wynosi 5l/min. Powyżej tej wartości impulsy były gubione.
Testy dla systemu "tomOS" wykazały, że dla częstotliwości impulsów 500Hz (500ml/sek co odpowiada 30l/min) wartość błędu wynosi 0%. Powyżej częstotliwości 500Hz pojawia się błąd stały <1%. Testy wykazały, że maksymalna częstotliość impulsów zliczanych dla tego typu przepływomierza to 5kHz co daje przepływ 300l/min (rozdzielczość pomiaru 1ml). Przy błędzie <1% daje to przekłamanie <3l / 300l wydanej cieczy.
Reasumując: system jest w stanie zmierzyć maksymalny przepływ 300l/min z rozdzielczością 1ml!
Zdjęcia: XU Records