Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Załączanie oświetlenia z opóźnieniem w sygnalizacji

bearq 11 Sty 2018 15:40 159 14
  • #1 11 Sty 2018 15:40
    bearq
    Poziom 35  

    Witam,

    mam dość nietypowy problem związany z opóźnieniem załączania oświetlenia.
    Posiadam sygnalizację świetlną składającą się z 3 świateł czerwonych i 3 świateł białych. Sygnalizacja załączana jest z trzech różnych miejsc gdzie mamy do wyboru albo zapalenie koloru czerwonego albo białego.
    Potrzebuje ją tak przerobić aby załączanie świateł występowało w jednym momencie nie zależnie od tego w jakim odstępie czasowym zostaną przyciśnięte przyciski załączające odpowiedni kolor a gasły po pewnym ustalonym czasie.

    0 14
  • #2 11 Sty 2018 16:04
    Wojciech.
    Poziom 30  

    bearq napisał:
    Potrzebuje ją tak przerobić aby załączanie świateł występowało w jednym momencie nie zależnie od tego w jakim odstępie czasowym zostaną przyciśnięte przyciski załączające odpowiedni kolor a gasły po pewnym ustalonym czasie.




    Mógłbyś rozjaśnić?

    0
  • #3 11 Sty 2018 16:21
    bearq
    Poziom 35  

    Sprawa dość prosta.
    Osoba A daje sygnał do zapalenia żarówki X ale ta się nie zapala
    Osoba B daje sygnał do zapalenia żarówki X ale ta się nie zapala
    Osoba C daje sygnał do zapalenia żarówki X i w tym momencie zapalają się żarówki wybrane przez osobę A, B oraz C.
    Czyli dopóki "coś" nie dostanie sygnału z trzech różnych źródeł dopóty nie załączy sygnalizacji czyli nie zapali żarówek.

    0
  • #4 11 Sty 2018 17:16
    Wojciech.
    Poziom 30  

    A co ze sytuacją gdy A wybierze inną opcję niż B? Albo osoba C naciśnie wcześniej niż osoby A B? Sprawa wygląda prosto tylko co z tymi opcjami?

    0
  • #5 11 Sty 2018 17:47
    _jta_
    Specjalista elektronik

    Czy tu chodzi o to, że każda osoba wybiera kolor jednej żarówki, ale zapalają się wszystkie wybrane dopiero kiedy wszystkie osoby wybiorą? Na przykład po to, żeby nikt za wcześnie nie wiedział, co wybierają inni - byłoby to pożądane choćby przy grze w marynarza.

    0
  • #6 11 Sty 2018 22:15
    bearq
    Poziom 35  

    _jta_ napisał:
    Czy tu chodzi o to, że każda osoba wybiera kolor jednej żarówki, ale zapalają się wszystkie wybrane dopiero kiedy wszystkie osoby wybiorą? Na przykład po to, żeby nikt za wcześnie nie wiedział, co wybierają inni - byłoby to pożądane choćby przy grze w marynarza.

    Dokładnie o to mi chodzi, brakowało mi słów do ujęcia tego tak prosto ;)

    0
  • Pomocny post
    #7 12 Sty 2018 00:01
    _jta_
    Specjalista elektronik

    Można spróbować to zrobić na bramkach i ewentualnie przerzutnikach 'RS', albo 'D'. Tylko tego trochę dużo wyjdzie.

    Bramki: myślę, że z 2 bramek 2-wejściowych i 2 bramek 3-wejściowych można zbudować układ 2 przerzutników 'RS', do którego podłączy się 2 przyciski, i on zapamięta wciśnięcie przycisku i który to był; 3 takie układy, i do tego trzeba dodać dekodowanie, czy już wszystkie dostały sygnał (wciśnięcie któregoś przycisku) - na to wyjdą 3 bramki 2-wejściowe i 1 3-wejściowa, albo bramka and2-or4-inwert; i na koniec jeszcze 6 bramek 2-wejściowych, które pozwolą przekazać sygnały do włączenia żarówek, kiedy wszyscy już wcisną swoje przyciski. Razem: 12 bramek 2-wejściowych (4 kości), 6 bramek 3-wejściowych (2 kości), 1 bramka and2-or4-inwert (1 kość), czyli 7 kości.

    Z przerzutnikami RS: pewnie nie ma takich, które by zawierały bramki 3-wejściowe, więc potrzebne będą dodatkowe bramki, żeby po wciśnięciu przycisku nie dało się zmienić wyboru; 2 kości z RS-ami, 6 bramek na wejściach, i jak poprzednio bramka and2-or4-inwert i 6 bramek 2-wejściowych na wyjściach - znowu 7 kości.

    Z przerzutnikami D: takie, które by pasowały, są po 2 w jednej kości, więc 3 kości, i dekodowanie: bramka and2-or4-inwert i 6 bramek 2-wejściowych na wyjściach - teraz 6 kości. Można tych 6 bramek zastąpić 6-krotnym przerzutnikiem D (jak 74LS174), wtedy będzie 5 kości.

    A może z użyciem pamięci PROM/EPROM z 8-bitowym słowem (tylko trzeba ją odpowiednio zaprogramować): na linie adresowe podłączyć przyciski (6), sygnał resetujący (1), wyjścia podające wybrane kolory żarówek (6), czyli trzeba 13 linii adresowych, pamięć 8kB = 64kb (np. 2764). Do tego 6-krotny przerzutnik D, albo np. 8-krotny bufor 3-stanowy, żeby sygnały do żarówek przepuścić dopiero, kiedy wszyscy wybiorą (odpowiedni sygnał, który tym będzie sterować, poda (E)PROM). 2 kości, ale z programowaniem (E)PROM-u, i dużo pinów (2764 ma 28).

    I w tym wszystkim nie ma jeszcze odmierzania czasu do zgaszenia żarówek. To może być dość proste, np. jakiś NE555, albo CD4541 załatwi sprawę w każdej z tych wersji.

    Pod względem ilości lutowań lepiej wypadłby mikrokontroler: jakiś 20-pinowy (ATtiny2313?) wystarczy z zapasem, i odmierzy czas do zgaszenia żarówek. Ale trzeba zaprogramować.

    0
  • #8 12 Sty 2018 21:20
    bearq
    Poziom 35  

    Dziękuje za bardzo profesjonalne podejście do tematu, masz rację że w przypadku bramek jest to dość rozległy temat dlatego nie pozostaje mi nic innego jak zrobienie tego na procesorze.
    W tym przypadku albo Attiny/Atmega albo pójście na łatwiznę i zrobienie tego blokowo za pomocą Arduino i gotowych modułów przekaźnikowych.

    0
  • #10 13 Sty 2018 00:22
    _jta_
    Specjalista elektronik

    Jak się chce pójść na łatwiznę, to jakikolwiek minikomputer z gniazdem LPT, na którym pójdzie DOS (bardziej zaawansowane systemy utrudniają dostęp do portów, i mają większe wymagania sprzętowe - DOS ładnie chodził na komputerach z RAM-em 256kB, stary Linux z trudem na 4MB, a nowszy raczej wymaga więcej - do sprawdzenia, ile trzeba na TinyCore Linux). Jakiegoś starego TurboC, albo TurboPascal-a można używać za darmo, a one miały dostęp do portów.

    Jakkolwiek, jeśli ma się pod ręką scalaki z bramkami, płytkę uniwersalną, lutownicę, cynę i nieco kabelków, to chyba tak wyjdzie najszybciej - myślę, że zlutowanie układu zajmie mniej czasu, niż zapoznanie się z instrukcją od przekaźnika programowalnego.

    0
  • #11 13 Sty 2018 01:46
    bearq
    Poziom 35  

    Tylko teraz trzeba było by szukać takiego komputera, nauczyć się tego obsługiwać itp...
    Chyba pomysł padnie na złożenie tego na arduino z gotowymi modułami przekaźnikowymi, najszybciej, biblioteki dostępne, programowanie łatwe a same moduły za grosze. Wszystko wejdzie w małą skrzynkę i nie będzie wadzić a w przypadku jakiejś rozbudowy czy korekty nie będzie problemu z przerobieniem tego.

    0
  • Pomocny post
    #12 13 Sty 2018 06:24
    Art.B
    Poziom 29  

    Mimo wszystko uważam, że stare Logo (nawet 0BA1), Zelio czy tajwański Array, do kupienia za ok. 50zł jest najbardziej naturalnym rozwiązaniem. Każde z tych urządzeń da się programować z użyciem wbudowanych przycisków i wyświetlacza w uproszczonej wersji LD czy FBD. Instrukcja może się przydać zasadniczo do ustalenia sposobu wejścia w tryb programowania :D . Wklepanie tego programu z użyciem 6 przycisków i czterowierszowego wyświetlacza nie powinno zająć więcej niż 10 min.
    Osobiście wymieniam wszelkie mechaniczne sekwensery krzywkowe na takie przekaźniki z demobilu. Są tanie (w granicach 100zł), elastyczne, odporne na warunki panujące na halach produkcyjnych, a gdy trzeba dołożyć jakiś warunek z sygnałem analogowym czy licznik, to też no problem. I mają tą przewagę nad konstrukcjami dedykowanymi na bramkach czy też Arduino, że jak np. maszyna zmieni właściciela i ktoś będzie musiał odgadnąć "co autor patentu miał na myśli" to prościej wyciągnąć program z przekaźnika i przeanalizować niż prowadzić analizę połączeń tych bramek czy też Arduino. Jak dla mnie w starych maszynach największym przekleństwem są takie "samodziałowe" moduły podokładane przez ich włoskich użytkowników. Wywalam to prewencyjnie na etapie montażu maszyny zastępując czymś bardziej typowym, bo potem coś zaczyna szaleć na linii i trzeba robić przyspieszony reverse engineering takich wynalazków.

    0
  • #13 13 Sty 2018 10:59
    bearq
    Poziom 35  

    Przeszukałem popularne serwisy w poszukiwania przekaźnika programowalnego i wszystko większe i sensowe kosztuje 300zł+ a największy problem jest taki że duża część ma wyjścia nisko prądowe do sterowania tranzystorami wiec prawdopodobnie i blok przekaźników będzie potrzebny.

    Całe to urządzenie nie jest stosowane nigdzie w przemyśle i również nigdzie nie będzie sprzedawane, jest robione dla siebie także ważne abym ja wiedział jak to działa ;)

    0
  • #14 13 Sty 2018 11:26
    _jta_
    Specjalista elektronik

    Minikomputer PC-to-podobny obsługuje się tak, jak PC - a pewnie PC umiesz obsługiwać, bo raczej go używasz do pisania na forum. ;)

    Najtańsze są na Allegro w cenach około 20 zł (T5710, 256MB RAM, 256MB flash, na tym chodzi Windows XPe, DOS, Slitaz, pewnie pójdzie TinyCore, ale nie próbowałem, jakkolwiek według FAQ TC minimum to 28MB). Z tego T5710 i T5720 (te drugie chodzą dużo szybciej) mają port LPT, wyższe modele już nie, więc do tego się nie nadają.

    W tej chwili najtańszy jest T5530 - 10zł (+8.6zł wysyłka), ma port LPT. Trzeba by poszukać informacji na stronie producenta, na ile to jest kompatybilne z PC, czy jakiś DOS z PC na tym pójdzie. Ma flash 64MB, RAM 128MB - TinyCore by na tym poszedł (jakkolwiek Firefox pod nim już nie, i może nie być miejsca na kompilator C).

    Port LPT ma 8 linii danych (zwykle działają jako wyjścia), 4 linie sterujące, 5 linii statusu. Można linie sterujące wykorzystywać jako wejścia - ustawić na nich stan wysoki, one mają wyjścia OC z opornikami do +5V, i odczytywanie stanu - w stanie wysokim można wymusić niski przez zwarcie do masy i to można odczytać.

    Był jeszcze jakiś minikomputer Pi Zero, miał być w cenie 5$. Ale na pewno w tej cenie szybko się go nie kupi - nie nadążają z produkcją, jest długa kolejka chętnych. I mało podobny do PC, za to dużo pinów I/O, i prawie wszystkie można dowolnie (i wygodnie) programować. System: Linux na ARM (DOS nie pójdzie).

    Ale najtańszy będzie układ na bramkach... I nie trzeba się uczyć żadnego języka programowania, "programuje się" go lutownicą (albo wtykanymi kabelkami).

    0
  • #15 13 Sty 2018 11:27
    Freddy
    Poziom 43  

    Zawsze można pokusić się o wykonanie własnego urządzenia z wykorzystaniem procesora.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo